[PATCH RFC v3 12/14] drm/vkms: Introduce configfs for connector id
From: Louis Chauvet
Date: Tue Jan 21 2025 - 09:40:33 EST
A connector can't be identified by a name, so add a configfs file to
retrieve its id.
Signed-off-by: Louis Chauvet <louis.chauvet@xxxxxxxxxxx>
---
drivers/gpu/drm/vkms/vkms_configfs.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/gpu/drm/vkms/vkms_configfs.c b/drivers/gpu/drm/vkms/vkms_configfs.c
index 09d9ac3cb3e25e980473686b7b0d2e66e78cf163..76f28862c7652fbd9e84c42b60ad818ddee1485b 100644
--- a/drivers/gpu/drm/vkms/vkms_configfs.c
+++ b/drivers/gpu/drm/vkms/vkms_configfs.c
@@ -814,12 +814,31 @@ static ssize_t connector_status_store(struct config_item *item,
return count;
}
+static ssize_t connector_id_show(struct config_item *item, char *page)
+{
+ struct vkms_configfs_device *vkms_configfs =
+ connector_child_item_to_vkms_configfs_device(item);
+ struct vkms_config_connector *connector;
+
+ scoped_guard(mutex, &vkms_configfs->lock)
+ {
+ connector = connector_item_to_vkms_configfs_connector(item)->vkms_config_connector;
+ if (vkms_configfs->enabled)
+ return sprintf(page, "%d\n",
+ connector->connector->base.id);
+ return -EINVAL;
+ }
+ return -EINVAL;
+}
+
CONFIGFS_ATTR(connector_, type);
CONFIGFS_ATTR(connector_, status);
+CONFIGFS_ATTR_RO(connector_, id);
static struct configfs_attribute *connector_attrs[] = {
&connector_attr_type,
&connector_attr_status,
+ &connector_attr_id,
NULL,
};
--
2.47.1