lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aa922030-b0a1-4503-a3c0-7ce4c36c236e@suse.de>
Date: Wed, 7 Jan 2026 08:33:21 +0100
From: Thomas Zimmermann <tzimmermann@...e.de>
To: Chintan Patel <chintanlike@...il.com>, linux-fbdev@...r.kernel.org,
 linux-staging@...ts.linux.dev, linux-omap@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
 andy@...nel.org, deller@....de, gregkh@...uxfoundation.org
Subject: Re: [PATCH v4 3/4] fbdev: omapfb: Make FB_DEVICE dependency optional



Am 07.01.26 um 05:42 schrieb Chintan Patel:
> omapfb provides several sysfs interfaces for framebuffer configuration
> and debugging, but these are not required for the core driver.
>
> Remove the hard dependency on CONFIG_FB_DEVICE and make sysfs support
> optional by using dev_of_fbinfo() to obtain the backing device at runtime.
> When FB_DEVICE is disabled, sysfs operations are skipped while the code
> still builds and is type-checked.
>
> Suggested-by: Helge Deller <deller@....de>
> Signed-off-by: Chintan Patel <chintanlike@...il.com>

Reviewed-by: Thomas Zimmermann <tzimmermann@...e.de>

> ---
>   drivers/video/fbdev/omap2/omapfb/Kconfig       |  3 ++-
>   .../video/fbdev/omap2/omapfb/omapfb-sysfs.c    | 18 ++++++++++++++----
>   2 files changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/video/fbdev/omap2/omapfb/Kconfig b/drivers/video/fbdev/omap2/omapfb/Kconfig
> index f4cdf999a080..2d20e79adefc 100644
> --- a/drivers/video/fbdev/omap2/omapfb/Kconfig
> +++ b/drivers/video/fbdev/omap2/omapfb/Kconfig
> @@ -5,7 +5,6 @@ config OMAP2_VRFB
>   menuconfig FB_OMAP2
>   	tristate "OMAP2+ frame buffer support"
>   	depends on FB
> -	depends on FB_DEVICE
>   	depends on DRM_OMAP = n
>   	depends on GPIOLIB
>   	select FB_OMAP2_DSS
> @@ -13,6 +12,8 @@ menuconfig FB_OMAP2
>   	select FB_IOMEM_HELPERS
>   	help
>   	  Frame buffer driver for OMAP2+ based boards.
> +	  FB_DEVICE is not required, but if enabled, provides sysfs interface
> +	  for framebuffer configuration and debugging.
>   
>   if FB_OMAP2
>   
> diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-sysfs.c b/drivers/video/fbdev/omap2/omapfb/omapfb-sysfs.c
> index 831b2c2fbdf9..38a635d38d58 100644
> --- a/drivers/video/fbdev/omap2/omapfb/omapfb-sysfs.c
> +++ b/drivers/video/fbdev/omap2/omapfb/omapfb-sysfs.c
> @@ -558,10 +558,15 @@ int omapfb_create_sysfs(struct omapfb2_device *fbdev)
>   
>   	DBG("create sysfs for fbs\n");
>   	for (i = 0; i < fbdev->num_fbs; i++) {
> +		struct device *dev;
>   		int t;
> +
> +		dev = dev_of_fbinfo(fbdev->fbs[i]);
> +		if (!dev)
> +			continue;
> +
>   		for (t = 0; t < ARRAY_SIZE(omapfb_attrs); t++) {
> -			r = device_create_file(fbdev->fbs[i]->dev,
> -					&omapfb_attrs[t]);
> +			r = device_create_file(dev, &omapfb_attrs[t]);
>   
>   			if (r) {
>   				dev_err(fbdev->dev, "failed to create sysfs "
> @@ -580,9 +585,14 @@ void omapfb_remove_sysfs(struct omapfb2_device *fbdev)
>   
>   	DBG("remove sysfs for fbs\n");
>   	for (i = 0; i < fbdev->num_fbs; i++) {
> +		struct device *dev;
> +
> +		dev = dev_of_fbinfo(fbdev->fbs[i]);
> +		if (!dev)
> +			continue;
> +
>   		for (t = 0; t < ARRAY_SIZE(omapfb_attrs); t++)
> -			device_remove_file(fbdev->fbs[i]->dev,
> -					&omapfb_attrs[t]);
> +			device_remove_file(dev, &omapfb_attrs[t]);
>   	}
>   }
>   

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ