When CONFIG_DRM_I915=y, CONFIG_ACPI is not set, and CONFIG_BACKLIGHT_CLASS_DEVICE=m, not due to I915 config, there are build errors trying to reference backlight_device_{un}register(). Changing the use of IS_ENABLED() to IS_REACHABLE() in intel_panel.[ch] fixes this. ld: drivers/gpu/drm/i915/display/intel_panel.o: in function `intel_backlight_device_register': intel_panel.c:(.text+0x2ec1): undefined reference to `backlight_device_register' ld: drivers/gpu/drm/i915/display/intel_panel.o: in function `intel_backlight_device_unregister': intel_panel.c:(.text+0x2f93): undefined reference to `backlight_device_unregister' ld: drivers/gpu/drm/i915/display/intel_panel.o: in function `intel_backlight_device_register': intel_panel.c:(.text+0x2ec1): undefined reference to `backlight_device_register' ld: drivers/gpu/drm/i915/display/intel_panel.o: in function `intel_backlight_device_unregister': intel_panel.c:(.text+0x2f93): undefined reference to `backlight_device_unregister' Fixes: 912e8b12eedb ("drm/i915: register backlight device also when backlight class is a module") Fixes: 44c1220a441c ("drm/i915: extract intel_panel.h from intel_drv.h") Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx --- Found in linux-next but applies to mainline (5.12). drivers/gpu/drm/i915/display/intel_panel.c | 2 +- drivers/gpu/drm/i915/display/intel_panel.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) --- linux-next-20210426.orig/drivers/gpu/drm/i915/display/intel_panel.c +++ linux-next-20210426/drivers/gpu/drm/i915/display/intel_panel.c @@ -1254,7 +1254,7 @@ void intel_panel_enable_backlight(const mutex_unlock(&dev_priv->backlight_lock); } -#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) +#if IS_REACHABLE(CONFIG_BACKLIGHT_CLASS_DEVICE) static u32 intel_panel_get_backlight(struct intel_connector *connector) { struct drm_i915_private *dev_priv = to_i915(connector->base.dev); --- linux-next-20210426.orig/drivers/gpu/drm/i915/display/intel_panel.h +++ linux-next-20210426/drivers/gpu/drm/i915/display/intel_panel.h @@ -54,7 +54,7 @@ u32 intel_panel_invert_pwm_level(struct u32 intel_panel_backlight_level_to_pwm(struct intel_connector *connector, u32 level); u32 intel_panel_backlight_level_from_pwm(struct intel_connector *connector, u32 val); -#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) +#if IS_REACHABLE(CONFIG_BACKLIGHT_CLASS_DEVICE) int intel_backlight_device_register(struct intel_connector *connector); void intel_backlight_device_unregister(struct intel_connector *connector); #else /* CONFIG_BACKLIGHT_CLASS_DEVICE */ _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel