diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/Makefile | 18 | ||||
| -rw-r--r-- | common/cmd_nvedit.c | 21 | ||||
| -rw-r--r-- | common/cmd_pci.c | 66 | ||||
| -rw-r--r-- | common/command.c | 2 | ||||
| -rw-r--r-- | common/dlmalloc.c | 7 | ||||
| -rw-r--r-- | common/env_mmc.c | 1 | ||||
| -rw-r--r-- | common/env_sf.c | 3 | ||||
| -rw-r--r-- | common/fdt_support.c | 4 |
8 files changed, 33 insertions, 89 deletions
diff --git a/common/Makefile b/common/Makefile index 2c3707308..abea91cb7 100644 --- a/common/Makefile +++ b/common/Makefile @@ -23,9 +23,7 @@ include $(TOPDIR)/config.mk -LIB = $(obj)libcommon.a - -AOBJS = +LIB = $(obj)libcommon.o # core COBJS-y += main.o @@ -52,9 +50,9 @@ COBJS-y += cmd_version.o COBJS-y += env_common.o COBJS-$(CONFIG_ENV_IS_IN_DATAFLASH) += env_dataflash.o COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_eeprom.o -COBJS-$(CONFIG_ENV_IS_EMBEDDED) += env_embedded.o +XCOBJS-$(CONFIG_ENV_IS_EMBEDDED) += env_embedded.o COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_embedded.o -COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o +XCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_embedded.o COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o COBJS-$(CONFIG_ENV_IS_IN_MG_DISK) += env_mgdisk.o @@ -169,15 +167,17 @@ COBJS-$(CONFIG_USB_KEYBOARD) += usb_kbd.o COBJS := $(sort $(COBJS-y)) -SRCS := $(AOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(AOBJS) $(COBJS)) +XCOBJS := $(sort $(XCOBJS-y)) +SRCS := $(COBJS:.o=.c) $(XCOBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +XOBJS := $(addprefix $(obj),$(XCOBJS)) CPPFLAGS += -I.. -all: $(LIB) $(AOBJS) +all: $(LIB) $(XOBJS) $(LIB): $(obj).depend $(OBJS) - $(AR) $(ARFLAGS) $@ $(OBJS) + $(call cmd_link_o_target, $(OBJS)) $(obj)env_embedded.o: $(src)env_embedded.c $(obj)../tools/envcrc $(CC) $(AFLAGS) -Wa,--no-warn \ diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index 3fd8abc15..dcc93c19b 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -545,8 +545,7 @@ int envmatch (uchar *s1, int i2) static int do_env_default(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) { if ((argc != 2) || (strcmp(argv[1], "-f") != 0)) { - cmd_usage(cmdtp); - return 1; + return cmd_usage(cmdtp); } set_default_env("## Resetting to default environment\n"); return 0; @@ -633,15 +632,13 @@ static int do_env_export(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv sep = '\n'; break; default: - cmd_usage(cmdtp); - return 1; + return cmd_usage(cmdtp); } } } if (argc < 1) { - cmd_usage(cmdtp); - return 1; + return cmd_usage(cmdtp); } addr = (char *)simple_strtoul(argv[0], NULL, 16); @@ -744,15 +741,13 @@ static int do_env_import(cmd_tbl_t * cmdtp, int flag, int argc, char * const arg del = 1; break; default: - cmd_usage(cmdtp); - return 1; + return cmd_usage(cmdtp); } } } if (argc < 1) { - cmd_usage(cmdtp); - return 1; + return cmd_usage(cmdtp); } if (!fmt) @@ -848,6 +843,9 @@ static int do_env (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { cmd_tbl_t *cp; + if (argc < 2) + return cmd_usage(cmdtp); + /* drop initial "env" arg */ argc--; argv++; @@ -857,8 +855,7 @@ static int do_env (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) if (cp) return cp->cmd(cmdtp, flag, argc, argv); - cmd_usage(cmdtp); - return 1; + return cmd_usage(cmdtp); } U_BOOT_CMD( diff --git a/common/cmd_pci.c b/common/cmd_pci.c index ccf5adaaa..92631ea2d 100644 --- a/common/cmd_pci.c +++ b/common/cmd_pci.c @@ -104,68 +104,6 @@ void pciinfo(int BusNum, int ShortPCIListing) } } -static char *pci_classes_str(u8 class) -{ - switch (class) { - case PCI_CLASS_NOT_DEFINED: - return "Build before PCI Rev2.0"; - break; - case PCI_BASE_CLASS_STORAGE: - return "Mass storage controller"; - break; - case PCI_BASE_CLASS_NETWORK: - return "Network controller"; - break; - case PCI_BASE_CLASS_DISPLAY: - return "Display controller"; - break; - case PCI_BASE_CLASS_MULTIMEDIA: - return "Multimedia device"; - break; - case PCI_BASE_CLASS_MEMORY: - return "Memory controller"; - break; - case PCI_BASE_CLASS_BRIDGE: - return "Bridge device"; - break; - case PCI_BASE_CLASS_COMMUNICATION: - return "Simple comm. controller"; - break; - case PCI_BASE_CLASS_SYSTEM: - return "Base system peripheral"; - break; - case PCI_BASE_CLASS_INPUT: - return "Input device"; - break; - case PCI_BASE_CLASS_DOCKING: - return "Docking station"; - break; - case PCI_BASE_CLASS_PROCESSOR: - return "Processor"; - break; - case PCI_BASE_CLASS_SERIAL: - return "Serial bus controller"; - break; - case PCI_BASE_CLASS_INTELLIGENT: - return "Intelligent controller"; - break; - case PCI_BASE_CLASS_SATELLITE: - return "Satellite controller"; - break; - case PCI_BASE_CLASS_CRYPT: - return "Cryptographic device"; - break; - case PCI_BASE_CLASS_SIGNAL_PROCESSING: - return "DSP"; - break; - case PCI_CLASS_OTHERS: - return "Does not fit any class"; - break; - default: - return "???"; - break; - }; -} /* * Subroutine: pci_header_show_brief @@ -190,7 +128,7 @@ void pci_header_show_brief(pci_dev_t dev) printf("0x%.4x 0x%.4x %-23s 0x%.2x\n", vendor, device, - pci_classes_str(class), subclass); + pci_class_str(class), subclass); } /* @@ -225,7 +163,7 @@ void pci_header_show(pci_dev_t dev) PRINT (" status register = 0x%.4x\n", word, PCI_STATUS); PRINT (" revision ID = 0x%.2x\n", byte, PCI_REVISION_ID); PRINT2(" class code = 0x%.2x (%s)\n", byte, PCI_CLASS_CODE, - pci_classes_str); + pci_class_str); PRINT (" sub class code = 0x%.2x\n", byte, PCI_CLASS_SUB_CODE); PRINT (" programming interface = 0x%.2x\n", byte, PCI_CLASS_PROG); PRINT (" cache line = 0x%.2x\n", byte, PCI_CACHE_LINE_SIZE); diff --git a/common/command.c b/common/command.c index 0020eacf5..0b1a3fbf9 100644 --- a/common/command.c +++ b/common/command.c @@ -108,6 +108,8 @@ cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len) int len; int n_found = 0; + if (!cmd) + return NULL; /* * Some commands allow length modifiers (like "cp.b"); * compare command name only until first dot. diff --git a/common/dlmalloc.c b/common/dlmalloc.c index 4871f4b09..e9bab09b8 100644 --- a/common/dlmalloc.c +++ b/common/dlmalloc.c @@ -1511,6 +1511,13 @@ void *sbrk(ptrdiff_t increment) ulong old = mem_malloc_brk; ulong new = old + increment; + /* + * if we are giving memory back make sure we clear it out since + * we set MORECORE_CLEARS to 1 + */ + if (increment < 0) + memset((void *)new, 0, -increment); + if ((new < mem_malloc_start) || (new > mem_malloc_end)) return (void *)MORECORE_FAILURE; diff --git a/common/env_mmc.c b/common/env_mmc.c index 3d7fceb09..7c9392c86 100644 --- a/common/env_mmc.c +++ b/common/env_mmc.c @@ -29,6 +29,7 @@ #include <linux/stddef.h> #include <malloc.h> #include <mmc.h> +#include <search.h> #include <errno.h> /* references to names in env_common.c */ diff --git a/common/env_sf.c b/common/env_sf.c index a597b24dc..47c6a7066 100644 --- a/common/env_sf.c +++ b/common/env_sf.c @@ -272,7 +272,7 @@ int saveenv(void) u32 saved_size, saved_offset; char *saved_buffer = NULL; u32 sector = 1; - int ret; + int ret = 1; env_t env_new; char *res; ssize_t len; @@ -293,7 +293,6 @@ int saveenv(void) saved_offset = CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE; saved_buffer = malloc(saved_size); if (!saved_buffer) { - ret = 1; goto done; } ret = spi_flash_read(env_flash, saved_offset, diff --git a/common/fdt_support.c b/common/fdt_support.c index 5829afd2a..6c98e5b07 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -954,7 +954,7 @@ static void of_bus_default_count_cells(void *blob, int parentoffset, if (addrc) { prop = fdt_getprop(blob, parentoffset, "#address-cells", NULL); if (prop) - *addrc = be32_to_cpup(prop); + *addrc = be32_to_cpup((u32 *)prop); else *addrc = 2; } @@ -962,7 +962,7 @@ static void of_bus_default_count_cells(void *blob, int parentoffset, if (sizec) { prop = fdt_getprop(blob, parentoffset, "#size-cells", NULL); if (prop) - *sizec = be32_to_cpup(prop); + *sizec = be32_to_cpup((u32 *)prop); else *sizec = 1; } |