Hi, On Thu, May 07, 2026 at 01:53:08PM +0200, Albert Esteve wrote: > Now that all panel drivers use devm_drm_panel_alloc(), > there are no external callers of drm_panel_init(). > Make it static to prevent new users from bypassing the > refcounted allocation path. > > Remove stale references to drm_panel_init() in kdocs. > > Signed-off-by: Albert Esteve <[email protected]> > --- > drivers/gpu/drm/display/drm_dp_helper.c | 2 +- > drivers/gpu/drm/drm_panel.c | 8 ++++---- > include/drm/drm_panel.h | 4 ---- > 3 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/display/drm_dp_helper.c > b/drivers/gpu/drm/display/drm_dp_helper.c > index a697cc227e289..380ebf0fad2be 100644 > --- a/drivers/gpu/drm/display/drm_dp_helper.c > +++ b/drivers/gpu/drm/display/drm_dp_helper.c > @@ -4626,7 +4626,7 @@ static const struct backlight_ops dp_aux_bl_ops = { > * Backlight will then be handled transparently without requiring > * any intervention from the driver. > * > - * drm_panel_dp_aux_backlight() must be called after the call to > drm_panel_init(). > + * drm_panel_dp_aux_backlight() must be called after devm_drm_panel_alloc(). > * > * Return: 0 on success or a negative error code on failure. > */ > diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c > index d1e6598ea3bc0..e3e1c5ceb8ff8 100644 > --- a/drivers/gpu/drm/drm_panel.c > +++ b/drivers/gpu/drm/drm_panel.c > @@ -56,8 +56,9 @@ static LIST_HEAD(panel_list); > * Initialize the panel structure for subsequent registration with > * drm_panel_add(). > */ > -void drm_panel_init(struct drm_panel *panel, struct device *dev, > - const struct drm_panel_funcs *funcs, int connector_type) > +static void drm_panel_init(struct drm_panel *panel, struct device *dev, > + const struct drm_panel_funcs *funcs, > + int connector_type) > { > if (connector_type == DRM_MODE_CONNECTOR_Unknown) > DRM_WARN("%s: %s: a valid connector type is required!\n", > __func__, dev_name(dev)); > @@ -69,7 +70,6 @@ void drm_panel_init(struct drm_panel *panel, struct device > *dev, > panel->funcs = funcs; > panel->connector_type = connector_type; > } > -EXPORT_SYMBOL(drm_panel_init); > > /** > * drm_panel_add - add a panel to the global registry > @@ -708,7 +708,7 @@ EXPORT_SYMBOL(devm_drm_panel_add_follower); > * A typical implementation for a panel driver supporting device tree > * will call this function at probe time. Backlight will then be handled > * transparently without requiring any intervention from the driver. > - * drm_panel_of_backlight() must be called after the call to > drm_panel_init(). > + * drm_panel_of_backlight() must be called after devm_drm_panel_alloc().
I think we can drop that sentence entirely. Now that we can only get a panel structure through devm_drm_panel_alloc, and that it also initializes it, we can't call drm_panel_of_backlight before having an initialized drm_panel. Maxime
signature.asc
Description: PGP signature
