kms/impl-device: Keep a path string around
This is useful for e.g. logging. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1488>
This commit is contained in:
parent
deb8f07c65
commit
7842517519
@ -225,6 +225,7 @@ typedef struct _CreateImplDeviceData
|
|||||||
{
|
{
|
||||||
MetaKmsDevice *device;
|
MetaKmsDevice *device;
|
||||||
int fd;
|
int fd;
|
||||||
|
const char *path;
|
||||||
|
|
||||||
MetaKmsImplDevice *out_impl_device;
|
MetaKmsImplDevice *out_impl_device;
|
||||||
GList *out_crtcs;
|
GList *out_crtcs;
|
||||||
@ -260,6 +261,7 @@ static MetaKmsImplDevice *
|
|||||||
meta_create_kms_impl_device (MetaKmsDevice *device,
|
meta_create_kms_impl_device (MetaKmsDevice *device,
|
||||||
MetaKmsImpl *impl,
|
MetaKmsImpl *impl,
|
||||||
int fd,
|
int fd,
|
||||||
|
const char *path,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@ -287,6 +289,7 @@ meta_create_kms_impl_device (MetaKmsDevice *device,
|
|||||||
"device", device,
|
"device", device,
|
||||||
"impl", impl,
|
"impl", impl,
|
||||||
"fd", fd,
|
"fd", fd,
|
||||||
|
"path", path,
|
||||||
"driver-name", driver_name,
|
"driver-name", driver_name,
|
||||||
"driver-description", driver_description,
|
"driver-description", driver_description,
|
||||||
NULL);
|
NULL);
|
||||||
@ -303,6 +306,7 @@ create_impl_device_in_impl (MetaKmsImpl *impl,
|
|||||||
impl_device = meta_create_kms_impl_device (data->device,
|
impl_device = meta_create_kms_impl_device (data->device,
|
||||||
impl,
|
impl,
|
||||||
data->fd,
|
data->fd,
|
||||||
|
data->path,
|
||||||
error);
|
error);
|
||||||
if (!impl_device)
|
if (!impl_device)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -347,6 +351,7 @@ meta_kms_device_new (MetaKms *kms,
|
|||||||
data = (CreateImplDeviceData) {
|
data = (CreateImplDeviceData) {
|
||||||
.device = device,
|
.device = device,
|
||||||
.fd = fd,
|
.fd = fd,
|
||||||
|
.path = path,
|
||||||
};
|
};
|
||||||
if (!meta_kms_run_impl_task_sync (kms, create_impl_device_in_impl, &data,
|
if (!meta_kms_run_impl_task_sync (kms, create_impl_device_in_impl, &data,
|
||||||
error))
|
error))
|
||||||
|
@ -45,6 +45,7 @@ enum
|
|||||||
PROP_DEVICE,
|
PROP_DEVICE,
|
||||||
PROP_IMPL,
|
PROP_IMPL,
|
||||||
PROP_FD,
|
PROP_FD,
|
||||||
|
PROP_PATH,
|
||||||
PROP_DRIVER_NAME,
|
PROP_DRIVER_NAME,
|
||||||
PROP_DRIVER_DESCRIPTION,
|
PROP_DRIVER_DESCRIPTION,
|
||||||
|
|
||||||
@ -60,6 +61,7 @@ typedef struct _MetaKmsImplDevicePrivate
|
|||||||
|
|
||||||
int fd;
|
int fd;
|
||||||
GSource *fd_source;
|
GSource *fd_source;
|
||||||
|
char *path;
|
||||||
|
|
||||||
char *driver_name;
|
char *driver_name;
|
||||||
char *driver_description;
|
char *driver_description;
|
||||||
@ -158,6 +160,15 @@ meta_kms_impl_device_get_driver_description (MetaKmsImplDevice *impl_device)
|
|||||||
return priv->driver_description;
|
return priv->driver_description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
meta_kms_impl_device_get_path (MetaKmsImplDevice *impl_device)
|
||||||
|
{
|
||||||
|
MetaKmsImplDevicePrivate *priv =
|
||||||
|
meta_kms_impl_device_get_instance_private (impl_device);
|
||||||
|
|
||||||
|
return priv->path;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
page_flip_handler (int fd,
|
page_flip_handler (int fd,
|
||||||
unsigned int sequence,
|
unsigned int sequence,
|
||||||
@ -677,6 +688,9 @@ meta_kms_impl_device_get_property (GObject *object,
|
|||||||
case PROP_FD:
|
case PROP_FD:
|
||||||
g_value_set_int (value, priv->fd);
|
g_value_set_int (value, priv->fd);
|
||||||
break;
|
break;
|
||||||
|
case PROP_PATH:
|
||||||
|
g_value_set_string (value, priv->path);
|
||||||
|
break;
|
||||||
case PROP_DRIVER_NAME:
|
case PROP_DRIVER_NAME:
|
||||||
g_value_set_string (value, priv->driver_name);
|
g_value_set_string (value, priv->driver_name);
|
||||||
break;
|
break;
|
||||||
@ -710,6 +724,9 @@ meta_kms_impl_device_set_property (GObject *object,
|
|||||||
case PROP_FD:
|
case PROP_FD:
|
||||||
priv->fd = g_value_get_int (value);
|
priv->fd = g_value_get_int (value);
|
||||||
break;
|
break;
|
||||||
|
case PROP_PATH:
|
||||||
|
priv->path = g_value_dup_string (value);
|
||||||
|
break;
|
||||||
case PROP_DRIVER_NAME:
|
case PROP_DRIVER_NAME:
|
||||||
priv->driver_name = g_value_dup_string (value);
|
priv->driver_name = g_value_dup_string (value);
|
||||||
break;
|
break;
|
||||||
@ -738,6 +755,7 @@ meta_kms_impl_device_finalize (GObject *object)
|
|||||||
(GDestroyNotify) meta_kms_mode_free);
|
(GDestroyNotify) meta_kms_mode_free);
|
||||||
g_free (priv->driver_name);
|
g_free (priv->driver_name);
|
||||||
g_free (priv->driver_description);
|
g_free (priv->driver_description);
|
||||||
|
g_free (priv->path);
|
||||||
|
|
||||||
G_OBJECT_CLASS (meta_kms_impl_device_parent_class)->finalize (object);
|
G_OBJECT_CLASS (meta_kms_impl_device_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
@ -824,6 +842,14 @@ meta_kms_impl_device_class_init (MetaKmsImplDeviceClass *klass)
|
|||||||
G_PARAM_READWRITE |
|
G_PARAM_READWRITE |
|
||||||
G_PARAM_CONSTRUCT_ONLY |
|
G_PARAM_CONSTRUCT_ONLY |
|
||||||
G_PARAM_STATIC_STRINGS);
|
G_PARAM_STATIC_STRINGS);
|
||||||
|
obj_props[PROP_PATH] =
|
||||||
|
g_param_spec_string ("path",
|
||||||
|
"path",
|
||||||
|
"DRM device file path",
|
||||||
|
NULL,
|
||||||
|
G_PARAM_READWRITE |
|
||||||
|
G_PARAM_CONSTRUCT_ONLY |
|
||||||
|
G_PARAM_STATIC_STRINGS);
|
||||||
obj_props[PROP_DRIVER_NAME] =
|
obj_props[PROP_DRIVER_NAME] =
|
||||||
g_param_spec_string ("driver-name",
|
g_param_spec_string ("driver-name",
|
||||||
"driver-name",
|
"driver-name",
|
||||||
|
@ -83,6 +83,8 @@ const char * meta_kms_impl_device_get_driver_name (MetaKmsImplDevice *impl_devic
|
|||||||
|
|
||||||
const char * meta_kms_impl_device_get_driver_description (MetaKmsImplDevice *impl_device);
|
const char * meta_kms_impl_device_get_driver_description (MetaKmsImplDevice *impl_device);
|
||||||
|
|
||||||
|
const char * meta_kms_impl_device_get_path (MetaKmsImplDevice *impl_device);
|
||||||
|
|
||||||
gboolean meta_kms_impl_device_dispatch (MetaKmsImplDevice *impl_device,
|
gboolean meta_kms_impl_device_dispatch (MetaKmsImplDevice *impl_device,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user