On 12/17/19 6:07 AM, Andy Shevchenko wrote: > The initial commit followed by the fix didn't take into consideration the case > > CONFIG_DRM_PANEL=y > CONFIG_BACKLIGHT_CLASS_DEVICE=m > CONFIG_DRM_I915=y > > where symbol devm_of_find_backlight() is not reachable from DRM subsystem. > Quick fix is to avoid drm_panel_of_backlight() from exporting in such case. > > Fixes: 907aa265fde6 ("drm/drm_panel: fix EXPORT of drm_panel_of_backlight") > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Cc: Sean Paul <sean@xxxxxxxxxx> > Cc: David Airlie <airlied@xxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: Maxime Ripard <mripard@xxxxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Yes, that fixes the build error. Thanks. Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested > --- > drivers/gpu/drm/drm_panel.c | 2 +- > include/drm/drm_panel.h | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c > index 79ff3fdf6f6e..8c7bac85a793 100644 > --- a/drivers/gpu/drm/drm_panel.c > +++ b/drivers/gpu/drm/drm_panel.c > @@ -302,7 +302,7 @@ struct drm_panel *of_drm_find_panel(const struct device_node *np) > EXPORT_SYMBOL(of_drm_find_panel); > #endif > > -#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) > +#if IS_REACHABLE(CONFIG_BACKLIGHT_CLASS_DEVICE) > /** > * drm_panel_of_backlight - use backlight device node for backlight > * @panel: DRM panel > diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h > index 5f27b693e1a0..121f7aabccd1 100644 > --- a/include/drm/drm_panel.h > +++ b/include/drm/drm_panel.h > @@ -198,7 +198,7 @@ static inline struct drm_panel *of_drm_find_panel(const struct device_node *np) > } > #endif > > -#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) > +#if IS_REACHABLE(CONFIG_BACKLIGHT_CLASS_DEVICE) > int drm_panel_of_backlight(struct drm_panel *panel); > #else > static inline int drm_panel_of_backlight(struct drm_panel *panel) > -- ~Randy