All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces
@ 2024-03-04 16:29 Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 01/10] backlight: Match backlight device against struct fb_info.bl_dev Thomas Zimmermann
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

Backlight drivers implement struct backlight_ops.check_fb, which
uses struct fb_info in its interface. Replace the callback with one
that does not use fb_info.

In DRM, we have several drivers that implement backlight support. By
including <linux/backlight.h> these drivers depend on <linux/fb.h>.
At the same time, fbdev is deprecated for new drivers and likely to
be replaced on many systems.

This patchset is part of a larger effort to implement the backlight
code without depending on fbdev.

Patch 1 makes the backlight core match backlight and framebuffer
devices via struct fb_info.bl_dev. Patches 2 to 9 then go through
drivers and remove unnecessary implementations of check_fb. Finally,
patch 10 replaces the check_fb hook with controls_device, which
uses the framebuffer's Linux device instead of the framebuffer.

v3:
	* hide CONFIG_FB_BACKLIGHT behind fb_bl_device() (Lee)
	* if-else cleanups (Andy)
	* fix commit message of patch 2 (Andy)
v2:
	* fix hid-picolcd for CONFIG_FB_BACKLIGHT=n
	* fixes to commit messages

Thomas Zimmermann (10):
  backlight: Match backlight device against struct fb_info.bl_dev
  auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
  hid/hid-picolcd: Fix initialization order
  hid/hid-picolcd: Remove struct backlight_ops.check_fb
  backlight/aat2870-backlight: Remove struct backlight.check_fb
  backlight/pwm-backlight: Remove struct backlight_ops.check_fb
  fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
  fbdev/ssd1307fb: Init backlight before registering framebuffer
  fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
  backlight: Add controls_device callback to struct backlight_ops

 drivers/auxdisplay/ht16k33.c             |  8 ------
 drivers/hid/hid-picolcd_backlight.c      |  7 ------
 drivers/hid/hid-picolcd_core.c           | 14 +++++------
 drivers/hid/hid-picolcd_fb.c             |  6 +++++
 drivers/video/backlight/aat2870_bl.c     |  7 ------
 drivers/video/backlight/backlight.c      |  8 ++++--
 drivers/video/backlight/bd6107.c         | 12 ++++-----
 drivers/video/backlight/gpio_backlight.c | 12 ++++-----
 drivers/video/backlight/lv5207lp.c       | 12 ++++-----
 drivers/video/backlight/pwm_bl.c         | 12 ---------
 drivers/video/fbdev/core/fb_backlight.c  |  5 ++++
 drivers/video/fbdev/sh_mobile_lcdcfb.c   |  7 ------
 drivers/video/fbdev/ssd1307fb.c          | 31 +++++++++---------------
 include/linux/backlight.h                | 16 ++++++------
 include/linux/fb.h                       |  9 +++++++
 include/linux/pwm_backlight.h            |  1 -
 16 files changed, 70 insertions(+), 97 deletions(-)

-- 
2.44.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v3 01/10] backlight: Match backlight device against struct fb_info.bl_dev
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 02/10] auxdisplay/ht16k33: Remove struct backlight_ops.check_fb Thomas Zimmermann
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

Framebuffer drivers for devices with dedicated backlight are supposed
to set struct fb_info.bl_dev to the backlight's respective device. Use
the value to match backlight and framebuffer in the backlight core code.

The code first tests against struct backlight_ops.check_ops. If this
test succeeds, it performs the test against fbdev. So backlight drivers
can override the later test as before.

Fbdev's backlight support depends on CONFIG_FB_BACKLIGHT. To avoid
ifdef in the code, the new helper fb_bl_device() returns the backlight
device, or NULL if the config option has been disabled. The test in
the backlight code will then do nothing.

v3:
	* hide ifdef in fb_bl_device() (Lee)
	* no if-else blocks (Andy)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/video/backlight/backlight.c     | 8 ++++++--
 drivers/video/fbdev/core/fb_backlight.c | 5 +++++
 include/linux/fb.h                      | 9 +++++++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 86e1cdc8e3697..4f7973c6fcc79 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -98,7 +98,9 @@ static int fb_notifier_callback(struct notifier_block *self,
 {
 	struct backlight_device *bd;
 	struct fb_event *evdata = data;
-	int node = evdata->info->node;
+	struct fb_info *info = evdata->info;
+	struct backlight_device *fb_bd = fb_bl_device(info);
+	int node = info->node;
 	int fb_blank = 0;
 
 	/* If we aren't interested in this event, skip it immediately ... */
@@ -110,7 +112,9 @@ static int fb_notifier_callback(struct notifier_block *self,
 
 	if (!bd->ops)
 		goto out;
-	if (bd->ops->check_fb && !bd->ops->check_fb(bd, evdata->info))
+	if (bd->ops->check_fb && !bd->ops->check_fb(bd, info))
+		goto out;
+	if (fb_bd && fb_bd != bd)
 		goto out;
 
 	fb_blank = *(int *)evdata->data;
diff --git a/drivers/video/fbdev/core/fb_backlight.c b/drivers/video/fbdev/core/fb_backlight.c
index e2d3b3adc870f..d3470a90042ea 100644
--- a/drivers/video/fbdev/core/fb_backlight.c
+++ b/drivers/video/fbdev/core/fb_backlight.c
@@ -30,4 +30,9 @@ void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max)
 	mutex_unlock(&fb_info->bl_curve_mutex);
 }
 EXPORT_SYMBOL_GPL(fb_bl_default_curve);
+
+struct backlight_device *fb_bl_device(struct fb_info *info)
+{
+	return info->bl_dev;
+}
 #endif
diff --git a/include/linux/fb.h b/include/linux/fb.h
index 708e6a177b1be..1dce640308b5e 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -732,6 +732,15 @@ extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev);
 extern void framebuffer_release(struct fb_info *info);
 extern void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max);
 
+#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
+struct backlight_device *fb_bl_device(struct fb_info *info);
+#else
+struct backlight_device *fb_bl_device(struct fb_info *info)
+{
+	return NULL;
+}
+#endif
+
 /* fbmon.c */
 #define FB_MAXTIMINGS		0
 #define FB_VSYNCTIMINGS		1
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 02/10] auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 01/10] backlight: Match backlight device against struct fb_info.bl_dev Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 03/10] hid/hid-picolcd: Fix initialization order Thomas Zimmermann
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

The driver sets struct fb_info.bl_dev to the correct backlight
device. Thus rely on the backlight core code to match backlight
and framebuffer devices, and remove the extra check_fb() function
from struct backlight_ops.

v3:
	* use 'check_fb()' in commit message (Andy)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Robin van der Gracht <robin@protonic.nl>
Acked-by: Robin van der Gracht <robin@protonic.nl>
Acked-by: Andy Shevchenko <andy@kernel.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/auxdisplay/ht16k33.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c
index a90430b7d07ba..0a858db32486b 100644
--- a/drivers/auxdisplay/ht16k33.c
+++ b/drivers/auxdisplay/ht16k33.c
@@ -325,16 +325,8 @@ static int ht16k33_bl_update_status(struct backlight_device *bl)
 	return ht16k33_brightness_set(priv, brightness);
 }
 
-static int ht16k33_bl_check_fb(struct backlight_device *bl, struct fb_info *fi)
-{
-	struct ht16k33_priv *priv = bl_get_data(bl);
-
-	return (fi == NULL) || (fi->par == priv);
-}
-
 static const struct backlight_ops ht16k33_bl_ops = {
 	.update_status	= ht16k33_bl_update_status,
-	.check_fb	= ht16k33_bl_check_fb,
 };
 
 /*
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 03/10] hid/hid-picolcd: Fix initialization order
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 01/10] backlight: Match backlight device against struct fb_info.bl_dev Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 02/10] auxdisplay/ht16k33: Remove struct backlight_ops.check_fb Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 04/10] hid/hid-picolcd: Remove struct backlight_ops.check_fb Thomas Zimmermann
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm,
	Thomas Zimmermann, Bruno Prémont

For drivers that support backlight, LCD and fbdev devices, fbdev has
to be initialized last. See documentation for struct fbinfo.bl_dev.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: "Bruno Prémont" <bonbons@linux-vserver.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/hid/hid-picolcd_core.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/hid/hid-picolcd_core.c b/drivers/hid/hid-picolcd_core.c
index bbda231a7ce30..5ddebe25eb91f 100644
--- a/drivers/hid/hid-picolcd_core.c
+++ b/drivers/hid/hid-picolcd_core.c
@@ -474,11 +474,6 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
 	if (error)
 		goto err;
 
-	/* Set up the framebuffer device */
-	error = picolcd_init_framebuffer(data);
-	if (error)
-		goto err;
-
 	/* Setup lcd class device */
 	error = picolcd_init_lcd(data, picolcd_out_report(REPORT_CONTRAST, hdev));
 	if (error)
@@ -489,6 +484,11 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
 	if (error)
 		goto err;
 
+	/* Set up the framebuffer device */
+	error = picolcd_init_framebuffer(data);
+	if (error)
+		goto err;
+
 	/* Setup the LED class devices */
 	error = picolcd_init_leds(data, picolcd_out_report(REPORT_LED_STATE, hdev));
 	if (error)
@@ -502,9 +502,9 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
 	return 0;
 err:
 	picolcd_exit_leds(data);
+	picolcd_exit_framebuffer(data);
 	picolcd_exit_backlight(data);
 	picolcd_exit_lcd(data);
-	picolcd_exit_framebuffer(data);
 	picolcd_exit_cir(data);
 	picolcd_exit_keys(data);
 	return error;
@@ -623,9 +623,9 @@ static void picolcd_remove(struct hid_device *hdev)
 	/* Cleanup LED */
 	picolcd_exit_leds(data);
 	/* Clean up the framebuffer */
+	picolcd_exit_framebuffer(data);
 	picolcd_exit_backlight(data);
 	picolcd_exit_lcd(data);
-	picolcd_exit_framebuffer(data);
 	/* Cleanup input */
 	picolcd_exit_cir(data);
 	picolcd_exit_keys(data);
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 04/10] hid/hid-picolcd: Remove struct backlight_ops.check_fb
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (2 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 03/10] hid/hid-picolcd: Fix initialization order Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 05/10] backlight/aat2870-backlight: Remove struct backlight.check_fb Thomas Zimmermann
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm,
	Thomas Zimmermann, Bruno Prémont

Update the driver to initialize struct fb_info.bl_dev to its backlight
device, if any. Thus rely on the backlight core code to match backlight
and framebuffer devices, and remove the extra check_fb function from
struct backlight_ops.

v2:
	* protect against CONFIG_FB_BACKLIGHT (Javier, kernel test robot)
	* reword commit message (Daniel)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: "Bruno Prémont" <bonbons@linux-vserver.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/hid/hid-picolcd_backlight.c | 7 -------
 drivers/hid/hid-picolcd_fb.c        | 6 ++++++
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/hid/hid-picolcd_backlight.c b/drivers/hid/hid-picolcd_backlight.c
index 5bd2a8c4bbd66..08d16917eb60b 100644
--- a/drivers/hid/hid-picolcd_backlight.c
+++ b/drivers/hid/hid-picolcd_backlight.c
@@ -9,7 +9,6 @@
 
 #include <linux/hid.h>
 
-#include <linux/fb.h>
 #include <linux/backlight.h>
 
 #include "hid-picolcd.h"
@@ -39,15 +38,9 @@ static int picolcd_set_brightness(struct backlight_device *bdev)
 	return 0;
 }
 
-static int picolcd_check_bl_fb(struct backlight_device *bdev, struct fb_info *fb)
-{
-	return fb && fb == picolcd_fbinfo((struct picolcd_data *)bl_get_data(bdev));
-}
-
 static const struct backlight_ops picolcd_blops = {
 	.update_status  = picolcd_set_brightness,
 	.get_brightness = picolcd_get_brightness,
-	.check_fb       = picolcd_check_bl_fb,
 };
 
 int picolcd_init_backlight(struct picolcd_data *data, struct hid_report *report)
diff --git a/drivers/hid/hid-picolcd_fb.c b/drivers/hid/hid-picolcd_fb.c
index d7dddd99d325e..750206f5fc674 100644
--- a/drivers/hid/hid-picolcd_fb.c
+++ b/drivers/hid/hid-picolcd_fb.c
@@ -493,6 +493,12 @@ int picolcd_init_framebuffer(struct picolcd_data *data)
 	info->fix = picolcdfb_fix;
 	info->fix.smem_len   = PICOLCDFB_SIZE*8;
 
+#ifdef CONFIG_FB_BACKLIGHT
+#ifdef CONFIG_HID_PICOLCD_BACKLIGHT
+	info->bl_dev = data->backlight;
+#endif
+#endif
+
 	fbdata = info->par;
 	spin_lock_init(&fbdata->lock);
 	fbdata->picolcd = data;
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 05/10] backlight/aat2870-backlight: Remove struct backlight.check_fb
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (3 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 04/10] hid/hid-picolcd: Remove struct backlight_ops.check_fb Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 06/10] backlight/pwm-backlight: Remove struct backlight_ops.check_fb Thomas Zimmermann
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

The driver's implementation of check_fb always returns true, which
is the default if no implementation has been set. So remove the code
from the driver.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/video/backlight/aat2870_bl.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/video/backlight/aat2870_bl.c b/drivers/video/backlight/aat2870_bl.c
index 81fde3abb92c4..b4c3354a1a8a6 100644
--- a/drivers/video/backlight/aat2870_bl.c
+++ b/drivers/video/backlight/aat2870_bl.c
@@ -12,7 +12,6 @@
 #include <linux/platform_device.h>
 #include <linux/mutex.h>
 #include <linux/delay.h>
-#include <linux/fb.h>
 #include <linux/backlight.h>
 #include <linux/mfd/aat2870.h>
 
@@ -90,15 +89,9 @@ static int aat2870_bl_update_status(struct backlight_device *bd)
 	return 0;
 }
 
-static int aat2870_bl_check_fb(struct backlight_device *bd, struct fb_info *fi)
-{
-	return 1;
-}
-
 static const struct backlight_ops aat2870_bl_ops = {
 	.options = BL_CORE_SUSPENDRESUME,
 	.update_status = aat2870_bl_update_status,
-	.check_fb = aat2870_bl_check_fb,
 };
 
 static int aat2870_bl_probe(struct platform_device *pdev)
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 06/10] backlight/pwm-backlight: Remove struct backlight_ops.check_fb
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (4 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 05/10] backlight/aat2870-backlight: Remove struct backlight.check_fb Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 07/10] fbdev/sh_mobile_lcdc_fb: " Thomas Zimmermann
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm,
	Thomas Zimmermann, Uwe Kleine-König

The internal check_fb callback from struct pwm_bl_data is never
implemented. The driver's implementation of check_fb always
returns true, which is the backlight core's default if no
implementation has been set. So remove the code from the driver.

v2:
	* reword commit message

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/video/backlight/pwm_bl.c | 12 ------------
 include/linux/pwm_backlight.h    |  1 -
 2 files changed, 13 deletions(-)

diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index ffcebf6aa76a9..61d30bc98eea5 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -11,7 +11,6 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/platform_device.h>
-#include <linux/fb.h>
 #include <linux/backlight.h>
 #include <linux/err.h>
 #include <linux/pwm.h>
@@ -34,7 +33,6 @@ struct pwm_bl_data {
 					  int brightness);
 	void			(*notify_after)(struct device *,
 					int brightness);
-	int			(*check_fb)(struct device *, struct fb_info *);
 	void			(*exit)(struct device *);
 };
 
@@ -129,17 +127,8 @@ static int pwm_backlight_update_status(struct backlight_device *bl)
 	return 0;
 }
 
-static int pwm_backlight_check_fb(struct backlight_device *bl,
-				  struct fb_info *info)
-{
-	struct pwm_bl_data *pb = bl_get_data(bl);
-
-	return !pb->check_fb || pb->check_fb(pb->dev, info);
-}
-
 static const struct backlight_ops pwm_backlight_ops = {
 	.update_status	= pwm_backlight_update_status,
-	.check_fb	= pwm_backlight_check_fb,
 };
 
 #ifdef CONFIG_OF
@@ -482,7 +471,6 @@ static int pwm_backlight_probe(struct platform_device *pdev)
 
 	pb->notify = data->notify;
 	pb->notify_after = data->notify_after;
-	pb->check_fb = data->check_fb;
 	pb->exit = data->exit;
 	pb->dev = &pdev->dev;
 	pb->enabled = false;
diff --git a/include/linux/pwm_backlight.h b/include/linux/pwm_backlight.h
index cdd2ac366bc72..0bf80e98d5b40 100644
--- a/include/linux/pwm_backlight.h
+++ b/include/linux/pwm_backlight.h
@@ -19,7 +19,6 @@ struct platform_pwm_backlight_data {
 	int (*notify)(struct device *dev, int brightness);
 	void (*notify_after)(struct device *dev, int brightness);
 	void (*exit)(struct device *dev);
-	int (*check_fb)(struct device *dev, struct fb_info *info);
 };
 
 #endif
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 07/10] fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (5 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 06/10] backlight/pwm-backlight: Remove struct backlight_ops.check_fb Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 08/10] fbdev/ssd1307fb: Init backlight before registering framebuffer Thomas Zimmermann
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

The driver sets struct fb_info.bl_dev to the correct backlight
device. Thus rely on the backlight core code to match backlight
and framebuffer devices, and remove the extra check_fb function
from struct backlight_ops.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/video/fbdev/sh_mobile_lcdcfb.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c
index eb2297b37504c..bf34c8ec1a26c 100644
--- a/drivers/video/fbdev/sh_mobile_lcdcfb.c
+++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c
@@ -2140,17 +2140,10 @@ static int sh_mobile_lcdc_get_brightness(struct backlight_device *bdev)
 	return ch->bl_brightness;
 }
 
-static int sh_mobile_lcdc_check_fb(struct backlight_device *bdev,
-				   struct fb_info *info)
-{
-	return (info->bl_dev == bdev);
-}
-
 static const struct backlight_ops sh_mobile_lcdc_bl_ops = {
 	.options	= BL_CORE_SUSPENDRESUME,
 	.update_status	= sh_mobile_lcdc_update_bl,
 	.get_brightness	= sh_mobile_lcdc_get_brightness,
-	.check_fb	= sh_mobile_lcdc_check_fb,
 };
 
 static struct backlight_device *sh_mobile_lcdc_bl_probe(struct device *parent,
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 08/10] fbdev/ssd1307fb: Init backlight before registering framebuffer
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (6 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 07/10] fbdev/sh_mobile_lcdc_fb: " Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 09/10] fbdev/ssd1307fb: Remove struct backlight_ops.check_fb Thomas Zimmermann
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

For drivers that support backlight, LCD and fbdev devices, fbdev has
to be initialized last. See documentation for struct fbinfo.bl_dev.

The backlight name's index number comes from register_framebuffer(),
which now happens after initializing the backlight device. So like
in all other backlight drivers, we now give the backlight device a
generic name without the fbdev index.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/video/fbdev/ssd1307fb.c | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index 1a4f90ea7d5a8..0d1590c61eb06 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -594,7 +594,6 @@ static int ssd1307fb_probe(struct i2c_client *client)
 {
 	struct device *dev = &client->dev;
 	struct backlight_device *bl;
-	char bl_name[12];
 	struct fb_info *info;
 	struct fb_deferred_io *ssd1307fb_defio;
 	u32 vmem_size;
@@ -733,31 +732,30 @@ static int ssd1307fb_probe(struct i2c_client *client)
 	if (ret)
 		goto regulator_enable_error;
 
-	ret = register_framebuffer(info);
-	if (ret) {
-		dev_err(dev, "Couldn't register the framebuffer\n");
-		goto panel_init_error;
-	}
-
-	snprintf(bl_name, sizeof(bl_name), "ssd1307fb%d", info->node);
-	bl = backlight_device_register(bl_name, dev, par, &ssd1307fb_bl_ops,
+	bl = backlight_device_register("ssd1307fb-bl", dev, par, &ssd1307fb_bl_ops,
 				       NULL);
 	if (IS_ERR(bl)) {
 		ret = PTR_ERR(bl);
 		dev_err(dev, "unable to register backlight device: %d\n", ret);
-		goto bl_init_error;
+		goto panel_init_error;
+	}
+	info->bl_dev = bl;
+
+	ret = register_framebuffer(info);
+	if (ret) {
+		dev_err(dev, "Couldn't register the framebuffer\n");
+		goto fb_init_error;
 	}
 
 	bl->props.brightness = par->contrast;
 	bl->props.max_brightness = MAX_CONTRAST;
-	info->bl_dev = bl;
 
 	dev_info(dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
 
 	return 0;
 
-bl_init_error:
-	unregister_framebuffer(info);
+fb_init_error:
+	backlight_device_unregister(bl);
 panel_init_error:
 	pwm_disable(par->pwm);
 	pwm_put(par->pwm);
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 09/10] fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (7 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 08/10] fbdev/ssd1307fb: Init backlight before registering framebuffer Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-04 16:29 ` [PATCH v3 10/10] backlight: Add controls_device callback to struct backlight_ops Thomas Zimmermann
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

The driver sets struct fb_info.bl_dev to the correct backlight
device. Thus rely on the backlight core code to match backlight
and framebuffer devices, and remove the extra check_fb function
from struct backlight_ops.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/video/fbdev/ssd1307fb.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index 0d1590c61eb06..3f30af3c059e0 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -530,17 +530,10 @@ static int ssd1307fb_get_brightness(struct backlight_device *bdev)
 	return par->contrast;
 }
 
-static int ssd1307fb_check_fb(struct backlight_device *bdev,
-				   struct fb_info *info)
-{
-	return (info->bl_dev == bdev);
-}
-
 static const struct backlight_ops ssd1307fb_bl_ops = {
 	.options	= BL_CORE_SUSPENDRESUME,
 	.update_status	= ssd1307fb_update_bl,
 	.get_brightness	= ssd1307fb_get_brightness,
-	.check_fb	= ssd1307fb_check_fb,
 };
 
 static struct ssd1307fb_deviceinfo ssd1307fb_ssd1305_deviceinfo = {
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v3 10/10] backlight: Add controls_device callback to struct backlight_ops
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (8 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 09/10] fbdev/ssd1307fb: Remove struct backlight_ops.check_fb Thomas Zimmermann
@ 2024-03-04 16:29 ` Thomas Zimmermann
  2024-03-05  9:36 ` [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Lee Jones
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-04 16:29 UTC (permalink / raw)
  To: lee, andy, daniel.thompson, jingoohan1, deller, robin, javierm
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm, Thomas Zimmermann

Replace check_fb with controls_device in struct backlight_ops. The
new callback interface takes a Linux device instead of a framebuffer.
Resolves one of the dependencies of backlight.h on fb.h.

The few drivers that had custom implementations of check_fb can easily
use the framebuffer's Linux device instead. Update them accordingly.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
---
 drivers/video/backlight/backlight.c      |  2 +-
 drivers/video/backlight/bd6107.c         | 12 ++++++------
 drivers/video/backlight/gpio_backlight.c | 12 ++++++------
 drivers/video/backlight/lv5207lp.c       | 12 ++++++------
 include/linux/backlight.h                | 16 ++++++++--------
 5 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 4f7973c6fcc79..2bd4299206aef 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -112,7 +112,7 @@ static int fb_notifier_callback(struct notifier_block *self,
 
 	if (!bd->ops)
 		goto out;
-	if (bd->ops->check_fb && !bd->ops->check_fb(bd, info))
+	if (bd->ops->controls_device && !bd->ops->controls_device(bd, info->device))
 		goto out;
 	if (fb_bd && fb_bd != bd)
 		goto out;
diff --git a/drivers/video/backlight/bd6107.c b/drivers/video/backlight/bd6107.c
index c95a12bf0ce26..d124ede084ef9 100644
--- a/drivers/video/backlight/bd6107.c
+++ b/drivers/video/backlight/bd6107.c
@@ -99,18 +99,18 @@ static int bd6107_backlight_update_status(struct backlight_device *backlight)
 	return 0;
 }
 
-static int bd6107_backlight_check_fb(struct backlight_device *backlight,
-				       struct fb_info *info)
+static bool bd6107_backlight_controls_device(struct backlight_device *backlight,
+					     struct device *display_dev)
 {
 	struct bd6107 *bd = bl_get_data(backlight);
 
-	return !bd->pdata->dev || bd->pdata->dev == info->device;
+	return !bd->pdata->dev || bd->pdata->dev == display_dev;
 }
 
 static const struct backlight_ops bd6107_backlight_ops = {
-	.options	= BL_CORE_SUSPENDRESUME,
-	.update_status	= bd6107_backlight_update_status,
-	.check_fb	= bd6107_backlight_check_fb,
+	.options	 = BL_CORE_SUSPENDRESUME,
+	.update_status	 = bd6107_backlight_update_status,
+	.controls_device = bd6107_backlight_controls_device,
 };
 
 static int bd6107_probe(struct i2c_client *client)
diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
index d28c30b2a35d2..c0cff685ea848 100644
--- a/drivers/video/backlight/gpio_backlight.c
+++ b/drivers/video/backlight/gpio_backlight.c
@@ -30,18 +30,18 @@ static int gpio_backlight_update_status(struct backlight_device *bl)
 	return 0;
 }
 
-static int gpio_backlight_check_fb(struct backlight_device *bl,
-				   struct fb_info *info)
+static bool gpio_backlight_controls_device(struct backlight_device *bl,
+					   struct device *display_dev)
 {
 	struct gpio_backlight *gbl = bl_get_data(bl);
 
-	return !gbl->dev || gbl->dev == info->device;
+	return !gbl->dev || gbl->dev == display_dev;
 }
 
 static const struct backlight_ops gpio_backlight_ops = {
-	.options	= BL_CORE_SUSPENDRESUME,
-	.update_status	= gpio_backlight_update_status,
-	.check_fb	= gpio_backlight_check_fb,
+	.options	 = BL_CORE_SUSPENDRESUME,
+	.update_status	 = gpio_backlight_update_status,
+	.controls_device = gpio_backlight_controls_device,
 };
 
 static int gpio_backlight_probe(struct platform_device *pdev)
diff --git a/drivers/video/backlight/lv5207lp.c b/drivers/video/backlight/lv5207lp.c
index 1f1d06b4e119a..0cf00fee0f605 100644
--- a/drivers/video/backlight/lv5207lp.c
+++ b/drivers/video/backlight/lv5207lp.c
@@ -62,18 +62,18 @@ static int lv5207lp_backlight_update_status(struct backlight_device *backlight)
 	return 0;
 }
 
-static int lv5207lp_backlight_check_fb(struct backlight_device *backlight,
-				       struct fb_info *info)
+static bool lv5207lp_backlight_controls_device(struct backlight_device *backlight,
+					       struct device *display_dev)
 {
 	struct lv5207lp *lv = bl_get_data(backlight);
 
-	return !lv->pdata->dev || lv->pdata->dev == info->device;
+	return !lv->pdata->dev || lv->pdata->dev == display_dev;
 }
 
 static const struct backlight_ops lv5207lp_backlight_ops = {
-	.options	= BL_CORE_SUSPENDRESUME,
-	.update_status	= lv5207lp_backlight_update_status,
-	.check_fb	= lv5207lp_backlight_check_fb,
+	.options	 = BL_CORE_SUSPENDRESUME,
+	.update_status	 = lv5207lp_backlight_update_status,
+	.controls_device = lv5207lp_backlight_controls_device,
 };
 
 static int lv5207lp_probe(struct i2c_client *client)
diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index 614653e07e3a8..2db4c70053c46 100644
--- a/include/linux/backlight.h
+++ b/include/linux/backlight.h
@@ -13,6 +13,7 @@
 #include <linux/fb.h>
 #include <linux/mutex.h>
 #include <linux/notifier.h>
+#include <linux/types.h>
 
 /**
  * enum backlight_update_reason - what method was used to update backlight
@@ -110,7 +111,6 @@ enum backlight_scale {
 };
 
 struct backlight_device;
-struct fb_info;
 
 /**
  * struct backlight_ops - backlight operations
@@ -160,18 +160,18 @@ struct backlight_ops {
 	int (*get_brightness)(struct backlight_device *);
 
 	/**
-	 * @check_fb: Check the framebuffer device.
+	 * @controls_device: Check against the display device
 	 *
-	 * Check if given framebuffer device is the one bound to this backlight.
-	 * This operation is optional and if not implemented it is assumed that the
-	 * fbdev is always the one bound to the backlight.
+	 * Check if the backlight controls the given display device. This
+	 * operation is optional and if not implemented it is assumed that
+	 * the display is always the one controlled by the backlight.
 	 *
 	 * RETURNS:
 	 *
-	 * If info is NULL or the info matches the fbdev bound to the backlight return true.
-	 * If info does not match the fbdev bound to the backlight return false.
+	 * If display_dev is NULL or display_dev matches the device controlled by
+	 * the backlight, return true. Otherwise return false.
 	 */
-	int (*check_fb)(struct backlight_device *bd, struct fb_info *info);
+	bool (*controls_device)(struct backlight_device *bd, struct device *display_dev);
 };
 
 /**
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (9 preceding siblings ...)
  2024-03-04 16:29 ` [PATCH v3 10/10] backlight: Add controls_device callback to struct backlight_ops Thomas Zimmermann
@ 2024-03-05  9:36 ` Lee Jones
  2024-03-05 10:00   ` Thomas Zimmermann
  2024-03-05 10:30 ` Lee Jones
  2024-03-05 10:44 ` Lee Jones
  12 siblings, 1 reply; 17+ messages in thread
From: Lee Jones @ 2024-03-05  9:36 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: andy, daniel.thompson, jingoohan1, deller, robin, javierm,
	dri-devel, linux-fbdev, linux-input, linux-pwm

On Mon, 04 Mar 2024, Thomas Zimmermann wrote:

> Backlight drivers implement struct backlight_ops.check_fb, which
> uses struct fb_info in its interface. Replace the callback with one
> that does not use fb_info.
> 
> In DRM, we have several drivers that implement backlight support. By
> including <linux/backlight.h> these drivers depend on <linux/fb.h>.
> At the same time, fbdev is deprecated for new drivers and likely to
> be replaced on many systems.
> 
> This patchset is part of a larger effort to implement the backlight
> code without depending on fbdev.
> 
> Patch 1 makes the backlight core match backlight and framebuffer
> devices via struct fb_info.bl_dev. Patches 2 to 9 then go through
> drivers and remove unnecessary implementations of check_fb. Finally,
> patch 10 replaces the check_fb hook with controls_device, which
> uses the framebuffer's Linux device instead of the framebuffer.
> 
> v3:
> 	* hide CONFIG_FB_BACKLIGHT behind fb_bl_device() (Lee)
> 	* if-else cleanups (Andy)
> 	* fix commit message of patch 2 (Andy)
> v2:
> 	* fix hid-picolcd for CONFIG_FB_BACKLIGHT=n
> 	* fixes to commit messages
> 
> Thomas Zimmermann (10):
>   backlight: Match backlight device against struct fb_info.bl_dev
>   auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
>   hid/hid-picolcd: Fix initialization order
>   hid/hid-picolcd: Remove struct backlight_ops.check_fb
>   backlight/aat2870-backlight: Remove struct backlight.check_fb
>   backlight/pwm-backlight: Remove struct backlight_ops.check_fb
>   fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
>   fbdev/ssd1307fb: Init backlight before registering framebuffer
>   fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
>   backlight: Add controls_device callback to struct backlight_ops
> 
>  drivers/auxdisplay/ht16k33.c             |  8 ------
>  drivers/hid/hid-picolcd_backlight.c      |  7 ------
>  drivers/hid/hid-picolcd_core.c           | 14 +++++------
>  drivers/hid/hid-picolcd_fb.c             |  6 +++++
>  drivers/video/backlight/aat2870_bl.c     |  7 ------
>  drivers/video/backlight/backlight.c      |  8 ++++--
>  drivers/video/backlight/bd6107.c         | 12 ++++-----
>  drivers/video/backlight/gpio_backlight.c | 12 ++++-----
>  drivers/video/backlight/lv5207lp.c       | 12 ++++-----
>  drivers/video/backlight/pwm_bl.c         | 12 ---------
>  drivers/video/fbdev/core/fb_backlight.c  |  5 ++++
>  drivers/video/fbdev/sh_mobile_lcdcfb.c   |  7 ------
>  drivers/video/fbdev/ssd1307fb.c          | 31 +++++++++---------------
>  include/linux/backlight.h                | 16 ++++++------
>  include/linux/fb.h                       |  9 +++++++
>  include/linux/pwm_backlight.h            |  1 -
>  16 files changed, 70 insertions(+), 97 deletions(-)

Which Acks are you missing for us to merge this?

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces
  2024-03-05  9:36 ` [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Lee Jones
@ 2024-03-05 10:00   ` Thomas Zimmermann
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-05 10:00 UTC (permalink / raw)
  To: Lee Jones
  Cc: andy, daniel.thompson, jingoohan1, deller, robin, javierm,
	dri-devel, linux-fbdev, linux-input, linux-pwm

Hi

Am 05.03.24 um 10:36 schrieb Lee Jones:
> On Mon, 04 Mar 2024, Thomas Zimmermann wrote:
>
>> Backlight drivers implement struct backlight_ops.check_fb, which
>> uses struct fb_info in its interface. Replace the callback with one
>> that does not use fb_info.
>>
>> In DRM, we have several drivers that implement backlight support. By
>> including <linux/backlight.h> these drivers depend on <linux/fb.h>.
>> At the same time, fbdev is deprecated for new drivers and likely to
>> be replaced on many systems.
>>
>> This patchset is part of a larger effort to implement the backlight
>> code without depending on fbdev.
>>
>> Patch 1 makes the backlight core match backlight and framebuffer
>> devices via struct fb_info.bl_dev. Patches 2 to 9 then go through
>> drivers and remove unnecessary implementations of check_fb. Finally,
>> patch 10 replaces the check_fb hook with controls_device, which
>> uses the framebuffer's Linux device instead of the framebuffer.
>>
>> v3:
>> 	* hide CONFIG_FB_BACKLIGHT behind fb_bl_device() (Lee)
>> 	* if-else cleanups (Andy)
>> 	* fix commit message of patch 2 (Andy)
>> v2:
>> 	* fix hid-picolcd for CONFIG_FB_BACKLIGHT=n
>> 	* fixes to commit messages
>>
>> Thomas Zimmermann (10):
>>    backlight: Match backlight device against struct fb_info.bl_dev
>>    auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
>>    hid/hid-picolcd: Fix initialization order
>>    hid/hid-picolcd: Remove struct backlight_ops.check_fb
>>    backlight/aat2870-backlight: Remove struct backlight.check_fb
>>    backlight/pwm-backlight: Remove struct backlight_ops.check_fb
>>    fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
>>    fbdev/ssd1307fb: Init backlight before registering framebuffer
>>    fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
>>    backlight: Add controls_device callback to struct backlight_ops
>>
>>   drivers/auxdisplay/ht16k33.c             |  8 ------
>>   drivers/hid/hid-picolcd_backlight.c      |  7 ------
>>   drivers/hid/hid-picolcd_core.c           | 14 +++++------
>>   drivers/hid/hid-picolcd_fb.c             |  6 +++++
>>   drivers/video/backlight/aat2870_bl.c     |  7 ------
>>   drivers/video/backlight/backlight.c      |  8 ++++--
>>   drivers/video/backlight/bd6107.c         | 12 ++++-----
>>   drivers/video/backlight/gpio_backlight.c | 12 ++++-----
>>   drivers/video/backlight/lv5207lp.c       | 12 ++++-----
>>   drivers/video/backlight/pwm_bl.c         | 12 ---------
>>   drivers/video/fbdev/core/fb_backlight.c  |  5 ++++
>>   drivers/video/fbdev/sh_mobile_lcdcfb.c   |  7 ------
>>   drivers/video/fbdev/ssd1307fb.c          | 31 +++++++++---------------
>>   include/linux/backlight.h                | 16 ++++++------
>>   include/linux/fb.h                       |  9 +++++++
>>   include/linux/pwm_backlight.h            |  1 -
>>   16 files changed, 70 insertions(+), 97 deletions(-)
> Which Acks are you missing for us to merge this?

Only yours.

If you decide to only merge the backlight patches, I'll merge the other 
patches via other fbdev/drm trees during the next release cycle. Patch 
10/10 would afterwards go into the backlight tree again.

Best regards
Thomas

>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (10 preceding siblings ...)
  2024-03-05  9:36 ` [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Lee Jones
@ 2024-03-05 10:30 ` Lee Jones
  2024-03-05 10:44 ` Lee Jones
  12 siblings, 0 replies; 17+ messages in thread
From: Lee Jones @ 2024-03-05 10:30 UTC (permalink / raw)
  To: andy, daniel.thompson, jingoohan1, deller, robin, javierm,
	Thomas Zimmermann
  Cc: dri-devel, linux-fbdev, linux-input, linux-pwm

On Mon, 04 Mar 2024 17:29:45 +0100, Thomas Zimmermann wrote:
> Backlight drivers implement struct backlight_ops.check_fb, which
> uses struct fb_info in its interface. Replace the callback with one
> that does not use fb_info.
> 
> In DRM, we have several drivers that implement backlight support. By
> including <linux/backlight.h> these drivers depend on <linux/fb.h>.
> At the same time, fbdev is deprecated for new drivers and likely to
> be replaced on many systems.
> 
> [...]

Applied, thanks!

[01/10] backlight: Match backlight device against struct fb_info.bl_dev
        commit: 67716b34e1be2beb7464f9b9d0b47b2cc7dbc208
[02/10] auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
        commit: 747554336b46a26fcdf47e2e48044c7e175b6a5f
[03/10] hid/hid-picolcd: Fix initialization order
        commit: d55b578e3b0cd6abdc52e2c34d88dd3487bb10a2
[04/10] hid/hid-picolcd: Remove struct backlight_ops.check_fb
        commit: 09ca774d2e87f9b086b23354b1605709fb50205f
[05/10] backlight/aat2870-backlight: Remove struct backlight.check_fb
        commit: 61e837e975abcb4d278c3427d927e1cbaaed0090
[06/10] backlight/pwm-backlight: Remove struct backlight_ops.check_fb
        commit: 9c2be31d2951c8dce90950db000c095330406f94
[07/10] fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
        commit: a2a8fbdb54a78fd18850cd0b74b465657ffb1e0c
[08/10] fbdev/ssd1307fb: Init backlight before registering framebuffer
        commit: 5500326bd33e52230866f50770ca822ce400a4ab
[09/10] fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
        commit: d1b82cc44fd8be4013538992814c45f0e55c02b4
[10/10] backlight: Add controls_device callback to struct backlight_ops
        commit: 7e508af663e20e9e40003bb30e06b926c754159b

--
Lee Jones [李琼斯]


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces
  2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
                   ` (11 preceding siblings ...)
  2024-03-05 10:30 ` Lee Jones
@ 2024-03-05 10:44 ` Lee Jones
  2024-03-05 14:53   ` Lee Jones
  12 siblings, 1 reply; 17+ messages in thread
From: Lee Jones @ 2024-03-05 10:44 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: andy, daniel.thompson, jingoohan1, deller, robin, javierm,
	dri-devel, linux-fbdev, linux-input, linux-pwm

On Mon, 04 Mar 2024, Thomas Zimmermann wrote:

> Backlight drivers implement struct backlight_ops.check_fb, which
> uses struct fb_info in its interface. Replace the callback with one
> that does not use fb_info.
> 
> In DRM, we have several drivers that implement backlight support. By
> including <linux/backlight.h> these drivers depend on <linux/fb.h>.
> At the same time, fbdev is deprecated for new drivers and likely to
> be replaced on many systems.
> 
> This patchset is part of a larger effort to implement the backlight
> code without depending on fbdev.
> 
> Patch 1 makes the backlight core match backlight and framebuffer
> devices via struct fb_info.bl_dev. Patches 2 to 9 then go through
> drivers and remove unnecessary implementations of check_fb. Finally,
> patch 10 replaces the check_fb hook with controls_device, which
> uses the framebuffer's Linux device instead of the framebuffer.
> 
> v3:
> 	* hide CONFIG_FB_BACKLIGHT behind fb_bl_device() (Lee)
> 	* if-else cleanups (Andy)
> 	* fix commit message of patch 2 (Andy)
> v2:
> 	* fix hid-picolcd for CONFIG_FB_BACKLIGHT=n
> 	* fixes to commit messages
> 
> Thomas Zimmermann (10):
>   backlight: Match backlight device against struct fb_info.bl_dev
>   auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
>   hid/hid-picolcd: Fix initialization order
>   hid/hid-picolcd: Remove struct backlight_ops.check_fb
>   backlight/aat2870-backlight: Remove struct backlight.check_fb
>   backlight/pwm-backlight: Remove struct backlight_ops.check_fb
>   fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
>   fbdev/ssd1307fb: Init backlight before registering framebuffer
>   fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
>   backlight: Add controls_device callback to struct backlight_ops
> 
>  drivers/auxdisplay/ht16k33.c             |  8 ------
>  drivers/hid/hid-picolcd_backlight.c      |  7 ------
>  drivers/hid/hid-picolcd_core.c           | 14 +++++------
>  drivers/hid/hid-picolcd_fb.c             |  6 +++++
>  drivers/video/backlight/aat2870_bl.c     |  7 ------
>  drivers/video/backlight/backlight.c      |  8 ++++--
>  drivers/video/backlight/bd6107.c         | 12 ++++-----
>  drivers/video/backlight/gpio_backlight.c | 12 ++++-----
>  drivers/video/backlight/lv5207lp.c       | 12 ++++-----
>  drivers/video/backlight/pwm_bl.c         | 12 ---------
>  drivers/video/fbdev/core/fb_backlight.c  |  5 ++++
>  drivers/video/fbdev/sh_mobile_lcdcfb.c   |  7 ------
>  drivers/video/fbdev/ssd1307fb.c          | 31 +++++++++---------------
>  include/linux/backlight.h                | 16 ++++++------
>  include/linux/fb.h                       |  9 +++++++
>  include/linux/pwm_backlight.h            |  1 -
>  16 files changed, 70 insertions(+), 97 deletions(-)

All applied.  Submitted for build testing.

Will follow-up with a PR once that's passed.

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces
  2024-03-05 10:44 ` Lee Jones
@ 2024-03-05 14:53   ` Lee Jones
  2024-03-05 16:04     ` Thomas Zimmermann
  0 siblings, 1 reply; 17+ messages in thread
From: Lee Jones @ 2024-03-05 14:53 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: andy, daniel.thompson, jingoohan1, deller, robin, javierm,
	dri-devel, linux-fbdev, linux-input, linux-pwm

On Tue, 05 Mar 2024, Lee Jones wrote:

> On Mon, 04 Mar 2024, Thomas Zimmermann wrote:
> 
> > Backlight drivers implement struct backlight_ops.check_fb, which
> > uses struct fb_info in its interface. Replace the callback with one
> > that does not use fb_info.
> > 
> > In DRM, we have several drivers that implement backlight support. By
> > including <linux/backlight.h> these drivers depend on <linux/fb.h>.
> > At the same time, fbdev is deprecated for new drivers and likely to
> > be replaced on many systems.
> > 
> > This patchset is part of a larger effort to implement the backlight
> > code without depending on fbdev.
> > 
> > Patch 1 makes the backlight core match backlight and framebuffer
> > devices via struct fb_info.bl_dev. Patches 2 to 9 then go through
> > drivers and remove unnecessary implementations of check_fb. Finally,
> > patch 10 replaces the check_fb hook with controls_device, which
> > uses the framebuffer's Linux device instead of the framebuffer.
> > 
> > v3:
> > 	* hide CONFIG_FB_BACKLIGHT behind fb_bl_device() (Lee)
> > 	* if-else cleanups (Andy)
> > 	* fix commit message of patch 2 (Andy)
> > v2:
> > 	* fix hid-picolcd for CONFIG_FB_BACKLIGHT=n
> > 	* fixes to commit messages
> > 
> > Thomas Zimmermann (10):
> >   backlight: Match backlight device against struct fb_info.bl_dev
> >   auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
> >   hid/hid-picolcd: Fix initialization order
> >   hid/hid-picolcd: Remove struct backlight_ops.check_fb
> >   backlight/aat2870-backlight: Remove struct backlight.check_fb
> >   backlight/pwm-backlight: Remove struct backlight_ops.check_fb
> >   fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
> >   fbdev/ssd1307fb: Init backlight before registering framebuffer
> >   fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
> >   backlight: Add controls_device callback to struct backlight_ops
> > 
> >  drivers/auxdisplay/ht16k33.c             |  8 ------
> >  drivers/hid/hid-picolcd_backlight.c      |  7 ------
> >  drivers/hid/hid-picolcd_core.c           | 14 +++++------
> >  drivers/hid/hid-picolcd_fb.c             |  6 +++++
> >  drivers/video/backlight/aat2870_bl.c     |  7 ------
> >  drivers/video/backlight/backlight.c      |  8 ++++--
> >  drivers/video/backlight/bd6107.c         | 12 ++++-----
> >  drivers/video/backlight/gpio_backlight.c | 12 ++++-----
> >  drivers/video/backlight/lv5207lp.c       | 12 ++++-----
> >  drivers/video/backlight/pwm_bl.c         | 12 ---------
> >  drivers/video/fbdev/core/fb_backlight.c  |  5 ++++
> >  drivers/video/fbdev/sh_mobile_lcdcfb.c   |  7 ------
> >  drivers/video/fbdev/ssd1307fb.c          | 31 +++++++++---------------
> >  include/linux/backlight.h                | 16 ++++++------
> >  include/linux/fb.h                       |  9 +++++++
> >  include/linux/pwm_backlight.h            |  1 -
> >  16 files changed, 70 insertions(+), 97 deletions(-)
> 
> All applied.  Submitted for build testing.
> 
> Will follow-up with a PR once that's passed.

In file included from /builds/linux/include/linux/backlight.h:13,
                 from /builds/linux/drivers/video/backlight/lp855x_bl.c:12:
/builds/linux/include/linux/fb.h:736:26: warning: no previous prototype for 'fb_bl_device' [-Wmissing-prototypes]
 struct backlight_device *fb_bl_device(struct fb_info *info)

##########################

 Errors were caused
 
[v6.8-rc1] ib-backlight-auxdisplay-hid-fb-6.8 7e508af663e20 ("backlight: Add controls_device callback to struct backlight_ops")

 arc allnoconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOFnv6gFmUDNhk9qfBePj2N0/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQhlmdHMnzDWy8bgy8Yhwp4b/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arc allnoconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKKrZxZBeoUCAsVcKq7Im3B/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtDIJZ7rQPDViKMcsNEOgvR/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arc axs101_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOLZg1SwVMW2RAjIULk4qh65/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpsxuvbbnXzVO6TfUCzEbtW/ 	Fail (3 errors - 31 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arc hsdk_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOFgReAHQOVHiFozZbdQWn7l/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQjUYkWfJ5thTdSZElfjJnQ2/ 	Fail (2 errors - 22 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arc tinyconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOD0gTB8Eoj9sqLm7eItgcw2/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQjcwsTzF1TscpNtSmcOHfN8/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arc tinyconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOLHB7Cd0OF48LwEHORZYUwC/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpQOjAX4HLQfDttdu7SGmCo/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 allmodconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJvNqgXUenz1S3BY8KEW8S8/ 	Fail (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpLqwVSS5U9KFsvs4aihPWN/ 	Fail (9450 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 allmodconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOXeoVHzFSP6J4xI6S6f1jZB/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpu5ujPvzKUvV3N2YvVlG37/ 	Fail (9450 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 allnoconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOMLAnQrN28HpvM436yUGptz/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtT41KhGSq7E9oCIbXpmr0L/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 allnoconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOUECCIEuIC9qjtR2usPZVgr/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQyxt3hdpHhuhYMdJyAvz8T0/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKTLSaqJNwPfX7rrqtMbjWQ/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQvoRqEQxDA9OPui9oEZY2Eh/ 	Fail (3 errors - 63 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOSVqbxoqJ5ZlloM16u1j9uH/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR0ksfisbtdlWn5zidhfKgfG/ 	Fail (3 errors - 63 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 tinyconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOL2h9r84ReHNsQbFWdYb9zA/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtg2U3DMmhrx5XZjhMzLvaK/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm64 tinyconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOX0H8ClYysl2wGU5FXeqStj/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQyP560IGFjrOVkI1wzH3Mdm/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm allnoconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOL0yb08iiVb3drd15ZjY9n9/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQi1aUmJ9H8cQEhcTpGF5B2O/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm allnoconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJn5VKF99ZsIeyzXcYFO7C4/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrGOAirtIXiCS166B7sq73F/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm bcm2835_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKFaEb1Lan8L82nDqdOCBaE/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQkhxNsajVdPofEcQrhbEqh1/ 	Fail (181 errors - 31 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm bcm2835_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOVvc8VYa7ynzXPRaDBhw7L7/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQqthXPr0GiiZCpN2awTiCvm/ 	Fail (181 errors - 31 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm exynos_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJxJLpW84g2Y2ygYhjTCS7D/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQlfcaTd744gHsEQZQ7kju8U/ 	Fail (125 errors - 38 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm exynos_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOSAzoCZZvh08E7IdX902i8m/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQuDstveo2iHo2LcLJwNSdZI/ 	Fail (125 errors - 38 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm hisi_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXONgXlcrobSvs8vkdY9VbqsX/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQs3F7nkztLdqLQTO3TvN0Fp/ 	Fail (0 errors - 5 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm hisi_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOXFSwRBq2bGw0OalI9CP8sH/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQsvaNlkPx3Pz4mTNb3aHyJt/ 	Fail (0 errors - 5 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm qcom_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKSmcS9QdzxGDbmsWMMXDVV/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQqFN1R07pYGNMP0ZNgTKL4h/ 	Fail (3 errors - 34 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm qcom_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOWVygTuMUJ0QqsqxbVro5tS/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrgWUUTbt9WBGVEYYySdKKT/ 	Fail (3 errors - 34 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm rpc_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOP5kio8OZ4hBaLiqKTH638B/ 	Pass (0 errors - 8 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQqBxPgWkDVQOvoZbVXVEJUk/ 	Fail (46 errors - 30 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm tinyconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOOrIT03LWNJBYy4I7SZZLwo/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQl5K1AcAa4uLbJ4mSP46vji/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm tinyconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOP8UPgUANWxizuVLJ5RFrOh/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrScpCj7WUtQ7hEoerry89n/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm u8500_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOOTc4fY8ZVksLpu4B0Cept6/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQucBv9mphTfIec2iCoO7FAA/ 	Fail (17 errors - 39 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 arm u8500_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOVlcdE6uJPJpjrW4D0i2Zea/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQuddQgdScLgr7z1yjLtU9kE/ 	Fail (17 errors - 39 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 i386 i386_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOQXYkIEKnb3F9LjpG1Sy9iW/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQuJhoRWFU4ScPBfrw1cXua3/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 i386 i386_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOX6NMFqS3YRL2NvLkZoA1HB/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR29cg5J4k4ks6lDKIq6rFos/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips allnoconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKPoYSFZYdBRYlkK3t7dqB6/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQripL0vUGBKFPyFk3uKScQF/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips allnoconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOTLX4kx8Zrggtb3HIhoEQUo/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR2Sq0jeTq61n7ZNAmNjkvA2/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips cu1000-neo_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXORDLo8D5VpJTcjyzCDiq4uI/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR2oyxBTN2eie0N1bZ8nbRn3/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips qi_lb60_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOMInwFyDNM7Dz60GHmKD92A/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpuRsIk3nCg2M4UygGXYznA/ 	Fail (2 errors - 7 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips qi_lb60_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOWgX0mWwhL4C4odKOlhykGO/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQzOCWgsfADTGWZDAmjSwwI7/ 	Fail (2 errors - 7 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips tinyconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJxQ6uBNx3rqvHJUB9jYmfI/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQw5sOQ3Pk2B3ClS9jZvaBmY/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips tinyconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOTjzBn19txhKK68byvdMnI3/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR3a7PmtE6m7zobe9vSArMjp/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 mips xilfpga_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOQp85uaxAauoKtAIWshN254/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtRlZoiImIidUOtNfW9EM2F/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 powerpc allmodconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKZUZ4luBNDCJNLUgqOnVe8/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQsnc4xsG2u2ixGczVQDpyCU/ 	Fail (9005 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 powerpc allmodconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOYdyNpKcalGcP2YntdEk1IA/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR0Ua9sytZxT839zEgXRNCMj/ 	Fail (9005 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 powerpc allnoconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXONTngxZkx4CkQWFCiOfwg70/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrbRjTyt95ltP3t1MxzrYh1/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 powerpc allnoconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOTEfkQyCRHEOzbbOH0afLAh/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQz0clzBdEy0qhFTh2IEu00a/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 powerpc tinyconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOPIu7RaL9aDGJ8pkSZv4bMR/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQsyReY2GIrGfYLSxlOWZ74f/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 powerpc tinyconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOU2QIY0zQXtGZ5mIV3UQ5x1/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR2f4C7iZbU6gca36QRf8xzz/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 x86_64 allmodconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOOdlotTccsa3jUsMw0mEMqK/ 	Pass (0 errors - 2 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQptW04gBeDYysPHUVtKxrzA/ 	Fail (9781 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 x86_64 allmodconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOV5o3OJ8cjSaaRKbPMwxRDb/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQzKo3q53SPT2S4dgai8cAlU/ 	Fail (9781 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 x86_64 x86_64_defconfig gcc-8
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOO41yqQgH7KziVn2oV8KNWq/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQutvDXWLAAjvOY80xsf1wgQ/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8 

 x86_64 x86_64_defconfig gcc-9
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOUPQnMxIxbqO1K7t3oCexeC/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
     https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQxFJaNzNzrfUj974h9F1nmG/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces
  2024-03-05 14:53   ` Lee Jones
@ 2024-03-05 16:04     ` Thomas Zimmermann
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Zimmermann @ 2024-03-05 16:04 UTC (permalink / raw)
  To: Lee Jones
  Cc: andy, daniel.thompson, jingoohan1, deller, robin, javierm,
	dri-devel, linux-fbdev, linux-input, linux-pwm



Am 05.03.24 um 15:53 schrieb Lee Jones:
> On Tue, 05 Mar 2024, Lee Jones wrote:
>
>> On Mon, 04 Mar 2024, Thomas Zimmermann wrote:
>>
>>> Backlight drivers implement struct backlight_ops.check_fb, which
>>> uses struct fb_info in its interface. Replace the callback with one
>>> that does not use fb_info.
>>>
>>> In DRM, we have several drivers that implement backlight support. By
>>> including <linux/backlight.h> these drivers depend on <linux/fb.h>.
>>> At the same time, fbdev is deprecated for new drivers and likely to
>>> be replaced on many systems.
>>>
>>> This patchset is part of a larger effort to implement the backlight
>>> code without depending on fbdev.
>>>
>>> Patch 1 makes the backlight core match backlight and framebuffer
>>> devices via struct fb_info.bl_dev. Patches 2 to 9 then go through
>>> drivers and remove unnecessary implementations of check_fb. Finally,
>>> patch 10 replaces the check_fb hook with controls_device, which
>>> uses the framebuffer's Linux device instead of the framebuffer.
>>>
>>> v3:
>>> 	* hide CONFIG_FB_BACKLIGHT behind fb_bl_device() (Lee)
>>> 	* if-else cleanups (Andy)
>>> 	* fix commit message of patch 2 (Andy)
>>> v2:
>>> 	* fix hid-picolcd for CONFIG_FB_BACKLIGHT=n
>>> 	* fixes to commit messages
>>>
>>> Thomas Zimmermann (10):
>>>    backlight: Match backlight device against struct fb_info.bl_dev
>>>    auxdisplay/ht16k33: Remove struct backlight_ops.check_fb
>>>    hid/hid-picolcd: Fix initialization order
>>>    hid/hid-picolcd: Remove struct backlight_ops.check_fb
>>>    backlight/aat2870-backlight: Remove struct backlight.check_fb
>>>    backlight/pwm-backlight: Remove struct backlight_ops.check_fb
>>>    fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb
>>>    fbdev/ssd1307fb: Init backlight before registering framebuffer
>>>    fbdev/ssd1307fb: Remove struct backlight_ops.check_fb
>>>    backlight: Add controls_device callback to struct backlight_ops
>>>
>>>   drivers/auxdisplay/ht16k33.c             |  8 ------
>>>   drivers/hid/hid-picolcd_backlight.c      |  7 ------
>>>   drivers/hid/hid-picolcd_core.c           | 14 +++++------
>>>   drivers/hid/hid-picolcd_fb.c             |  6 +++++
>>>   drivers/video/backlight/aat2870_bl.c     |  7 ------
>>>   drivers/video/backlight/backlight.c      |  8 ++++--
>>>   drivers/video/backlight/bd6107.c         | 12 ++++-----
>>>   drivers/video/backlight/gpio_backlight.c | 12 ++++-----
>>>   drivers/video/backlight/lv5207lp.c       | 12 ++++-----
>>>   drivers/video/backlight/pwm_bl.c         | 12 ---------
>>>   drivers/video/fbdev/core/fb_backlight.c  |  5 ++++
>>>   drivers/video/fbdev/sh_mobile_lcdcfb.c   |  7 ------
>>>   drivers/video/fbdev/ssd1307fb.c          | 31 +++++++++---------------
>>>   include/linux/backlight.h                | 16 ++++++------
>>>   include/linux/fb.h                       |  9 +++++++
>>>   include/linux/pwm_backlight.h            |  1 -
>>>   16 files changed, 70 insertions(+), 97 deletions(-)
>> All applied.  Submitted for build testing.
>>
>> Will follow-up with a PR once that's passed.
> In file included from /builds/linux/include/linux/backlight.h:13,
>                   from /builds/linux/drivers/video/backlight/lp855x_bl.c:12:
> /builds/linux/include/linux/fb.h:736:26: warning: no previous prototype for 'fb_bl_device' [-Wmissing-prototypes]
>   struct backlight_device *fb_bl_device(struct fb_info *info)

Thanks. I'll investigate and send an update. Sorry for that issue.

Best regards
Thomas

>
> ##########################
>
>   Errors were caused
>   
> [v6.8-rc1] ib-backlight-auxdisplay-hid-fb-6.8 7e508af663e20 ("backlight: Add controls_device callback to struct backlight_ops")
>
>   arc allnoconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOFnv6gFmUDNhk9qfBePj2N0/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQhlmdHMnzDWy8bgy8Yhwp4b/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arc allnoconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKKrZxZBeoUCAsVcKq7Im3B/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtDIJZ7rQPDViKMcsNEOgvR/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arc axs101_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOLZg1SwVMW2RAjIULk4qh65/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpsxuvbbnXzVO6TfUCzEbtW/ 	Fail (3 errors - 31 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arc hsdk_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOFgReAHQOVHiFozZbdQWn7l/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQjUYkWfJ5thTdSZElfjJnQ2/ 	Fail (2 errors - 22 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arc tinyconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOD0gTB8Eoj9sqLm7eItgcw2/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQjcwsTzF1TscpNtSmcOHfN8/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arc tinyconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOLHB7Cd0OF48LwEHORZYUwC/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpQOjAX4HLQfDttdu7SGmCo/ 	Pass (0 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 allmodconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJvNqgXUenz1S3BY8KEW8S8/ 	Fail (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpLqwVSS5U9KFsvs4aihPWN/ 	Fail (9450 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 allmodconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOXeoVHzFSP6J4xI6S6f1jZB/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpu5ujPvzKUvV3N2YvVlG37/ 	Fail (9450 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 allnoconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOMLAnQrN28HpvM436yUGptz/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtT41KhGSq7E9oCIbXpmr0L/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 allnoconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOUECCIEuIC9qjtR2usPZVgr/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQyxt3hdpHhuhYMdJyAvz8T0/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKTLSaqJNwPfX7rrqtMbjWQ/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQvoRqEQxDA9OPui9oEZY2Eh/ 	Fail (3 errors - 63 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOSVqbxoqJ5ZlloM16u1j9uH/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR0ksfisbtdlWn5zidhfKgfG/ 	Fail (3 errors - 63 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 tinyconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOL2h9r84ReHNsQbFWdYb9zA/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtg2U3DMmhrx5XZjhMzLvaK/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm64 tinyconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOX0H8ClYysl2wGU5FXeqStj/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQyP560IGFjrOVkI1wzH3Mdm/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm allnoconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOL0yb08iiVb3drd15ZjY9n9/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQi1aUmJ9H8cQEhcTpGF5B2O/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm allnoconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJn5VKF99ZsIeyzXcYFO7C4/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrGOAirtIXiCS166B7sq73F/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm bcm2835_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKFaEb1Lan8L82nDqdOCBaE/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQkhxNsajVdPofEcQrhbEqh1/ 	Fail (181 errors - 31 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm bcm2835_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOVvc8VYa7ynzXPRaDBhw7L7/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQqthXPr0GiiZCpN2awTiCvm/ 	Fail (181 errors - 31 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm exynos_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJxJLpW84g2Y2ygYhjTCS7D/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQlfcaTd744gHsEQZQ7kju8U/ 	Fail (125 errors - 38 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm exynos_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOSAzoCZZvh08E7IdX902i8m/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQuDstveo2iHo2LcLJwNSdZI/ 	Fail (125 errors - 38 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm hisi_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXONgXlcrobSvs8vkdY9VbqsX/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQs3F7nkztLdqLQTO3TvN0Fp/ 	Fail (0 errors - 5 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm hisi_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOXFSwRBq2bGw0OalI9CP8sH/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQsvaNlkPx3Pz4mTNb3aHyJt/ 	Fail (0 errors - 5 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm qcom_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKSmcS9QdzxGDbmsWMMXDVV/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQqFN1R07pYGNMP0ZNgTKL4h/ 	Fail (3 errors - 34 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm qcom_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOWVygTuMUJ0QqsqxbVro5tS/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrgWUUTbt9WBGVEYYySdKKT/ 	Fail (3 errors - 34 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm rpc_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOP5kio8OZ4hBaLiqKTH638B/ 	Pass (0 errors - 8 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQqBxPgWkDVQOvoZbVXVEJUk/ 	Fail (46 errors - 30 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm tinyconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOOrIT03LWNJBYy4I7SZZLwo/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQl5K1AcAa4uLbJ4mSP46vji/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm tinyconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOP8UPgUANWxizuVLJ5RFrOh/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrScpCj7WUtQ7hEoerry89n/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm u8500_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOOTc4fY8ZVksLpu4B0Cept6/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQucBv9mphTfIec2iCoO7FAA/ 	Fail (17 errors - 39 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   arm u8500_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOVlcdE6uJPJpjrW4D0i2Zea/ 	Pass (0 errors - 1 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQuddQgdScLgr7z1yjLtU9kE/ 	Fail (17 errors - 39 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   i386 i386_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOQXYkIEKnb3F9LjpG1Sy9iW/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQuJhoRWFU4ScPBfrw1cXua3/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   i386 i386_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOX6NMFqS3YRL2NvLkZoA1HB/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR29cg5J4k4ks6lDKIq6rFos/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips allnoconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKPoYSFZYdBRYlkK3t7dqB6/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQripL0vUGBKFPyFk3uKScQF/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips allnoconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOTLX4kx8Zrggtb3HIhoEQUo/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR2Sq0jeTq61n7ZNAmNjkvA2/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips cu1000-neo_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXORDLo8D5VpJTcjyzCDiq4uI/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR2oyxBTN2eie0N1bZ8nbRn3/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips qi_lb60_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOMInwFyDNM7Dz60GHmKD92A/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQpuRsIk3nCg2M4UygGXYznA/ 	Fail (2 errors - 7 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips qi_lb60_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOWgX0mWwhL4C4odKOlhykGO/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQzOCWgsfADTGWZDAmjSwwI7/ 	Fail (2 errors - 7 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips tinyconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOJxQ6uBNx3rqvHJUB9jYmfI/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQw5sOQ3Pk2B3ClS9jZvaBmY/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips tinyconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOTjzBn19txhKK68byvdMnI3/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR3a7PmtE6m7zobe9vSArMjp/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   mips xilfpga_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOQp85uaxAauoKtAIWshN254/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQtRlZoiImIidUOtNfW9EM2F/ 	Pass (0 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   powerpc allmodconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOKZUZ4luBNDCJNLUgqOnVe8/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQsnc4xsG2u2ixGczVQDpyCU/ 	Fail (9005 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   powerpc allmodconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOYdyNpKcalGcP2YntdEk1IA/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR0Ua9sytZxT839zEgXRNCMj/ 	Fail (9005 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   powerpc allnoconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXONTngxZkx4CkQWFCiOfwg70/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQrbRjTyt95ltP3t1MxzrYh1/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   powerpc allnoconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOTEfkQyCRHEOzbbOH0afLAh/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQz0clzBdEy0qhFTh2IEu00a/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   powerpc tinyconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOPIu7RaL9aDGJ8pkSZv4bMR/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQsyReY2GIrGfYLSxlOWZ74f/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   powerpc tinyconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOU2QIY0zQXtGZ5mIV3UQ5x1/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXR2f4C7iZbU6gca36QRf8xzz/ 	Fail (1 errors - 1 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   x86_64 allmodconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOOdlotTccsa3jUsMw0mEMqK/ 	Pass (0 errors - 2 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQptW04gBeDYysPHUVtKxrzA/ 	Fail (9781 errors - 2 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   x86_64 allmodconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOV5o3OJ8cjSaaRKbPMwxRDb/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQzKo3q53SPT2S4dgai8cAlU/ 	Fail (9781 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   x86_64 x86_64_defconfig gcc-8
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOO41yqQgH7KziVn2oV8KNWq/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQutvDXWLAAjvOY80xsf1wgQ/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>
>   x86_64 x86_64_defconfig gcc-9
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXOUPQnMxIxbqO1K7t3oCexeC/ 	Pass (0 errors - 0 warnings) : v6.8-rc1
>       https://storage.tuxsuite.com/public/google/lee.jones/builds/2dGXQxFJaNzNzrfUj974h9F1nmG/ 	Fail (20 errors - 0 warnings) : ib-backlight-auxdisplay-hid-fb-6.8
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-03-05 16:04 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-04 16:29 [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 01/10] backlight: Match backlight device against struct fb_info.bl_dev Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 02/10] auxdisplay/ht16k33: Remove struct backlight_ops.check_fb Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 03/10] hid/hid-picolcd: Fix initialization order Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 04/10] hid/hid-picolcd: Remove struct backlight_ops.check_fb Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 05/10] backlight/aat2870-backlight: Remove struct backlight.check_fb Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 06/10] backlight/pwm-backlight: Remove struct backlight_ops.check_fb Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 07/10] fbdev/sh_mobile_lcdc_fb: " Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 08/10] fbdev/ssd1307fb: Init backlight before registering framebuffer Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 09/10] fbdev/ssd1307fb: Remove struct backlight_ops.check_fb Thomas Zimmermann
2024-03-04 16:29 ` [PATCH v3 10/10] backlight: Add controls_device callback to struct backlight_ops Thomas Zimmermann
2024-03-05  9:36 ` [PATCH v3 00/10] backlight: Replace struct fb_info in interfaces Lee Jones
2024-03-05 10:00   ` Thomas Zimmermann
2024-03-05 10:30 ` Lee Jones
2024-03-05 10:44 ` Lee Jones
2024-03-05 14:53   ` Lee Jones
2024-03-05 16:04     ` Thomas Zimmermann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.