Platform drivers now have the option to have the platform core create
and remove any needed sysfs attribute files.  So take advantage of that
and do not register "by hand" a sysfs file.

Cc: Liviu Dudau <liviu.du...@arm.com>
Cc: Brian Starkey <brian.star...@arm.com>
Cc: Mali DP Maintainers <mal...@foss.arm.com>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com>
---
Compile tested only. Please test locally and merge through your tree.
---
 drivers/gpu/drm/arm/malidp_drv.c | 27 ++++++---------------------
 1 file changed, 6 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index def8c9ffafca..dafdb6e95d73 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -666,20 +666,11 @@ static ssize_t core_id_show(struct device *dev, struct 
device_attribute *attr,
 
 static DEVICE_ATTR_RO(core_id);
 
-static int malidp_init_sysfs(struct device *dev)
-{
-       int ret = device_create_file(dev, &dev_attr_core_id);
-
-       if (ret)
-               DRM_ERROR("failed to create device file for core_id\n");
-
-       return ret;
-}
-
-static void malidp_fini_sysfs(struct device *dev)
-{
-       device_remove_file(dev, &dev_attr_core_id);
-}
+static struct attribute *mali_dp_attrs[] = {
+       &dev_attr_core_id.attr,
+       NULL,
+};
+ATTRIBUTE_GROUPS(mali_dp);
 
 #define MAX_OUTPUT_CHANNELS    3
 
@@ -841,10 +832,6 @@ static int malidp_bind(struct device *dev)
        if (ret < 0)
                goto query_hw_fail;
 
-       ret = malidp_init_sysfs(dev);
-       if (ret)
-               goto init_fail;
-
        /* Set the CRTC's port so that the encoder component can find it */
        malidp->crtc.port = of_graph_get_port_by_id(dev->of_node, 0);
 
@@ -902,8 +889,6 @@ static int malidp_bind(struct device *dev)
 bind_fail:
        of_node_put(malidp->crtc.port);
        malidp->crtc.port = NULL;
-init_fail:
-       malidp_fini_sysfs(dev);
        malidp_fini(drm);
 query_hw_fail:
        pm_runtime_put(dev);
@@ -937,7 +922,6 @@ static void malidp_unbind(struct device *dev)
        component_unbind_all(dev, drm);
        of_node_put(malidp->crtc.port);
        malidp->crtc.port = NULL;
-       malidp_fini_sysfs(dev);
        malidp_fini(drm);
        pm_runtime_put(dev);
        if (pm_runtime_enabled(dev))
@@ -1033,6 +1017,7 @@ static struct platform_driver malidp_platform_driver = {
                .name = "mali-dp",
                .pm = &malidp_pm_ops,
                .of_match_table = malidp_drm_of_match,
+               .dev_groups = mali_dp_groups,
        },
 };
 
-- 
2.25.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to