Re: [PATCH] drm/drm_panel: fix export of drm_panel_of_backlight, try #3

From: Arnd Bergmann
Date: Wed Jan 08 2020 - 05:34:01 EST


On Wed, Jan 8, 2020 at 11:08 AM Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> On Wed, Jan 08, 2020 at 11:55:29AM +0200, Jani Nikula wrote:
> > On Tue, 07 Jan 2020, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > > Making this IS_REACHABLE() was still wrong, as that just determines
> > > whether the lower-level backlight code would be reachable from the panel
> > > driver. However, with CONFIG_DRM=y and CONFIG_BACKLIGHT_CLASS_DEVICE=m,
> > > the drm_panel_of_backlight is left out of drm_panel.o but the condition
> > > tells the driver that it is there, leading to multiple link errors such as
> > >
> > > ERROR: "drm_panel_of_backlight" [drivers/gpu/drm/panel/panel-sitronix-st7701.ko] undefined!
> > > ERROR: "drm_panel_of_backlight" [drivers/gpu/drm/panel/panel-sharp-ls043t1le01.ko] undefined!
> > > ERROR: "drm_panel_of_backlight" [drivers/gpu/drm/panel/panel-seiko-43wvf1g.ko] undefined!
> > > ERROR: "drm_panel_of_backlight" [drivers/gpu/drm/panel/panel-ronbo-rb070d30.ko] undefined!
> > > ERROR: "drm_panel_of_backlight" [drivers/gpu/drm/panel/panel-rocktech-jh057n00900.ko] undefined!
> > > ERROR: "drm_panel_of_backlight" [drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.ko] undefined!
> > > ERROR: "drm_panel_of_backlight" [drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.ko] undefined!
> > >
> > > Change the condition to check for whether the function was actually part
> > > of the drm module. This version of the patch survived a few hundred
> > > randconfig builds, so I have a good feeling this might be the last
> > > one for the export.
> >
> > Broken record, this will still be wrong, even if it builds and links. No
> > backlight support for panel despite expectations.
> >
> > See http://mid.mail-archive.com/87d0cnynst.fsf@xxxxxxxxx
> >
> > All of this is just another hack until the backlight config usage is
> > fixed for good. Do we really want to make this the example to copy paste
> > wherever we hit the issue next?
> >
> > I'm not naking, but I'm not acking either.
>
> I will try to take a look at your old BACKLIGHT_CLASS_DEVICE patch this
> weekend. I think we need that one fixed - and then we can have this mess
> with "drm_panel_of_backlight" fixed in the right way.

I had also attempted to fix the larger mess around 'select' statements in DRM/FB
around BACKLIGHT_CLASS_DEVICE several times in the past, and even at
some point sent a patch that was acked but never merged and later broke because
of other changes.

If there is a new approach, I'm happy to add patches to my randconfig builder
and see if there are regressions in some corner cases.

Arnd