|
@@ -1257,6 +1257,7 @@ static int drm_mode_create_standard_connector_properties(struct drm_device *dev)
|
|
|
{
|
|
|
struct drm_property *edid;
|
|
|
struct drm_property *dpms;
|
|
|
+ struct drm_property *dev_path;
|
|
|
|
|
|
/*
|
|
|
* Standard properties (apply to all connectors)
|
|
@@ -1271,6 +1272,12 @@ static int drm_mode_create_standard_connector_properties(struct drm_device *dev)
|
|
|
ARRAY_SIZE(drm_dpms_enum_list));
|
|
|
dev->mode_config.dpms_property = dpms;
|
|
|
|
|
|
+ dev_path = drm_property_create(dev,
|
|
|
+ DRM_MODE_PROP_BLOB |
|
|
|
+ DRM_MODE_PROP_IMMUTABLE,
|
|
|
+ "PATH", 0);
|
|
|
+ dev->mode_config.path_property = dev_path;
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -3755,6 +3762,25 @@ done:
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+int drm_mode_connector_set_path_property(struct drm_connector *connector,
|
|
|
+ char *path)
|
|
|
+{
|
|
|
+ struct drm_device *dev = connector->dev;
|
|
|
+ int ret, size;
|
|
|
+ size = strlen(path) + 1;
|
|
|
+
|
|
|
+ connector->path_blob_ptr = drm_property_create_blob(connector->dev,
|
|
|
+ size, path);
|
|
|
+ if (!connector->path_blob_ptr)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ ret = drm_object_property_set_value(&connector->base,
|
|
|
+ dev->mode_config.path_property,
|
|
|
+ connector->path_blob_ptr->base.id);
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(drm_mode_connector_set_path_property);
|
|
|
+
|
|
|
/**
|
|
|
* drm_mode_connector_update_edid_property - update the edid property of a connector
|
|
|
* @connector: drm connector
|