linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] fbdev: rework FB_DDC dependencies
@ 2021-10-27 13:27 Arnd Bergmann
  2021-10-27 13:27 ` [PATCH 2/3] fbdev: rework backlight dependencies Arnd Bergmann
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Arnd Bergmann @ 2021-10-27 13:27 UTC (permalink / raw)
  To: dri-devel
  Cc: linux-fbdev, intel-gfx, Jani Nikula, Arnd Bergmann,
	Daniel Vetter, Thomas Zimmermann, Andy Shevchenko,
	Geert Uytterhoeven, Randy Dunlap, linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

Selecting FB_DDC currently turns on CONFIG_I2C implicitly,
which is often not desired and can lead to circular dependencies.

Change this to a 'depends on' and change all drivers that
rely on FB_DDC to have an appropriate I2C dependency as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/video/fbdev/Kconfig | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 6ed5e608dd04..c187a93c9a16 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -62,9 +62,8 @@ config FIRMWARE_EDID
 
 config FB_DDC
 	tristate
-	depends on FB
+	depends on FB && I2C
 	select I2C_ALGOBIT
-	select I2C
 
 config FB_BOOT_VESA_SUPPORT
 	bool
@@ -356,6 +355,7 @@ config FB_CYBER2000
 config FB_CYBER2000_DDC
 	bool "DDC for CyberPro support"
 	depends on FB_CYBER2000
+	depends on I2C=y || I2C=FB_CYBER2000
 	select FB_DDC
 	default y
 	help
@@ -894,6 +894,7 @@ config FB_NVIDIA
 config FB_NVIDIA_I2C
 	bool "Enable DDC Support"
 	depends on FB_NVIDIA
+	depends on I2C=y || I2C=FB_NVIDIA
 	select FB_DDC
 	help
 	  This enables I2C support for nVidia Chipsets.  This is used
@@ -940,6 +941,7 @@ config FB_RIVA
 config FB_RIVA_I2C
 	bool "Enable DDC Support"
 	depends on FB_RIVA
+	depends on I2C=y || I2C=FB_RIVA
 	select FB_DDC
 	help
 	  This enables I2C support for nVidia Chipsets.  This is used
@@ -967,7 +969,7 @@ config FB_RIVA_BACKLIGHT
 
 config FB_I740
 	tristate "Intel740 support"
-	depends on FB && PCI
+	depends on FB && PCI && I2C
 	select FB_MODE_HELPERS
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
@@ -1021,6 +1023,7 @@ config FB_I810_GTF
 config FB_I810_I2C
 	bool "Enable DDC Support"
 	depends on FB_I810 && FB_I810_GTF
+	depends on I2C=y || I2C=FB_I810
 	select FB_DDC
 	help
 	  Add DDC/I2C support for i810fb.  This will allow the driver to get
@@ -1076,6 +1079,7 @@ config FB_INTEL_DEBUG
 config FB_INTEL_I2C
 	bool "DDC/I2C for Intel framebuffer support"
 	depends on FB_INTEL
+	depends on I2C=y || I2C=FB_INTEL
 	select FB_DDC
 	default y
 	help
@@ -1155,6 +1159,7 @@ config FB_MATROX_G
 config FB_MATROX_I2C
 	tristate "Matrox I2C support"
 	depends on FB_MATROX
+	depends on I2C=y || I2C=FB_MATROX
 	select FB_DDC
 	help
 	  This drivers creates I2C buses which are needed for accessing the
@@ -1220,6 +1225,7 @@ config FB_RADEON
 config FB_RADEON_I2C
 	bool "DDC/I2C for ATI Radeon support"
 	depends on FB_RADEON
+	depends on I2C=y || I2C=FB_RADEON
 	select FB_DDC
 	default y
 	help
@@ -1329,6 +1335,7 @@ config FB_S3
 config FB_S3_DDC
 	bool "DDC for S3 support"
 	depends on FB_S3
+	depends on I2C=y || I2C=FB_S3
 	select FB_DDC
 	default y
 	help
@@ -1354,6 +1361,7 @@ config FB_SAVAGE
 config FB_SAVAGE_I2C
 	bool "Enable DDC2 Support"
 	depends on FB_SAVAGE
+	depends on I2C=y || I2C=FB_SAVAGE
 	select FB_DDC
 	help
 	  This enables I2C support for S3 Savage Chipsets.  This is used
@@ -1493,6 +1501,7 @@ config FB_3DFX_ACCEL
 config FB_3DFX_I2C
 	bool "Enable DDC/I2C support"
 	depends on FB_3DFX
+	depends on I2C=y || I2C=FB_3DFX
 	select FB_DDC
 	default y
 	help
@@ -1532,7 +1541,7 @@ config FB_VT8623
 
 config FB_TRIDENT
 	tristate "Trident/CyberXXX/CyberBlade support"
-	depends on FB && PCI
+	depends on FB && PCI && I2C
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
-- 
2.29.2


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

* [PATCH 2/3] fbdev: rework backlight dependencies
  2021-10-27 13:27 [PATCH 1/3] fbdev: rework FB_DDC dependencies Arnd Bergmann
@ 2021-10-27 13:27 ` Arnd Bergmann
  2021-10-27 13:32   ` Miguel Ojeda
  2021-10-27 19:25   ` Randy Dunlap
  2021-10-27 13:27 ` [PATCH 3/3] [v2] i915: fix backlight configuration issue Arnd Bergmann
  2021-10-27 14:40 ` [PATCH 1/3] fbdev: rework FB_DDC dependencies Andy Shevchenko
  2 siblings, 2 replies; 8+ messages in thread
From: Arnd Bergmann @ 2021-10-27 13:27 UTC (permalink / raw)
  To: dri-devel
  Cc: linux-fbdev, intel-gfx, Jani Nikula, Arnd Bergmann, Miguel Ojeda,
	Benjamin Herrenschmidt, Greg Kroah-Hartman, Jens Frederich,
	Jon Nettleton, Geert Uytterhoeven, Lars Poeschel,
	Robin van der Gracht, Daniel Vetter, Thomas Zimmermann,
	Randy Dunlap, Andy Shevchenko, linux-kernel, linuxppc-dev,
	linux-staging

From: Arnd Bergmann <arnd@arndb.de>

Rather than having CONFIG_FB_BACKLIGHT select CONFIG_BACKLIGHT_CLASS_DEVICE,
make any driver that needs it have a dependency on the class device
being available, to prevent circular dependencies.

This is the same way that the backlight is already treated for the DRM
subsystem.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/auxdisplay/Kconfig        |  1 +
 drivers/macintosh/Kconfig         |  1 +
 drivers/staging/fbtft/Kconfig     |  1 +
 drivers/staging/olpc_dcon/Kconfig |  2 +-
 drivers/video/fbdev/Kconfig       | 14 +++++++++++---
 5 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig
index 64012cda4d12..356afb6a569d 100644
--- a/drivers/auxdisplay/Kconfig
+++ b/drivers/auxdisplay/Kconfig
@@ -170,6 +170,7 @@ config IMG_ASCII_LCD
 config HT16K33
 	tristate "Holtek Ht16K33 LED controller with keyscan"
 	depends on FB && I2C && INPUT
+	depends on BACKLIGHT_CLASS_DEVICE
 	select FB_SYS_FOPS
 	select FB_SYS_FILLRECT
 	select FB_SYS_COPYAREA
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig
index 5cdc361da37c..cb0fbdf8ff7f 100644
--- a/drivers/macintosh/Kconfig
+++ b/drivers/macintosh/Kconfig
@@ -113,6 +113,7 @@ config PMAC_MEDIABAY
 config PMAC_BACKLIGHT
 	bool "Backlight control for LCD screens"
 	depends on PPC_PMAC && ADB_PMU && FB = y && (BROKEN || !PPC64)
+	depends on BACKLIGHT_CLASS_DEVICE
 	select FB_BACKLIGHT
 	help
 	  Say Y here to enable Macintosh specific extensions of the generic
diff --git a/drivers/staging/fbtft/Kconfig b/drivers/staging/fbtft/Kconfig
index dad1ddcd7b0c..c4f2f01cd798 100644
--- a/drivers/staging/fbtft/Kconfig
+++ b/drivers/staging/fbtft/Kconfig
@@ -3,6 +3,7 @@ menuconfig FB_TFT
 	tristate "Support for small TFT LCD display modules"
 	depends on FB && SPI
 	depends on GPIOLIB || COMPILE_TEST
+	depends on BACKLIGHT_CLASS_DEVICE
 	select FB_SYS_FILLRECT
 	select FB_SYS_COPYAREA
 	select FB_SYS_IMAGEBLIT
diff --git a/drivers/staging/olpc_dcon/Kconfig b/drivers/staging/olpc_dcon/Kconfig
index d1a0dea09ef0..a9f36538d7ab 100644
--- a/drivers/staging/olpc_dcon/Kconfig
+++ b/drivers/staging/olpc_dcon/Kconfig
@@ -4,7 +4,7 @@ config FB_OLPC_DCON
 	depends on OLPC && FB
 	depends on I2C
 	depends on GPIO_CS5535 && ACPI
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  In order to support very low power operation, the XO laptop uses a
 	  secondary Display CONtroller, or DCON.  This secondary controller
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index c187a93c9a16..3ad499433726 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -186,7 +186,7 @@ config FB_MACMODES
 config FB_BACKLIGHT
 	tristate
 	depends on FB
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 
 config FB_MODE_HELPERS
 	bool "Enable Video Mode Handling Helpers"
@@ -275,12 +275,12 @@ config FB_ARMCLCD
 	tristate "ARM PrimeCell PL110 support"
 	depends on ARM || ARM64 || COMPILE_TEST
 	depends on FB && ARM_AMBA && HAS_IOMEM
+	depends on BACKLIGHT_CLASS_DEVICE || !OF
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
 	select FB_MODE_HELPERS if OF
 	select VIDEOMODE_HELPERS if OF
-	select BACKLIGHT_CLASS_DEVICE if OF
 	help
 	  This framebuffer device driver is for the ARM PrimeCell PL110
 	  Colour LCD controller.  ARM PrimeCells provide the building
@@ -863,6 +863,7 @@ config FB_ATMEL
 	tristate "AT91 LCD Controller support"
 	depends on FB && OF && HAVE_CLK && HAS_IOMEM
 	depends on HAVE_FB_ATMEL || COMPILE_TEST
+	depends on BACKLIGHT_CLASS_DEVICE
 	select FB_BACKLIGHT
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
@@ -916,6 +917,7 @@ config FB_NVIDIA_DEBUG
 config FB_NVIDIA_BACKLIGHT
 	bool "Support for backlight control"
 	depends on FB_NVIDIA
+	depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_NVIDIA
 	default y
 	help
 	  Say Y here if you want to control the backlight of your display.
@@ -963,6 +965,7 @@ config FB_RIVA_DEBUG
 config FB_RIVA_BACKLIGHT
 	bool "Support for backlight control"
 	depends on FB_RIVA
+	depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_RIVA
 	default y
 	help
 	  Say Y here if you want to control the backlight of your display.
@@ -1234,6 +1237,7 @@ config FB_RADEON_I2C
 config FB_RADEON_BACKLIGHT
 	bool "Support for backlight control"
 	depends on FB_RADEON
+	depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_RADEON
 	default y
 	help
 	  Say Y here if you want to control the backlight of your display.
@@ -1265,6 +1269,7 @@ config FB_ATY128
 config FB_ATY128_BACKLIGHT
 	bool "Support for backlight control"
 	depends on FB_ATY128
+	depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_ATY128
 	default y
 	help
 	  Say Y here if you want to control the backlight of your display.
@@ -1314,6 +1319,7 @@ config FB_ATY_GX
 
 config FB_ATY_BACKLIGHT
 	bool "Support for backlight control"
+	depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_ATY
 	depends on FB_ATY
 	default y
 	help
@@ -1838,6 +1844,7 @@ config FB_SH_MOBILE_LCDC
 	tristate "SuperH Mobile LCDC framebuffer support"
 	depends on FB && HAVE_CLK && HAS_IOMEM
 	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
+	depends on BACKLIGHT_CLASS_DEVICE
 	select FB_SYS_FILLRECT
 	select FB_SYS_COPYAREA
 	select FB_SYS_IMAGEBLIT
@@ -2166,7 +2173,7 @@ config FB_PRE_INIT_FB
 config FB_MX3
 	tristate "MX3 Framebuffer support"
 	depends on FB && MX3_IPU
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
@@ -2222,6 +2229,7 @@ config FB_SSD1307
 	tristate "Solomon SSD1307 framebuffer support"
 	depends on FB && I2C
 	depends on GPIOLIB || COMPILE_TEST
+	depends on BACKLIGHT_CLASS_DEVICE
 	select FB_SYS_FOPS
 	select FB_SYS_FILLRECT
 	select FB_SYS_COPYAREA
-- 
2.29.2


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

* [PATCH 3/3] [v2] i915: fix backlight configuration issue
  2021-10-27 13:27 [PATCH 1/3] fbdev: rework FB_DDC dependencies Arnd Bergmann
  2021-10-27 13:27 ` [PATCH 2/3] fbdev: rework backlight dependencies Arnd Bergmann
@ 2021-10-27 13:27 ` Arnd Bergmann
  2021-10-27 13:41   ` Jani Nikula
  2021-10-27 14:40 ` [PATCH 1/3] fbdev: rework FB_DDC dependencies Andy Shevchenko
  2 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2021-10-27 13:27 UTC (permalink / raw)
  To: dri-devel, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
	David Airlie, Daniel Vetter
  Cc: linux-fbdev, intel-gfx, Arnd Bergmann, Matthew Auld, Zhenyu Wang,
	Alex Williamson, Jason Gunthorpe, Daniele Ceraolo Spurio,
	linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

The i915 driver can use the backlight subsystem as an option, and usually
selects it when CONFIG_ACPI is set. However it is possible to configure
a kernel with modular backlight classdev support and a built-in i915
driver, which leads to a linker error:

drivers/gpu/drm/i915/display/intel_panel.o: In function `intel_backlight_device_register':
intel_panel.c:(.text+0x2f58): undefined reference to `backlight_device_register'
drivers/gpu/drm/i915/display/intel_panel.o: In function `intel_backlight_device_unregister':
intel_panel.c:(.text+0x2fe4): undefined reference to `backlight_device_unregister'

Change i915 to just 'depends on' for both BACKLIGHT_CLASS_DEVICE
and ACPI_VIDEO, which avoids a lot of the problems.

Link: https://lore.kernel.org/all/20200108140227.3976563-1-arnd@arndb.de/
Link: https://lore.kernel.org/all/20200417155553.675905-1-arnd@arndb.de/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
This change depends on cleaning up drivers/video/fbdev to no longer
'select' I2C and BACKLIGHT_CLASS_DEVICE, otherwise it causes
dependency loops.
---
 drivers/gpu/drm/i915/Kconfig | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index 84b6fc70cbf5..f427e6d50d9b 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -3,6 +3,8 @@ config DRM_I915
 	tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
 	depends on DRM
 	depends on X86 && PCI
+	depends on ACPI_VIDEO || !ACPI
+	depends on BACKLIGHT_CLASS_DEVICE || !BACKLIGHT_CLASS_DEVICE
 	select INTEL_GTT
 	select INTERVAL_TREE
 	# we need shmfs for the swappable backing store, and in particular
@@ -16,10 +18,6 @@ config DRM_I915
 	select IRQ_WORK
 	# i915 depends on ACPI_VIDEO when ACPI is enabled
 	# but for select to work, need to select ACPI_VIDEO's dependencies, ick
-	select BACKLIGHT_CLASS_DEVICE if ACPI
-	select INPUT if ACPI
-	select ACPI_VIDEO if ACPI
-	select ACPI_BUTTON if ACPI
 	select SYNC_FILE
 	select IOSF_MBI
 	select CRC32
-- 
2.29.2


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

* Re: [PATCH 2/3] fbdev: rework backlight dependencies
  2021-10-27 13:27 ` [PATCH 2/3] fbdev: rework backlight dependencies Arnd Bergmann
@ 2021-10-27 13:32   ` Miguel Ojeda
  2021-10-27 19:25   ` Randy Dunlap
  1 sibling, 0 replies; 8+ messages in thread
From: Miguel Ojeda @ 2021-10-27 13:32 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: dri-devel, Linux Fbdev development list,
	Intel Graphics Development, Jani Nikula, Arnd Bergmann,
	Miguel Ojeda, Benjamin Herrenschmidt, Greg Kroah-Hartman,
	Jens Frederich, Jon Nettleton, Geert Uytterhoeven, Lars Poeschel,
	Robin van der Gracht, Daniel Vetter, Thomas Zimmermann,
	Randy Dunlap, Andy Shevchenko, linux-kernel, linuxppc-dev,
	linux-staging

On Wed, Oct 27, 2021 at 3:28 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> Rather than having CONFIG_FB_BACKLIGHT select CONFIG_BACKLIGHT_CLASS_DEVICE,
> make any driver that needs it have a dependency on the class device
> being available, to prevent circular dependencies.

Acked-by: Miguel Ojeda <ojeda@kernel.org>

Cheers,
Miguel

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

* Re: [PATCH 3/3] [v2] i915: fix backlight configuration issue
  2021-10-27 13:27 ` [PATCH 3/3] [v2] i915: fix backlight configuration issue Arnd Bergmann
@ 2021-10-27 13:41   ` Jani Nikula
  2021-10-27 13:48     ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2021-10-27 13:41 UTC (permalink / raw)
  To: Arnd Bergmann, dri-devel, Joonas Lahtinen, Rodrigo Vivi,
	David Airlie, Daniel Vetter
  Cc: linux-fbdev, intel-gfx, Arnd Bergmann, Matthew Auld, Zhenyu Wang,
	Alex Williamson, Jason Gunthorpe, Daniele Ceraolo Spurio,
	linux-kernel

On Wed, 27 Oct 2021, Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> The i915 driver can use the backlight subsystem as an option, and usually
> selects it when CONFIG_ACPI is set. However it is possible to configure
> a kernel with modular backlight classdev support and a built-in i915
> driver, which leads to a linker error:
>
> drivers/gpu/drm/i915/display/intel_panel.o: In function `intel_backlight_device_register':
> intel_panel.c:(.text+0x2f58): undefined reference to `backlight_device_register'
> drivers/gpu/drm/i915/display/intel_panel.o: In function `intel_backlight_device_unregister':
> intel_panel.c:(.text+0x2fe4): undefined reference to `backlight_device_unregister'
>
> Change i915 to just 'depends on' for both BACKLIGHT_CLASS_DEVICE
> and ACPI_VIDEO, which avoids a lot of the problems.
>
> Link: https://lore.kernel.org/all/20200108140227.3976563-1-arnd@arndb.de/
> Link: https://lore.kernel.org/all/20200417155553.675905-1-arnd@arndb.de/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> This change depends on cleaning up drivers/video/fbdev to no longer
> 'select' I2C and BACKLIGHT_CLASS_DEVICE, otherwise it causes
> dependency loops.
> ---
>  drivers/gpu/drm/i915/Kconfig | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index 84b6fc70cbf5..f427e6d50d9b 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -3,6 +3,8 @@ config DRM_I915
>  	tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
>  	depends on DRM
>  	depends on X86 && PCI
> +	depends on ACPI_VIDEO || !ACPI
> +	depends on BACKLIGHT_CLASS_DEVICE || !BACKLIGHT_CLASS_DEVICE
>  	select INTEL_GTT
>  	select INTERVAL_TREE
>  	# we need shmfs for the swappable backing store, and in particular
> @@ -16,10 +18,6 @@ config DRM_I915
>  	select IRQ_WORK
>  	# i915 depends on ACPI_VIDEO when ACPI is enabled
>  	# but for select to work, need to select ACPI_VIDEO's dependencies, ick

The comment needs updating as well.

Other than that,

Acked-by: Jani Nikula <jani.nikula@intel.com>

on the series.

> -	select BACKLIGHT_CLASS_DEVICE if ACPI
> -	select INPUT if ACPI
> -	select ACPI_VIDEO if ACPI
> -	select ACPI_BUTTON if ACPI
>  	select SYNC_FILE
>  	select IOSF_MBI
>  	select CRC32

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [PATCH 3/3] [v2] i915: fix backlight configuration issue
  2021-10-27 13:41   ` Jani Nikula
@ 2021-10-27 13:48     ` Arnd Bergmann
  0 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2021-10-27 13:48 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
	Daniel Vetter, Linux Fbdev development list, Intel Graphics,
	Arnd Bergmann, Matthew Auld, Zhenyu Wang, Alex Williamson,
	Jason Gunthorpe, Daniele Ceraolo Spurio,
	Linux Kernel Mailing List

On Wed, Oct 27, 2021 at 3:41 PM Jani Nikula <jani.nikula@linux.intel.com> wrote:
> > @@ -16,10 +18,6 @@ config DRM_I915
> >       select IRQ_WORK
> >       # i915 depends on ACPI_VIDEO when ACPI is enabled
> >       # but for select to work, need to select ACPI_VIDEO's dependencies, ick
>
> The comment needs updating as well.

Right, I've removed that comment now.

> Other than that,
>
> Acked-by: Jani Nikula <jani.nikula@intel.com>
>
> on the series.

Thanks!

         Arnd

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

* Re: [PATCH 1/3] fbdev: rework FB_DDC dependencies
  2021-10-27 13:27 [PATCH 1/3] fbdev: rework FB_DDC dependencies Arnd Bergmann
  2021-10-27 13:27 ` [PATCH 2/3] fbdev: rework backlight dependencies Arnd Bergmann
  2021-10-27 13:27 ` [PATCH 3/3] [v2] i915: fix backlight configuration issue Arnd Bergmann
@ 2021-10-27 14:40 ` Andy Shevchenko
  2 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2021-10-27 14:40 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: dri-devel, linux-fbdev, intel-gfx, Jani Nikula, Arnd Bergmann,
	Daniel Vetter, Thomas Zimmermann, Geert Uytterhoeven,
	Randy Dunlap, linux-kernel

On Wed, Oct 27, 2021 at 03:27:12PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Selecting FB_DDC currently turns on CONFIG_I2C implicitly,
> which is often not desired and can lead to circular dependencies.
> 
> Change this to a 'depends on' and change all drivers that
> rely on FB_DDC to have an appropriate I2C dependency as well.

No objections from me.
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/video/fbdev/Kconfig | 17 +++++++++++++----
>  1 file changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 6ed5e608dd04..c187a93c9a16 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -62,9 +62,8 @@ config FIRMWARE_EDID
>  
>  config FB_DDC
>  	tristate
> -	depends on FB
> +	depends on FB && I2C
>  	select I2C_ALGOBIT
> -	select I2C
>  
>  config FB_BOOT_VESA_SUPPORT
>  	bool
> @@ -356,6 +355,7 @@ config FB_CYBER2000
>  config FB_CYBER2000_DDC
>  	bool "DDC for CyberPro support"
>  	depends on FB_CYBER2000
> +	depends on I2C=y || I2C=FB_CYBER2000
>  	select FB_DDC
>  	default y
>  	help
> @@ -894,6 +894,7 @@ config FB_NVIDIA
>  config FB_NVIDIA_I2C
>  	bool "Enable DDC Support"
>  	depends on FB_NVIDIA
> +	depends on I2C=y || I2C=FB_NVIDIA
>  	select FB_DDC
>  	help
>  	  This enables I2C support for nVidia Chipsets.  This is used
> @@ -940,6 +941,7 @@ config FB_RIVA
>  config FB_RIVA_I2C
>  	bool "Enable DDC Support"
>  	depends on FB_RIVA
> +	depends on I2C=y || I2C=FB_RIVA
>  	select FB_DDC
>  	help
>  	  This enables I2C support for nVidia Chipsets.  This is used
> @@ -967,7 +969,7 @@ config FB_RIVA_BACKLIGHT
>  
>  config FB_I740
>  	tristate "Intel740 support"
> -	depends on FB && PCI
> +	depends on FB && PCI && I2C
>  	select FB_MODE_HELPERS
>  	select FB_CFB_FILLRECT
>  	select FB_CFB_COPYAREA
> @@ -1021,6 +1023,7 @@ config FB_I810_GTF
>  config FB_I810_I2C
>  	bool "Enable DDC Support"
>  	depends on FB_I810 && FB_I810_GTF
> +	depends on I2C=y || I2C=FB_I810
>  	select FB_DDC
>  	help
>  	  Add DDC/I2C support for i810fb.  This will allow the driver to get
> @@ -1076,6 +1079,7 @@ config FB_INTEL_DEBUG
>  config FB_INTEL_I2C
>  	bool "DDC/I2C for Intel framebuffer support"
>  	depends on FB_INTEL
> +	depends on I2C=y || I2C=FB_INTEL
>  	select FB_DDC
>  	default y
>  	help
> @@ -1155,6 +1159,7 @@ config FB_MATROX_G
>  config FB_MATROX_I2C
>  	tristate "Matrox I2C support"
>  	depends on FB_MATROX
> +	depends on I2C=y || I2C=FB_MATROX
>  	select FB_DDC
>  	help
>  	  This drivers creates I2C buses which are needed for accessing the
> @@ -1220,6 +1225,7 @@ config FB_RADEON
>  config FB_RADEON_I2C
>  	bool "DDC/I2C for ATI Radeon support"
>  	depends on FB_RADEON
> +	depends on I2C=y || I2C=FB_RADEON
>  	select FB_DDC
>  	default y
>  	help
> @@ -1329,6 +1335,7 @@ config FB_S3
>  config FB_S3_DDC
>  	bool "DDC for S3 support"
>  	depends on FB_S3
> +	depends on I2C=y || I2C=FB_S3
>  	select FB_DDC
>  	default y
>  	help
> @@ -1354,6 +1361,7 @@ config FB_SAVAGE
>  config FB_SAVAGE_I2C
>  	bool "Enable DDC2 Support"
>  	depends on FB_SAVAGE
> +	depends on I2C=y || I2C=FB_SAVAGE
>  	select FB_DDC
>  	help
>  	  This enables I2C support for S3 Savage Chipsets.  This is used
> @@ -1493,6 +1501,7 @@ config FB_3DFX_ACCEL
>  config FB_3DFX_I2C
>  	bool "Enable DDC/I2C support"
>  	depends on FB_3DFX
> +	depends on I2C=y || I2C=FB_3DFX
>  	select FB_DDC
>  	default y
>  	help
> @@ -1532,7 +1541,7 @@ config FB_VT8623
>  
>  config FB_TRIDENT
>  	tristate "Trident/CyberXXX/CyberBlade support"
> -	depends on FB && PCI
> +	depends on FB && PCI && I2C
>  	select FB_CFB_FILLRECT
>  	select FB_CFB_COPYAREA
>  	select FB_CFB_IMAGEBLIT
> -- 
> 2.29.2
> 

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 2/3] fbdev: rework backlight dependencies
  2021-10-27 13:27 ` [PATCH 2/3] fbdev: rework backlight dependencies Arnd Bergmann
  2021-10-27 13:32   ` Miguel Ojeda
@ 2021-10-27 19:25   ` Randy Dunlap
  1 sibling, 0 replies; 8+ messages in thread
From: Randy Dunlap @ 2021-10-27 19:25 UTC (permalink / raw)
  To: Arnd Bergmann, dri-devel
  Cc: linux-fbdev, intel-gfx, Jani Nikula, Arnd Bergmann, Miguel Ojeda,
	Benjamin Herrenschmidt, Greg Kroah-Hartman, Jens Frederich,
	Jon Nettleton, Geert Uytterhoeven, Lars Poeschel,
	Robin van der Gracht, Daniel Vetter, Thomas Zimmermann,
	Andy Shevchenko, linux-kernel, linuxppc-dev, linux-staging

On 10/27/21 6:27 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Rather than having CONFIG_FB_BACKLIGHT select CONFIG_BACKLIGHT_CLASS_DEVICE,
> make any driver that needs it have a dependency on the class device
> being available, to prevent circular dependencies.
> 
> This is the same way that the backlight is already treated for the DRM
> subsystem.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>   drivers/auxdisplay/Kconfig        |  1 +
>   drivers/macintosh/Kconfig         |  1 +
>   drivers/staging/fbtft/Kconfig     |  1 +
>   drivers/staging/olpc_dcon/Kconfig |  2 +-
>   drivers/video/fbdev/Kconfig       | 14 +++++++++++---
>   5 files changed, 15 insertions(+), 4 deletions(-)

Acked-by: Randy Dunlap <rdunlap@infraded.org>

Thanks.

-- 
~Randy

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

end of thread, other threads:[~2021-10-27 19:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-27 13:27 [PATCH 1/3] fbdev: rework FB_DDC dependencies Arnd Bergmann
2021-10-27 13:27 ` [PATCH 2/3] fbdev: rework backlight dependencies Arnd Bergmann
2021-10-27 13:32   ` Miguel Ojeda
2021-10-27 19:25   ` Randy Dunlap
2021-10-27 13:27 ` [PATCH 3/3] [v2] i915: fix backlight configuration issue Arnd Bergmann
2021-10-27 13:41   ` Jani Nikula
2021-10-27 13:48     ` Arnd Bergmann
2021-10-27 14:40 ` [PATCH 1/3] fbdev: rework FB_DDC dependencies Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).