This series introduces the initial structure to improve the support of kms objects by the DRM debugfs [1]. Currently, we can create debugfs files at late-register hooks with the function drm_debugfs_add_file() through the functionality implemented by the function drm_debugfs_late_register(), which creates the debugfs files after the registration of the kms objects. But, this was a stop-gap while we didn't have proper debugfs infrastructure for the kms objects. Therefore, this series will add a debugfs infrastructure to the connector, crtc, and encoder objects similar to the device-centered debugfs helpers [2]. Patches 1 and 2 will create macros to avoid copypasting the core management of the linked list. Patches 3 through 5 will introduce the structure for the connector, encoder, and crtc respectively. Patches 6 through 11 will convert the old structure to the new structure for 2 drivers: vc4 and sti. Finally, patch 12 will delete the unnecessary drm_debugfs_late_register() function. [1] https://cgit.freedesktop.org/drm/drm/tree/Documentation/gpu/todo.rst#n506/ [2] https://cgit.freedesktop.org/drm/drm-misc/commit/?id=1c9cacbea880513a896aee65a5c58007bcb55653 Best Regards, - Maíra Canal Maíra Canal (13): drm/debugfs: Create helper to add debugfs files to device's list drm/debugfs: Create helper to create debugfs files from list drm/debugfs: Create a debugfs infrastructure for connectors drm/debugfs: Create a debugfs infrastructure for encoders drm/debugfs: Create a debugfs infrastructure for CRTC drm/vc4: Split variable instantiation of vc4_debugfs_regset32() drm/vc4: Use the encoders' debugfs infrastructure drm/vc4: Use the crtc's debugfs infrastructure drm/sti: Use the crtc's debugfs infrastructure drm/sti: Use the connectors' debugfs infrastructure drm/sti: Use the encoders' debugfs infrastructure drm/debugfs: Remove the debugfs late register function drm/todo: Update the debugfs clean up task Documentation/gpu/todo.rst | 14 ++- drivers/gpu/drm/drm_connector.c | 5 + drivers/gpu/drm/drm_crtc.c | 5 + drivers/gpu/drm/drm_debugfs.c | 141 +++++++++++++++++++++++---- drivers/gpu/drm/drm_encoder.c | 6 ++ drivers/gpu/drm/drm_internal.h | 16 ++- drivers/gpu/drm/drm_mode_config.c | 2 - drivers/gpu/drm/sti/sti_compositor.c | 6 +- drivers/gpu/drm/sti/sti_compositor.h | 2 +- drivers/gpu/drm/sti/sti_crtc.c | 2 +- drivers/gpu/drm/sti/sti_dvo.c | 21 +--- drivers/gpu/drm/sti/sti_hda.c | 21 +--- drivers/gpu/drm/sti/sti_hdmi.c | 21 +--- drivers/gpu/drm/sti/sti_mixer.c | 31 +----- drivers/gpu/drm/sti/sti_mixer.h | 2 +- drivers/gpu/drm/sti/sti_tvout.c | 21 +--- drivers/gpu/drm/sti/sti_vid.c | 19 +--- drivers/gpu/drm/sti/sti_vid.h | 2 +- drivers/gpu/drm/vc4/vc4_crtc.c | 5 +- drivers/gpu/drm/vc4/vc4_debugfs.c | 55 +++++++++-- drivers/gpu/drm/vc4/vc4_dpi.c | 3 +- drivers/gpu/drm/vc4/vc4_drv.h | 16 +++ drivers/gpu/drm/vc4/vc4_dsi.c | 3 +- drivers/gpu/drm/vc4/vc4_hdmi.c | 5 +- drivers/gpu/drm/vc4/vc4_vec.c | 3 +- include/drm/drm_connector.h | 15 +++ include/drm/drm_crtc.h | 15 +++ include/drm/drm_debugfs.h | 77 +++++++++++++++ include/drm/drm_encoder.h | 15 +++ 29 files changed, 384 insertions(+), 165 deletions(-) -- 2.39.0