24 Jul, 2013

1 commit


12 Apr, 2013

1 commit

  • The env in UBI needs to look up the mtd partition as part of relocation,
    which happens before relocation. Make the mtdparts code capable of
    working on the default env to start with.

    The code tries to set values in the env as well, but again, the env
    isn't there yet, so add a check to setenv to not allow sets before the
    env is relocated.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     

12 Mar, 2013

1 commit


01 Mar, 2013

1 commit


05 Nov, 2012

1 commit

  • cmd_boot.c:40:5: warning: symbol 'do_go' was not declared. Should it be static?
    cmd_bootm.c:164:6: warning: symbol '__arch_preboot_os' was not declared. Should it be static?
    cmd_bootm.c:477:5: warning: symbol 'do_bootm_subcommand' was not declared. Should it be static?
    cmd_bootm.c:1022:1: error: directive in argument list
    cmd_bootm.c:1028:1: error: directive in argument list
    cmd_bootm.c:1029:1: error: directive in argument list
    cmd_bootm.c:1036:1: error: directive in argument list
    cmd_bootm.c:1042:1: error: directive in argument list
    cmd_bootm.c:1044:1: error: directive in argument list
    cmd_bootm.c:1045:1: error: directive in argument list
    cmd_bootm.c:1047:1: error: directive in argument list
    cmd_bootm.c:1089:5: warning: symbol 'do_iminfo' was not declared. Should it be static?
    cmd_bootm.c:1176:5: warning: symbol 'do_imls' was not declared. Should it be static?
    cmd_bootm.c:1654:1: error: directive in argument list
    cmd_bootm.c:1660:1: error: directive in argument list
    cmd_console.c:32:5: warning: symbol 'do_coninfo' was not declared. Should it be s
    cmd_date.c:46:5: warning: symbol 'do_date' was not declared. Should it be static?
    cmd_echo.c:27:5: warning: symbol 'do_echo' was not declared. Should it be static?
    cmd_exit.c:27:5: warning: symbol 'do_exit' was not declared. Should it be static?
    cmd_fat.c:97:5: warning: symbol 'do_fat_ls' was not declared. Should it be static?
    cmd_fat.c:136:5: warning: symbol 'do_fat_fsinfo' was not declared. Should it be s
    cmd_fdt.c:66:5: warning: symbol 'do_fdt' was not declared. Should it be static?
    cmd_fdt.c:542:43: warning: incorrect type in assignment (different base types)
    cmd_fdt.c:542:43: expected unsigned int [unsigned] [usertype]
    cmd_fdt.c:542:43: got restricted __be32 [usertype]
    cmd_fdt.c:679:42: warning: cast to restricted __be32
    cmd_fdt.c:820:1: error: directive in argument list
    cmd_fdt.c:822:1: error: directive in argument list
    cmd_flash.c:292:5: warning: symbol 'do_flinfo' was not declared. Should it be static?
    cmd_flash.c:324:5: warning: symbol 'do_flerase' was not declared. Should it be static?
    cmd_flash.c:457:5: warning: symbol 'do_protect' was not declared. Should it be st
    cmd_help.c:27:5: warning: symbol 'do_help' was not declared. Should it be static?
    cmd_i2c.c:136:6: warning: symbol '__def_i2c_init_board' was not declared. Should it be static?
    cmd_i2c.c:144:14: warning: symbol '__def_i2c_get_bus_speed' was not declared. Should it be static?
    cmd_i2c.c:151:5: warning: symbol '__def_i2c_set_bus_speed' was not declared. Should it be static?
    cmd_i2c.c:1322:1: error: directive in argument list
    cmd_i2c.c:1324:1: error: directive in argument list
    cmd_i2c.c:1326:1: error: directive in argument list
    cmd_i2c.c:1328:1: error: directive in argument list
    cmd_i2c.c:1337:1: error: directive in argument list
    cmd_i2c.c:1339:1: error: directive in argument list
    cmd_irq.c:27:5: warning: symbol 'do_interrupts' was not declared. Should it be static?
    cmd_itest.c:133:5: warning: symbol 'binary_test' was not declared. Should it be static?
    cmd_itest.c:158:5: warning: symbol 'do_itest' was not declared. Should it be stat
    cmd_load.c:54:5: warning: symbol 'do_load_serial' was not declared. Should it be static?
    cmd_load.c:431:6: warning: symbol 'his_eol' was not declared. Should it be static?
    cmd_load.c:432:6: warning: symbol 'his_pad_count' was not declared. Should it be static?
    cmd_load.c:433:6: warning: symbol 'his_pad_char' was not declared. Should it be static?
    cmd_load.c:434:6: warning: symbol 'his_quote' was not declared. Should it be static?
    cmd_load.c:436:5: warning: symbol 'do_load_serial_bin' was not declared. Should it be static?
    cmd_load.c:549:6: warning: symbol 'send_pad' was not declared. Should it be static?
    cmd_load.c:558:6: warning: symbol 'ktrans' was not declared. Should it be static?
    cmd_load.c:568:5: warning: symbol 'chk1' was not declared. Should it be static?
    cmd_load.c:578:6: warning: symbol 's1_sendpacket' was not declared. Should it be static?
    cmd_load.c:587:6: warning: symbol 'send_ack' was not declared. Should it be static?
    cmd_load.c:600:6: warning: symbol 'send_nack' was not declared. Should it be static?
    cmd_load.c:614:6: warning: symbol 'os_data_init' was not declared. Should it be static?
    cmd_load.c:615:6: warning: symbol 'os_data_char' was not declared. Should it be static?
    cmd_load.c:657:6: warning: symbol 'k_data_init' was not declared. Should it be static?
    cmd_load.c:663:6: warning: symbol 'k_data_save' was not declared. Should it be static?
    cmd_load.c:669:6: warning: symbol 'k_data_restore' was not declared. Should it be static?
    cmd_load.c:675:6: warning: symbol 'k_data_char' was not declared. Should it be static?
    cmd_load.c:693:6: warning: symbol 'send_parms' was not declared. Should it be static?
    cmd_load.c:694:6: warning: symbol 'send_ptr' was not declared. Should it be static?
    cmd_load.c:698:6: warning: symbol 'handle_send_packet' was not declared. Should i
    cmd_mdio.c:60:5: warning: symbol 'mdio_write_ranges' was not declared. Should it be static?
    cmd_mdio.c:82:5: warning: symbol 'mdio_read_ranges' was not declared. Should it be static?
    cmd_mdio.c:115:5: warning: symbol 'extract_reg_range' was not declared. Should it be static?
    cmd_mdio.c:144:5: warning: symbol 'extract_phy_range' was not declared. Should it
    cmd_mem.c:54:5: warning: symbol 'do_mem_md' was not declared. Should it be static?
    cmd_mem.c:150:5: warning: symbol 'do_mem_mm' was not declared. Should it be static?
    cmd_mem.c:154:5: warning: symbol 'do_mem_nm' was not declared. Should it be static?
    cmd_mem.c:159:5: warning: symbol 'do_mem_mw' was not declared. Should it be static?
    cmd_mem.c:256:5: warning: symbol 'do_mem_cmp' was not declared. Should it be static?
    cmd_mem.c:326:5: warning: symbol 'do_mem_cp' was not declared. Should it be static?
    cmd_mem.c:436:5: warning: symbol 'do_mem_base' was not declared. Should it be static?
    cmd_mem.c:449:5: warning: symbol 'do_mem_loop' was not declared. Should it be static?
    cmd_mem.c:595:5: warning: symbol 'do_mem_mtest' was not declared. Should it be static?
    cmd_mem.c:618:26: warning: Using plain integer as NULL pointer
    cmd_mem.c:1057:5: warning: symbol 'do_mem_crc' was not declared. Should it be static?
    cmd_misc.c:30:5: warning: symbol 'do_sleep' was not declared. Should it be static
    cmd_mmc.c:118:5: warning: symbol 'do_mmcinfo' was not declared. Should it be static?
    cmd_mmc.c:272:32: warning: Using plain integer as NULL pointer
    cmd_mmc.c:150:5: warning: symbol 'do_mmcops' was not declared. Should it be stati
    cmd_mp.c:27:1: warning: symbol 'cpu_cmd' was not declared. Should it be static?
    cmd_mp.c:85:1: error: directive in argument list
    cmd_mp.c:88:1: error: directive in argument list
    cmd_mtdparts.c:150:18: warning: symbol 'mtdids' was not declared. Should it be static?
    cmd_mtdparts.c:153:18: warning: symbol 'devices' was not declared. Should it be static?
    cmd_mtdparts.c:713:5: warning: symbol 'mtd_device_validate' was not declared. Should it be static?
    cmd_mtdparts.c:1887:5: warning: symbol 'do_chpart' was not declared. Should it be static?
    cmd_mtdparts.c:1925:5: warning: symbol 'do_mtdparts' was not declared. Should it be static?
    cmd_mtdparts.c:2060:1: error: directive in argument list
    cmd_mtdparts.c:2063:1: error: directive in argument list
    cmd_mtdparts.c:2066:1: error: directive in argument list
    cmd_mtdparts.c:2071:1: error: directive in argument list
    cmd_mtdparts.c:2073:1: error: directive in argument list
    cmd_nand.c:377:18: error: bad constant expression
    cmd_nand.c:431:5: warning: symbol 'do_nand' was not declared. Should it be static?
    cmd_nand.c:796:1: error: directive in argument list
    cmd_nand.c:801:1: error: directive in argument list
    cmd_nand.c:802:1: error: directive in argument list
    cmd_nand.c:806:1: error: directive in argument list
    cmd_nand.c:819:1: error: directive in argument list
    cmd_nand.c:824:1: error: directive in argument list
    cmd_nand.c:825:1: error: directive in argument list
    cmd_nand.c:831:1: error: directive in argument list
    cmd_nand.c:918:5: warning: symbol 'do_nandboot' was not declared. Should it be static?
    cmd_net.c:33:5: warning: symbol 'do_bootp' was not declared. Should it be static?
    cmd_net.c:107:5: warning: symbol 'do_dhcp' was not declared. Should it be static?
    cmd_net.c:120:5: warning: symbol 'do_nfs' was not declared. Should it be static?
    cmd_nvedit.c:138:5: warning: symbol 'do_env_print' was not declared. Should it be static?
    cmd_nvedit.c:323:5: warning: symbol '_do_env_set' was not declared. Should it be static?
    cmd_nvedit.c:435:5: warning: symbol 'do_env_set' was not declared. Should it be static?
    cmd_nvedit.c:514:5: warning: symbol 'do_env_edit' was not declared. Should it be static?
    cmd_nvedit.c:620:5: warning: symbol 'do_env_save' was not declared. Should it be static?
    cmd_nvedit.c:1016:1: error: directive in argument list
    cmd_nvedit.c:1018:1: error: directive in argument list
    cmd_nvedit.c:1021:1: error: directive in argument list
    cmd_nvedit.c:1023:1: error: directive in argument list
    cmd_nvedit.c:1024:1: error: directive in argument list
    cmd_nvedit.c:1026:1: error: directive in argument list
    cmd_nvedit.c:1027:1: error: directive in argument list
    cmd_nvedit.c:1029:1: error: directive in argument list
    cmd_nvedit.c:1030:1: error: directive in argument list
    cmd_nvedit.c:1032:1: error: directive in argument list
    cmd_nvedit.c:1034:1: error: directive in argument list
    cmd_nvedit.c:1036:1: error: directive in argument list
    cmd_nvedit.c:1037:1: error: directive in argument list
    cmd_nvedit.c:1039:1: error: directive in argument list
    cmd_pci.c:38:17: warning: symbol 'ShortPCIListing' was not declared. Should it be static?
    cmd_pci.c:38:22: warning: 'ShortPCIListing' defined but not used [-Wunused-variable]
    cmd_pci.c:411:5: warning: symbol 'do_pci' was not declared. Should it be static?
    cmd_pci.c:494:1: error: directive in argument list
    cmd_pci.c:497:1: error: directive in argument list
    cmd_reginfo.c:40:5: warning: symbol 'do_reginfo' was not declared. Should it be static?
    cmd_sata.c:31:5: warning: symbol 'sata_curr_device' was not declared. Should it be static?
    note -> ata_piix.c doesn't seem to use 'sata_curr_device'; deleted.
    cmd_sata.c:32:18: warning: symbol 'sata_dev_desc' was not declared. Should it be static?
    cmd_sata.c:70:5: warning: symbol 'do_sata' was not declared. Should it be static?
    cmd_setexpr.c:53:5: warning: symbol 'do_setexpr' was not declared. Should it be static?
    cmd_source.c:186:1: error: directive in argument list
    cmd_source.c:190:1: error: directive in argument list
    cmd_test.c:27:5: warning: symbol 'do_test' was not declared. Should it be static?
    cmd_test.c:153:5: warning: symbol 'do_false' was not declared. Should it be static?
    cmd_test.c:164:5: warning: symbol 'do_true' was not declared. Should it be static
    cmd_usb.c:43:6: warning: symbol 'usb_get_class_desc' was not declared. Should it be static?
    cmd_usb.c:69:6: warning: symbol 'usb_display_class_sub' was not declared. Should it be static?
    cmd_usb.c:151:6: warning: symbol 'usb_display_string' was not declared. Should it be static?
    cmd_usb.c:161:6: warning: symbol 'usb_display_desc' was not declared. Should it be static?
    cmd_usb.c:195:6: warning: symbol 'usb_display_conf_desc' was not declared. Should it be static?
    cmd_usb.c:210:6: warning: symbol 'usb_display_if_desc' was not declared. Should it be static?
    cmd_usb.c:227:6: warning: symbol 'usb_display_ep_desc' was not declared. Should it be static?
    cmd_usb.c:252:6: warning: symbol 'usb_display_config' was not declared. Should it be static?
    cmd_usb.c:283:6: warning: symbol 'usb_show_tree_graph' was not declared. Should it be static?
    cmd_usb.c:343:6: warning: symbol 'usb_show_tree' was not declared. Should it be static?
    cmd_usb.c:356:5: warning: symbol 'do_usbboot' was not declared. Should it be static?
    cmd_usb.c:366:5: warning: symbol 'do_usb' was not declared. Should it be static?
    cmd_version.c:31:5: warning: symbol 'do_version' was not declared. Should it be s
    cmd_ximg.c:46:1: warning: symbol 'do_imgextract' was not declared. Should it be static?
    cmd_ximg.c:272:1: error: directive in argument list
    cmd_ximg.c:276:1: error: directive in argument list

    Signed-off-by: Kim Phillips

    Kim Phillips
     

07 Mar, 2012

1 commit


28 Oct, 2011

1 commit


10 Oct, 2011

1 commit

  • Fix:
    cfi_mtd.c: In function 'cfi_mtd_init':
    cfi_mtd.c:226:19: warning: variable 'mtd_list' set but not used [-Wunused-but-set-variable]
    cfi_mtd.c: In function 'cfi_mtd_init':
    cfi_mtd.c:225:6: warning: unused variable 'devices_found'
    cfi_mtd.c: In function 'cfi_mtd_init':
    cfi_mtd.c:226:19: warning: variable 'mtd_list' set but not used [-Wunused-but-set-variable]
    [-Wunused-variable]

    Signed-off-by: Wolfgang Denk
    Cc: Stefan Roese
    Acked-by: Stefan Roese

    Wolfgang Denk
     

12 Oct, 2010

5 commits

  • Consolidate some code in mtd_get_len_incl_bad(), and fix a condition
    where a valid partition could be reported as truncated if it has a
    good block at the end of the device (unlikely, since the BBT is usually
    there).

    Fix mid-block declarations in net_part_size().

    Signed-off-by: Scott Wood
    Reviewed-by: Ben Gardiner

    Scott Wood
     
  • This patch adds a new 'mtdparts add' variant: add.spread. This command variant
    adds a new partition to the mtdparts variable but also increases the partitions
    size by skipping bad blocks and aggregating any additional bad blocks found at
    the end of the partition.

    Signed-off-by: Ben Gardiner
    CC: Wolfgang Denk
    CC: Scott Wood

    Ben Gardiner
     
  • This patch introduces the 'spread' sub-command of the mtdparts command.
    This command will modify the existing mtdparts variable by increasing
    the size of the partitions such that 1) each partition's net size is at
    least as large as the size specified in the mtdparts variable and 2)
    each partition starts on a good block.

    The new subcommand is implemented by iterating over the mtd device
    partitions and collecting a bad blocks count in each -- including any
    trailing bad blocks -- and then modifying that partitions's part_info
    structure and checking if the modification affects the next partition.

    This patch is based on a port of the 'dynnamic partitions' feature by
    Harald Welte ; ported from commit
    e05835df019027391f58f9d8ce5e1257d6924798 of
    git://git.openmoko.org/u-boot.git. Whereas Harald's feature used a
    compile-time array to specify partitions, the feature introduced by
    this patch uses the mtdparts environment variable.

    Signed-off-by: Ben Gardiner
    Signed-off-by: Harald Welte
    CC: Wolfgang Denk
    CC: Scott Wood

    Ben Gardiner
     
  • This patch adds an additional column to the output of list_partitions. The
    additional column will contain the net size and a '(!)' beside it if the net
    size is not equal to the partition size.

    Signed-off-by: Ben Gardiner
    CC: Wolfgang Denk
    CC: Scott Wood

    Ben Gardiner
     
  • The get_mtd_device_nm function is called in a couple places and the
    string that is passed to it is not really used after the calls.

    This patch regroups the calls to this function into a new function,
    get_mtd_info.

    Signed-off-by: Ben Gardiner
    Acked-by: Stefan Roese
    CC: Wolfgang Denk

    Ben Gardiner
     

25 Jul, 2010

1 commit

  • Lots of code use this construct:

    cmd_usage(cmdtp);
    return 1;

    Change cmd_usage() let it return 1 - then we can replace all these
    ocurrances by

    return cmd_usage(cmdtp);

    This fixes a few places with incorrect return code handling, too.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

05 Jul, 2010

1 commit

  • The hush shell dynamically allocates (and re-allocates) memory for the
    argument strings in the "char *argv[]" argument vector passed to
    commands. Any code that modifies these pointers will cause serious
    corruption of the malloc data structures and crash U-Boot, so make
    sure the compiler can check that no such modifications are being done
    by changing the code into "char * const argv[]".

    This modification is the result of debugging a strange crash caused
    after adding a new command, which used the following argument
    processing code which has been working perfectly fine in all Unix
    systems since version 6 - but not so in U-Boot:

    int main (int argc, char **argv)
    {
    while (--argc > 0 && **++argv == '-') {
    /* ====> */ while (*++*argv) {
    switch (**argv) {
    case 'd':
    debug++;
    break;
    ...
    default:
    usage ();
    }
    }
    }
    ...
    }

    The line marked "====>" will corrupt the malloc data structures and
    usually cause U-Boot to crash when the next command gets executed by
    the shell. With the modification, the compiler will prevent this with
    an
    error: increment of read-only location '*argv'

    N.B.: The code above can be trivially rewritten like this:

    while (--argc > 0 && **++argv == '-') {
    char *arg = *argv;
    while (*++arg) {
    switch (*arg) {
    ...

    Signed-off-by: Wolfgang Denk
    Acked-by: Mike Frysinger

    Wolfgang Denk
     

28 Apr, 2010

2 commits


22 Mar, 2010

1 commit


12 Mar, 2010

1 commit


05 Sep, 2009

1 commit


17 Jul, 2009

1 commit

  • Legacy NAND had been scheduled for removal. Any boards that use this
    were already not building in the previous release due to an #error.

    The disk on chip code in common/cmd_doc.c relies on legacy NAND,
    and it has also been removed. There is newer disk on chip code
    in drivers/mtd/nand; someone with access to hardware and sufficient
    time and motivation can try to get that working, but for now disk
    on chip is not supported.

    Signed-off-by: Scott Wood

    Scott Wood
     

13 Jun, 2009

3 commits

  • Many of the help messages were not really helpful; for example, many
    commands that take no arguments would not print a correct synopsis
    line, but "No additional help available." which is not exactly wrong,
    but not helpful either.

    Commit ``Make "usage" messages more helpful.'' changed this
    partially. But it also became clear that lots of "Usage" and "Help"
    messages (fields "usage" and "help" in struct cmd_tbl_s respective)
    were actually redundant.

    This patch cleans this up - for example:

    Before:
    => help dtt
    dtt - Digital Thermometer and Thermostat

    Usage:
    dtt - Read temperature from digital thermometer and thermostat.

    After:
    => help dtt
    dtt - Read temperature from Digital Thermometer and Thermostat

    Usage:
    dtt

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     
  • There is actually no good reason to enforce that all board
    configuations must define default settings for "mtdids" and
    "mtdparts". Actually this may be difficult to handle, especially on
    boards where different sizes of flash chips can be fit, so there is no
    real "default" partition map for all boards.

    Lift this arbitrary limitation.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     
  • This patch removes all references to the direct CFI FLASH interface
    (via flash_info[]). Now that all FLASH types currently handled in
    mtdparts are available (if selected, see below) via the MTD infrastructure.
    This is NOR, NAND and OneNAND right now. This can be achieved by defining
    the following options:

    CONFIG_MTD_DEVICE (for all FLASH types)

    plus

    CONFIG_FLASH_CFI_MTD (for NOR FLASH)

    So we need to add those defines to the board config headers currently
    using the mtdparts commands. This is done via another patch, so
    we shouldn't break mtdparts compatibility.

    One big advantage from this solution is that the cmd_mtdparts.c is
    *much* cleaner now. Lot's of #ifdef's are removed and the code itself
    is smaller. Additionally the newly added MDT concatenation feature
    can new be used via the mtdparts infrastructure and therefor via
    UBI etc.

    Signed-off-by: Stefan Roese
    Cc: Ladislav Michl
    Cc: Scott Wood

    Stefan Roese
     

29 May, 2009

1 commit

  • Currently using JFFS2 with MTDPARTS enabled doesn't work. This is because
    mtdparts_init() is available in both files, cmd_mtdparts.c and
    cmd_jffs2.c. Please note that in the original cmd_jffs2.c file (before
    the jffs2/mtdparts command/file split those 2 different versions
    already existed. So this is nothing new. The main problem is that the
    variables "current_dev" and "current_partnum" are declared in both
    files now. This doesn't work.

    This patch now changes the names of those variable to more specific
    names: "current_mtd_dev" and "current_mtd_partnum". This is because
    this patch also changes the declaration from static to global, so
    that they can be used from both files.

    Please note that my first tests were not successful. The MTD devices
    selected via mtdparts are now accessed but I'm failing to see the
    directory listed via the "ls" command. Nothing is displayed. Perhaps
    I didn't generate the JFFS2 image correctly (I never used JFFS2 in
    U-Boot before). Not sure. Perhaps somebody else could take a look at
    this as well. I'll continue looking into this on Monday.

    Signed-off-by: Stefan Roese
    Cc: Wolfgang Denk
    Cc: Detlev Zundel
    Cc: Ilya Yanok
    Cc: Renaud barbier

    Stefan Roese
     

28 Apr, 2009

1 commit


05 Apr, 2009

1 commit

  • On Thu, Mar 19, 2009 at 01:30:36PM +0100, Stefan Roese wrote:
    > Currently the mtdparts commands are included in the jffs2 command support.
    > This doesn't make sense anymore since other commands (e.g. UBI) use this
    > infrastructure as well now. This patch separates the mtdparts commands from
    > the jffs2 commands making it possible to only select mtdparts when no JFFS2
    > support is needed.

    ... and to make it useful for NAND chips as well, we should also remove now
    unrelated CONFIG_JFFS2_NAND. Note that struct part_info etc is in
    jffs2/load_kernel.h which is a bit misleading filename for that purpose,
    but that can be fixed later (tm).

    Signed-off-by: Ladislav Michl

    Ladislav Michl
     

21 Mar, 2009

1 commit

  • Currently the mtdparts commands are included in the jffs2 command support.
    This doesn't make sense anymore since other commands (e.g. UBI) use this
    infrastructure as well now. This patch separates the mtdparts commands from
    the jffs2 commands making it possible to only select mtdparts when no JFFS2
    support is needed.

    Signed-off-by: Stefan Roese
    Signed-off-by: Kyungmin Park

    Stefan Roese