Skip to contentSkip to conversation

NET: AX88796: Tighten up Kconfig dependencies

PATCH In review Ralf Baechle 3 participants 3 messages Jun 27, 2011 – Jun 28, 2011

Subsystems (7)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 NET: AX88796: Tighten up Kconfig dependencies

In def47c5095d53814512bb0c62ec02dfdec769db1 [[netdrvr] Fix dependencies for ax88796 ne2k clone driver] the AX88796 driver got restricted to just be build for ARM and MIPS on the sole merrit that it was written for some ARM sytems and the driver had the misfortune to just build on MIPS, so MIPS was throw into the dependency for a good measure. Later 8687991a734a67f1638782c968f46fff0f94bb1f [ax88796: add superh to kconfig dependencies] added SH but only one in-tree SH system actually has an AX88796.

Tighten up dependencies by using an auxilliary config sysmbol HAS_NET_AX88796 which is selected only by the platforms that actually have or may have an AX88796. This also means the driver won't be built anymore for any MIPS platform.

---
v2: fixed Sergei's complaints about the log message

 arch/arm/mach-pxa/Kconfig     |    2 ++
 arch/arm/mach-s3c2410/Kconfig |    1 +
 arch/arm/mach-s3c2440/Kconfig |    1 +
 arch/sh/boards/Kconfig        |    1 +
 drivers/net/Kconfig           |    5 ++++-
 5 files changed, 9 insertions(+), 1 deletions(-)
arch/arm/mach-pxa/Kconfig +2 -0
index cd19309..37ce06f 100644
@@ -247,11 +247,13 @@ config MACH_COLIBRI300
 	select PXA3xx
 	select CPU_PXA300
 	select CPU_PXA310
+	select HAS_NET_AX88796
 
 config MACH_COLIBRI320
 	bool "Toradex Colibri PXA320"
 	select PXA3xx
 	select CPU_PXA320
+	select HAS_NET_AX88796
 
 config MACH_COLIBRI_EVALBOARD
 	bool "Toradex Colibri Evaluation Carrier Board support"
arch/arm/mach-s3c2410/Kconfig +1 -0
index 7245a55..d665f92 100644
@@ -122,6 +122,7 @@ config ARCH_BAST
 	select S3C_DEV_HWMON
 	select S3C_DEV_USB_HOST
 	select S3C_DEV_NAND
+	select HAS_NET_AX88796
 	help
 	  Say Y here if you are using the Simtec Electronics EB2410ITX
 	  development board (also known as BAST)
arch/arm/mach-s3c2440/Kconfig +1 -0
index 50825a3..7ddbd22 100644
@@ -86,6 +86,7 @@ config MACH_ANUBIS
 	select S3C24XX_GPIO_EXTRA64
 	select S3C2440_XTAL_12000000
 	select S3C_DEV_USB_HOST
+	select HAS_NET_AX88796
 	help
 	  Say Y here if you are using the Simtec Electronics ANUBIS
 	  development system
arch/sh/boards/Kconfig +1 -0
index d893411..f23f332 100644
@@ -162,6 +162,7 @@ config SH_HIGHLANDER
 	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
 	select SYS_SUPPORTS_PCI
 	select IO_TRAPPED if MMU
+	select HAS_NET_AX88796
 
 config SH_SH7757LCR
 	bool "SH7757LCR"
drivers/net/Kconfig +4 -1
index be25e92..85d18c4 100644
@@ -237,13 +237,16 @@ source "drivers/net/arm/Kconfig"
 
 config AX88796
 	tristate "ASIX AX88796 NE2000 clone support"
-	depends on ARM || MIPS || SUPERH
+	depends on HAS_NET_AX88796
 	select PHYLIB
 	select MDIO_BITBANG
 	help
 	  AX88796 driver, using platform bus to provide
 	  chip detection and resources
 
+config HAS_NET_AX88796
+	bool
+
 config AX88796_93CX6
 	bool "ASIX AX88796 external 93CX6 eeprom support"
 	depends on AX88796
#1 lore raw

Hi Ralf,

Quoted 9 lines · Ralf Baechle

In def47c5095d53814512bb0c62ec02dfdec769db1 [[netdrvr] Fix dependencies for ax88796 ne2k clone driver] the AX88796 driver got restricted to just be build for ARM and MIPS on the sole merrit that it was written for some ARM sytems and the driver had the misfortune to just build on MIPS, so MIPS was throw into the dependency for a good measure. ?Later 8687991a734a67f1638782c968f46fff0f94bb1f [ax88796: add superh to kconfig dependencies] added SH but only one in-tree SH system actually has an AX88796.

Quoted 8 lines

Tighten up dependencies by using an auxilliary config sysmbol HAS_NET_AX88796 which is selected only by the platforms that actually have or may have an AX88796. ?This also means the driver won't be built anymore for any MIPS platform.

---
v2: fixed Sergei's complaints about the log message

I'm the one who added the SuperH bits a few years ago. Judging by the text above it seems like you prefer not to build this driver for MIPS. Which is totally fine with me.

As for SH and SH-Mobile ARM, unless explicitly requested we usually don't restrict our platform drivers. Allowing them to build on any system helps to catch compile errors. It also makes it possible to add board support by simply adding platform data to the board file and then updating the kconfig. Keeping the amount of code at the bare minimum makes back porting rather easy too.

I'm not sure if the ax88796 driver does something non-standard to require special symbols, but usually platform drivers are rather clean and can be compiled for any architecture or platform. At least in theory. =)

Cheers,

/ magnus

maintainer
#2 lore raw

From: Magnus Damm <[email protected]>
Date: Tue, 28 Jun 2011 09:40:56 +0900

Quoted 3 lines

As for SH and SH-Mobile ARM, unless explicitly requested we usually don't restrict our platform drivers. Allowing them to build on any system helps to catch compile errors.

I totally agree with Magnus, drivers should build on as many systems as possible. Even on those for which the hardware never appears.

Ralf, unless these drivers have unfixable build errors on MIPS I do not want to add the new restrictions.