After cleaning up <linux/fb.h> in commit 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header"), building with CONFIG_PMAC_BACKLIGHT=y returns errors about missing declarations. Patches 1 and 2 resolve the errors. Patch 1 has been reviewed at [1]. Patch 3 removes another dependency between backlight and fbdev code.
Compile tested with ppc6xx_defconfig.
v3: * add Fixes tag and fix typos in patch 3 v2: * via-pmu-backlight: fix build errors * powerpc: resolve dependency between fbdev and backlight
[1] https://patchwork.freedesktop.org/series/130661/
Thomas Zimmermann (3): fbdev/chipsfb: Include <linux/backlight.h> macintosh/via-pmu-backlight: Include <linux/backlight.h> arch/powerpc: Remove <linux/fb.h> from backlight code
arch/powerpc/include/asm/backlight.h | 5 ++-- arch/powerpc/platforms/powermac/backlight.c | 26 --------------------- drivers/macintosh/via-pmu-backlight.c | 1 + drivers/video/fbdev/chipsfb.c | 1 + 4 files changed, 4 insertions(+), 29 deletions(-)
Fix builds with CONFIG_PMAC_BACKLIGHT=y. The include statement for the backlight header has recently been removed from <linux/fb.h>.
Reported-by: Naresh Kamboju naresh.kamboju@linaro.org Closes: https://lore.kernel.org/dri-devel/CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFX... Signed-off-by: Thomas Zimmermann tzimmermann@suse.de Fixes: 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header") Reviewed-by: Jani Nikula jani.nikula@intel.com Cc: Thomas Zimmermann tzimmermann@suse.de Cc: Jani Nikula jani.nikula@intel.com Cc: Helge Deller deller@gmx.de Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org --- drivers/video/fbdev/chipsfb.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/video/fbdev/chipsfb.c b/drivers/video/fbdev/chipsfb.c index b80711f13df8a..b16a905588fed 100644 --- a/drivers/video/fbdev/chipsfb.c +++ b/drivers/video/fbdev/chipsfb.c @@ -15,6 +15,7 @@ */
#include <linux/aperture.h> +#include <linux/backlight.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/errno.h>
Fix builds with CONFIG_PMAC_BACKLIGHT=y. The include statement for the backlight header has recently been removed from <linux/fb.h>. Add it to via-pmu-backlight.c to get the necessary symbols.
Reported-by: Naresh Kamboju naresh.kamboju@linaro.org Closes: https://lore.kernel.org/dri-devel/CA+G9fYsAk5TbqqxFC2W4oHLGA0CbTHMxbeq8QayFX... Signed-off-by: Thomas Zimmermann tzimmermann@suse.de Fixes: 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header") Reviewed-by: Jani Nikula jani.nikula@intel.com Cc: Thomas Zimmermann tzimmermann@suse.de Cc: Jani Nikula jani.nikula@intel.com Cc: Helge Deller deller@gmx.de Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org --- drivers/macintosh/via-pmu-backlight.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/macintosh/via-pmu-backlight.c b/drivers/macintosh/via-pmu-backlight.c index c2d87e7fa85be..89450645c2305 100644 --- a/drivers/macintosh/via-pmu-backlight.c +++ b/drivers/macintosh/via-pmu-backlight.c @@ -10,6 +10,7 @@
#include <asm/ptrace.h> #include <linux/adb.h> +#include <linux/backlight.h> #include <linux/pmu.h> #include <asm/backlight.h>
Replace <linux/fb.h> with a forward declaration in <asm/backlight.h> to resolve an unnecessary dependency. Remove pmac_backlight_curve_lookup() and struct fb_info from source and header files. The function and the framebuffer struct are unused. No functional changes.
v3: * Add Fixes tag (Christophe) * fix typos in commit message (Jani)
Signed-off-by: Thomas Zimmermann tzimmermann@suse.de Fixes: d565dd3b0824 ("[PATCH] powerpc: More via-pmu backlight fixes") Reviewed-by: Jani Nikula jani.nikula@intel.com --- arch/powerpc/include/asm/backlight.h | 5 ++-- arch/powerpc/platforms/powermac/backlight.c | 26 --------------------- 2 files changed, 2 insertions(+), 29 deletions(-)
diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h index 1b5eab62ed047..061a910d74929 100644 --- a/arch/powerpc/include/asm/backlight.h +++ b/arch/powerpc/include/asm/backlight.h @@ -10,15 +10,14 @@ #define __ASM_POWERPC_BACKLIGHT_H #ifdef __KERNEL__
-#include <linux/fb.h> #include <linux/mutex.h>
+struct backlight_device; + /* For locking instructions, see the implementation file */ extern struct backlight_device *pmac_backlight; extern struct mutex pmac_backlight_mutex;
-extern int pmac_backlight_curve_lookup(struct fb_info *info, int value); - extern int pmac_has_backlight_type(const char *type);
extern void pmac_backlight_key(int direction); diff --git a/arch/powerpc/platforms/powermac/backlight.c b/arch/powerpc/platforms/powermac/backlight.c index aeb79a8b3e109..12bc01353bd3c 100644 --- a/arch/powerpc/platforms/powermac/backlight.c +++ b/arch/powerpc/platforms/powermac/backlight.c @@ -9,7 +9,6 @@ */
#include <linux/kernel.h> -#include <linux/fb.h> #include <linux/backlight.h> #include <linux/adb.h> #include <linux/pmu.h> @@ -72,31 +71,6 @@ int pmac_has_backlight_type(const char *type) return 0; }
-int pmac_backlight_curve_lookup(struct fb_info *info, int value) -{ - int level = (FB_BACKLIGHT_LEVELS - 1); - - if (info && info->bl_dev) { - int i, max = 0; - - /* Look for biggest value */ - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) - max = max((int)info->bl_curve[i], max); - - /* Look for nearest value */ - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) { - int diff = abs(info->bl_curve[i] - value); - if (diff < max) { - max = diff; - level = i; - } - } - - } - - return level; -} - static void pmac_backlight_key_worker(struct work_struct *work) { if (atomic_read(&kernel_backlight_disabled))
Thomas Zimmermann tzimmermann@suse.de writes:
Replace <linux/fb.h> with a forward declaration in <asm/backlight.h> to resolve an unnecessary dependency. Remove pmac_backlight_curve_lookup() and struct fb_info from source and header files. The function and the framebuffer struct are unused. No functional changes.
v3:
- Add Fixes tag (Christophe)
- fix typos in commit message (Jani)
Signed-off-by: Thomas Zimmermann tzimmermann@suse.de Fixes: d565dd3b0824 ("[PATCH] powerpc: More via-pmu backlight fixes") Reviewed-by: Jani Nikula jani.nikula@intel.com
arch/powerpc/include/asm/backlight.h | 5 ++-- arch/powerpc/platforms/powermac/backlight.c | 26 --------------------- 2 files changed, 2 insertions(+), 29 deletions(-)
Acked-by: Michael Ellerman mpe@ellerman.id.au (powerpc)
cheers
If there are no further comments, I'm going to merge this patchset in time for today's PR of drm-misc-next-fixes.
Am 06.03.24 um 13:28 schrieb Thomas Zimmermann:
After cleaning up <linux/fb.h> in commit 11b4eedfc87d ("fbdev: Do not include <linux/backlight.h> in header"), building with CONFIG_PMAC_BACKLIGHT=y returns errors about missing declarations. Patches 1 and 2 resolve the errors. Patch 1 has been reviewed at [1]. Patch 3 removes another dependency between backlight and fbdev code.
Compile tested with ppc6xx_defconfig.
v3:
- add Fixes tag and fix typos in patch 3
v2:
- via-pmu-backlight: fix build errors
- powerpc: resolve dependency between fbdev and backlight
[1] https://patchwork.freedesktop.org/series/130661/
Thomas Zimmermann (3): fbdev/chipsfb: Include <linux/backlight.h> macintosh/via-pmu-backlight: Include <linux/backlight.h> arch/powerpc: Remove <linux/fb.h> from backlight code
arch/powerpc/include/asm/backlight.h | 5 ++-- arch/powerpc/platforms/powermac/backlight.c | 26 --------------------- drivers/macintosh/via-pmu-backlight.c | 1 + drivers/video/fbdev/chipsfb.c | 1 + 4 files changed, 4 insertions(+), 29 deletions(-)