diff options
author | Alexander Dahl <ada@thorsis.com> | 2019-10-30 16:53:55 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2019-11-07 18:01:13 -0500 |
commit | 672c57057f4071ee786c5a3b94897ff6b6de39c4 (patch) | |
tree | b247e4dcb9359993452f7a15c334d68b670d1c1a /cmd | |
parent | 20841c52bb79e17159352d1410203c8b673ed305 (diff) | |
download | u-boot-672c57057f4071ee786c5a3b94897ff6b6de39c4.zip u-boot-672c57057f4071ee786c5a3b94897ff6b6de39c4.tar.gz u-boot-672c57057f4071ee786c5a3b94897ff6b6de39c4.tar.bz2 |
cmd: mtdparts: Fix build with option ..._SHOW_NET_SIZES
That option is currently not used by any defconfig and could not be set
anymore since it became mandatory to used Kconfig when introducing new
options with U-Boot v2016.11 or commit eed921d92348 ("Kconfig: Add a
whitelist of ad-hoc CONFIG options") and commit 371244cb19f9 ("Makefile:
Give a build error if ad-hoc CONFIG options are added").
It was also not considered when fixing build warnings in
commit 39ac34473f3c ("cmd_mtdparts: use 64 bits for flash size,
partition size & offset") and could probably not be compiled anyway
after commit dfe64e2c8973 ("mtd: resync with Linux-3.7.1"), which
renamed some members of struct mtd_info … so it was probably broken
since then, which was U-Boot v2013.07-rc1.
However it still seems to work, see example output below:
U-Boot 2019.10-00035-g06a9b259ca-dirty (Oct 30 2019 - 14:03:44 +0100)
CPU: SAMA5D27 1G bits DDR2 SDRAM
Crystal frequency: 24 MHz
CPU clock : 492 MHz
Master clock : 164 MHz
Model: ***
DRAM: 128 MiB
NAND: 256 MiB
Loading Environment from NAND... OK
In: serial@f8020000
Out: serial@f8020000
Err: serial@f8020000
Net: eth0: ethernet@f8008000
Hit keys 'tt' to stop autoboot (3 seconds).
U-Boot> mtdparts
device nand0 <atmel_nand>, # parts = 8
#: name size net size offset mask_flags
0: bootstrap 0x00040000 0x00040000 0x00000000 1
1: uboot 0x000c0000 0x000c0000 0x00040000 1
2: env1 0x00040000 0x00040000 0x00100000 0
3: env2 0x00040000 0x00040000 0x00140000 0
4: fpga_led 0x00040000 0x00040000 0x00180000 1
5: reserved 0x00040000 0x00040000 0x001c0000 1
6: rootfs_rec 0x03200000 0x03200000 0x00200000 1
7: filesystem 0x0cc00000 0x0cb80000 (!) 0x03400000 0
active partition: nand0,0 - (bootstrap) 0x00040000 @ 0x00000000
defaults:
mtdids : nand0=atmel_nand
mtdparts: mtdparts=atmel_nand:256k(bootstrap)ro,768k(uboot)ro,256k(env1),256k(env2),256k(fpga_led)ro,256k(reserved)ro,50M(rootfs_rec)ro,-(filesystem)
Signed-off-by: Alexander Dahl <ada@thorsis.com>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/Kconfig | 8 | ||||
-rw-r--r-- | cmd/mtdparts.c | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/cmd/Kconfig b/cmd/Kconfig index c414c5d..0eca0f7 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1986,6 +1986,14 @@ config CMD_MTDPARTS_SPREAD at least as large as the size specified in the mtdparts variable and 2) each partition starts on a good block. +config CMD_MTDPARTS_SHOW_NET_SIZES + bool "Show net size (w/o bad blocks) of partitions" + depends on CMD_MTDPARTS + help + Adds two columns to the printed partition table showing the + effective usable size of a partition, if bad blocks are taken + into account. + config CMD_REISER bool "reiser - Access to reiserfs filesystems" help diff --git a/cmd/mtdparts.c b/cmd/mtdparts.c index 46155ca..b40c2af 100644 --- a/cmd/mtdparts.c +++ b/cmd/mtdparts.c @@ -1233,11 +1233,11 @@ static uint64_t net_part_size(struct mtd_info *mtd, struct part_info *part) { uint64_t i, net_size = 0; - if (!mtd->block_isbad) + if (!mtd->_block_isbad) return part->size; for (i = 0; i < part->size; i += mtd->erasesize) { - if (!mtd->block_isbad(mtd, part->offset + i)) + if (!mtd->_block_isbad(mtd, part->offset + i)) net_size += mtd->erasesize; } @@ -1274,7 +1274,7 @@ static void print_partition_table(void) part = list_entry(pentry, struct part_info, link); net_size = net_part_size(mtd, part); size_note = part->size == net_size ? " " : " (!)"; - printf("%2d: %-20s0x%08x\t0x%08x%s\t0x%08x\t%d\n", + printf("%2d: %-20s0x%08llx\t0x%08x%s\t0x%08llx\t%d\n", part_num, part->name, part->size, net_size, size_note, part->offset, part->mask_flags); |