
Hi Robert,
On Sat, 26 Jan 2013 06:38:51 -0500 (EST), "Robert P. J. Day" rpjday@crashcourse.ca wrote:
first, is there any need for so many header files to define the macro CONFIG_SYS_LONGHELP individually? a quick count of how many u-boot source files do just that:
$ grep -r "define.*CONFIG_SYS_LONGHELP" * | wc -l 479 $
is it really necessary for almost 500 source files to each define that macro?
Yes, is is, because each target should decide individually if they want to embed the long help, which costs space and time, two valuable resources in embedded development.
and second, i'm not sure how to read this out of cmd_pci.c:
===== start
#ifdef CONFIG_SYS_LONGHELP static char pci_help_text[] = "[bus] [long]\n" " - short or long list of PCI devices on bus 'bus'\n" #ifdef CONFIG_CMD_PCI_ENUM "pci enum\n" " - re-enumerate PCI buses\n" #endif "pci header b.d.f\n" " - show header of PCI device 'bus.device.function'\n" "pci display[.b, .w, .l] b.d.f [address] [# of objects]\n" " - display PCI configuration space (CFG)\n" "pci next[.b, .w, .l] b.d.f address\n" " - modify, read and keep CFG address\n" "pci modify[.b, .w, .l] b.d.f address\n" " - modify, auto increment CFG address\n" "pci write[.b, .w, .l] b.d.f address value\n" " - write to CFG address"; #endif
U_BOOT_CMD( pci, 5, 1, do_pci, "list and access PCI Configuration Space", pci_help_text );
===== end
note how, if CONFIG_SYS_LONGHELP is defined, the symbol "pci_help_text" is created as the text, but its *usage* just below in the U_BOOT_CMD macro is *outside* of that preprocessor check. how would that work if CONFIG_SYS_LONGHELP is undefined? not at my dev host right this minute so i can't test, but it just looks ... weird.
Probably would not work. Submit a fix. :)
rday
Amicalement,