Re: [PATCH 1/3] fbdev: rework FB_DDC dependencies

From: Andy Shevchenko
Date: Wed Oct 27 2021 - 10:40:55 EST


On Wed, Oct 27, 2021 at 03:27:12PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> 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@xxxxxxxxxxxxxxx>

> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> 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