diff mbox series

[1/3] fbdev: rework FB_DDC dependencies

Message ID 20211027132732.3993279-1-arnd@kernel.org
State New
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(-)

-- 
2.29.2

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

> 


-- 
With Best Regards,
Andy Shevchenko
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