浏览代码

Merge git://www.denx.de/git/u-boot

Conflicts:

	drivers/Makefile
Nobuhiro Iwamatsu 17 年之前
父节点
当前提交
521dcd30b9
共有 100 个文件被更改,包括 981 次插入512 次删除
  1. 378 0
      CHANGELOG
  2. 1 0
      MAKEALL
  3. 69 20
      Makefile
  4. 1 1
      board/cds/mpc8541cds/u-boot.lds
  5. 1 1
      board/cds/mpc8548cds/u-boot.lds
  6. 1 1
      board/cds/mpc8555cds/u-boot.lds
  7. 1 1
      board/cm5200/cm5200.c
  8. 1 1
      board/freescale/mpc832xemds/pci.c
  9. 2 2
      board/freescale/mpc8349emds/pci.c
  10. 2 2
      board/freescale/mpc8349itx/pci.c
  11. 1 1
      board/freescale/mpc8360emds/pci.c
  12. 1 1
      board/mpl/vcma9/cmd_vcma9.c
  13. 1 1
      board/netstar/eeprom.c
  14. 1 1
      board/voiceblue/eeprom.c
  15. 45 37
      common/Makefile
  16. 0 2
      common/cmd_bdinfo.c
  17. 0 3
      common/cmd_bedbug.c
  18. 0 4
      common/cmd_bmp.c
  19. 0 4
      common/cmd_console.c
  20. 0 4
      common/cmd_date.c
  21. 0 4
      common/cmd_dcr.c
  22. 0 4
      common/cmd_diag.c
  23. 0 4
      common/cmd_display.c
  24. 0 5
      common/cmd_doc.c
  25. 0 4
      common/cmd_dtt.c
  26. 0 4
      common/cmd_elf.c
  27. 0 4
      common/cmd_ext2.c
  28. 0 7
      common/cmd_fat.c
  29. 0 4
      common/cmd_fdos.c
  30. 44 37
      common/cmd_fdt.c
  31. 0 4
      common/cmd_flash.c
  32. 0 3
      common/cmd_fpga.c
  33. 0 5
      common/cmd_i2c.c
  34. 0 4
      common/cmd_ide.c
  35. 1 4
      common/cmd_immap.c
  36. 0 3
      common/cmd_itest.c
  37. 0 5
      common/cmd_jffs2.c
  38. 0 4
      common/cmd_log.c
  39. 0 4
      common/cmd_mfsl.c
  40. 0 4
      common/cmd_mii.c
  41. 0 4
      common/cmd_misc.c
  42. 0 5
      common/cmd_mmc.c
  43. 0 4
      common/cmd_net.c
  44. 0 9
      common/cmd_pci.c
  45. 0 4
      common/cmd_portio.c
  46. 0 5
      common/cmd_reginfo.c
  47. 0 4
      common/cmd_reiser.c
  48. 0 4
      common/cmd_scsi.c
  49. 0 4
      common/cmd_spi.c
  50. 0 4
      common/cmd_universe.c
  51. 0 10
      common/cmd_usb.c
  52. 161 22
      common/fdt_support.c
  53. 3 0
      config.mk
  54. 9 31
      cpu/mpc5xxx/cpu.c
  55. 4 26
      cpu/mpc8260/cpu.c
  56. 2 2
      cpu/mpc83xx/cpu.c
  57. 2 2
      cpu/mpc83xx/pci.c
  58. 0 164
      drivers/Makefile
  59. 50 0
      drivers/block/Makefile
  60. 0 0
      drivers/block/ahci.c
  61. 0 0
      drivers/block/ata_piix.c
  62. 0 0
      drivers/block/sil680.c
  63. 0 0
      drivers/block/sym53c8xx.c
  64. 0 0
      drivers/block/systemace.c
  65. 5 4
      drivers/hwmon/Makefile
  66. 0 0
      drivers/hwmon/adm1021.c
  67. 0 0
      drivers/hwmon/ds1621.c
  68. 0 0
      drivers/hwmon/ds1722.c
  69. 0 0
      drivers/hwmon/ds1775.c
  70. 0 0
      drivers/hwmon/lm75.c
  71. 0 0
      drivers/hwmon/lm81.c
  72. 49 0
      drivers/i2c/Makefile
  73. 0 0
      drivers/i2c/fsl_i2c.c
  74. 0 0
      drivers/i2c/omap1510_i2c.c
  75. 0 0
      drivers/i2c/omap24xx_i2c.c
  76. 0 0
      drivers/i2c/tsi108_i2c.c
  77. 48 0
      drivers/input/Makefile
  78. 0 0
      drivers/input/i8042.c
  79. 0 0
      drivers/input/keyboard.c
  80. 0 0
      drivers/input/pc_keyb.c
  81. 0 0
      drivers/input/ps2mult.c
  82. 0 0
      drivers/input/ps2ser.c
  83. 48 0
      drivers/misc/Makefile
  84. 0 0
      drivers/misc/ali512x.c
  85. 0 0
      drivers/misc/ns87308.c
  86. 0 0
      drivers/misc/status_led.c
  87. 49 0
      drivers/mtd/Makefile
  88. 0 0
      drivers/mtd/at45.c
  89. 0 0
      drivers/mtd/cfi_flash.c
  90. 0 0
      drivers/mtd/dataflash.c
  91. 0 0
      drivers/mtd/mw_eeprom.c
  92. 0 0
      drivers/mtd/nand/Makefile
  93. 0 0
      drivers/mtd/nand/diskonchip.c
  94. 0 0
      drivers/mtd/nand/nand.c
  95. 0 0
      drivers/mtd/nand/nand_base.c
  96. 0 0
      drivers/mtd/nand/nand_bbt.c
  97. 0 0
      drivers/mtd/nand/nand_ecc.c
  98. 0 0
      drivers/mtd/nand/nand_ids.c
  99. 0 0
      drivers/mtd/nand/nand_util.c
  100. 0 0
      drivers/mtd/nand_legacy/Makefile

+ 378 - 0
CHANGELOG

@@ -1,3 +1,311 @@
+commit a5f601fd1b1278deae5aa9fc27a232b0d1c1c788
+Author: Wolfgang Denk <wd@denx.de>
+Date:	Mon Nov 26 19:18:21 2007 +0100
+
+    Cleanup coding style; update CHANGELOG
+
+    Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit 3deca9d44767efd1b83f4b701f0dbf21a7595f7b
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sun Nov 25 22:39:25 2007 +0100
+
+    MAKEALL: add missing 512x boards in ppc
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit a340c325e668ca7386c2276387681720be9c3757
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sun Nov 25 18:45:47 2007 +0100
+
+    Makefile : fix tags ctags etags with new drivers organization
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 87ddedd6ad804427ce125ceaa076d7a4f74e9d5d
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sun Nov 25 18:45:47 2007 +0100
+
+    Makefile : fix tags ctags etags with new drivers organization
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 59829cc189378c142c13d2aa8d9a897d8bef3961
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 21:26:56 2007 +0100
+
+    drivers/mtd : move mtd drivers to drivers/mtd
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 318c0b90431f2648552e5ade78833f42652ce859
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 21:17:55 2007 +0100
+
+    drivers/misc : move misc drivers to drivers/misc
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 33daf5b7858807cb4ce4158c2c56524671c14c08
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 21:13:59 2007 +0100
+
+    drivers/block : move block drivers to drivers/block
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 0c698dcaa70275eb8814f665b545547cee013892
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 20:59:50 2007 +0100
+
+    drivers/rtc : move rtc drivers to drivers/rtc
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit f868cc5a50757d94f36c312395481cb0f187d9e6
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 20:14:44 2007 +0100
+
+    drivers/hwmon : move hardware monitor drviers to drivers/hwmon
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 16b195c82a18cbfd164800f17a1ef9db2e48331a
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 19:46:45 2007 +0100
+
+    drivers/input : move input drivers to drivers/input
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit e4558666293364fc3af1c1d9381ca933fa0f1275
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 19:40:11 2007 +0100
+
+    drivers/usb : move usb drivers to drivers/usb
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 1378df792a7ff3abd1bf54a63f5475784f5b083c
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Sat Nov 24 19:33:38 2007 +0100
+
+    drivers/serial : move serial drivers to drivers/serial
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 2439e4bfa111babf4bc07ba20efbf3e36036813e
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Wed Nov 21 21:19:24 2007 +0100
+
+    drivers/net : move net drivers to drivers/net
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 352d259130b349fe9593b8dada641bd78a9659e5
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Tue Nov 20 20:41:48 2007 +0100
+
+    drivers/video : move video drivers to drivers/video
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 73646217186aa17afc8e305c5f06f06dd335eaad
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Tue Nov 20 20:33:09 2007 +0100
+
+    drivers/pcmcia : move pcmcia drivers to drivers/pcmcia
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 93a686ee9c5ddc6fa368c32cfbfde6f6724599fc
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Tue Nov 20 20:28:09 2007 +0100
+
+    drivers/pci : move pci drivers to drivers/pci
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 9162352817579840d7802da6d85872b3ca003c97
+Author: Gerald Van Baren <vanbaren@cideas.com>
+Date:	Thu Nov 22 17:23:23 2007 -0500
+
+    Fix fdt printing for updated libfdt
+
+    Also improve printing (adopt dtc v1 "c style" hex format), whitespace cleanup.
+
+    Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
+
+commit 9eb77cea1fa12d5969eb26a1d1d81da381bd6b1c
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Wed Nov 21 13:30:15 2007 -0600
+
+    Add additional fdt fixup helper functions
+
+    Added the following fdt fixup helpers:
+     * do_fixup_by_prop{_u32} - Find matching nodes by property name/value
+     * do_fixup_by_compat{_u32} - Find matching nodes by compat
+
+    The _u32 variants work the same only the property they are setting
+    is know to be a 32-bit integer instead of a byte buffer.
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit ab544633abdd14f4dd5d92e500b73eb59ef57e67
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Wed Nov 21 11:11:03 2007 -0600
+
+    Add fdt_fixup_ethernet helper to set mac addresses
+
+    Added a fixup helper that uses aliases to set mac addresses
+    in the device tree based on the bd_t
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit dbaf07ce620aab249e3502b20a986234a6af1d3a
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Wed Nov 21 14:07:46 2007 -0600
+
+    Fix warnings from import of libfdt
+
+    cmd_fdt.c: In function fdt_print:
+    cmd_fdt.c:586: warning: assignment discards qualifiers from pointer target type
+    cmd_fdt.c:613: warning: assignment discards qualifiers from pointer target type
+    cmd_fdt.c:635: warning: assignment discards qualifiers from pointer target type
+    cmd_fdt.c:636: warning: assignment discards qualifiers from pointer target type
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit 8d04f02f6224e6983f4812ea4da704950ec8539c
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Wed Oct 24 11:04:22 2007 -0500
+
+    Update libfdt from device tree compiler (dtc)
+
+    Update libfdt to commit 8eaf5e358366017aa2e846c5038d1aa19958314e from
+    the device tree compiler (dtc) project.
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit e93becf80d732b64aef81b23e8b6ece02c40533d
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Sat Nov 3 19:46:28 2007 -0500
+
+    Move do_fixup* for libfdt into common code
+
+    Moved the generic fixup handling code out of cpu/mpc5xxx and cpu/mpc8260
+    into common/fdt_support.c and renamed:
+
+    do_fixup()	-> do_fixup_by_path()
+    do_fixup_u32()	-> do_fixup_by_path_u32()
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit f738b4a75998f42a7408defadc9baac7a31c92db
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Thu Oct 25 16:15:07 2007 -0500
+
+    Make no options to fdt print default to '/'
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit a3c2933e02503fe36ade2c1b65af46f2b7a168e7
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Wed Oct 24 10:21:57 2007 -0500
+
+    Removed some nonused fdt functions and moved fdt_find_and_setprop out of libfdt
+
+    Removed:
+	fdt_node_is_compatible
+	fdt_find_node_by_type
+	fdt_find_compatible_node
+
+    To ease merge of newer libfdt as we aren't using them anywhere at this time.
+
+    Also moved fdt_find_and_setprop out of libfdt into fdt_support.c for the same
+    reason.
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit 98e2867cc85409b919f862e6c16026461ec955df
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Wed Nov 21 09:19:37 2007 -0700
+
+    [BUILD] Remove libraries when updating autoconf.mk
+
+    Fix library problems caused by conditional compilation.  Using
+    autoconf.mk to decide which files to compile has caused a problem when
+    changing configuration from one board to another without clearing out
+    the library (*.a) files.
+
+    It used to be that the linker was always passed the same list of .o
+    files when building the .a files.  However, that is not longer true
+    with conditional compilation.  Now, a different board config will have
+    a different file list passed to the linker.  The problem occurs when
+    a library has already been built and the board config is changed.
+
+    Since the linker will update instead of replace a preexisting library,
+    then if the file list changes to remove some object files the old
+    objects will still exist in the library.
+
+    The solution is to remove all old library files when autoconf.mk is
+    made.
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit ed1353d74b9ce8a7fcd660570b848a184d614b5f
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date:	Wed Nov 21 08:49:50 2007 -0600
+
+    [BUILD] conditionally compile libfdt/*.c in libfdt/Makefile
+
+    Modify libfdt/Makefile to conditionally compile the *.c files based
+    on the board config.
+
+    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit 4a43719a7738712811d822ca8125427b27a55cdc
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:31 2007 -0600
+
+    [BUILD] conditionally compile common/cmd_*.c in common/Makefile
+
+    Modify common/Makefile to conditionally compile the cmd_*.c files based
+    on the board config.
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit 2f155f6c0a1f5e9a306a3f1f4fbe067db7ced3b1
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:31 2007 -0600
+
+    [BUILD] Generate include/autoconf.mk from board config files
+
+    Use cpp and sed to postprocess config.h and import the defined values
+    into include/autoconf.mk.  autoconf.mk is then included by config.mk to
+    give 'make' access to the board configuration.
+
+    Doing this enables conditional compilation at the Makefile level instead
+    of by wrapping every .c file with #ifdef/#endif wrappers.
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit 080c646dbf474a109c3f85718fb01ce042a38c45
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date:	Tue Nov 20 20:14:18 2007 +0100
+
+    drivers/i2c : move i2c drivers to drivers/i2c
+
+    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 9a337ddc154a10a26f117fd147b009abcdeba75a
+Author: Wolfgang Denk <wd@denx.de>
+Date:	Mon Nov 19 22:20:24 2007 +0100
+
+    Prepare for 1.3.0 release.
+
+    Signed-off-by: Wolfgang Denk <wd@denx.de>
+
 commit f30ad49b16bf998b03c1a5228b6c86369d61c258
 commit f30ad49b16bf998b03c1a5228b6c86369d61c258
 Author: Haiying Wang <Haiying.Wang@freescale.com>
 Author: Haiying Wang <Haiying.Wang@freescale.com>
 Date:	Mon Nov 19 10:02:13 2007 -0500
 Date:	Mon Nov 19 10:02:13 2007 -0500
@@ -345,6 +653,76 @@ Date:	Wed Nov 7 08:19:19 2007 +0100
 
 
     Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
     Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 
 
+commit 4d4faae65e115e327425cd514c1a35146a85166b
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:31 2007 -0600
+
+    Group PCI and PCMCIA drivers in drivers/Makefile
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit 5798f87dc10a496d79d3177b9f5a76488987fd35
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:31 2007 -0600
+
+    Group block/flash drivers in drivers/Makefile
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit df58c81551700f058b44cacf55a7997fa63bfe0a
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:31 2007 -0600
+
+    Group USB drivers in drivers/Makefile
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit 5dbb6ed622e539b0c8493ef7e578d3a533181d29
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:30 2007 -0600
+
+    Group i2c drivers in drivers/Makefile
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit ec00c76de0e5971273905998d62d6bb119324218
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:30 2007 -0600
+
+    Group console drivers in drivers/Makefile
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit 754f230aa01b8c789fc31f8013c2487954073300
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:30 2007 -0600
+
+    Group network drivers in drivers/Makefile
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit f0037c56b0d12cd46215124667b9f83d60ef9391
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:30 2007 -0600
+
+    Build: split COBJS value into multiple lines
+
+    This change is in preparation for condtitionial compile support in the
+    build system.  By spliting them all into seperate lines now, subsequent
+    patches that change 'COBJS-y += ' into 'COBJS-$(CONFIG_<blah>) += ' will
+    be less invasive and easier to review
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit 1b4aaffe4fb2a5e95d9111a5d94fd1f89215dce4
+Author: Grant Likely <grant.likely@secretlab.ca>
+Date:	Mon Sep 24 09:05:30 2007 -0600
+
+    Add .gitignore files
+
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+    Acked-by: Kim Phillips <kim.phillips@freescale.com>
+
 commit 955413f35f054a82e40042f1dbcf501c6a05719b
 commit 955413f35f054a82e40042f1dbcf501c6a05719b
 Author: Grant Likely <grant.likely@secretlab.ca>
 Author: Grant Likely <grant.likely@secretlab.ca>
 Date:	Thu Nov 15 08:27:52 2007 -0700
 Date:	Thu Nov 15 08:27:52 2007 -0700

+ 1 - 0
MAKEALL

@@ -378,6 +378,7 @@ LIST_7xx="		\
 
 
 LIST_ppc="		\
 LIST_ppc="		\
 	${LIST_5xx}	\
 	${LIST_5xx}	\
+	${LIST_512x}	\
 	${LIST_5xxx}	\
 	${LIST_5xxx}	\
 	${LIST_8xx}	\
 	${LIST_8xx}	\
 	${LIST_8220}	\
 	${LIST_8220}	\

+ 69 - 20
Makefile

@@ -23,8 +23,8 @@
 
 
 VERSION = 1
 VERSION = 1
 PATCHLEVEL = 3
 PATCHLEVEL = 3
-SUBLEVEL = 0
-EXTRAVERSION =
+SUBLEVEL = 1
+EXTRAVERSION = -rc1
 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 VERSION_FILE = $(obj)include/version_autogenerated.h
 VERSION_FILE = $(obj)include/version_autogenerated.h
 
 
@@ -208,22 +208,30 @@ LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs
 	fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
 	fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
 LIBS += net/libnet.a
 LIBS += net/libnet.a
 LIBS += disk/libdisk.a
 LIBS += disk/libdisk.a
-LIBS += rtc/librtc.a
-LIBS += dtt/libdtt.a
-LIBS += drivers/libdrivers.a
 LIBS += drivers/bios_emulator/libatibiosemu.a
 LIBS += drivers/bios_emulator/libatibiosemu.a
-LIBS += drivers/nand/libnand.a
-LIBS += drivers/nand_legacy/libnand_legacy.a
-LIBS += drivers/onenand/libonenand.a
+LIBS += drivers/block/libblock.a
+LIBS += drivers/hwmon/libhwmon.a
+LIBS += drivers/i2c/libi2c.a
+LIBS += drivers/input/libinput.a
+LIBS += drivers/misc/libmisc.a
+LIBS += drivers/mtd/libmtd.a
+LIBS += drivers/mtd/nand/libnand.a
+LIBS += drivers/mtd/nand_legacy/libnand_legacy.a
+LIBS += drivers/mtd/onenand/libonenand.a
 LIBS += drivers/net/libnet.a
 LIBS += drivers/net/libnet.a
+LIBS += drivers/net/sk98lin/libsk98lin.a
+LIBS += drivers/pci/libpci.a
+LIBS += drivers/pcmcia/libpcmcia.a
 ifeq ($(CPU),mpc83xx)
 ifeq ($(CPU),mpc83xx)
 LIBS += drivers/qe/qe.a
 LIBS += drivers/qe/qe.a
 endif
 endif
 ifeq ($(CPU),mpc85xx)
 ifeq ($(CPU),mpc85xx)
 LIBS += drivers/qe/qe.a
 LIBS += drivers/qe/qe.a
 endif
 endif
+LIBS += drivers/rtc/librtc.a
 LIBS += drivers/serial/libserial.a
 LIBS += drivers/serial/libserial.a
-LIBS += drivers/sk98lin/libsk98lin.a
+LIBS += drivers/usb/libusb.a
+LIBS += drivers/video/libvideo.a
 LIBS += post/libpost.a post/drivers/libpostdrivers.a
 LIBS += post/libpost.a post/drivers/libpostdrivers.a
 LIBS += $(shell if [ -d post/lib_$(ARCH) ]; then echo \
 LIBS += $(shell if [ -d post/lib_$(ARCH) ]; then echo \
 	"post/lib_$(ARCH)/libpost$(ARCH).a"; fi)
 	"post/lib_$(ARCH)/libpost$(ARCH).a"; fi)
@@ -326,25 +334,65 @@ env:
 depend dep:	version
 depend dep:	version
 		for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done
 		for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done
 
 
+TAG_SUBDIRS += include
+TAG_SUBDIRS += lib_generic board/$(BOARDDIR)
+TAG_SUBDIRS += cpu/$(CPU)
+TAG_SUBDIRS += lib_$(ARCH)
+TAG_SUBDIRS += fs/cramfs
+TAG_SUBDIRS += fs/fat
+TAG_SUBDIRS += fs/fdos
+TAG_SUBDIRS += fs/jffs2
+TAG_SUBDIRS += net
+TAG_SUBDIRS += disk
+TAG_SUBDIRS += common
+TAG_SUBDIRS += drivers/bios_emulator
+TAG_SUBDIRS += drivers/block
+TAG_SUBDIRS += drivers/hwmon
+TAG_SUBDIRS += drivers/i2c
+TAG_SUBDIRS += drivers/input
+TAG_SUBDIRS += drivers/misc
+TAG_SUBDIRS += drivers/mtd
+TAG_SUBDIRS += drivers/mtd/nand
+TAG_SUBDIRS += drivers/mtd/nand_legacy
+TAG_SUBDIRS += drivers/mtd/onenand
+TAG_SUBDIRS += drivers/net
+TAG_SUBDIRS += drivers/net/sk98lin
+TAG_SUBDIRS += drivers/pci
+TAG_SUBDIRS += drivers/pcmcia
+TAG_SUBDIRS += drivers/qe
+TAG_SUBDIRS += drivers/rtc
+TAG_SUBDIRS += drivers/serial
+TAG_SUBDIRS += drivers/usb
+TAG_SUBDIRS += drivers/video
+
 tags ctags:
 tags ctags:
-		ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) include \
-				lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
-				fs/cramfs fs/fat fs/fdos fs/jffs2 \
-				net disk rtc dtt drivers drivers/sk98lin common \
-			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
+		ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) $(TAG_SUBDIRS) \
+						-name '*.[ch]' -print`
 
 
 etags:
 etags:
-		etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) include \
-				lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
-				fs/cramfs fs/fat fs/fdos fs/jffs2 \
-				net disk rtc dtt drivers drivers/sk98lin common \
-			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
+		etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) $(TAG_SUBDIRS) \
+						-name '*.[ch]' -print`
 
 
 $(obj)System.map:	$(obj)u-boot
 $(obj)System.map:	$(obj)u-boot
 		@$(NM) $< | \
 		@$(NM) $< | \
 		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
 		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
 		sort > $(obj)System.map
 		sort > $(obj)System.map
 
 
+#
+# Auto-generate the autoconf.mk file (which is included by all makefiles)
+#
+# This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
+# the dep file is only include in this top level makefile to determine when
+# to regenerate the autoconf.mk file.
+$(OBJTREE)/include/autoconf.mk: $(obj)include/config.h
+	@echo Generating include/autoconf.mk
+	@# Generate the dependancies
+	@$(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h > $@.dep
+	@# Extract the config macros
+	@$(CPP) $(CFLAGS) -dM include/common.h | sed -n -f tools/scripts/define2mk.sed >> $@
+
+sinclude $(OBJTREE)/include/autoconf.mk.dep
+
 #########################################################################
 #########################################################################
 else
 else
 all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
 all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
@@ -364,7 +412,8 @@ CHANGELOG:
 
 
 unconfig:
 unconfig:
 	@rm -f $(obj)include/config.h $(obj)include/config.mk \
 	@rm -f $(obj)include/config.h $(obj)include/config.mk \
-		$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp
+		$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
+		$(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep
 
 
 #========================================================================
 #========================================================================
 # PowerPC
 # PowerPC

+ 1 - 1
board/cds/mpc8541cds/u-boot.lds

@@ -69,7 +69,7 @@ SECTIONS
     cpu/mpc85xx/interrupts.o (.text)
     cpu/mpc85xx/interrupts.o (.text)
     cpu/mpc85xx/cpu_init.o (.text)
     cpu/mpc85xx/cpu_init.o (.text)
     cpu/mpc85xx/cpu.o (.text)
     cpu/mpc85xx/cpu.o (.text)
-    drivers/tsec.o (.text)
+    drivers/net/tsec.o (.text)
     cpu/mpc85xx/speed.o (.text)
     cpu/mpc85xx/speed.o (.text)
     cpu/mpc85xx/pci.o (.text)
     cpu/mpc85xx/pci.o (.text)
     common/dlmalloc.o (.text)
     common/dlmalloc.o (.text)

+ 1 - 1
board/cds/mpc8548cds/u-boot.lds

@@ -69,7 +69,7 @@ SECTIONS
     cpu/mpc85xx/interrupts.o (.text)
     cpu/mpc85xx/interrupts.o (.text)
     cpu/mpc85xx/cpu_init.o (.text)
     cpu/mpc85xx/cpu_init.o (.text)
     cpu/mpc85xx/cpu.o (.text)
     cpu/mpc85xx/cpu.o (.text)
-    drivers/tsec.o (.text)
+    drivers/net/tsec.o (.text)
     cpu/mpc85xx/speed.o (.text)
     cpu/mpc85xx/speed.o (.text)
     common/dlmalloc.o (.text)
     common/dlmalloc.o (.text)
     lib_generic/crc32.o (.text)
     lib_generic/crc32.o (.text)

+ 1 - 1
board/cds/mpc8555cds/u-boot.lds

@@ -69,7 +69,7 @@ SECTIONS
     cpu/mpc85xx/interrupts.o (.text)
     cpu/mpc85xx/interrupts.o (.text)
     cpu/mpc85xx/cpu_init.o (.text)
     cpu/mpc85xx/cpu_init.o (.text)
     cpu/mpc85xx/cpu.o (.text)
     cpu/mpc85xx/cpu.o (.text)
-    drivers/tsec.o (.text)
+    drivers/net/tsec.o (.text)
     cpu/mpc85xx/speed.o (.text)
     cpu/mpc85xx/speed.o (.text)
     cpu/mpc85xx/pci.o (.text)
     cpu/mpc85xx/pci.o (.text)
     common/dlmalloc.o (.text)
     common/dlmalloc.o (.text)

+ 1 - 1
board/cm5200/cm5200.c

@@ -276,7 +276,7 @@ static void ft_blob_update(void *blob, bd_t *bd)
 	memory_data[0] = cpu_to_be32(bd->bi_memstart);
 	memory_data[0] = cpu_to_be32(bd->bi_memstart);
 	memory_data[1] = cpu_to_be32(bd->bi_memsize);
 	memory_data[1] = cpu_to_be32(bd->bi_memsize);
 
 
-	nodeoffset = fdt_find_node_by_path (blob, "/memory");
+	nodeoffset = fdt_path_offset (blob, "/memory");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		ret = fdt_setprop(blob, nodeoffset, "reg", memory_data,
 		ret = fdt_setprop(blob, nodeoffset, "reg", memory_data,
 					sizeof(memory_data));
 					sizeof(memory_data));

+ 1 - 1
board/freescale/mpc832xemds/pci.c

@@ -269,7 +269,7 @@ ft_pci_setup(void *blob, bd_t *bd)
 	int err;
 	int err;
 	int tmp[2];
 	int tmp[2];
 
 
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(hose[0].first_busno);
 		tmp[0] = cpu_to_be32(hose[0].first_busno);
 		tmp[1] = cpu_to_be32(hose[0].last_busno);
 		tmp[1] = cpu_to_be32(hose[0].last_busno);

+ 2 - 2
board/freescale/mpc8349emds/pci.c

@@ -396,7 +396,7 @@ ft_pci_setup(void *blob, bd_t *bd)
 	int err;
 	int err;
 	int tmp[2];
 	int tmp[2];
 
 
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
@@ -408,7 +408,7 @@ ft_pci_setup(void *blob, bd_t *bd)
 				  tmp, sizeof(tmp[0]));
 				  tmp, sizeof(tmp[0]));
 	}
 	}
 #ifdef CONFIG_MPC83XX_PCI2
 #ifdef CONFIG_MPC83XX_PCI2
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8600");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8600");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(pci_hose[1].first_busno);
 		tmp[0] = cpu_to_be32(pci_hose[1].first_busno);
 		tmp[1] = cpu_to_be32(pci_hose[1].last_busno);
 		tmp[1] = cpu_to_be32(pci_hose[1].last_busno);

+ 2 - 2
board/freescale/mpc8349itx/pci.c

@@ -342,7 +342,7 @@ ft_pci_setup(void *blob, bd_t *bd)
 	int err;
 	int err;
 	int tmp[2];
 	int tmp[2];
 
 
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
@@ -354,7 +354,7 @@ ft_pci_setup(void *blob, bd_t *bd)
 				  tmp, sizeof(tmp[0]));
 				  tmp, sizeof(tmp[0]));
 	}
 	}
 #ifdef CONFIG_MPC83XX_PCI2
 #ifdef CONFIG_MPC83XX_PCI2
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(pci_hose[1].first_busno);
 		tmp[0] = cpu_to_be32(pci_hose[1].first_busno);
 		tmp[1] = cpu_to_be32(pci_hose[1].last_busno);
 		tmp[1] = cpu_to_be32(pci_hose[1].last_busno);

+ 1 - 1
board/freescale/mpc8360emds/pci.c

@@ -269,7 +269,7 @@ ft_pci_setup(void *blob, bd_t *bd)
 	int err;
 	int err;
 	int tmp[2];
 	int tmp[2];
 
 
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(hose[0].first_busno);
 		tmp[0] = cpu_to_be32(hose[0].first_busno);
 		tmp[1] = cpu_to_be32(hose[0].last_busno);
 		tmp[1] = cpu_to_be32(hose[0].last_busno);

+ 1 - 1
board/mpl/vcma9/cmd_vcma9.c

@@ -31,7 +31,7 @@
 #include "../common/common_util.h"
 #include "../common/common_util.h"
 
 
 #if defined(CONFIG_DRIVER_CS8900)
 #if defined(CONFIG_DRIVER_CS8900)
-#include <../drivers/cs8900.h>
+#include <../drivers/net/cs8900.h>
 
 
 static uchar cs8900_chksum(ushort data)
 static uchar cs8900_chksum(ushort data)
 {
 {

+ 1 - 1
board/netstar/eeprom.c

@@ -26,7 +26,7 @@
 
 
 #include <common.h>
 #include <common.h>
 #include <exports.h>
 #include <exports.h>
-#include "../drivers/smc91111.h"
+#include "../drivers/net/smc91111.h"
 
 
 #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE
 #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE
 
 

+ 1 - 1
board/voiceblue/eeprom.c

@@ -26,7 +26,7 @@
 
 
 #include <common.h>
 #include <common.h>
 #include <exports.h>
 #include <exports.h>
-#include "../drivers/smc91111.h"
+#include "../drivers/net/smc91111.h"
 
 
 #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE
 #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE
 
 

+ 45 - 37
common/Makefile

@@ -33,53 +33,61 @@ COBJS-y += altera.o
 COBJS-y += bedbug.o
 COBJS-y += bedbug.o
 COBJS-y += circbuf.o
 COBJS-y += circbuf.o
 COBJS-y += cmd_autoscript.o
 COBJS-y += cmd_autoscript.o
-COBJS-y += cmd_bdinfo.o
-COBJS-y += cmd_bedbug.o
-COBJS-y += cmd_bmp.o
+COBJS-$(CONFIG_CMD_BDI) += cmd_bdinfo.o
+COBJS-$(CONFIG_CMD_BEDBUG) += cmd_bedbug.o
+COBJS-$(CONFIG_CMD_BMP) += cmd_bmp.o
 COBJS-y += cmd_boot.o
 COBJS-y += cmd_boot.o
 COBJS-y += cmd_bootm.o
 COBJS-y += cmd_bootm.o
-COBJS-y += cmd_cache.o
-COBJS-y += cmd_console.o
-COBJS-y += cmd_date.o
-COBJS-y += cmd_dcr.o
-COBJS-y += cmd_diag.o
-COBJS-y += cmd_display.o
-COBJS-y += cmd_doc.o
-COBJS-y += cmd_dtt.o
+COBJS-$(CONFIG_CMD_CACHE) += cmd_cache.o
+COBJS-$(CONFIG_CMD_CONSOLE) += cmd_console.o
+COBJS-$(CONFIG_CMD_DATE) += cmd_date.o
+ifdef CONFIG_4xx
+COBJS-$(CONFIG_CMD_SETGETDCR) += cmd_dcr.o
+endif
+ifdef CONFIG_POST
+COBJS-$(CONFIG_CMD_DIAG) += cmd_diag.o
+endif
+COBJS-$(CONFIG_CMD_DISPLAY) += cmd_display.o
+COBJS-$(CONFIG_CMD_DOC) += cmd_doc.o
+COBJS-$(CONFIG_CMD_DTT) += cmd_dtt.o
 COBJS-y += cmd_eeprom.o
 COBJS-y += cmd_eeprom.o
-COBJS-y += cmd_elf.o
-COBJS-y += cmd_ext2.o
-COBJS-y += cmd_fat.o
+COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
+COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
+COBJS-$(CONFIG_CMD_FAT) += cmd_fat.o
 COBJS-y += cmd_fdc.o
 COBJS-y += cmd_fdc.o
-COBJS-y += cmd_fdt.o
-COBJS-y += cmd_fdos.o
-COBJS-y += cmd_flash.o
-COBJS-y += cmd_fpga.o
-COBJS-y += cmd_i2c.o
-COBJS-y += cmd_ide.o
-COBJS-y += cmd_immap.o
-COBJS-y += cmd_itest.o
-COBJS-y += cmd_jffs2.o
+COBJS-$(CONFIG_OF_LIBFDT) += cmd_fdt.o
+COBJS-$(CONFIG_CMD_FDOS) += cmd_fdos.o
+COBJS-$(CONFIG_CMD_FLASH) += cmd_flash.o
+ifdef CONFIG_FPGA
+COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
+endif
+COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
+COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
+COBJS-$(CONFIG_CMD_IMMAP) += cmd_immap.o
+COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o
+COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
 COBJS-y += cmd_load.o
 COBJS-y += cmd_load.o
-COBJS-y += cmd_log.o
+COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
 COBJS-y += cmd_mem.o
 COBJS-y += cmd_mem.o
-COBJS-y += cmd_mii.o
-COBJS-y += cmd_misc.o
-COBJS-y += cmd_mmc.o
+COBJS-$(CONFIG_CMD_MII) += cmd_mii.o
+COBJS-$(CONFIG_CMD_MISC) += cmd_misc.o
+COBJS-$(CONFIG_CMD_MMC) += cmd_mmc.o
 COBJS-y += cmd_nand.o
 COBJS-y += cmd_nand.o
-COBJS-y += cmd_net.o
+COBJS-$(CONFIG_CMD_NET) += cmd_net.o
 COBJS-y += cmd_nvedit.o
 COBJS-y += cmd_nvedit.o
 COBJS-y += cmd_onenand.o
 COBJS-y += cmd_onenand.o
-COBJS-y += cmd_pci.o
+ifdef CONFIG_PCI
+COBJS-$(CONFIG_CMD_PCI) += cmd_pci.o
+endif
 COBJS-y += cmd_pcmcia.o
 COBJS-y += cmd_pcmcia.o
-COBJS-y += cmd_portio.o
-COBJS-y += cmd_reginfo.o
-COBJS-y += cmd_reiser.o
+COBJS-$(CONFIG_CMD_PORTIO) += cmd_portio.o
+COBJS-$(CONFIG_CMD_REGINFO) += cmd_reginfo.o
+COBJS-$(CONFIG_CMD_REISER) += cmd_reiser.o
 COBJS-y += cmd_sata.o
 COBJS-y += cmd_sata.o
-COBJS-y += cmd_scsi.o
-COBJS-y += cmd_spi.o
-COBJS-y += cmd_universe.o
-COBJS-y += cmd_usb.o
+COBJS-$(CONFIG_CMD_SCSI) += cmd_scsi.o
+COBJS-$(CONFIG_CMD_SPI) += cmd_spi.o
+COBJS-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
+COBJS-$(CONFIG_CMD_USB) += cmd_usb.o
 COBJS-y += cmd_vfd.o
 COBJS-y += cmd_vfd.o
 COBJS-y += command.o
 COBJS-y += command.o
 COBJS-y += console.o
 COBJS-y += console.o
@@ -123,7 +131,7 @@ COBJS-y += xilinx.o
 COBJS-y += crc16.o
 COBJS-y += crc16.o
 COBJS-y += xyzModem.o
 COBJS-y += xyzModem.o
 COBJS-y += cmd_mac.o
 COBJS-y += cmd_mac.o
-COBJS-y += cmd_mfsl.o
+COBJS-$(CONFIG_CMD_MFSL) += cmd_mfsl.o
 
 
 COBJS	:= $(COBJS-y)
 COBJS	:= $(COBJS-y)
 SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)
 SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)

+ 0 - 2
common/cmd_bdinfo.c

@@ -30,7 +30,6 @@
 
 
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
-#if defined(CONFIG_CMD_BDI)
 static void print_num(const char *, ulong);
 static void print_num(const char *, ulong);
 
 
 #ifndef CONFIG_ARM	/* PowerPC and other */
 #ifndef CONFIG_ARM	/* PowerPC and other */
@@ -350,4 +349,3 @@ U_BOOT_CMD(
 	"bdinfo  - print Board Info structure\n",
 	"bdinfo  - print Board Info structure\n",
 	NULL
 	NULL
 );
 );
-#endif

+ 0 - 3
common/cmd_bedbug.c

@@ -13,8 +13,6 @@
 
 
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
-#if defined(CONFIG_CMD_BEDBUG)
-
 #ifndef MAX
 #ifndef MAX
 #define MAX(a,b) ((a) > (b) ? (a) : (b))
 #define MAX(a,b) ((a) > (b) ? (a) : (b))
 #endif
 #endif
@@ -413,7 +411,6 @@ int do_bedbug_rdump (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 U_BOOT_CMD (rdump, 1, 1, do_bedbug_rdump,
 U_BOOT_CMD (rdump, 1, 1, do_bedbug_rdump,
 	    "rdump   - Show registers.\n", " - Show registers.\n");
 	    "rdump   - Show registers.\n", " - Show registers.\n");
 /* ====================================================================== */
 /* ====================================================================== */
-#endif
 
 
 
 
 /*
 /*

+ 0 - 4
common/cmd_bmp.c

@@ -31,8 +31,6 @@
 #include <asm/byteorder.h>
 #include <asm/byteorder.h>
 #include <malloc.h>
 #include <malloc.h>
 
 
-#if defined(CONFIG_CMD_BMP)
-
 static int bmp_info (ulong addr);
 static int bmp_info (ulong addr);
 static int bmp_display (ulong addr, int x, int y);
 static int bmp_display (ulong addr, int x, int y);
 
 
@@ -187,5 +185,3 @@ static int bmp_display(ulong addr, int x, int y)
 # error bmp_display() requires CONFIG_LCD or CONFIG_VIDEO
 # error bmp_display() requires CONFIG_LCD or CONFIG_VIDEO
 #endif
 #endif
 }
 }
-
-#endif /* defined(CONFIG_CMD_BMP) */

+ 0 - 4
common/cmd_console.c

@@ -28,8 +28,6 @@
 #include <command.h>
 #include <command.h>
 #include <devices.h>
 #include <devices.h>
 
 
-#if defined(CONFIG_CMD_CONSOLE)
-
 extern void _do_coninfo (void);
 extern void _do_coninfo (void);
 int do_coninfo (cmd_tbl_t * cmd, int flag, int argc, char *argv[])
 int do_coninfo (cmd_tbl_t * cmd, int flag, int argc, char *argv[])
 {
 {
@@ -67,5 +65,3 @@ U_BOOT_CMD(
 	"coninfo - print console devices and information\n",
 	"coninfo - print console devices and information\n",
 	""
 	""
 );
 );
-
-#endif

+ 0 - 4
common/cmd_date.c

@@ -31,8 +31,6 @@
 
 
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
-#if defined(CONFIG_CMD_DATE)
-
 const char *weekdays[] = {
 const char *weekdays[] = {
 	"Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur",
 	"Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur",
 };
 };
@@ -210,5 +208,3 @@ U_BOOT_CMD(
 	"  - with numeric argument: set the system date & time\n"
 	"  - with numeric argument: set the system date & time\n"
 	"  - with 'reset' argument: reset the RTC\n"
 	"  - with 'reset' argument: reset the RTC\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_dcr.c

@@ -29,8 +29,6 @@
 #include <config.h>
 #include <config.h>
 #include <command.h>
 #include <command.h>
 
 
-#if defined(CONFIG_4xx) && defined(CONFIG_CMD_SETGETDCR)
-
 unsigned long get_dcr (unsigned short);
 unsigned long get_dcr (unsigned short);
 unsigned long set_dcr (unsigned short, unsigned long);
 unsigned long set_dcr (unsigned short, unsigned long);
 
 
@@ -245,5 +243,3 @@ U_BOOT_CMD(
 	"setidcr - Set a register value via indirect DCR addressing\n",
 	"setidcr - Set a register value via indirect DCR addressing\n",
 	"adr_dcrn[.dat_dcrn] offset value - write offset to adr_dcrn, write value to dat_dcrn.\n"
 	"adr_dcrn[.dat_dcrn] offset value - write offset to adr_dcrn, write value to dat_dcrn.\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_diag.c

@@ -28,8 +28,6 @@
 #include <command.h>
 #include <command.h>
 #include <post.h>
 #include <post.h>
 
 
-#if defined(CONFIG_CMD_DIAG) && defined(CONFIG_POST)
-
 int do_diag (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 int do_diag (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 {
 {
 	unsigned int i;
 	unsigned int i;
@@ -76,5 +74,3 @@ U_BOOT_CMD(
 	"diag run [test1 [test2]]\n"
 	"diag run [test1 [test2]]\n"
 	"         - run specified tests\n"
 	"         - run specified tests\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_display.c

@@ -24,8 +24,6 @@
 #include <common.h>
 #include <common.h>
 #include <command.h>
 #include <command.h>
 
 
-#if defined(CONFIG_CMD_DISPLAY)
-
 #undef DEBUG_DISP
 #undef DEBUG_DISP
 
 
 #define DISP_SIZE	8
 #define DISP_SIZE	8
@@ -78,5 +76,3 @@ U_BOOT_CMD(
 	"    - with <string> argument: display <string> on dot matrix display\n"
 	"    - with <string> argument: display <string> on dot matrix display\n"
 	"    - without arguments: clear dot matrix display\n"
 	"    - without arguments: clear dot matrix display\n"
 );
 );
-
-#endif

+ 0 - 5
common/cmd_doc.c

@@ -11,9 +11,6 @@
 #include <command.h>
 #include <command.h>
 #include <malloc.h>
 #include <malloc.h>
 #include <asm/io.h>
 #include <asm/io.h>
-
-#if defined(CONFIG_CMD_DOC)
-
 #include <linux/mtd/nftl.h>
 #include <linux/mtd/nftl.h>
 #include <linux/mtd/doc2000.h>
 #include <linux/mtd/doc2000.h>
 
 
@@ -1607,5 +1604,3 @@ void doc_probe(unsigned long physadr)
 		puts ("No DiskOnChip found\n");
 		puts ("No DiskOnChip found\n");
 	}
 	}
 }
 }
-
-#endif

+ 0 - 4
common/cmd_dtt.c

@@ -25,8 +25,6 @@
 #include <config.h>
 #include <config.h>
 #include <command.h>
 #include <command.h>
 
 
-#if defined(CONFIG_CMD_DTT)
-
 #include <dtt.h>
 #include <dtt.h>
 #include <i2c.h>
 #include <i2c.h>
 
 
@@ -60,5 +58,3 @@ U_BOOT_CMD(
 	  "dtt     - Digital Thermometer and Thermostat\n",
 	  "dtt     - Digital Thermometer and Thermostat\n",
 	  "        - Read temperature from digital thermometer and thermostat.\n"
 	  "        - Read temperature from digital thermometer and thermostat.\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_elf.c

@@ -23,8 +23,6 @@
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 #endif
 #endif
 
 
-#if defined(CONFIG_CMD_ELF)
-
 #ifndef MAX
 #ifndef MAX
 #define MAX(a,b) ((a) > (b) ? (a) : (b))
 #define MAX(a,b) ((a) > (b) ? (a) : (b))
 #endif
 #endif
@@ -323,5 +321,3 @@ U_BOOT_CMD(
 	"bootvx  - Boot vxWorks from an ELF image\n",
 	"bootvx  - Boot vxWorks from an ELF image\n",
 	" [address] - load address of vxWorks ELF image.\n"
 	" [address] - load address of vxWorks ELF image.\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_ext2.c

@@ -34,8 +34,6 @@
  */
  */
 #include <common.h>
 #include <common.h>
 #include <part.h>
 #include <part.h>
-
-#if defined(CONFIG_CMD_EXT2)
 #include <config.h>
 #include <config.h>
 #include <command.h>
 #include <command.h>
 #include <image.h>
 #include <image.h>
@@ -259,5 +257,3 @@ U_BOOT_CMD(
 	"    - load binary file 'filename' from 'dev' on 'interface'\n"
 	"    - load binary file 'filename' from 'dev' on 'interface'\n"
 	"      to address 'addr' from ext2 filesystem\n"
 	"      to address 'addr' from ext2 filesystem\n"
 );
 );
-
-#endif

+ 0 - 7
common/cmd_fat.c

@@ -30,11 +30,6 @@
 #include <net.h>
 #include <net.h>
 #include <ata.h>
 #include <ata.h>
 #include <part.h>
 #include <part.h>
-
-#if defined(CONFIG_CMD_FAT)
-
-#undef	DEBUG
-
 #include <fat.h>
 #include <fat.h>
 
 
 
 
@@ -323,5 +318,3 @@ void hexdump (int cnt, unsigned char *data)
 	}
 	}
 }
 }
 #endif	/* NOT_IMPLEMENTED_YET */
 #endif	/* NOT_IMPLEMENTED_YET */
-
-#endif

+ 0 - 4
common/cmd_fdos.c

@@ -31,8 +31,6 @@
 #include <command.h>
 #include <command.h>
 #include <fdc.h>
 #include <fdc.h>
 
 
-#if defined(CONFIG_CMD_FDOS)
-
 /*-----------------------------------------------------------------------------
 /*-----------------------------------------------------------------------------
  * do_fdosboot --
  * do_fdosboot --
  *-----------------------------------------------------------------------------
  *-----------------------------------------------------------------------------
@@ -153,5 +151,3 @@ U_BOOT_CMD(
 	"fdosls  - list files in a directory\n",
 	"fdosls  - list files in a directory\n",
 	"[directory]\n"
 	"[directory]\n"
 );
 );
-
-#endif

+ 44 - 37
common/cmd_fdt.c

@@ -28,9 +28,6 @@
 #include <command.h>
 #include <command.h>
 #include <linux/ctype.h>
 #include <linux/ctype.h>
 #include <linux/types.h>
 #include <linux/types.h>
-
-#ifdef CONFIG_OF_LIBFDT
-
 #include <asm/global_data.h>
 #include <asm/global_data.h>
 #include <fdt.h>
 #include <fdt.h>
 #include <libfdt.h>
 #include <libfdt.h>
@@ -47,7 +44,7 @@ DECLARE_GLOBAL_DATA_PTR;
 static int fdt_valid(void);
 static int fdt_valid(void);
 static int fdt_parse_prop(char *pathp, char *prop, char *newval,
 static int fdt_parse_prop(char *pathp, char *prop, char *newval,
 	char *data, int *len);
 	char *data, int *len);
-static int fdt_print(char *pathp, char *prop, int depth);
+static int fdt_print(const char *pathp, char *prop, int depth);
 
 
 /*
 /*
  * Flattened Device Tree command, see the help for parameter definitions.
  * Flattened Device Tree command, see the help for parameter definitions.
@@ -78,7 +75,7 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 			/*
 			/*
 			 * Optional new length
 			 * Optional new length
 			 */
 			 */
-			len =  simple_strtoul(argv[3], NULL, 16);
+			len = simple_strtoul(argv[3], NULL, 16);
 			if (len < fdt_totalsize(fdt)) {
 			if (len < fdt_totalsize(fdt)) {
 				printf ("New length %d < existing length %d, "
 				printf ("New length %d < existing length %d, "
 					"ignoring.\n",
 					"ignoring.\n",
@@ -165,12 +162,12 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 		pathp = argv[2];
 		pathp = argv[2];
 		nodep = argv[3];
 		nodep = argv[3];
 
 
-		nodeoffset = fdt_find_node_by_path (fdt, pathp);
+		nodeoffset = fdt_path_offset (fdt, pathp);
 		if (nodeoffset < 0) {
 		if (nodeoffset < 0) {
 			/*
 			/*
 			 * Not found or something else bad happened.
 			 * Not found or something else bad happened.
 			 */
 			 */
-			printf ("libfdt fdt_find_node_by_path() returned %s\n",
+			printf ("libfdt fdt_path_offset() returned %s\n",
 				fdt_strerror(nodeoffset));
 				fdt_strerror(nodeoffset));
 			return 1;
 			return 1;
 		}
 		}
@@ -205,12 +202,12 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 		prop   = argv[3];
 		prop   = argv[3];
 		newval = argv[4];
 		newval = argv[4];
 
 
-		nodeoffset = fdt_find_node_by_path (fdt, pathp);
+		nodeoffset = fdt_path_offset (fdt, pathp);
 		if (nodeoffset < 0) {
 		if (nodeoffset < 0) {
 			/*
 			/*
 			 * Not found or something else bad happened.
 			 * Not found or something else bad happened.
 			 */
 			 */
-			printf ("libfdt fdt_find_node_by_path() returned %s\n",
+			printf ("libfdt fdt_path_offset() returned %s\n",
 				fdt_strerror(nodeoffset));
 				fdt_strerror(nodeoffset));
 			return 1;
 			return 1;
 		}
 		}
@@ -232,6 +229,7 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 		char *pathp;		/* path */
 		char *pathp;		/* path */
 		char *prop;		/* property */
 		char *prop;		/* property */
 		int  ret;		/* return value */
 		int  ret;		/* return value */
+		static char root[2] = "/";
 
 
 		/*
 		/*
 		 * list is an alias for print, but limited to 1 level
 		 * list is an alias for print, but limited to 1 level
@@ -244,7 +242,10 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 		 * Get the starting path.  The root node is an oddball,
 		 * Get the starting path.  The root node is an oddball,
 		 * the offset is zero and has no name.
 		 * the offset is zero and has no name.
 		 */
 		 */
-		pathp = argv[2];
+		if (argc == 2)
+			pathp = root;
+		else
+			pathp = argv[2];
 		if (argc > 3)
 		if (argc > 3)
 			prop = argv[3];
 			prop = argv[3];
 		else
 		else
@@ -265,12 +266,12 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 		 * Get the path.  The root node is an oddball, the offset
 		 * Get the path.  The root node is an oddball, the offset
 		 * is zero and has no name.
 		 * is zero and has no name.
 		 */
 		 */
-		nodeoffset = fdt_find_node_by_path (fdt, argv[2]);
+		nodeoffset = fdt_path_offset (fdt, argv[2]);
 		if (nodeoffset < 0) {
 		if (nodeoffset < 0) {
 			/*
 			/*
 			 * Not found or something else bad happened.
 			 * Not found or something else bad happened.
 			 */
 			 */
-			printf ("libfdt fdt_find_node_by_path() returned %s\n",
+			printf ("libfdt fdt_path_offset() returned %s\n",
 				fdt_strerror(nodeoffset));
 				fdt_strerror(nodeoffset));
 			return 1;
 			return 1;
 		}
 		}
@@ -521,21 +522,21 @@ static void print_data(const void *data, int len)
 
 
 	switch (len) {
 	switch (len) {
 	case 1:	 /* byte */
 	case 1:	 /* byte */
-		printf("<%02x>", (*(u8 *) data) & 0xff);
+		printf("<0x%02x>", (*(u8 *) data) & 0xff);
 		break;
 		break;
 	case 2:	 /* half-word */
 	case 2:	 /* half-word */
-		printf("<%04x>", be16_to_cpu(*(u16 *) data) & 0xffff);
+		printf("<0x%04x>", be16_to_cpu(*(u16 *) data) & 0xffff);
 		break;
 		break;
 	case 4:	 /* word */
 	case 4:	 /* word */
-		printf("<%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
+		printf("<0x%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
 		break;
 		break;
 	case 8:	 /* double-word */
 	case 8:	 /* double-word */
 #if __WORDSIZE == 64
 #if __WORDSIZE == 64
-		printf("<%016llx>", be64_to_cpu(*(uint64_t *) data));
+		printf("<0x%016llx>", be64_to_cpu(*(uint64_t *) data));
 #else
 #else
-		printf("<%08x ", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
+		printf("<0x%08x ", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
 		data += 4;
 		data += 4;
-		printf("%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
+		printf("0x%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
 #endif
 #endif
 		break;
 		break;
 	default:		/* anything else... hexdump */
 	default:		/* anything else... hexdump */
@@ -554,25 +555,25 @@ static void print_data(const void *data, int len)
  * Recursively print (a portion of) the fdt.  The depth parameter
  * Recursively print (a portion of) the fdt.  The depth parameter
  * determines how deeply nested the fdt is printed.
  * determines how deeply nested the fdt is printed.
  */
  */
-static int fdt_print(char *pathp, char *prop, int depth)
+static int fdt_print(const char *pathp, char *prop, int depth)
 {
 {
-	static int offstack[MAX_LEVEL];
 	static char tabs[MAX_LEVEL+1] =
 	static char tabs[MAX_LEVEL+1] =
 		"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"
 		"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"
 		"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
 		"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
-	void *nodep;		/* property node pointer */
+	const void *nodep;	/* property node pointer */
 	int  nodeoffset;	/* node offset from libfdt */
 	int  nodeoffset;	/* node offset from libfdt */
 	int  nextoffset;	/* next node offset from libfdt */
 	int  nextoffset;	/* next node offset from libfdt */
 	uint32_t tag;		/* tag */
 	uint32_t tag;		/* tag */
 	int  len;		/* length of the property */
 	int  len;		/* length of the property */
 	int  level = 0;		/* keep track of nesting level */
 	int  level = 0;		/* keep track of nesting level */
+	const struct fdt_property *fdt_prop;
 
 
-	nodeoffset = fdt_find_node_by_path (fdt, pathp);
+	nodeoffset = fdt_path_offset (fdt, pathp);
 	if (nodeoffset < 0) {
 	if (nodeoffset < 0) {
 		/*
 		/*
 		 * Not found or something else bad happened.
 		 * Not found or something else bad happened.
 		 */
 		 */
-		printf ("libfdt fdt_find_node_by_path() returned %s\n",
+		printf ("libfdt fdt_path_offset() returned %s\n",
 			fdt_strerror(nodeoffset));
 			fdt_strerror(nodeoffset));
 		return 1;
 		return 1;
 	}
 	}
@@ -602,45 +603,52 @@ static int fdt_print(char *pathp, char *prop, int depth)
 	 * The user passed in a node path and no property,
 	 * The user passed in a node path and no property,
 	 * print the node and all subnodes.
 	 * print the node and all subnodes.
 	 */
 	 */
-	offstack[0] = nodeoffset;
-
 	while(level >= 0) {
 	while(level >= 0) {
-		tag = fdt_next_tag(fdt, nodeoffset, &nextoffset, &pathp);
+		tag = fdt_next_tag(fdt, nodeoffset, &nextoffset);
 		switch(tag) {
 		switch(tag) {
 		case FDT_BEGIN_NODE:
 		case FDT_BEGIN_NODE:
-			if(level <= depth)
+			pathp = fdt_get_name(fdt, nodeoffset, NULL);
+			if (level <= depth) {
+				if (pathp == NULL)
+					pathp = "/* NULL pointer error */";
+				if (*pathp == '\0')
+					pathp = "/";	/* root is nameless */
 				printf("%s%s {\n",
 				printf("%s%s {\n",
 					&tabs[MAX_LEVEL - level], pathp);
 					&tabs[MAX_LEVEL - level], pathp);
+			}
 			level++;
 			level++;
-			offstack[level] = nodeoffset;
 			if (level >= MAX_LEVEL) {
 			if (level >= MAX_LEVEL) {
-				printf("Aaaiii <splat> nested too deep. "
-					"Aborting.\n");
+				printf("Nested too deep, aborting.\n");
 				return 1;
 				return 1;
 			}
 			}
 			break;
 			break;
 		case FDT_END_NODE:
 		case FDT_END_NODE:
 			level--;
 			level--;
-			if(level <= depth)
+			if (level <= depth)
 				printf("%s};\n", &tabs[MAX_LEVEL - level]);
 				printf("%s};\n", &tabs[MAX_LEVEL - level]);
 			if (level == 0) {
 			if (level == 0) {
 				level = -1;		/* exit the loop */
 				level = -1;		/* exit the loop */
 			}
 			}
 			break;
 			break;
 		case FDT_PROP:
 		case FDT_PROP:
-			nodep = fdt_getprop (fdt, offstack[level], pathp, &len);
+			fdt_prop = fdt_offset_ptr(fdt, nodeoffset,
+					sizeof(*fdt_prop));
+			pathp    = fdt_string(fdt,
+					fdt32_to_cpu(fdt_prop->nameoff));
+			len      = fdt32_to_cpu(fdt_prop->len);
+			nodep    = fdt_prop->data;
 			if (len < 0) {
 			if (len < 0) {
 				printf ("libfdt fdt_getprop(): %s\n",
 				printf ("libfdt fdt_getprop(): %s\n",
 					fdt_strerror(len));
 					fdt_strerror(len));
 				return 1;
 				return 1;
 			} else if (len == 0) {
 			} else if (len == 0) {
 				/* the property has no value */
 				/* the property has no value */
-				if(level <= depth)
+				if (level <= depth)
 					printf("%s%s;\n",
 					printf("%s%s;\n",
 						&tabs[MAX_LEVEL - level],
 						&tabs[MAX_LEVEL - level],
 						pathp);
 						pathp);
 			} else {
 			} else {
-				if(level <= depth) {
+				if (level <= depth) {
 					printf("%s%s=",
 					printf("%s%s=",
 						&tabs[MAX_LEVEL - level],
 						&tabs[MAX_LEVEL - level],
 						pathp);
 						pathp);
@@ -650,11 +658,12 @@ static int fdt_print(char *pathp, char *prop, int depth)
 			}
 			}
 			break;
 			break;
 		case FDT_NOP:
 		case FDT_NOP:
+			printf("/* NOP */\n", &tabs[MAX_LEVEL - level]);
 			break;
 			break;
 		case FDT_END:
 		case FDT_END:
 			return 1;
 			return 1;
 		default:
 		default:
-			if(level <= depth)
+			if (level <= depth)
 				printf("Unknown tag 0x%08X\n", tag);
 				printf("Unknown tag 0x%08X\n", tag);
 			return 1;
 			return 1;
 		}
 		}
@@ -692,5 +701,3 @@ U_BOOT_CMD(
 	"          fdt print /cpus \"#address-cells\"\n"
 	"          fdt print /cpus \"#address-cells\"\n"
 	"          fdt set   /cpus \"#address-cells\" \"[00 00 00 01]\"\n"
 	"          fdt set   /cpus \"#address-cells\" \"[00 00 00 01]\"\n"
 );
 );
-
-#endif /* CONFIG_OF_LIBFDT */

+ 0 - 4
common/cmd_flash.c

@@ -31,8 +31,6 @@
 #include <dataflash.h>
 #include <dataflash.h>
 #endif
 #endif
 
 
-#if defined(CONFIG_CMD_FLASH)
-
 #if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_JFFS2_CMDLINE)
 #if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_JFFS2_CMDLINE)
 #include <jffs2/jffs2.h>
 #include <jffs2/jffs2.h>
 
 
@@ -731,5 +729,3 @@ U_BOOT_CMD(
 #undef	TMP_ERASE
 #undef	TMP_ERASE
 #undef	TMP_PROT_ON
 #undef	TMP_PROT_ON
 #undef	TMP_PROT_OFF
 #undef	TMP_PROT_OFF
-
-#endif

+ 0 - 3
common/cmd_fpga.c

@@ -43,8 +43,6 @@
 #define PRINTF(fmt,args...)
 #define PRINTF(fmt,args...)
 #endif
 #endif
 
 
-#if defined (CONFIG_FPGA) && defined(CONFIG_CMD_FPGA)
-
 /* Local functions */
 /* Local functions */
 static void fpga_usage (cmd_tbl_t * cmdtp);
 static void fpga_usage (cmd_tbl_t * cmdtp);
 static int fpga_get_op (char *opstr);
 static int fpga_get_op (char *opstr);
@@ -321,4 +319,3 @@ U_BOOT_CMD (fpga, 6, 1, do_fpga,
 	    "\tloadb\tLoad device from bitstream buffer (Xilinx devices only)\n"
 	    "\tloadb\tLoad device from bitstream buffer (Xilinx devices only)\n"
 	    "\tloadmk\tLoad device generated with mkimage\n"
 	    "\tloadmk\tLoad device generated with mkimage\n"
 	    "\tdump\tLoad device to memory buffer\n");
 	    "\tdump\tLoad device to memory buffer\n");
-#endif

+ 0 - 5
common/cmd_i2c.c

@@ -86,9 +86,6 @@
 #include <i2c.h>
 #include <i2c.h>
 #include <asm/byteorder.h>
 #include <asm/byteorder.h>
 
 
-#if defined(CONFIG_CMD_I2C)
-
-
 /* Display values from last command.
 /* Display values from last command.
  * Memory modify remembered values are different from display memory.
  * Memory modify remembered values are different from display memory.
  */
  */
@@ -1024,5 +1021,3 @@ U_BOOT_CMD(
 	"      (valid chip values 50..57)\n"
 	"      (valid chip values 50..57)\n"
 );
 );
 #endif
 #endif
-
-#endif

+ 0 - 4
common/cmd_ide.c

@@ -68,8 +68,6 @@ DECLARE_GLOBAL_DATA_PTR;
 # define SYNC		/* nothing */
 # define SYNC		/* nothing */
 #endif
 #endif
 
 
-#if defined(CONFIG_CMD_IDE)
-
 #ifdef CONFIG_IDE_8xx_DIRECT
 #ifdef CONFIG_IDE_8xx_DIRECT
 /* Timings for IDE Interface
 /* Timings for IDE Interface
  *
  *
@@ -2081,5 +2079,3 @@ U_BOOT_CMD(
 	"diskboot- boot from IDE device\n",
 	"diskboot- boot from IDE device\n",
 	"loadAddr dev:part\n"
 	"loadAddr dev:part\n"
 );
 );
-
-#endif

+ 1 - 4
common/cmd_immap.c

@@ -28,8 +28,7 @@
 #include <common.h>
 #include <common.h>
 #include <command.h>
 #include <command.h>
 
 
-#if defined(CONFIG_CMD_IMMAP) && \
-    (defined(CONFIG_8xx) || defined(CONFIG_8260))
+#if defined(CONFIG_8xx) || defined(CONFIG_8260)
 
 
 #if defined(CONFIG_8xx)
 #if defined(CONFIG_8xx)
 #include <asm/8xx_immap.h>
 #include <asm/8xx_immap.h>
@@ -41,9 +40,7 @@
 #include <asm/iopin_8260.h>
 #include <asm/iopin_8260.h>
 #endif
 #endif
 
 
-#if defined(CONFIG_8xx) || defined(CONFIG_8260)
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
-#endif
 
 
 static void
 static void
 unimplemented ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 unimplemented ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])

+ 0 - 3
common/cmd_itest.c

@@ -32,8 +32,6 @@
 #include <config.h>
 #include <config.h>
 #include <command.h>
 #include <command.h>
 
 
-#if defined(CONFIG_CMD_ITEST)
-
 #define EQ	0
 #define EQ	0
 #define NE	1
 #define NE	1
 #define LT	2
 #define LT	2
@@ -197,4 +195,3 @@ U_BOOT_CMD(
 	"itest\t- return true/false on integer compare\n",
 	"itest\t- return true/false on integer compare\n",
 	"[.b, .w, .l, .s] [*]value1 <op> [*]value2\n"
 	"[.b, .w, .l, .s] [*]value1 <op> [*]value2\n"
 );
 );
-#endif

+ 0 - 5
common/cmd_jffs2.c

@@ -93,9 +93,6 @@
 #include <jffs2/jffs2.h>
 #include <jffs2/jffs2.h>
 #include <linux/list.h>
 #include <linux/list.h>
 #include <linux/ctype.h>
 #include <linux/ctype.h>
-
-#if defined(CONFIG_CMD_JFFS2)
-
 #include <cramfs/cramfs_fs.h>
 #include <cramfs/cramfs_fs.h>
 
 
 #if defined(CONFIG_CMD_NAND)
 #if defined(CONFIG_CMD_NAND)
@@ -2191,5 +2188,3 @@ U_BOOT_CMD(
 #endif /* #ifdef CONFIG_JFFS2_CMDLINE */
 #endif /* #ifdef CONFIG_JFFS2_CMDLINE */
 
 
 /***************************************************/
 /***************************************************/
-
-#endif

+ 0 - 4
common/cmd_log.c

@@ -48,8 +48,6 @@
 
 
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
-#if defined(CONFIG_LOGBUFFER)
-
 /* Local prototypes */
 /* Local prototypes */
 static void logbuff_putc (const char c);
 static void logbuff_putc (const char c);
 static void logbuff_puts (const char *s);
 static void logbuff_puts (const char *s);
@@ -287,5 +285,3 @@ static int logbuff_printk(const char *line)
 	}
 	}
 	return i;
 	return i;
 }
 }
-
-#endif /* (CONFIG_LOGBUFFER) */

+ 0 - 4
common/cmd_mfsl.c

@@ -29,8 +29,6 @@
 #include <common.h>
 #include <common.h>
 #include <config.h>
 #include <config.h>
 #include <command.h>
 #include <command.h>
-
-#if defined(CONFIG_CMD_MFSL)
 #include <asm/asm.h>
 #include <asm/asm.h>
 
 
 int do_frd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 int do_frd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
@@ -413,5 +411,3 @@ U_BOOT_CMD (rspr, 3, 1, do_rspr,
 		" 1 - MSR - Machine status register\n"
 		" 1 - MSR - Machine status register\n"
 		" 3 - EAR - Exception address register\n"
 		" 3 - EAR - Exception address register\n"
 		" 5 - ESR - Exception status register\n");
 		" 5 - ESR - Exception status register\n");
-
-#endif

+ 0 - 4
common/cmd_mii.c

@@ -27,8 +27,6 @@
 
 
 #include <common.h>
 #include <common.h>
 #include <command.h>
 #include <command.h>
-
-#if defined(CONFIG_CMD_MII)
 #include <miiphy.h>
 #include <miiphy.h>
 
 
 #ifdef CONFIG_TERSE_MII
 #ifdef CONFIG_TERSE_MII
@@ -598,5 +596,3 @@ U_BOOT_CMD(
 );
 );
 
 
 #endif /* CONFIG_TERSE_MII */
 #endif /* CONFIG_TERSE_MII */
-
-#endif

+ 0 - 4
common/cmd_misc.c

@@ -27,8 +27,6 @@
 #include <common.h>
 #include <common.h>
 #include <command.h>
 #include <command.h>
 
 
-#if defined(CONFIG_CMD_MISC)
-
 int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 {
 	ulong start = get_timer(0);
 	ulong start = get_timer(0);
@@ -68,5 +66,3 @@ U_BOOT_CMD(
 	"N\n"
 	"N\n"
 	"    - delay execution for N seconds (N is _decimal_ !!!)\n"
 	"    - delay execution for N seconds (N is _decimal_ !!!)\n"
 );
 );
-
-#endif

+ 0 - 5
common/cmd_mmc.c

@@ -23,9 +23,6 @@
 
 
 #include <common.h>
 #include <common.h>
 #include <command.h>
 #include <command.h>
-
-#if defined(CONFIG_CMD_MMC)
-
 #include <mmc.h>
 #include <mmc.h>
 
 
 int do_mmc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 int do_mmc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@@ -42,5 +39,3 @@ U_BOOT_CMD(
 	"mmcinit - init mmc card\n",
 	"mmcinit - init mmc card\n",
 	NULL
 	NULL
 );
 );
-
-#endif

+ 0 - 4
common/cmd_net.c

@@ -28,8 +28,6 @@
 #include <command.h>
 #include <command.h>
 #include <net.h>
 #include <net.h>
 
 
-#if defined(CONFIG_CMD_NET)
-
 extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 
 
 static int netboot_common (proto_t, cmd_tbl_t *, int , char *[]);
 static int netboot_common (proto_t, cmd_tbl_t *, int , char *[]);
@@ -343,5 +341,3 @@ U_BOOT_CMD(
 	"[NTP server IP]\n"
 	"[NTP server IP]\n"
 );
 );
 #endif
 #endif
-
-#endif

+ 0 - 9
common/cmd_pci.c

@@ -30,16 +30,11 @@
  */
  */
 
 
 #include <common.h>
 #include <common.h>
-
-#ifdef CONFIG_PCI
-
 #include <command.h>
 #include <command.h>
 #include <asm/processor.h>
 #include <asm/processor.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <pci.h>
 #include <pci.h>
 
 
-#if defined(CONFIG_CMD_PCI)
-
 extern int cmd_get_data_size(char* arg, int default_size);
 extern int cmd_get_data_size(char* arg, int default_size);
 
 
 unsigned char	ShortPCIListing = 1;
 unsigned char	ShortPCIListing = 1;
@@ -564,7 +559,3 @@ U_BOOT_CMD(
 	"pci write[.b, .w, .l] b.d.f address value\n"
 	"pci write[.b, .w, .l] b.d.f address value\n"
 	"    - write to CFG address\n"
 	"    - write to CFG address\n"
 );
 );
-
-#endif
-
-#endif /* CONFIG_PCI */

+ 0 - 4
common/cmd_portio.c

@@ -30,8 +30,6 @@
 #include <common.h>
 #include <common.h>
 #include <command.h>
 #include <command.h>
 
 
-#if defined(CONFIG_CMD_PORTIO)
-
 extern int cmd_get_data_size (char *arg, int default_size);
 extern int cmd_get_data_size (char *arg, int default_size);
 
 
 /* Display values from last command.
 /* Display values from last command.
@@ -165,5 +163,3 @@ U_BOOT_CMD(
 	"[.b, .w, .l] port\n"
 	"[.b, .w, .l] port\n"
 	"    - read datum from IO port\n"
 	"    - read datum from IO port\n"
 );
 );
-
-#endif

+ 0 - 5
common/cmd_reginfo.c

@@ -33,8 +33,6 @@
 #include <mpc5xxx.h>
 #include <mpc5xxx.h>
 #endif
 #endif
 
 
-#if defined(CONFIG_CMD_REGINFO)
-
 int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 {
 #if defined(CONFIG_8xx)
 #if defined(CONFIG_8xx)
@@ -335,9 +333,6 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return 0;
 	return 0;
 }
 }
 
 
-#endif
-
-
  /**************************************************/
  /**************************************************/
 
 
 #if ( defined(CONFIG_8xx)   || defined(CONFIG_405GP) || \
 #if ( defined(CONFIG_8xx)   || defined(CONFIG_405GP) || \

+ 0 - 4
common/cmd_reiser.c

@@ -27,8 +27,6 @@
  * Reiserfs support
  * Reiserfs support
  */
  */
 #include <common.h>
 #include <common.h>
-
-#if defined(CONFIG_CMD_REISER)
 #include <config.h>
 #include <config.h>
 #include <command.h>
 #include <command.h>
 #include <image.h>
 #include <image.h>
@@ -239,5 +237,3 @@ U_BOOT_CMD(
 	"    - load binary file 'filename' from 'dev' on 'interface'\n"
 	"    - load binary file 'filename' from 'dev' on 'interface'\n"
 	"      to address 'addr' from dos filesystem\n"
 	"      to address 'addr' from dos filesystem\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_scsi.c

@@ -34,8 +34,6 @@
 #include <image.h>
 #include <image.h>
 #include <pci.h>
 #include <pci.h>
 
 
-#if defined(CONFIG_CMD_SCSI)
-
 #ifdef CONFIG_SCSI_SYM53C8XX
 #ifdef CONFIG_SCSI_SYM53C8XX
 #define SCSI_VEND_ID	0x1000
 #define SCSI_VEND_ID	0x1000
 #ifndef CONFIG_SCSI_DEV_ID
 #ifndef CONFIG_SCSI_DEV_ID
@@ -611,5 +609,3 @@ U_BOOT_CMD(
 	"scsiboot- boot from SCSI device\n",
 	"scsiboot- boot from SCSI device\n",
 	"loadAddr dev:part\n"
 	"loadAddr dev:part\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_spi.c

@@ -29,8 +29,6 @@
 #include <command.h>
 #include <command.h>
 #include <spi.h>
 #include <spi.h>
 
 
-#if defined(CONFIG_CMD_SPI)
-
 /*-----------------------------------------------------------------------
 /*-----------------------------------------------------------------------
  * Definitions
  * Definitions
  */
  */
@@ -139,5 +137,3 @@ U_BOOT_CMD(
 	"<bit_len> - Number of bits to send (base 10)\n"
 	"<bit_len> - Number of bits to send (base 10)\n"
 	"<dout>    - Hexadecimal string that gets sent\n"
 	"<dout>    - Hexadecimal string that gets sent\n"
 );
 );
-
-#endif

+ 0 - 4
common/cmd_universe.c

@@ -28,8 +28,6 @@
 
 
 #include <universe.h>
 #include <universe.h>
 
 
-#if defined(CONFIG_CMD_UNIVERSE)
-
 #define PCI_VENDOR PCI_VENDOR_ID_TUNDRA
 #define PCI_VENDOR PCI_VENDOR_ID_TUNDRA
 #define PCI_DEVICE PCI_DEVICE_ID_TUNDRA_CA91C042
 #define PCI_DEVICE PCI_DEVICE_ID_TUNDRA_CA91C042
 
 
@@ -386,5 +384,3 @@ U_BOOT_CMD(
 	"                                      02 -> D16 Data Width\n"
 	"                                      02 -> D16 Data Width\n"
 	"                                      03 -> D32 Data Width\n"
 	"                                      03 -> D32 Data Width\n"
 );
 );
-
-#endif

+ 0 - 10
common/cmd_usb.c

@@ -29,9 +29,6 @@
 #include <command.h>
 #include <command.h>
 #include <asm/byteorder.h>
 #include <asm/byteorder.h>
 #include <part.h>
 #include <part.h>
-
-#if defined(CONFIG_CMD_USB)
-
 #include <usb.h>
 #include <usb.h>
 
 
 #ifdef CONFIG_USB_STORAGE
 #ifdef CONFIG_USB_STORAGE
@@ -608,12 +605,6 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return 1;
 	return 1;
 }
 }
 
 
-
-#endif
-
-
-#if defined(CONFIG_CMD_USB)
-
 #ifdef CONFIG_USB_STORAGE
 #ifdef CONFIG_USB_STORAGE
 U_BOOT_CMD(
 U_BOOT_CMD(
 	usb,	5,	1,	do_usb,
 	usb,	5,	1,	do_usb,
@@ -645,4 +636,3 @@ U_BOOT_CMD(
 	"usb  info [dev] - show available USB devices\n"
 	"usb  info [dev] - show available USB devices\n"
 );
 );
 #endif
 #endif
-#endif

+ 161 - 22
common/fdt_support.c

@@ -44,6 +44,32 @@ struct fdt_header *fdt;
 
 
 /********************************************************************/
 /********************************************************************/
 
 
+/**
+ * fdt_find_and_setprop: Find a node and set it's property
+ *
+ * @fdt: ptr to device tree
+ * @node: path of node
+ * @prop: property name
+ * @val: ptr to new value
+ * @len: length of new property value
+ * @create: flag to create the property if it doesn't exist
+ *
+ * Convenience function to directly set a property given the path to the node.
+ */
+int fdt_find_and_setprop(void *fdt, const char *node, const char *prop,
+			 const void *val, int len, int create)
+{
+	int nodeoff = fdt_path_offset(fdt, node);
+
+	if (nodeoff < 0)
+		return nodeoff;
+
+	if ((!create) && (fdt_get_property(fdt, nodeoff, prop, 0) == NULL))
+		return 0; /* create flag not set; so exit quietly */
+
+	return fdt_setprop(fdt, nodeoff, prop, val, len);
+}
+
 int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
 int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
 {
 {
 	int   nodeoffset;
 	int   nodeoffset;
@@ -58,34 +84,23 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
 	}
 	}
 
 
 	if (initrd_start && initrd_end) {
 	if (initrd_start && initrd_end) {
-		struct fdt_reserve_entry re;
-		int  used;
-		int  total;
+		uint64_t addr, size;
+		int  total = fdt_num_mem_rsv(fdt);
 		int  j;
 		int  j;
 
 
-		err = fdt_num_reservemap(fdt, &used, &total);
-		if (err < 0) {
-			printf("fdt_chosen: %s\n", fdt_strerror(err));
-			return err;
-		}
-		if (used >= total) {
-			printf("WARNING: "
-				"no room in the reserved map (%d of %d)\n",
-				used, total);
-			return -1;
-		}
 		/*
 		/*
 		 * Look for an existing entry and update it.  If we don't find
 		 * Look for an existing entry and update it.  If we don't find
 		 * the entry, we will j be the next available slot.
 		 * the entry, we will j be the next available slot.
 		 */
 		 */
-		for (j = 0; j < used; j++) {
-			err = fdt_get_reservemap(fdt, j, &re);
-			if (re.address == initrd_start) {
+		for (j = 0; j < total; j++) {
+			err = fdt_get_mem_rsv(fdt, j, &addr, &size);
+			if (addr == initrd_start) {
+				fdt_del_mem_rsv(fdt, j);
 				break;
 				break;
 			}
 			}
 		}
 		}
-		err = fdt_replace_reservemap_entry(fdt, j,
-			initrd_start, initrd_end - initrd_start + 1);
+
+		err = fdt_add_mem_rsv(fdt, initrd_start, initrd_end - initrd_start + 1);
 		if (err < 0) {
 		if (err < 0) {
 			printf("fdt_chosen: %s\n", fdt_strerror(err));
 			printf("fdt_chosen: %s\n", fdt_strerror(err));
 			return err;
 			return err;
@@ -95,7 +110,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
 	/*
 	/*
 	 * Find the "chosen" node.
 	 * Find the "chosen" node.
 	 */
 	 */
-	nodeoffset = fdt_find_node_by_path (fdt, "/chosen");
+	nodeoffset = fdt_path_offset (fdt, "/chosen");
 
 
 	/*
 	/*
 	 * If we have a "chosen" node already the "force the writing"
 	 * If we have a "chosen" node already the "force the writing"
@@ -182,7 +197,7 @@ int fdt_env(void *fdt)
 	 * See if we already have a "u-boot-env" node, delete it if so.
 	 * See if we already have a "u-boot-env" node, delete it if so.
 	 * Then create a new empty node.
 	 * Then create a new empty node.
 	 */
 	 */
-	nodeoffset = fdt_find_node_by_path (fdt, "/u-boot-env");
+	nodeoffset = fdt_path_offset (fdt, "/u-boot-env");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		err = fdt_del_node(fdt, nodeoffset);
 		err = fdt_del_node(fdt, nodeoffset);
 		if (err < 0) {
 		if (err < 0) {
@@ -304,7 +319,7 @@ int fdt_bd_t(void *fdt)
 	 * See if we already have a "bd_t" node, delete it if so.
 	 * See if we already have a "bd_t" node, delete it if so.
 	 * Then create a new empty node.
 	 * Then create a new empty node.
 	 */
 	 */
-	nodeoffset = fdt_find_node_by_path (fdt, "/bd_t");
+	nodeoffset = fdt_path_offset (fdt, "/bd_t");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		err = fdt_del_node(fdt, nodeoffset);
 		err = fdt_del_node(fdt, nodeoffset);
 		if (err < 0) {
 		if (err < 0) {
@@ -348,4 +363,128 @@ int fdt_bd_t(void *fdt)
 }
 }
 #endif /* ifdef CONFIG_OF_HAS_BD_T */
 #endif /* ifdef CONFIG_OF_HAS_BD_T */
 
 
+void do_fixup_by_path(void *fdt, const char *path, const char *prop,
+		      const void *val, int len, int create)
+{
+#if defined(DEBUG)
+	int i;
+	debug("Updating property '%s/%s' = ", node, prop);
+	for (i = 0; i < len; i++)
+		debug(" %.2x", *(u8*)(val+i));
+	debug("\n");
+#endif
+	int rc = fdt_find_and_setprop(fdt, path, prop, val, len, create);
+	if (rc)
+		printf("Unable to update property %s:%s, err=%s\n",
+			path, prop, fdt_strerror(rc));
+}
+
+void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,
+			  u32 val, int create)
+{
+	val = cpu_to_fdt32(val);
+	do_fixup_by_path(fdt, path, prop, &val, sizeof(val), create);
+}
+
+void do_fixup_by_prop(void *fdt,
+		      const char *pname, const void *pval, int plen,
+		      const char *prop, const void *val, int len,
+		      int create)
+{
+	int off;
+#if defined(DEBUG)
+	int i;
+	debug("Updating property '%s/%s' = ", node, prop);
+	for (i = 0; i < len; i++)
+		debug(" %.2x", *(u8*)(val+i));
+	debug("\n");
+#endif
+	off = fdt_node_offset_by_prop_value(fdt, -1, pname, pval, plen);
+	while (off != -FDT_ERR_NOTFOUND) {
+		if (create || (fdt_get_property(fdt, off, prop, 0) != NULL))
+			fdt_setprop(fdt, off, prop, val, len);
+		off = fdt_node_offset_by_prop_value(fdt, off, pname, pval, plen);
+	}
+}
+
+void do_fixup_by_prop_u32(void *fdt,
+			  const char *pname, const void *pval, int plen,
+			  const char *prop, u32 val, int create)
+{
+	val = cpu_to_fdt32(val);
+	do_fixup_by_prop(fdt, pname, pval, plen, prop, &val, 4, create);
+}
+
+void do_fixup_by_compat(void *fdt, const char *compat,
+			const char *prop, const void *val, int len, int create)
+{
+	int off = -1;
+#if defined(DEBUG)
+	int i;
+	debug("Updating property '%s/%s' = ", node, prop);
+	for (i = 0; i < len; i++)
+		debug(" %.2x", *(u8*)(val+i));
+	debug("\n");
+#endif
+	off = fdt_node_offset_by_compatible(fdt, -1, compat);
+	while (off != -FDT_ERR_NOTFOUND) {
+		if (create || (fdt_get_property(fdt, off, prop, 0) != NULL))
+			fdt_setprop(fdt, off, prop, val, len);
+		off = fdt_node_offset_by_compatible(fdt, off, compat);
+	}
+}
+
+void do_fixup_by_compat_u32(void *fdt, const char *compat,
+			    const char *prop, u32 val, int create)
+{
+	val = cpu_to_fdt32(val);
+	do_fixup_by_compat(fdt, compat, prop, &val, 4, create);
+}
+
+void fdt_fixup_ethernet(void *fdt, bd_t *bd)
+{
+	int node;
+	const char *path;
+
+	node = fdt_path_offset(fdt, "/aliases");
+	if (node >= 0) {
+#if defined(CONFIG_HAS_ETH0)
+		path = fdt_getprop(fdt, node, "ethernet0", NULL);
+		if (path) {
+			do_fixup_by_path(fdt, path, "mac-address",
+				bd->bi_enetaddr, 6, 0);
+			do_fixup_by_path(fdt, path, "local-mac-address",
+				bd->bi_enetaddr, 6, 1);
+		}
+#endif
+#if defined(CONFIG_HAS_ETH1)
+		path = fdt_getprop(fdt, node, "ethernet1", NULL);
+		if (path) {
+			do_fixup_by_path(fdt, path, "mac-address",
+				bd->bi_enet1addr, 6, 0);
+			do_fixup_by_path(fdt, path, "local-mac-address",
+				bd->bi_enet1addr, 6, 1);
+		}
+#endif
+#if defined(CONFIG_HAS_ETH2)
+		path = fdt_getprop(fdt, node, "ethernet2", NULL);
+		if (path) {
+			do_fixup_by_path(fdt, path, "mac-address",
+				bd->bi_enet2addr, 6, 0);
+			do_fixup_by_path(fdt, path, "local-mac-address",
+				bd->bi_enet2addr, 6, 1);
+		}
+#endif
+#if defined(CONFIG_HAS_ETH3)
+		path = fdt_getprop(fdt, node, "ethernet3", NULL);
+		if (path) {
+			do_fixup_by_path(fdt, path, "mac-address",
+				bd->bi_enet3addr, 6, 0);
+			do_fixup_by_path(fdt, path, "local-mac-address",
+				bd->bi_enet3addr, 6, 1);
+		}
+#endif
+	}
+}
+
 #endif /* CONFIG_OF_LIBFDT */
 #endif /* CONFIG_OF_LIBFDT */

+ 3 - 0
config.mk

@@ -87,6 +87,9 @@ ifdef	BOARD
 sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk	# include board specific rules
 sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk	# include board specific rules
 endif
 endif
 
 
+# Load generated board configuration
+sinclude $(OBJTREE)/include/autoconf.mk
+
 #########################################################################
 #########################################################################
 
 
 CONFIG_SHELL	:= $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
 CONFIG_SHELL	:= $(shell if [ -x "$$BASH" ]; then echo $$BASH; \

+ 9 - 31
cpu/mpc5xxx/cpu.c

@@ -35,6 +35,7 @@
 #if defined(CONFIG_OF_LIBFDT)
 #if defined(CONFIG_OF_LIBFDT)
 #include <libfdt.h>
 #include <libfdt.h>
 #include <libfdt_env.h>
 #include <libfdt_env.h>
+#include <fdt_support.h>
 #endif
 #endif
 
 
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
@@ -114,42 +115,19 @@ unsigned long get_tbclk (void)
 /* ------------------------------------------------------------------------- */
 /* ------------------------------------------------------------------------- */
 
 
 #ifdef CONFIG_OF_LIBFDT
 #ifdef CONFIG_OF_LIBFDT
-static void do_fixup(void *fdt, const char *node, const char *prop,
-		     const void *val, int len, int create)
-{
-#if defined(DEBUG)
-	int i;
-	debug("Updating property '%s/%s' = ", node, prop);
-	for (i = 0; i < len; i++)
-		debug(" %.2x", *(u8*)(val+i));
-	debug("\n");
-#endif
-	int rc = fdt_find_and_setprop(fdt, node, prop, val, len, create);
-	if (rc)
-		printf("Unable to update property %s:%s, err=%s\n",
-		       node, prop, fdt_strerror(rc));
-}
-
-static void do_fixup_u32(void *fdt, const char *node, const char *prop,
-			 u32 val, int create)
-{
-	val = cpu_to_fdt32(val);
-	do_fixup(fdt, node, prop, &val, sizeof(val), create);
-}
-
 void ft_cpu_setup(void *blob, bd_t *bd)
 void ft_cpu_setup(void *blob, bd_t *bd)
 {
 {
 	int div = in_8((void*)CFG_MBAR + 0x204) & 0x0020 ? 8 : 4;
 	int div = in_8((void*)CFG_MBAR + 0x204) & 0x0020 ? 8 : 4;
 	char * cpu_path = "/cpus/" OF_CPU;
 	char * cpu_path = "/cpus/" OF_CPU;
 	char * eth_path = "/" OF_SOC "/ethernet@3000";
 	char * eth_path = "/" OF_SOC "/ethernet@3000";
 
 
-	do_fixup_u32(blob, cpu_path, "timebase-frequency", OF_TBCLK, 1);
-	do_fixup_u32(blob, cpu_path, "bus-frequency", bd->bi_busfreq, 1);
-	do_fixup_u32(blob, cpu_path, "clock-frequency", bd->bi_intfreq, 1);
-	do_fixup_u32(blob, "/" OF_SOC, "bus-frequency", bd->bi_ipbfreq, 1);
-	do_fixup_u32(blob, "/" OF_SOC, "system-frequency",
-			bd->bi_busfreq*div, 1);
-	do_fixup(blob, eth_path, "mac-address", bd->bi_enetaddr, 6, 0);
-	do_fixup(blob, eth_path, "local-mac-address", bd->bi_enetaddr, 6, 0);
+	do_fixup_by_path_u32(blob, cpu_path, "timebase-frequency", OF_TBCLK, 1);
+	do_fixup_by_path_u32(blob, cpu_path, "bus-frequency", bd->bi_busfreq, 1);
+	do_fixup_by_path_u32(blob, cpu_path, "clock-frequency", bd->bi_intfreq, 1);
+	do_fixup_by_path_u32(blob, "/" OF_SOC, "bus-frequency", bd->bi_ipbfreq, 1);
+	do_fixup_by_path_u32(blob, "/" OF_SOC, "system-frequency",
+				bd->bi_busfreq*div, 1);
+	do_fixup_by_path(blob, eth_path, "mac-address", bd->bi_enetaddr, 6, 0);
+	do_fixup_by_path(blob, eth_path, "local-mac-address", bd->bi_enetaddr, 6, 0);
 }
 }
 #endif
 #endif

+ 4 - 26
cpu/mpc8260/cpu.c

@@ -50,6 +50,7 @@
 #if defined(CONFIG_OF_LIBFDT)
 #if defined(CONFIG_OF_LIBFDT)
 #include <libfdt.h>
 #include <libfdt.h>
 #include <libfdt_env.h>
 #include <libfdt_env.h>
+#include <fdt_support.h>
 #endif
 #endif
 
 
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
@@ -300,35 +301,12 @@ void watchdog_reset (void)
 
 
 /* ------------------------------------------------------------------------- */
 /* ------------------------------------------------------------------------- */
 #if defined(CONFIG_OF_LIBFDT)
 #if defined(CONFIG_OF_LIBFDT)
-static void do_fixup(void *fdt, const char *node, const char *prop,
-			const void *val, int len, int create)
-{
-#if defined(DEBUG)
-	int i;
-	debug("Updating property '%s/%s' = ", node, prop);
-	for (i = 0; i < len; i++)
-		debug(" %.2x", *(u8*)(val+i));
-	debug("\n");
-#endif
-	int rc = fdt_find_and_setprop(fdt, node, prop, val, len, create);
-	if (rc)
-		printf("Unable to update property %s:%s, err=%s\n",
-			node, prop, fdt_strerror(rc));
-}
-
-static void do_fixup_u32(void *fdt, const char *node, const char *prop,
-			 u32 val, int create)
-{
-	val = cpu_to_fdt32(val);
-	do_fixup(fdt, node, prop, &val, sizeof(val), create);
-}
-
 void ft_cpu_setup (void *blob, bd_t *bd)
 void ft_cpu_setup (void *blob, bd_t *bd)
 {
 {
 	char * cpu_path = "/cpus/" OF_CPU;
 	char * cpu_path = "/cpus/" OF_CPU;
 
 
-	do_fixup_u32(blob, cpu_path, "bus-frequency", bd->bi_busfreq, 1);
-	do_fixup_u32(blob, cpu_path, "timebase-frequency", OF_TBCLK, 1);
-	do_fixup_u32(blob, cpu_path, "clock-frequency", bd->bi_intfreq, 1);
+	do_fixup_by_path_u32(blob, cpu_path, "bus-frequency", bd->bi_busfreq, 1);
+	do_fixup_by_path_u32(blob, cpu_path, "timebase-frequency", OF_TBCLK, 1);
+	do_fixup_by_path_u32(blob, cpu_path, "clock-frequency", bd->bi_intfreq, 1);
 }
 }
 #endif /* CONFIG_OF_LIBFDT */
 #endif /* CONFIG_OF_LIBFDT */

+ 2 - 2
cpu/mpc83xx/cpu.c

@@ -529,7 +529,7 @@ ft_cpu_setup(void *blob, bd_t *bd)
 	int tmp[2];
 	int tmp[2];
 
 
 	for (j = 0; j < (sizeof(fixup_props) / sizeof(fixup_props[0])); j++) {
 	for (j = 0; j < (sizeof(fixup_props) / sizeof(fixup_props[0])); j++) {
-		nodeoffset = fdt_find_node_by_path(blob, fixup_props[j].node);
+		nodeoffset = fdt_path_offset(blob, fixup_props[j].node);
 		if (nodeoffset >= 0) {
 		if (nodeoffset >= 0) {
 			err = fixup_props[j].set_fn(blob, nodeoffset,
 			err = fixup_props[j].set_fn(blob, nodeoffset,
 						    fixup_props[j].prop, bd);
 						    fixup_props[j].prop, bd);
@@ -544,7 +544,7 @@ ft_cpu_setup(void *blob, bd_t *bd)
 	}
 	}
 
 
 	/* update, or add and update /memory node */
 	/* update, or add and update /memory node */
-	nodeoffset = fdt_find_node_by_path(blob, "/memory");
+	nodeoffset = fdt_path_offset(blob, "/memory");
 	if (nodeoffset < 0) {
 	if (nodeoffset < 0) {
 		nodeoffset = fdt_add_subnode(blob, 0, "memory");
 		nodeoffset = fdt_add_subnode(blob, 0, "memory");
 		if (nodeoffset < 0)
 		if (nodeoffset < 0)

+ 2 - 2
cpu/mpc83xx/pci.c

@@ -179,7 +179,7 @@ void ft_pci_setup(void *blob, bd_t *bd)
 	if (pci_num_buses < 1)
 	if (pci_num_buses < 1)
 		return;
 		return;
 
 
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
@@ -194,7 +194,7 @@ void ft_pci_setup(void *blob, bd_t *bd)
 	if (pci_num_buses < 2)
 	if (pci_num_buses < 2)
 		return;
 		return;
 
 
-	nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8600");
+	nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8600");
 	if (nodeoffset >= 0) {
 	if (nodeoffset >= 0) {
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
 		tmp[1] = cpu_to_be32(pci_hose[0].last_busno);

+ 0 - 164
drivers/Makefile

@@ -1,164 +0,0 @@
-#
-# (C) Copyright 2000-2007
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-include $(TOPDIR)/config.mk
-
-# CFLAGS += -DET_DEBUG -DDEBUG
-
-LIB	= $(obj)libdrivers.a
-
-COBJS-y += ali512x.o
-COBJS-y += ds1722.o
-COBJS-y += ns87308.o
-COBJS-y += status_led.o
-
-#
-# Block and Flash Drivers
-#
-COBJS-y += ahci.o
-COBJS-y += at45.o
-COBJS-y += ata_piix.o
-COBJS-y += cfi_flash.o
-COBJS-y += dataflash.o
-COBJS-y += mw_eeprom.o
-COBJS-y += sil680.o
-COBJS-y += sym53c8xx.o
-COBJS-y += systemace.o
-
-#
-# Console Drivers
-#
-COBJS-y += ati_radeon_fb.o
-COBJS-y += atmel_usart.o
-COBJS-y += cfb_console.o
-COBJS-y += ct69000.o
-COBJS-y += i8042.o
-COBJS-y += keyboard.o
-COBJS-y += netconsole.o
-COBJS-y += ns16550.o
-COBJS-y += pc_keyb.o
-COBJS-y += ps2ser.o
-COBJS-y += ps2mult.o
-COBJS-y += s3c4510b_uart.o
-COBJS-y += sed13806.o
-COBJS-y += sed156x.o
-COBJS-y += serial.o
-COBJS-y += serial_max3100.o
-COBJS-y += serial_xuartlite.o
-COBJS-y += serial_sh.o
-COBJS-y += sm501.o
-COBJS-y += smiLynxEM.o
-COBJS-y += usbtty.o
-COBJS-y += videomodes.o
-
-#
-# I2C Drivers
-#
-COBJS-y += omap1510_i2c.o
-COBJS-y += omap24xx_i2c.o
-COBJS-y += tsi108_i2c.o
-COBJS-y += fsl_i2c.o
-
-#
-# Network Drivers
-#
-COBJS-y += 3c589.o
-COBJS-y += bcm570x.o bcm570x_autoneg.o 5701rls.o
-COBJS-y += cs8900.o
-COBJS-y += dc2114x.o
-COBJS-y += dm9000x.o
-COBJS-y += e1000.o
-COBJS-y += eepro100.o
-COBJS-y += enc28j60.o
-COBJS-y += inca-ip_sw.o
-COBJS-y += ks8695eth.o
-COBJS-y += lan91c96.o
-COBJS-y += macb.o
-COBJS-y += natsemi.o
-COBJS-y += ne2000.o
-COBJS-y += netarm_eth.o
-COBJS-y += ns7520_eth.o
-COBJS-y += ns8382x.o
-COBJS-y += pcnet.o
-COBJS-y += plb2800_eth.o
-COBJS-y += rtl8019.o
-COBJS-y += rtl8139.o
-COBJS-y += rtl8169.o
-COBJS-y += s3c4510b_eth.o
-COBJS-y += smc91111.o
-COBJS-y += tigon3.o
-COBJS-y += tsec.o
-COBJS-y += tsi108_eth.o
-COBJS-y += uli526x.o
-
-#
-# PCI/PCMCIA device drivers
-#
-COBJS-y += fsl_pci_init.o
-COBJS-y += mpc8xx_pcmcia.o
-COBJS-y += pci.o
-COBJS-y += pci_auto.o
-COBJS-y += pci_indirect.o
-COBJS-y += pxa_pcmcia.o
-COBJS-y += rpx_pcmcia.o
-COBJS-y += ti_pci1410a.o
-COBJS-y += tqm8xx_pcmcia.o
-COBJS-y += tsi108_pci.o
-COBJS-y += w83c553f.o
-COBJS-y += marubun_pcmcia.o
-
-#
-# USB Drivers
-#
-COBJS-y += isp116x-hcd.o
-COBJS-y += sl811_usb.o
-COBJS-y += usb_ohci.o
-COBJS-y += usbdcore.o
-COBJS-y += usbdcore_ep0.o
-COBJS-y += usbdcore_mpc8xx.o
-COBJS-y += usbdcore_omap1510.o
-
-#
-# Miscellaneous Drivers
-#
-COBJS-y += ali512x.o
-COBJS-y += ns87308.o
-COBJS-y += status_led.o
-
-COBJS	:= $(COBJS-y)
-SRCS	:= $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(COBJS))
-
-all:	$(LIB)
-
-$(LIB): $(obj).depend $(OBJS)
-	$(AR) $(ARFLAGS) $@ $(OBJS)
-
-#########################################################################
-
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
-
-sinclude $(obj).depend
-
-#########################################################################

+ 50 - 0
drivers/block/Makefile

@@ -0,0 +1,50 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB 	:= $(obj)libblock.a
+
+COBJS-y += ahci.o
+COBJS-y += ata_piix.o
+COBJS-y += sil680.o
+COBJS-y += sym53c8xx.o
+COBJS-y += systemace.o
+
+COBJS	:= $(COBJS-y)
+SRCS 	:= $(COBJS:.o=.c)
+OBJS 	:= $(addprefix $(obj),$(COBJS))
+
+all:	$(LIB)
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################

+ 0 - 0
drivers/ahci.c → drivers/block/ahci.c


+ 0 - 0
drivers/ata_piix.c → drivers/block/ata_piix.c


+ 0 - 0
drivers/sil680.c → drivers/block/sil680.c


+ 0 - 0
drivers/sym53c8xx.c → drivers/block/sym53c8xx.c


+ 0 - 0
drivers/systemace.c → drivers/block/systemace.c


+ 5 - 4
dtt/Makefile → drivers/hwmon/Makefile

@@ -28,13 +28,14 @@ include $(TOPDIR)/config.mk
 
 
 #CFLAGS += -DDEBUG
 #CFLAGS += -DDEBUG
 
 
-LIB	= $(obj)libdtt.a
+LIB	= $(obj)libhwmon.a
 
 
-COBJS-y += lm75.o
-COBJS-y += ds1621.o
 COBJS-y += adm1021.o
 COBJS-y += adm1021.o
-COBJS-y += lm81.o
+COBJS-y += ds1621.o
+COBJS-y += ds1722.o
 COBJS-y += ds1775.o
 COBJS-y += ds1775.o
+COBJS-y += lm75.o
+COBJS-y += lm81.o
 
 
 COBJS	:= $(COBJS-y)
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
 SRCS	:= $(COBJS:.o=.c)

+ 0 - 0
dtt/adm1021.c → drivers/hwmon/adm1021.c


+ 0 - 0
dtt/ds1621.c → drivers/hwmon/ds1621.c


+ 0 - 0
drivers/ds1722.c → drivers/hwmon/ds1722.c


+ 0 - 0
dtt/ds1775.c → drivers/hwmon/ds1775.c


+ 0 - 0
dtt/lm75.c → drivers/hwmon/lm75.c


+ 0 - 0
dtt/lm81.c → drivers/hwmon/lm81.c


+ 49 - 0
drivers/i2c/Makefile

@@ -0,0 +1,49 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB 	:= $(obj)libi2c.a
+
+COBJS-y += fsl_i2c.o
+COBJS-y += omap1510_i2c.o
+COBJS-y += omap24xx_i2c.o
+COBJS-y += tsi108_i2c.o
+
+COBJS	:= $(COBJS-y)
+SRCS 	:= $(COBJS:.o=.c)
+OBJS 	:= $(addprefix $(obj),$(COBJS))
+
+all:	$(LIB)
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################

+ 0 - 0
drivers/fsl_i2c.c → drivers/i2c/fsl_i2c.c


+ 0 - 0
drivers/omap1510_i2c.c → drivers/i2c/omap1510_i2c.c


+ 0 - 0
drivers/omap24xx_i2c.c → drivers/i2c/omap24xx_i2c.c


+ 0 - 0
drivers/tsi108_i2c.c → drivers/i2c/tsi108_i2c.c


+ 48 - 0
drivers/input/Makefile

@@ -0,0 +1,48 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB 	:= $(obj)libinput.a
+
+COBJS-y += i8042.o
+COBJS-y += keyboard.o
+COBJS-y += pc_keyb.o ps2ser.o ps2mult.o
+
+COBJS	:= $(COBJS-y)
+SRCS 	:= $(COBJS:.o=.c)
+OBJS 	:= $(addprefix $(obj),$(COBJS))
+
+all:	$(LIB)
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################

+ 0 - 0
drivers/i8042.c → drivers/input/i8042.c


+ 0 - 0
drivers/keyboard.c → drivers/input/keyboard.c


+ 0 - 0
drivers/pc_keyb.c → drivers/input/pc_keyb.c


+ 0 - 0
drivers/ps2mult.c → drivers/input/ps2mult.c


+ 0 - 0
drivers/ps2ser.c → drivers/input/ps2ser.c


+ 48 - 0
drivers/misc/Makefile

@@ -0,0 +1,48 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB 	:= $(obj)libmisc.a
+
+COBJS-y += ali512x.o
+COBJS-y += ns87308.o
+COBJS-y += status_led.o
+
+COBJS	:= $(COBJS-y)
+SRCS 	:= $(COBJS:.o=.c)
+OBJS 	:= $(addprefix $(obj),$(COBJS))
+
+all:	$(LIB)
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################

+ 0 - 0
drivers/ali512x.c → drivers/misc/ali512x.c


+ 0 - 0
drivers/ns87308.c → drivers/misc/ns87308.c


+ 0 - 0
drivers/status_led.c → drivers/misc/status_led.c


+ 49 - 0
drivers/mtd/Makefile

@@ -0,0 +1,49 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB 	:= $(obj)libmtd.a
+
+COBJS-y += at45.o
+COBJS-y += cfi_flash.o
+COBJS-y += dataflash.o
+COBJS-y += mw_eeprom.o
+
+COBJS	:= $(COBJS-y)
+SRCS 	:= $(COBJS:.o=.c)
+OBJS 	:= $(addprefix $(obj),$(COBJS))
+
+all:	$(LIB)
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################

+ 0 - 0
drivers/at45.c → drivers/mtd/at45.c


+ 0 - 0
drivers/cfi_flash.c → drivers/mtd/cfi_flash.c


+ 0 - 0
drivers/dataflash.c → drivers/mtd/dataflash.c


+ 0 - 0
drivers/mw_eeprom.c → drivers/mtd/mw_eeprom.c


+ 0 - 0
drivers/nand/Makefile → drivers/mtd/nand/Makefile


+ 0 - 0
drivers/nand/diskonchip.c → drivers/mtd/nand/diskonchip.c


+ 0 - 0
drivers/nand/nand.c → drivers/mtd/nand/nand.c


+ 0 - 0
drivers/nand/nand_base.c → drivers/mtd/nand/nand_base.c


+ 0 - 0
drivers/nand/nand_bbt.c → drivers/mtd/nand/nand_bbt.c


+ 0 - 0
drivers/nand/nand_ecc.c → drivers/mtd/nand/nand_ecc.c


+ 0 - 0
drivers/nand/nand_ids.c → drivers/mtd/nand/nand_ids.c


+ 0 - 0
drivers/nand/nand_util.c → drivers/mtd/nand/nand_util.c


+ 0 - 0
drivers/nand_legacy/Makefile → drivers/mtd/nand_legacy/Makefile


部分文件因为文件数量过多而无法显示