drm/arm/hdlcd: use new debugfs device-centered functions
authorMaíra Canal <mcanal@igalia.com>
Mon, 26 Dec 2022 15:50:23 +0000 (12:50 -0300)
committerMaíra Canal <mairacanal@riseup.net>
Fri, 6 Jan 2023 19:15:08 +0000 (16:15 -0300)
Replace the use of drm_debugfs_create_files() with the new
drm_debugfs_add_files() function, which center the debugfs files
management on the drm_device instead of drm_minor. Moreover, remove the
debugfs_init hook and add the debugfs files directly on hdlcd_drm_bind(),
before drm_dev_register().

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Maíra Canal <mairacanal@riseup.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20221226155029.244355-4-mcanal@igalia.com
drivers/gpu/drm/arm/hdlcd_drv.c

index 7043d1c..e3507dd 100644 (file)
@@ -195,8 +195,8 @@ static int hdlcd_setup_mode_config(struct drm_device *drm)
 #ifdef CONFIG_DEBUG_FS
 static int hdlcd_show_underrun_count(struct seq_file *m, void *arg)
 {
-       struct drm_info_node *node = (struct drm_info_node *)m->private;
-       struct drm_device *drm = node->minor->dev;
+       struct drm_debugfs_entry *entry = m->private;
+       struct drm_device *drm = entry->dev;
        struct hdlcd_drm_private *hdlcd = drm_to_hdlcd_priv(drm);
 
        seq_printf(m, "underrun : %d\n", atomic_read(&hdlcd->buffer_underrun_count));
@@ -208,8 +208,8 @@ static int hdlcd_show_underrun_count(struct seq_file *m, void *arg)
 
 static int hdlcd_show_pxlclock(struct seq_file *m, void *arg)
 {
-       struct drm_info_node *node = (struct drm_info_node *)m->private;
-       struct drm_device *drm = node->minor->dev;
+       struct drm_debugfs_entry *entry = m->private;
+       struct drm_device *drm = entry->dev;
        struct hdlcd_drm_private *hdlcd = drm_to_hdlcd_priv(drm);
        unsigned long clkrate = clk_get_rate(hdlcd->clk);
        unsigned long mode_clock = hdlcd->crtc.mode.crtc_clock * 1000;
@@ -219,17 +219,10 @@ static int hdlcd_show_pxlclock(struct seq_file *m, void *arg)
        return 0;
 }
 
-static struct drm_info_list hdlcd_debugfs_list[] = {
+static struct drm_debugfs_info hdlcd_debugfs_list[] = {
        { "interrupt_count", hdlcd_show_underrun_count, 0 },
        { "clocks", hdlcd_show_pxlclock, 0 },
 };
-
-static void hdlcd_debugfs_init(struct drm_minor *minor)
-{
-       drm_debugfs_create_files(hdlcd_debugfs_list,
-                                ARRAY_SIZE(hdlcd_debugfs_list),
-                                minor->debugfs_root, minor);
-}
 #endif
 
 DEFINE_DRM_GEM_DMA_FOPS(fops);
@@ -237,9 +230,6 @@ DEFINE_DRM_GEM_DMA_FOPS(fops);
 static const struct drm_driver hdlcd_driver = {
        .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
        DRM_GEM_DMA_DRIVER_OPS,
-#ifdef CONFIG_DEBUG_FS
-       .debugfs_init = hdlcd_debugfs_init,
-#endif
        .fops = &fops,
        .name = "hdlcd",
        .desc = "ARM HDLCD Controller DRM",
@@ -303,6 +293,10 @@ static int hdlcd_drm_bind(struct device *dev)
        drm_mode_config_reset(drm);
        drm_kms_helper_poll_init(drm);
 
+#ifdef CONFIG_DEBUG_FS
+       drm_debugfs_add_files(drm, hdlcd_debugfs_list, ARRAY_SIZE(hdlcd_debugfs_list));
+#endif
+
        ret = drm_dev_register(drm, 0);
        if (ret)
                goto err_register;