* [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).