diff mbox series

[1/3] fbdev: rework FB_DDC dependencies

Message ID 20211027132732.3993279-1-arnd@kernel.org (mailing list archive)
State New, archived
Headers show
Series [1/3] fbdev: rework FB_DDC dependencies | expand

Commit Message

Arnd Bergmann Oct. 27, 2021, 1:27 p.m. UTC
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(-)

Comments

Andy Shevchenko Oct. 27, 2021, 2:40 p.m. UTC | #1
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
>
diff mbox series

Patch

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