Skip to contentSkip to conversation

unused CONFIG variables in current barebox tree

DISCUSSION Robert P. J. Day 2 participants 2 messages Dec 20, 2009 – Dec 21, 2009

lore
Share & tools
lore
#0 lore raw

not sure if this is where this sort of thing should be posted, but i
used one of my stock kernel scanning scripts on the current barebox tree to locate any CONFIG variables that are defined in a Kconfig file somewhere but never subsequently tested in a preprocessor directive, and here's the output. (it would be trivial to run the other scripts to locate more oddities.)

===== ARCH_LINUX
arch/sandbox/Kconfig:14:config ARCH_LINUX
===== BFIN_BOOT_FLASH8
arch/blackfin/Kconfig:58:config BFIN_BOOT_FLASH8
===== CMD_SAVES
commands/Kconfig:141:config CMD_SAVES
===== CPU_32
arch/arm/cpu/Kconfig:3:config CPU_32
===== EARLY_CONSOLE_BAUDRATE
common/Kconfig:304:config EARLY_CONSOLE_BAUDRATE
===== EARLY_CONSOLE_PORT
arch/ppc/mach-mpc5xxx/Kconfig:14:config EARLY_CONSOLE_PORT
common/Kconfig:295:config EARLY_CONSOLE_PORT
===== EARLY_CONSOLE_PORT
arch/ppc/mach-mpc5xxx/Kconfig:14:config EARLY_CONSOLE_PORT
common/Kconfig:295:config EARLY_CONSOLE_PORT
===== EUKREA_CPUIMX27_NOR_32MB
arch/arm/mach-imx/Kconfig:278:config EUKREA_CPUIMX27_NOR_32MB
===== HAS_CFI
arch/arm/mach-at91rm9200/Kconfig:18: select HAS_CFI
arch/arm/mach-netx/Kconfig:49: select HAS_CFI
arch/arm/mach-imx/Kconfig:85: select HAS_CFI
arch/arm/mach-imx/Kconfig:105: select HAS_CFI
arch/arm/mach-imx/Kconfig:126: select HAS_CFI
arch/arm/mach-imx/Kconfig:146: select HAS_CFI
arch/arm/mach-imx/Kconfig:155: select HAS_CFI
arch/arm/mach-imx/Kconfig:171: select HAS_CFI
arch/arm/mach-imx/Kconfig:215: select HAS_CFI
arch/arm/mach-imx/Kconfig:223: select HAS_CFI
arch/ppc/Kconfig:54: select HAS_CFI
arch/m68k/Kconfig:77: select HAS_CFI
arch/m68k/Kconfig:85: select HAS_CFI
arch/m68k/Kconfig:94: select HAS_CFI
arch/m68k/Kconfig:102: select HAS_CFI
arch/m68k/Kconfig:110: select HAS_CFI
arch/m68k/Kconfig:119: select HAS_CFI
arch/m68k/Kconfig:128: select HAS_CFI
arch/m68k/Kconfig:137: select HAS_CFI
drivers/nor/Kconfig:3:config HAS_CFI
===== M68K
arch/m68k/include/asm/byteorder.h:24: * M68K is always big-endian mode. arch/m68k/include/asm/coldfire/mcf5xxx.h:28: * Common M68K & ColdFire definitions arch/m68k/Kconfig:49:config M68K
arch/m68k/cpu/cpu.c:157: * For M68K we never enable data cache so we do not need to disable it again.
commands/bootm.c:141: case IH_CPU_M68K: arch = "M68K"; break;
include/image.h:76:#define IH_CPU_M68K 12 /* M68K */
===== MTD_NAND_DISKONCHIP_BBTWRITE
drivers/nand/Kconfig:86:config MTD_NAND_DISKONCHIP_BBTWRITE drivers/nand/diskonchip.c:123:#ifdef MTD_NAND_DISKONCHIP_BBTWRITE
===== PARTITION
common/Kconfig:316:config PARTITION
drivers/nand/diskonchip.c:1287: printk(KERN_INFO " PARTITION[%d] ->\n"
===== PCM043_DISPLAY_TY090
arch/arm/mach-imx/Kconfig:243:config PCM043_DISPLAY_TY090

rday
--

========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA

Linux Consulting, Training and Kernel Pedantry.

Web page:                                          http://crashcourse.ca
Twitter:                                       http://twitter.com/rpjday

========================================================================

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

#1 lore raw
Quoted 11 lines · Robert P. J. Day

not sure if this is where this sort of thing should be posted, but i
used one of my stock kernel scanning scripts on the current barebox tree to locate any CONFIG variables that are defined in a Kconfig file somewhere but never subsequently tested in a preprocessor directive, and here's the output. (it would be trivial to run the other scripts to locate more oddities.)

===== ARCH_LINUX
arch/sandbox/Kconfig:14:config ARCH_LINUX

I'm not sure about this one. It was probably meant to be able to compile the sandbox under different OSes. I think for now we can remove it.

Quoted 2 lines

===== BFIN_BOOT_FLASH8
arch/blackfin/Kconfig:58:config BFIN_BOOT_FLASH8

This can be removed.

Quoted 2 lines

===== CMD_SAVES
commands/Kconfig:141:config CMD_SAVES

Ditto

Quoted 2 lines

===== CPU_32
arch/arm/cpu/Kconfig:3:config CPU_32

This comes from the kernel. I don't know if it makes any sense there since it is default y without prompt.

Quoted 8 lines

===== EARLY_CONSOLE_BAUDRATE common/Kconfig:304:config EARLY_CONSOLE_BAUDRATE ===== EARLY_CONSOLE_PORT arch/ppc/mach-mpc5xxx/Kconfig:14:config EARLY_CONSOLE_PORT common/Kconfig:295:config EARLY_CONSOLE_PORT ===== EARLY_CONSOLE_PORT arch/ppc/mach-mpc5xxx/Kconfig:14:config EARLY_CONSOLE_PORT common/Kconfig:295:config EARLY_CONSOLE_PORT

These can also be removed, they are handled in runtime now.

Quoted 2 lines

===== EUKREA_CPUIMX27_NOR_32MB arch/arm/mach-imx/Kconfig:278:config EUKREA_CPUIMX27_NOR_32MB

This is part of a choice, the other choice is EUKREA_CPUIMX27_NOR_64MB. There can be only one, so in the code we only check for EUKREA_CPUIMX27_NOR_64MB. We should keep this

Quoted 13 lines

===== HAS_CFI
arch/arm/mach-at91rm9200/Kconfig:18: select HAS_CFI
arch/arm/mach-netx/Kconfig:49: select HAS_CFI
arch/arm/mach-imx/Kconfig:85: select HAS_CFI
arch/arm/mach-imx/Kconfig:105: select HAS_CFI
arch/arm/mach-imx/Kconfig:126: select HAS_CFI
arch/arm/mach-imx/Kconfig:146: select HAS_CFI
arch/arm/mach-imx/Kconfig:155: select HAS_CFI
arch/arm/mach-imx/Kconfig:171: select HAS_CFI
arch/arm/mach-imx/Kconfig:215: select HAS_CFI
arch/arm/mach-imx/Kconfig:223: select HAS_CFI
arch/ppc/Kconfig:54: select HAS_CFI
arch/m68k/Kconfig:77: select HAS_CFI

Quoted 8 lines

arch/m68k/Kconfig:85: select HAS_CFI
arch/m68k/Kconfig:94: select HAS_CFI
arch/m68k/Kconfig:102: select HAS_CFI
arch/m68k/Kconfig:110: select HAS_CFI
arch/m68k/Kconfig:119: select HAS_CFI
arch/m68k/Kconfig:128: select HAS_CFI
arch/m68k/Kconfig:137: select HAS_CFI
drivers/nor/Kconfig:3:config HAS_CFI

The intention here was that the CFI driver only shows up when HAS_CFI is selected, but apparently this is broken. We have the choice to remove the HAS_CFI completely or to add a if HAS_CFI to drivers/nor/Kconfig. Any opinions here?

Quoted 7 lines

===== M68K
arch/m68k/include/asm/byteorder.h:24: * M68K is always big-endian mode. arch/m68k/include/asm/coldfire/mcf5xxx.h:28: * Common M68K & ColdFire definitions arch/m68k/Kconfig:49:config M68K
arch/m68k/cpu/cpu.c:157: * For M68K we never enable data cache so we do not need to disable it again.
commands/bootm.c:141: case IH_CPU_M68K: arch = "M68K"; break;
include/image.h:76:#define IH_CPU_M68K 12 /* M68K */

m68k is quite broken at the moment, most probably because I failed to merge some files from his patches. I'll ask Carsten Schlote, the original author, whether he cares to fix m68k. Until this I suggest not to touch this.

Quoted 3 lines

===== MTD_NAND_DISKONCHIP_BBTWRITE drivers/nand/Kconfig:86:config MTD_NAND_DISKONCHIP_BBTWRITE drivers/nand/diskonchip.c:123:#ifdef MTD_NAND_DISKONCHIP_BBTWRITE

The diskonchip support is a 1:1 copy from U-Boot and nobody has touched it since. We can remove it alltogether.

Quoted 3 lines

===== PARTITION
common/Kconfig:316:config PARTITION
drivers/nand/diskonchip.c:1287: printk(KERN_INFO " PARTITION[%d] ->\n"

This can be removed.

Quoted 2 lines

===== PCM043_DISPLAY_TY090 arch/arm/mach-imx/Kconfig:243:config PCM043_DISPLAY_TY090

Same as with EUKREA_CPUIMX27_NOR_* above. We should keep this.

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox