Linux Framebuffer Layer development
 help / color / mirror / Atom feed
* [PATCH v3 2/3] fbdev: kyro: Use devm_ioremap() for mmio registers
From: Giovanni Di Santi @ 2025-07-09  9:53 UTC (permalink / raw)
  To: tzimmermann, deller
  Cc: linux-fbdev, dri-devel, linux-kernel, Giovanni Di Santi
In-Reply-To: <20250709095354.931589-1-giovanni.disanti.lkl@gmail.com>

Replace the manual ioremap() call for the MMIO registers with the
device-managed devm_ioremap() variant.

This simplifies the driver's resource management by ensuring the memory is
automatically unmapped when the driver detaches from the device.

Signed-off-by: Giovanni Di Santi <giovanni.disanti.lkl@gmail.com>
---
 drivers/video/fbdev/kyro/fbdev.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/video/fbdev/kyro/fbdev.c b/drivers/video/fbdev/kyro/fbdev.c
index 86e5d60ed0ff..ddc241f508b1 100644
--- a/drivers/video/fbdev/kyro/fbdev.c
+++ b/drivers/video/fbdev/kyro/fbdev.c
@@ -701,13 +701,14 @@ static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	kyro_fix.mmio_len   = pci_resource_len(pdev, 1);
 
 	currentpar->regbase = deviceInfo.pSTGReg =
-		ioremap(kyro_fix.mmio_start, kyro_fix.mmio_len);
+		devm_ioremap(&pdev->dev, kyro_fix.mmio_start,
+			     kyro_fix.mmio_len);
 	if (!currentpar->regbase)
 		goto out_free_fb;
 
 	info->screen_base = pci_ioremap_wc_bar(pdev, 0);
 	if (!info->screen_base)
-		goto out_unmap_regs;
+		goto out_free_fb;
 
 	if (!nomtrr)
 		currentpar->wc_cookie = arch_phys_wc_add(kyro_fix.smem_start,
@@ -755,8 +756,6 @@ static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 out_unmap:
 	iounmap(info->screen_base);
-out_unmap_regs:
-	iounmap(currentpar->regbase);
 out_free_fb:
 	framebuffer_release(info);
 
@@ -779,7 +778,6 @@ static void kyrofb_remove(struct pci_dev *pdev)
 	deviceInfo.ulOverlayOffset = 0;
 
 	iounmap(info->screen_base);
-	iounmap(par->regbase);
 
 	arch_phys_wc_del(par->wc_cookie);
 
-- 
2.43.0


^ permalink raw reply related

* [PATCH v3 3/3] fbdev: kyro: Use devm_ioremap_wc() for screen mem
From: Giovanni Di Santi @ 2025-07-09  9:53 UTC (permalink / raw)
  To: tzimmermann, deller
  Cc: linux-fbdev, dri-devel, linux-kernel, Giovanni Di Santi
In-Reply-To: <20250709095354.931589-1-giovanni.disanti.lkl@gmail.com>

Replace the manual pci_ioremap_wc() call for mapping screen memory with the
device-managed devm_ioremap_wc() variant.

This simplifies the driver's resource management by ensuring the memory is
automatically unmapped when the driver detaches from the device.

Signed-off-by: Giovanni Di Santi <giovanni.disanti.lkl@gmail.com>
---
 drivers/video/fbdev/kyro/fbdev.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/kyro/fbdev.c b/drivers/video/fbdev/kyro/fbdev.c
index ddc241f508b1..c8b1dfa456a3 100644
--- a/drivers/video/fbdev/kyro/fbdev.c
+++ b/drivers/video/fbdev/kyro/fbdev.c
@@ -706,7 +706,8 @@ static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (!currentpar->regbase)
 		goto out_free_fb;
 
-	info->screen_base = pci_ioremap_wc_bar(pdev, 0);
+	info->screen_base = devm_ioremap_wc(&pdev->dev, kyro_fix.smem_start,
+					    kyro_fix.smem_len);
 	if (!info->screen_base)
 		goto out_free_fb;
 
@@ -743,7 +744,7 @@ static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	fb_memset_io(info->screen_base, 0, size);
 
 	if (register_framebuffer(info) < 0)
-		goto out_unmap;
+		goto out_free_fb;
 
 	fb_info(info, "%s frame buffer device, at %dx%d@%d using %ldk/%ldk of VRAM\n",
 		info->fix.id,
@@ -754,8 +755,6 @@ static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	return 0;
 
-out_unmap:
-	iounmap(info->screen_base);
 out_free_fb:
 	framebuffer_release(info);
 
@@ -777,8 +776,6 @@ static void kyrofb_remove(struct pci_dev *pdev)
 	deviceInfo.ulNextFreeVidMem = 0;
 	deviceInfo.ulOverlayOffset = 0;
 
-	iounmap(info->screen_base);
-
 	arch_phys_wc_del(par->wc_cookie);
 
 	unregister_framebuffer(info);
-- 
2.43.0


^ permalink raw reply related

* [PATCH] fbcon: Fix outdated registered_fb reference in comment
From: oushixiong1025 @ 2025-07-09 10:34 UTC (permalink / raw)
  To: Simona Vetter
  Cc: Helge Deller, linux-fbdev, dri-devel, linux-kernel, Shixiong Ou

From: Shixiong Ou <oushixiong@kylinos.cn>

The variable was renamed to fbcon_registered_fb, but this comment was
not updated along with the change. Correct it to avoid confusion.

Signed-off-by: Shixiong Ou <oushixiong@kylinos.cn>
---
 drivers/video/fbdev/core/fbcon.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index 25684f5d6523..d8eab4859fd4 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -953,13 +953,13 @@ static const char *fbcon_startup(void)
 	int rows, cols;
 
 	/*
-	 *  If num_registered_fb is zero, this is a call for the dummy part.
+	 *  If fbcon_num_registered_fb is zero, this is a call for the dummy part.
 	 *  The frame buffer devices weren't initialized yet.
 	 */
 	if (!fbcon_num_registered_fb || info_idx == -1)
 		return display_desc;
 	/*
-	 * Instead of blindly using registered_fb[0], we use info_idx, set by
+	 * Instead of blindly using fbcon_registered_fb[0], we use info_idx, set by
 	 * fbcon_fb_registered();
 	 */
 	info = fbcon_registered_fb[info_idx];
-- 
2.25.1


^ permalink raw reply related

* Re: [PATCH v2 3/5] drm/sysfb: simpledrm: Add support for interconnect paths
From: Luca Weiss @ 2025-07-09 11:59 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Hans de Goede, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Javier Martinez Canillas,
	Helge Deller, linux-fbdev, dri-devel, devicetree, linux-kernel
In-Reply-To: <ypjcqiyfzjobg4zsm5sowjtu6ctvzgd4bvt3wpbqbb7o7f3rcm@q454aob3wwth>

Hi Dmitry,

On Sun Jul 6, 2025 at 1:14 PM CEST, Dmitry Baryshkov wrote:
> On Mon, Jun 23, 2025 at 08:44:47AM +0200, Luca Weiss wrote:
>> Some devices might require keeping an interconnect path alive so that
>> the framebuffer continues working. Add support for that by setting the
>> bandwidth requirements appropriately for all provided interconnect
>> paths.
>> 
>> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>> ---
>>  drivers/gpu/drm/sysfb/simpledrm.c | 83 +++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 83 insertions(+)
>
> If simpledrm is being replaced by a proper DRM driver (thus removing
> those extra votes), will it prevent ICC device from reaching the sync
> state?

How can I try this out? On Milos I don't have MDSS yet but I can add an
interconnect path on another device to try it.

Are there some prints I can enable, or check sysfs/debugfs to see if it
reached sync state?

I only recall seeing sync_state pending warnings in some instances, but
never that it's synced.

Regards
Luca

^ permalink raw reply

* Re: [PATCH] fbcon: Fix outdated registered_fb reference in comment
From: Simona Vetter @ 2025-07-09 13:29 UTC (permalink / raw)
  To: oushixiong1025
  Cc: Simona Vetter, Helge Deller, linux-fbdev, dri-devel, linux-kernel,
	Shixiong Ou
In-Reply-To: <20250709103438.572309-1-oushixiong1025@163.com>

On Wed, Jul 09, 2025 at 06:34:38PM +0800, oushixiong1025@163.com wrote:
> From: Shixiong Ou <oushixiong@kylinos.cn>
> 
> The variable was renamed to fbcon_registered_fb, but this comment was
> not updated along with the change. Correct it to avoid confusion.
> 
> Signed-off-by: Shixiong Ou <oushixiong@kylinos.cn>

I've added the right Fixes: line and merged this to drm-misc-next, thanks
for your patch.
-Sima

> ---
>  drivers/video/fbdev/core/fbcon.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
> index 25684f5d6523..d8eab4859fd4 100644
> --- a/drivers/video/fbdev/core/fbcon.c
> +++ b/drivers/video/fbdev/core/fbcon.c
> @@ -953,13 +953,13 @@ static const char *fbcon_startup(void)
>  	int rows, cols;
>  
>  	/*
> -	 *  If num_registered_fb is zero, this is a call for the dummy part.
> +	 *  If fbcon_num_registered_fb is zero, this is a call for the dummy part.
>  	 *  The frame buffer devices weren't initialized yet.
>  	 */
>  	if (!fbcon_num_registered_fb || info_idx == -1)
>  		return display_desc;
>  	/*
> -	 * Instead of blindly using registered_fb[0], we use info_idx, set by
> +	 * Instead of blindly using fbcon_registered_fb[0], we use info_idx, set by
>  	 * fbcon_fb_registered();
>  	 */
>  	info = fbcon_registered_fb[info_idx];
> -- 
> 2.25.1
> 

-- 
Simona Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply

* Re: [PATCH v2 3/5] drm/sysfb: simpledrm: Add support for interconnect paths
From: Luca Weiss @ 2025-07-11  7:43 UTC (permalink / raw)
  To: Javier Martinez Canillas, Hans de Goede, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Helge Deller
  Cc: linux-fbdev, dri-devel, devicetree, linux-kernel
In-Reply-To: <87qzz5d3le.fsf@minerva.mail-host-address-is-not-set>

Hi Javier,

On Fri Jun 27, 2025 at 9:51 AM CEST, Javier Martinez Canillas wrote:
> Luca Weiss <luca.weiss@fairphone.com> writes:
>
>> Some devices might require keeping an interconnect path alive so that
>> the framebuffer continues working. Add support for that by setting the
>> bandwidth requirements appropriately for all provided interconnect
>> paths.
>>
>> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>> ---
>>  drivers/gpu/drm/sysfb/simpledrm.c | 83 +++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 83 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/sysfb/simpledrm.c b/drivers/gpu/drm/sysfb/simpledrm.c
>> index 349219330314e3421a6bb26ad5cf39a679a5cb7a..47d213e20cab1dd1e19528674a95edea00f4bb30 100644
>> --- a/drivers/gpu/drm/sysfb/simpledrm.c
>> +++ b/drivers/gpu/drm/sysfb/simpledrm.c
>> @@ -2,6 +2,7 @@
>>  
>>  #include <linux/aperture.h>
>>  #include <linux/clk.h>
>> +#include <linux/interconnect.h>
>>  #include <linux/minmax.h>
>>  #include <linux/of_address.h>
>>  #include <linux/of_clk.h>
>> @@ -225,6 +226,10 @@ struct simpledrm_device {
>>  	struct device **pwr_dom_devs;
>>  	struct device_link **pwr_dom_links;
>>  #endif
>
> Can you add a /* interconnects */ comment here? Similarly how there is one
> for clocks, regulators, power domains, etc.

Sure!

>
>> +#if defined CONFIG_OF && defined CONFIG_INTERCONNECT
>> +	unsigned int icc_count;
>> +	struct icc_path **icc_paths;
>> +#endif
>>  
>
> ...
>
>> +static int simpledrm_device_attach_icc(struct simpledrm_device *sdev)
>> +{
>> +	struct device *dev = sdev->sysfb.dev.dev;
>> +	int ret, count, i;
>> +
>> +	count = of_count_phandle_with_args(dev->of_node, "interconnects",
>> +							 "#interconnect-cells");
>> +	if (count < 0)
>> +		return 0;
>> +
>> +	/* An interconnect path consists of two elements */
>> +	if (count % 2) {
>> +		drm_err(&sdev->sysfb.dev,
>> +			"invalid interconnects value\n");
>> +		return -EINVAL;
>> +	}
>> +	sdev->icc_count = count / 2;
>> +
>> +	sdev->icc_paths = devm_kcalloc(dev, sdev->icc_count,
>> +					       sizeof(*sdev->icc_paths),
>> +					       GFP_KERNEL);
>> +	if (!sdev->icc_paths)
>> +		return -ENOMEM;
>> +
>> +	for (i = 0; i < sdev->icc_count; i++) {
>> +		sdev->icc_paths[i] = of_icc_get_by_index(dev, i);
>> +		if (IS_ERR_OR_NULL(sdev->icc_paths[i])) {
>> +			ret = PTR_ERR(sdev->icc_paths[i]);
>> +			if (ret == -EPROBE_DEFER)
>> +				goto err;
>> +			drm_err(&sdev->sysfb.dev, "failed to get interconnect path %u: %d\n",
>> +				i, ret);
>
> You could use dev_err_probe() instead that already handles the -EPROBE_DEFER
> case and also will get this message in the /sys/kernel/debug/devices_deferred
> debugfs entry, as the reason why the probe deferral happened.

Not quite sure how to implement dev_err_probe, but I think this should
be quite okay?

		if (IS_ERR_OR_NULL(sdev->icc_paths[i])) {
			ret = dev_err_probe(dev, PTR_ERR(sdev->icc_paths[i]),
				      "failed to get interconnect path %u\n", i);
			if (ret == -EPROBE_DEFER)
				goto err;
			continue;
		}

That would still keep the current behavior for defer vs permanent error
while printing when necessary and having it for devices_deferred for the
defer case.

Not sure what the difference between drm_err and dev_err are, but I
trust you on that.

Let me know.

Regards
Luca

>
> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>


^ permalink raw reply

* Re: [PATCH v2 1/5] dt-bindings: display: simple-framebuffer: Add interconnects property
From: Luca Weiss @ 2025-07-11  7:49 UTC (permalink / raw)
  To: Dmitry Baryshkov, Krzysztof Kozlowski
  Cc: Hans de Goede, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Javier Martinez Canillas,
	Helge Deller, linux-fbdev, dri-devel, devicetree, linux-kernel
In-Reply-To: <vk7xshncx3vj66ykbt3cfdjwdsx5uewfzlqmfsdbjfgju4awwk@lz76hnenxq2u>

Hi Krzysztof,

On Sun Jul 6, 2025 at 1:24 PM CEST, Dmitry Baryshkov wrote:
> On Wed, Jul 02, 2025 at 10:43:27PM +0200, Krzysztof Kozlowski wrote:
>> On 30/06/2025 10:40, Hans de Goede wrote:
>> >>
>> >> No one asks to drop them from the driver. I only want specific front
>> >> compatible which will list and constrain the properties. It is not
>> >> contradictory to your statements, U-boot support, driver support. I
>> >> really do not see ANY argument why this cannot follow standard DT rules.
>> > 
>> > So what you are saying is that you want something like:
>> > 
>> > framebuffer0: framebuffer@1d385000 {
>> > 	compatible = "qcom.simple-framebuffer-sm8650-mdss", "simple-framebuffer";
>> > }
>> > 
>> > and that the binding for qcom.simple-framebuffer-sm8650-mdss
>> > can then list interconnects ?
>> IMO yes (after adjusting above to coding style), but as mentioned in
>> other response you can just get an ack or opinion from Rob or Conor.
>
> But, this way we end up describing MDSS hardware block twice: once with
> the proper device structure and once more in the simple-framebuffer
> definition. I think this is a bit strange.
>
> I understand your point of having a device-specific compatible string
> and also having a verifiable schema, but I think it's an overkill here.
>
> Consider regulator supplies of this simple-framebuffer. Obviously some
> of them supply the panel and not the SoC parts. Should we also include
> the panel into the respective compat string? What about describing the
> device with two different DSI panels?
>
> I think this explodes too quickly to be useful. I'd cast my (small) vote
> into continuing using the simple-framebuffer as is, without additional
> compatible strings and extend the bindings allowing unbound number of
> interconnects.

How do we continue on this?

If the current solution is not acceptable, can you suggest one that is?

I'd like to keep this moving to not block the dts upstreaming
unnecessarily - or otherwise I need to drop simple-framebuffer from the
dts patch and keep this out-of-tree along with a patch like this.

Regards
Luca

^ permalink raw reply

* Re: [PATCH v2 1/5] dt-bindings: display: simple-framebuffer: Add interconnects property
From: Krzysztof Kozlowski @ 2025-07-11  7:56 UTC (permalink / raw)
  To: Luca Weiss, Dmitry Baryshkov
  Cc: Hans de Goede, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Javier Martinez Canillas,
	Helge Deller, linux-fbdev, dri-devel, devicetree, linux-kernel
In-Reply-To: <DB927EJAGV63.1RSRM7JK907VL@fairphone.com>

On 11/07/2025 09:49, Luca Weiss wrote:
>> I think this explodes too quickly to be useful. I'd cast my (small) vote
>> into continuing using the simple-framebuffer as is, without additional
>> compatible strings and extend the bindings allowing unbound number of
>> interconnects.
> 
> How do we continue on this?
> 
> If the current solution is not acceptable, can you suggest one that is?
> 
> I'd like to keep this moving to not block the dts upstreaming
> unnecessarily - or otherwise I need to drop simple-framebuffer from the
> dts patch and keep this out-of-tree along with a patch like this.


I gave another alternative already (in this thread!) - get an ack or
opinion from @Rob or @Conor. For the cases I am not sure or I got
something wrong, I always defer to @Rob.

Best regards,
Krzysztof

^ permalink raw reply

* Re: [PATCH v2 3/5] drm/sysfb: simpledrm: Add support for interconnect paths
From: Javier Martinez Canillas @ 2025-07-11  9:21 UTC (permalink / raw)
  To: Luca Weiss, Hans de Goede, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Helge Deller
  Cc: linux-fbdev, dri-devel, devicetree, linux-kernel
In-Reply-To: <DB9237QHOXRU.JRJB8SPUX8RO@fairphone.com>

"Luca Weiss" <luca.weiss@fairphone.com> writes:

Hello Luca,

> Hi Javier,
>
> On Fri Jun 27, 2025 at 9:51 AM CEST, Javier Martinez Canillas wrote:

[...]

>>> +static int simpledrm_device_attach_icc(struct simpledrm_device *sdev)
>>> +{
>>> +	struct device *dev = sdev->sysfb.dev.dev;
>>> +	int ret, count, i;
>>> +
>>> +	count = of_count_phandle_with_args(dev->of_node, "interconnects",
>>> +							 "#interconnect-cells");
>>> +	if (count < 0)
>>> +		return 0;
>>> +

You are already checking here the number of interconnects phandlers. IIUC
this should return -ENOENT if there's no "interconects" property and your
logic returns success in that case.

[...]

>>
>> You could use dev_err_probe() instead that already handles the -EPROBE_DEFER
>> case and also will get this message in the /sys/kernel/debug/devices_deferred
>> debugfs entry, as the reason why the probe deferral happened.
>
> Not quite sure how to implement dev_err_probe, but I think this should
> be quite okay?
>

And of_icc_get_by_index() should only return NULL if CONFIG_INTERCONNECT
is disabled but you have ifdef guards already for this so it should not
happen.

> 		if (IS_ERR_OR_NULL(sdev->icc_paths[i])) {

Then here you could just do a IS_ERR() check and not care about being NULL.

> 			ret = dev_err_probe(dev, PTR_ERR(sdev->icc_paths[i]),
> 				      "failed to get interconnect path %u\n", i);
> 			if (ret == -EPROBE_DEFER)
> 				goto err;

Why you only want to put the icc_paths get for the probe deferral case? I
think that you want to do it for any error?

> 			continue;

I'm not sure why you need this?

> 		}
>
> That would still keep the current behavior for defer vs permanent error
> while printing when necessary and having it for devices_deferred for the
> defer case.
>

As mentioned I still don't understand why you want the error path to only
be called for probe deferral. I would had thought that any failure to get
an interconnect would led to an error and cleanup.

> Not sure what the difference between drm_err and dev_err are, but I
> trust you on that.
>

The drm_err() adds DRM specific info but IMO the dev_err_probe() is better
to avoid printing errors in case of probe deferral and also to have it in
the devices_deferred debugfs entry.

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat


^ permalink raw reply

* [syzbot] Monthly fbdev report (Jul 2025)
From: syzbot @ 2025-07-14  7:22 UTC (permalink / raw)
  To: deller, dri-devel, linux-fbdev, linux-kernel, syzkaller-bugs

Hello fbdev maintainers/developers,

This is a 31-day syzbot report for the fbdev subsystem.
All related reports/information can be found at:
https://syzkaller.appspot.com/upstream/s/fbdev

During the period, 0 new issues were detected and 0 were fixed.
In total, 5 issues are still open and 26 have already been fixed.

Some of the still happening issues:

Ref Crashes Repro Title
<1> 2587    Yes   KASAN: vmalloc-out-of-bounds Write in imageblit (4)
                  https://syzkaller.appspot.com/bug?extid=c4b7aa0513823e2ea880
<2> 192     Yes   KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
                  https://syzkaller.appspot.com/bug?extid=0c815b25cdb3678e7083
<3> 39      No    KASAN: vmalloc-out-of-bounds Write in fillrect
                  https://syzkaller.appspot.com/bug?extid=7a63ce155648954e749b
<4> 28      Yes   KASAN: global-out-of-bounds Read in bit_putcs (3)
                  https://syzkaller.appspot.com/bug?extid=793cf822d213be1a74f2

---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

To disable reminders for individual bugs, reply with the following command:
#syz set <Ref> no-reminders

To change bug's subsystems, reply with:
#syz set <Ref> subsystems: new-subsystem

You may send multiple commands in a single email message.

^ permalink raw reply

* [PATCH v2 00/15] backlight: Do not include <linux/fb.h> in header file
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann

Remove the final dependencies on fbdev from the backlight subsystem.
This is really just the include of <linux/fb.h> in backlight, but it
has some fallout in other code.

Patches 1 to 14 fix all the implicit includes that come from fb.h
throughout the kernel. It's all trivial, but touches various drivers.
Maintainers are in CC. Patch 15 fixes the backlight header.

With the series applied the backlight subsystem should be free from
fbdev dependencies.

v2:
- add missing clean ups in jornada720, rave-sp, rt4831

Thomas Zimmermann (15):
  platform/x86: dell-uart-backlight: Use blacklight power constant
  drm/panel: panel-samsung-s6e63m0: Include <linux/of.h>
  drm/panel: panel-samsung-s6e88a0-ams427ap24: Include <linux/of.h>
  drm/panel: panel-summit: Include <linux/of.h>
  fbcon: Add necessary include statements and forward declarations
  backlight: Include <linux/of.h>
  backlight: apple_dwi_bl: Include <linux/mod_devicetable.h>
  backlight: as3711_bl: Include <linux/of.h>
  backlight: da9052_bl: Include <linux/mod_devicetable.h>
  backlight: jornada720: Include <linux/io.h>
  backlight: ktd2801: Include <linux/mod_devicetable.h>
  backlight: led_bl: Include <linux/of.h>
  backlight: rave-sp: Include <linux/of.h> and <linux/mod_devicetable.h>
  backlight: rt4831: Include <linux/mod_devicetable.h>
  backlight: Do not include <linux/fb.h> in header file

 drivers/gpu/drm/panel/panel-samsung-s6e63m0.c            | 1 +
 drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c | 1 +
 drivers/gpu/drm/panel/panel-summit.c                     | 1 +
 drivers/platform/x86/dell/dell-uart-backlight.c          | 2 +-
 drivers/video/backlight/apple_dwi_bl.c                   | 1 +
 drivers/video/backlight/as3711_bl.c                      | 1 +
 drivers/video/backlight/backlight.c                      | 1 +
 drivers/video/backlight/da9052_bl.c                      | 1 +
 drivers/video/backlight/jornada720_bl.c                  | 1 +
 drivers/video/backlight/ktd2801-backlight.c              | 1 +
 drivers/video/backlight/led_bl.c                         | 1 +
 drivers/video/backlight/rave-sp-backlight.c              | 2 ++
 drivers/video/backlight/rt4831-backlight.c               | 1 +
 include/linux/backlight.h                                | 1 -
 include/linux/fbcon.h                                    | 7 +++++++
 15 files changed, 21 insertions(+), 2 deletions(-)

-- 
2.50.0


^ permalink raw reply

* [PATCH v2 01/15] platform/x86: dell-uart-backlight: Use blacklight power constant
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann, Hans de Goede
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

The backlight subsystem has gotten its own power constants. Replace
FB_BLANK_UNBLANK with BACKLIGHT_POWER_ON.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/platform/x86/dell/dell-uart-backlight.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/dell/dell-uart-backlight.c b/drivers/platform/x86/dell/dell-uart-backlight.c
index 8f868f845350..f323a667dc2d 100644
--- a/drivers/platform/x86/dell/dell-uart-backlight.c
+++ b/drivers/platform/x86/dell/dell-uart-backlight.c
@@ -305,7 +305,7 @@ static int dell_uart_bl_serdev_probe(struct serdev_device *serdev)
 	dev_dbg(dev, "Firmware version: %.*s\n", resp[RESP_LEN] - 3, resp + RESP_DATA);
 
 	/* Initialize bl_power to a known value */
-	ret = dell_uart_set_bl_power(dell_bl, FB_BLANK_UNBLANK);
+	ret = dell_uart_set_bl_power(dell_bl, BACKLIGHT_POWER_ON);
 	if (ret)
 		return ret;
 
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 02/15] drm/panel: panel-samsung-s6e63m0: Include <linux/of.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/of.h> to declare device_property_read_u32(). Avoids
dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
index ea241c89593b..930948cb615f 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
@@ -16,6 +16,7 @@
 #include <linux/export.h>
 #include <linux/gpio/consumer.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/media-bus-format.h>
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 06/15] backlight: Include <linux/of.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/of.h> to avoid dependency on backlight header to
include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/backlight/backlight.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 9dc93c5e480b..1e9b7e85d99a 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -16,6 +16,7 @@
 #include <linux/ctype.h>
 #include <linux/err.h>
 #include <linux/slab.h>
+#include <linux/of.h>
 
 #ifdef CONFIG_PMAC_BACKLIGHT
 #include <asm/backlight.h>
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 03/15] drm/panel: panel-samsung-s6e88a0-ams427ap24: Include <linux/of.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/of.h> to declare device_property_read_bool(). Avoids
dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
---
 drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c
index e91f50662997..b6d04f8ad561 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c
@@ -8,6 +8,7 @@
 #include <linux/delay.h>
 #include <linux/gpio/consumer.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/regulator/consumer.h>
 
 #include <video/mipi_display.h>
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 08/15] backlight: as3711_bl: Include <linux/of.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/of.h> to declare various OF helpers. Avoids dependency
on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/backlight/as3711_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/as3711_bl.c b/drivers/video/backlight/as3711_bl.c
index 9f89eb19894e..753160bbc3e7 100644
--- a/drivers/video/backlight/as3711_bl.c
+++ b/drivers/video/backlight/as3711_bl.c
@@ -13,6 +13,7 @@
 #include <linux/kernel.h>
 #include <linux/mfd/as3711.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 #include <linux/slab.h>
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 04/15] drm/panel: panel-summit: Include <linux/of.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/of.h> to declare device_property_read_u32() and
struct of_device_id. Avoids dependency on backlight header to include
it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Janne Grunau <j@jannau.net>
---
 drivers/gpu/drm/panel/panel-summit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-summit.c b/drivers/gpu/drm/panel/panel-summit.c
index 4854437e2899..02aa1ec287d6 100644
--- a/drivers/gpu/drm/panel/panel-summit.c
+++ b/drivers/gpu/drm/panel/panel-summit.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 
 #include <linux/backlight.h>
+#include <linux/of.h>
 #include <drm/drm_device.h>
 #include <drm/drm_mipi_dsi.h>
 #include <drm/drm_mode.h>
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 12/15] backlight: led_bl: Include <linux/of.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/of.h> to declare struct of_count_phandle_with_args().
Avoids dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/backlight/led_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/led_bl.c b/drivers/video/backlight/led_bl.c
index d2db157b2c29..44aac5fb2663 100644
--- a/drivers/video/backlight/led_bl.c
+++ b/drivers/video/backlight/led_bl.c
@@ -9,6 +9,7 @@
 #include <linux/backlight.h>
 #include <linux/leds.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 
 struct led_bl_data {
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 05/15] fbcon: Add necessary include statements and forward declarations
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Make the header self contained for including.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 include/linux/fbcon.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/include/linux/fbcon.h b/include/linux/fbcon.h
index 2382dec6d6ab..81f0e698acbf 100644
--- a/include/linux/fbcon.h
+++ b/include/linux/fbcon.h
@@ -1,6 +1,13 @@
 #ifndef _LINUX_FBCON_H
 #define _LINUX_FBCON_H
 
+#include <linux/compiler_types.h>
+
+struct fb_blit_caps;
+struct fb_info;
+struct fb_var_screeninfo;
+struct fb_videomode;
+
 #ifdef CONFIG_FRAMEBUFFER_CONSOLE
 void __init fb_console_init(void);
 void __exit fb_console_exit(void);
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 13/15] backlight: rave-sp: Include <linux/of.h> and <linux/mod_devicetable.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/of.h> to declare struct device_node and include
<linux/mod_devicetable.h> to declare struct of_device_id. Avoids
dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/backlight/rave-sp-backlight.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/video/backlight/rave-sp-backlight.c b/drivers/video/backlight/rave-sp-backlight.c
index e708a060a6e4..bfe01b9b9174 100644
--- a/drivers/video/backlight/rave-sp-backlight.c
+++ b/drivers/video/backlight/rave-sp-backlight.c
@@ -9,8 +9,10 @@
 
 #include <linux/backlight.h>
 #include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/mfd/rave-sp.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 
 #define	RAVE_SP_BACKLIGHT_LCD_EN	BIT(7)
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 07/15] backlight: apple_dwi_bl: Include <linux/mod_devicetable.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann, Nick Chan
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/mod_devicetable.h> to declare struct of_device_id.
Avoids dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Nick Chan <towinchenmi@gmail.com>
---
 drivers/video/backlight/apple_dwi_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/apple_dwi_bl.c b/drivers/video/backlight/apple_dwi_bl.c
index 93bd744972d6..ed8bf13d3f51 100644
--- a/drivers/video/backlight/apple_dwi_bl.c
+++ b/drivers/video/backlight/apple_dwi_bl.c
@@ -9,6 +9,7 @@
 #include <linux/bitfield.h>
 #include <linux/device.h>
 #include <linux/io.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 14/15] backlight: rt4831: Include <linux/mod_devicetable.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/mod_devicetable.h> to declare struct of_device_id.
Avoids dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/backlight/rt4831-backlight.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/rt4831-backlight.c b/drivers/video/backlight/rt4831-backlight.c
index 7ead75929a43..26214519bfce 100644
--- a/drivers/video/backlight/rt4831-backlight.c
+++ b/drivers/video/backlight/rt4831-backlight.c
@@ -4,6 +4,7 @@
 #include <linux/backlight.h>
 #include <linux/bitops.h>
 #include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/property.h>
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 09/15] backlight: da9052_bl: Include <linux/mod_devicetable.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/mod_devicetable.h> to declare struct platform_device_id.
Avoids dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/backlight/da9052_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/da9052_bl.c b/drivers/video/backlight/da9052_bl.c
index f41523d78121..2493138febfa 100644
--- a/drivers/video/backlight/da9052_bl.c
+++ b/drivers/video/backlight/da9052_bl.c
@@ -9,6 +9,7 @@
 
 #include <linux/backlight.h>
 #include <linux/delay.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 15/15] backlight: Do not include <linux/fb.h> in header file
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

The backlight interfaces don't require anything from <linux/fb.h>, so
don't include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 include/linux/backlight.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index 10e626db7eee..f29a9ef1052e 100644
--- a/include/linux/backlight.h
+++ b/include/linux/backlight.h
@@ -10,7 +10,6 @@
 #define _LINUX_BACKLIGHT_H
 
 #include <linux/device.h>
-#include <linux/fb.h>
 #include <linux/mutex.h>
 #include <linux/types.h>
 
-- 
2.50.0


^ permalink raw reply related

* [PATCH v2 11/15] backlight: ktd2801: Include <linux/mod_devicetable.h>
From: Thomas Zimmermann @ 2025-07-15 12:24 UTC (permalink / raw)
  To: lee, danielt, jingoohan1, neil.armstrong, jessica.zhang, deller,
	maarten.lankhorst, mripard, airlied, simona, fnkl.kernel, j,
	hdegoede, ilpo.jarvinen, sven, alyssa, neal, support.opensource,
	duje.mihanovic
  Cc: dri-devel, asahi, platform-driver-x86, linux-arm-kernel,
	linux-fbdev, Thomas Zimmermann, Nick Chan
In-Reply-To: <20250715122643.137027-1-tzimmermann@suse.de>

Include <linux/mod_devicetable.h> to declare struct of_device_id.
Avoids dependency on backlight header to include it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Nick Chan <towinchenmi@gmail.com>
---
 drivers/video/backlight/ktd2801-backlight.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/ktd2801-backlight.c b/drivers/video/backlight/ktd2801-backlight.c
index 0489b0615ceb..17eac1b3bce4 100644
--- a/drivers/video/backlight/ktd2801-backlight.c
+++ b/drivers/video/backlight/ktd2801-backlight.c
@@ -6,6 +6,7 @@
 #include <linux/backlight.h>
 #include <linux/gpio/consumer.h>
 #include <linux/leds-expresswire.h>
+#include <linux/mod_devicetable.h>
 #include <linux/platform_device.h>
 #include <linux/property.h>
 
-- 
2.50.0


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox