drmm_connector_init() already registers drm_connector_cleanup() as a managed action, and that now cleans up the writeback state too. The extra action registered by drmm_writeback_connector_init() just does the same work a little earlier, leaving drm_connector_cleanup() nothing to do. Drop it.
Assisted-by: LLM Signed-off-by: Dmitry Baryshkov <[email protected]> --- drivers/gpu/drm/drm_writeback.c | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/drm_writeback.c b/drivers/gpu/drm/drm_writeback.c index 272012a70efe..0c5d2fbe7a7c 100644 --- a/drivers/gpu/drm/drm_writeback.c +++ b/drivers/gpu/drm/drm_writeback.c @@ -16,7 +16,6 @@ #include <drm/drm_device.h> #include <drm/drm_drv.h> #include <drm/drm_framebuffer.h> -#include <drm/drm_managed.h> #include <drm/drm_modeset_helper_vtables.h> #include <drm/drm_property.h> #include <drm/drm_writeback.h> @@ -303,14 +302,6 @@ void drm_writeback_connector_cleanup(struct drm_connector *connector) spin_unlock_irqrestore(&wb_connector->job_lock, flags); } -static void drm_writeback_connector_cleanup_action(struct drm_device *dev, - void *data) -{ - struct drm_writeback_connector *wb_connector = data; - - drm_writeback_connector_cleanup(&wb_connector->base); -} - /** * drmm_writeback_connector_init - Initialize a writeback connector * @@ -321,7 +312,8 @@ static void drm_writeback_connector_cleanup_action(struct drm_device *dev, * @formats: Array of supported pixel formats for the writeback engine * @n_formats: Length of the formats array * - * This function initialize a writeback connector and register its cleanup. + * This function initializes a writeback connector. Cleanup is automatically + * handled with a call to drm_connector_cleanup() in a DRM-managed action. * * This function creates the writeback-connector-specific properties if they * have not been already created, initializes the connector as @@ -344,17 +336,8 @@ int drmm_writeback_connector_init(struct drm_device *dev, if (ret) return ret; - ret = __drm_writeback_connector_init(dev, wb_connector, enc, formats, - n_formats); - if (ret) - return ret; - - ret = drmm_add_action_or_reset(dev, drm_writeback_connector_cleanup_action, - wb_connector); - if (ret) - return ret; - - return 0; + return __drm_writeback_connector_init(dev, wb_connector, enc, formats, + n_formats); } EXPORT_SYMBOL(drmm_writeback_connector_init); -- 2.47.3
