Refactor to use drm_device.debugfs_root instead of drm_minor for debugfs file creation. The driver can now initialize debugfs directly in probe(), before drm_dev_register(). This also removes the use of .debugfs_init callback.
Signed-off-by: Jagath Jog J <jagathjog1...@gmail.com> --- drivers/gpu/drm/drm_mipi_dbi.c | 8 ++++---- drivers/gpu/drm/tiny/ili9163.c | 3 ++- drivers/gpu/drm/tiny/panel-mipi-dbi.c | 3 ++- include/drm/drm_mipi_dbi.h | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c index 89e05a5bed1d..66f292c48a78 100644 --- a/drivers/gpu/drm/drm_mipi_dbi.c +++ b/drivers/gpu/drm/drm_mipi_dbi.c @@ -1488,17 +1488,17 @@ static const struct file_operations mipi_dbi_debugfs_command_fops = { * * This function creates a 'command' debugfs file for sending commands to the * controller or getting the read command values. - * Drivers can use this as their &drm_driver->debugfs_init callback. + * Drivers can call this function before registering their device to drm. * */ -void mipi_dbi_debugfs_init(struct drm_minor *minor) +void mipi_dbi_debugfs_init(struct mipi_dbi_dev *dbidev) { - struct mipi_dbi_dev *dbidev = drm_to_mipi_dbi_dev(minor->dev); umode_t mode = S_IFREG | S_IWUSR; if (dbidev->dbi.read_commands) mode |= S_IRUGO; - debugfs_create_file("command", mode, minor->debugfs_root, dbidev, + + debugfs_create_file("command", mode, dbidev->drm.debugfs_root, dbidev, &mipi_dbi_debugfs_command_fops); } EXPORT_SYMBOL(mipi_dbi_debugfs_init); diff --git a/drivers/gpu/drm/tiny/ili9163.c b/drivers/gpu/drm/tiny/ili9163.c index 62cadf5e033d..351d2a5b9f27 100644 --- a/drivers/gpu/drm/tiny/ili9163.c +++ b/drivers/gpu/drm/tiny/ili9163.c @@ -115,7 +115,6 @@ static struct drm_driver ili9163_driver = { .fops = &ili9163_fops, DRM_GEM_DMA_DRIVER_OPS_VMAP, DRM_FBDEV_DMA_DRIVER_OPS, - .debugfs_init = mipi_dbi_debugfs_init, .name = "ili9163", .desc = "Ilitek ILI9163", .major = 1, @@ -182,6 +181,8 @@ static int ili9163_probe(struct spi_device *spi) drm_mode_config_reset(drm); + mipi_dbi_debugfs_init(dbidev); + ret = drm_dev_register(drm, 0); if (ret) return ret; diff --git a/drivers/gpu/drm/tiny/panel-mipi-dbi.c b/drivers/gpu/drm/tiny/panel-mipi-dbi.c index 0460ecaef4bd..94466dd8db9f 100644 --- a/drivers/gpu/drm/tiny/panel-mipi-dbi.c +++ b/drivers/gpu/drm/tiny/panel-mipi-dbi.c @@ -267,7 +267,6 @@ static const struct drm_driver panel_mipi_dbi_driver = { .fops = &panel_mipi_dbi_fops, DRM_GEM_DMA_DRIVER_OPS_VMAP, DRM_FBDEV_DMA_DRIVER_OPS, - .debugfs_init = mipi_dbi_debugfs_init, .name = "panel-mipi-dbi", .desc = "MIPI DBI compatible display panel", .major = 1, @@ -384,6 +383,8 @@ static int panel_mipi_dbi_spi_probe(struct spi_device *spi) drm_mode_config_reset(drm); + mipi_dbi_debugfs_init(dbidev); + ret = drm_dev_register(drm, 0); if (ret) return ret; diff --git a/include/drm/drm_mipi_dbi.h b/include/drm/drm_mipi_dbi.h index f45f9612c0bc..88a9c87a1e99 100644 --- a/include/drm/drm_mipi_dbi.h +++ b/include/drm/drm_mipi_dbi.h @@ -230,9 +230,9 @@ int mipi_dbi_buf_copy(void *dst, struct iosys_map *src, struct drm_framebuffer * }) #ifdef CONFIG_DEBUG_FS -void mipi_dbi_debugfs_init(struct drm_minor *minor); +void mipi_dbi_debugfs_init(struct mipi_dbi_dev *dbidev); #else -static inline void mipi_dbi_debugfs_init(struct drm_minor *minor) {} +static inline void mipi_dbi_debugfs_init(struct mipi_dbi_dev *dbidev) {} #endif /** -- 2.20.1