Patchwork Kconfig: convert dependency lists into HAVE_x properties

login
register
about
Submitter Jens Rottmann
Date 2010-08-26 12:26:08
Message ID <4C765D60.6040208@LiPPERTEmbedded.de>
Download mbox | patch
Permalink /patch/1802/
State Accepted
Headers show

Comments

Jens Rottmann - 2010-08-26 12:26:08
CONFIG_DEBUG_RAM_SETUP and CONFIG_DEBUG_SMBUS are only available if the board /
chipset support it.  But this involves a long list of 'depends', which you have
to remember updating manually.  Converted this into HAVE_... properties, which
will be inherited automatically if someone copies a chipset to create a new one.

Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
---
Stefan Reinauer - 2010-08-26 12:46:50
On 8/26/10 2:26 PM, Jens Rottmann wrote:
> CONFIG_DEBUG_RAM_SETUP and CONFIG_DEBUG_SMBUS are only available if the board /
> chipset support it.  But this involves a long list of 'depends', which you have
> to remember updating manually.  Converted this into HAVE_... properties, which
> will be inherited automatically if someone copies a chipset to create a new one.
>
> Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>

Thanks! I like this! r5743

Stefan
Jens Rottmann - 2010-08-26 14:13:39
Hi Stefan,

during doing this I happened to trip over HAVE_HIGH_TABLES, which struck me as really weired:

src/Kconfig:
config HAVE_HIGH_TABLES
	bool
	default y

And various northbridges 'select' this - but what is the point, it defaults to 'y' and has no prompt for the user to unset, so it's _always_ 'y'. So all those 'select's have no effect and can be dropped. Or should it be changed to 'default n'?

And there are the mainboards amd/dbm690t, amd/mahogany, asrock/939a785gmh, all of which do:
config HAVE_HIGH_TABLES
	bool
	default n
	depends on BOARD_...

How can the same config option be defined twice??
These 3 boards say 'default n', but because all 3 have northbridges which do 'select HAVE_HIGH_TABLES', it's _still_ always 'y'.

I really didn't understand what the whole point of this stuff is, so I didn't dare touch it ...

Regards,
Jens
Patrick Georgi - 2010-08-26 14:17:37
Am 26.08.2010 16:13, schrieb Jens Rottmann:
> These 3 boards say 'default n', but because all 3 have northbridges which do 'select HAVE_HIGH_TABLES', it's _still_ always 'y'.
> 
> I really didn't understand what the whole point of this stuff is, so I didn't dare touch it ...
The point was that
1. we started with HAVE_HIGH_TABLES default to no, to enable by the
boards that support it
2. then moved to default to yes, to be disabled by the boards that have
issues with that (r5160)

At some point, HAVE_HIGH_TABLES should be removed altogether. Maybe that
should be now.


Regards,
Patrick

Patch

--- src/Kconfig	(rev 5739)
+++ src/Kconfig	(working copy)
@@ -509,19 +509,13 @@ 
 	  If enabled, you will be able to set breakpoints for gdb debugging.
 	  See src/arch/i386/lib/c_start.S for details.
 
+config HAVE_DEBUG_RAM_SETUP
+	def_bool n
+
 config DEBUG_RAM_SETUP
 	bool "Output verbose RAM init debug messages"
 	default n
-	depends on (NORTHBRIDGE_AMD_AMDFAM10 \
-		 || NORTHBRIDGE_AMD_AMDK8 \
-		 || NORTHBRIDGE_VIA_CN700 \
-		 || NORTHBRIDGE_VIA_CX700 \
-		 || NORTHBRIDGE_VIA_VX800 \
-		 || NORTHBRIDGE_INTEL_E7501 \
-		 || NORTHBRIDGE_INTEL_I440BX \
-		 || NORTHBRIDGE_INTEL_I82810 \
-		 || NORTHBRIDGE_INTEL_I82830 \
-		 || NORTHBRIDGE_INTEL_I945)
+	depends on HAVE_DEBUG_RAM_SETUP
 	help
 	  This option enables additional RAM init related debug messages.
 	  It is recommended to enable this when debugging issues on your
@@ -538,16 +532,13 @@ 
 	help
 	  If unsure, say N.
 
+config HAVE_DEBUG_SMBUS
+	def_bool n
+
 config DEBUG_SMBUS
 	bool "Output verbose SMBus debug messages"
 	default n
-	depends on (SOUTHBRIDGE_VIA_VT8237R \
-		 || NORTHBRIDGE_VIA_VX800 \
-		 || NORTHBRIDGE_VIA_CX700 \
-		 || NORTHBRIDGE_AMD_AMDK8 \
-		 || NORTHBRIDGE_AMD_AMDFAM10 \
-		 || BOARD_LIPPERT_SPACERUNNER_LX \
-		 || SOUTHBRIDGE_VIA_VT8231)
+	depends on HAVE_DEBUG_SMBUS
 	help
 	  This option enables additional SMBus (and SPD) debug messages.
 
--- src/mainboard/lippert/spacerunner-lx/Kconfig	(rev 5739)
+++ src/mainboard/lippert/spacerunner-lx/Kconfig	(working copy)
@@ -5,6 +5,7 @@ 
 	select NORTHBRIDGE_AMD_LX
 	select SOUTHBRIDGE_AMD_CS5536
 	select SUPERIO_ITE_IT8712F
+	select HAVE_DEBUG_SMBUS
 	select HAVE_PIRQ_TABLE
 	select PIRQ_ROUTE
 	select UDELAY_TSC
--- src/northbridge/amd/amdfam10/Kconfig	(rev 5739)
+++ src/northbridge/amd/amdfam10/Kconfig	(working copy)
@@ -19,6 +19,8 @@ 
 
 config NORTHBRIDGE_AMD_AMDFAM10
 	bool
+	select HAVE_DEBUG_RAM_SETUP
+	select HAVE_DEBUG_SMBUS
 	select HAVE_HIGH_TABLES
 	select HYPERTRANSPORT_PLUGIN_SUPPORT
 	select NORTHBRIDGE_AMD_AMDFAM10_ROOT_COMPLEX
--- src/northbridge/amd/amdk8/Kconfig	(rev 5739)
+++ src/northbridge/amd/amdk8/Kconfig	(working copy)
@@ -19,6 +19,8 @@ 
 
 config NORTHBRIDGE_AMD_AMDK8
 	bool
+	select HAVE_DEBUG_RAM_SETUP
+	select HAVE_DEBUG_SMBUS
 	select HAVE_HIGH_TABLES
 	select HYPERTRANSPORT_PLUGIN_SUPPORT
 
--- src/northbridge/intel/e7501/Kconfig	(rev 5739)
+++ src/northbridge/intel/e7501/Kconfig	(working copy)
@@ -1,4 +1,5 @@ 
 config NORTHBRIDGE_INTEL_E7501
 	bool
+	select HAVE_DEBUG_RAM_SETUP
 	select HAVE_HIGH_TABLES
 
--- src/northbridge/intel/i440bx/Kconfig	(rev 5739)
+++ src/northbridge/intel/i440bx/Kconfig	(working copy)
@@ -19,6 +19,7 @@ 
 
 config NORTHBRIDGE_INTEL_I440BX
 	bool
+	select HAVE_DEBUG_RAM_SETUP
 	select HAVE_HIGH_TABLES
 
 config SDRAMPWR_4DIMM
--- src/northbridge/intel/i82810/Kconfig	(rev 5739)
+++ src/northbridge/intel/i82810/Kconfig	(working copy)
@@ -19,6 +19,7 @@ 
 
 config NORTHBRIDGE_INTEL_I82810
 	bool
+	select HAVE_DEBUG_RAM_SETUP
 	select HAVE_HIGH_TABLES
 
 choice
--- src/northbridge/intel/i82830/Kconfig	(rev 5739)
+++ src/northbridge/intel/i82830/Kconfig	(working copy)
@@ -1,5 +1,6 @@ 
 config NORTHBRIDGE_INTEL_I82830
 	bool
+	select HAVE_DEBUG_RAM_SETUP
 	select HAVE_HIGH_TABLES
 
 choice
--- src/northbridge/intel/i945/Kconfig	(rev 5739)
+++ src/northbridge/intel/i945/Kconfig	(working copy)
@@ -19,6 +19,7 @@ 
 
 config NORTHBRIDGE_INTEL_I945
 	bool
+	select HAVE_DEBUG_RAM_SETUP
 	select HAVE_HIGH_TABLES
 
 config FALLBACK_VGA_BIOS_ID
--- src/northbridge/via/cn700/Kconfig	(rev 5739)
+++ src/northbridge/via/cn700/Kconfig	(working copy)
@@ -1,5 +1,6 @@ 
 config NORTHBRIDGE_VIA_CN700
 	bool
+	select HAVE_DEBUG_RAM_SETUP
 	select HAVE_HIGH_TABLES
 
 config FALLBACK_SIZE
--- src/northbridge/via/cx700/Kconfig	(rev 5739)
+++ src/northbridge/via/cx700/Kconfig	(working copy)
@@ -1,5 +1,7 @@ 
 config NORTHBRIDGE_VIA_CX700
 	bool
+	select HAVE_DEBUG_RAM_SETUP
+	select HAVE_DEBUG_SMBUS
 	select HAVE_HIGH_TABLES
 	select HAVE_HARD_RESET
 	select IOAPIC
--- src/northbridge/via/vx800/Kconfig	(rev 5739)
+++ src/northbridge/via/vx800/Kconfig	(working copy)
@@ -1,5 +1,7 @@ 
 config NORTHBRIDGE_VIA_VX800
 	bool
+	select HAVE_DEBUG_RAM_SETUP
+	select HAVE_DEBUG_SMBUS
 
 config FALLBACK_SIZE
 	int
--- src/southbridge/via/vt8231/Kconfig	(rev 5739)
+++ src/southbridge/via/vt8231/Kconfig	(working copy)
@@ -19,4 +19,4 @@ 
 
 config SOUTHBRIDGE_VIA_VT8231
 	bool
-
+	select HAVE_DEBUG_SMBUS
--- src/southbridge/via/vt8237r/Kconfig	(rev 5739)
+++ src/southbridge/via/vt8237r/Kconfig	(working copy)
@@ -19,6 +19,7 @@ 
 
 config SOUTHBRIDGE_VIA_VT8237R
 	bool
+	select HAVE_DEBUG_SMBUS
 	select IOAPIC
 
 config EPIA_VT8237R_INIT