diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2013-01-24 17:39:58 +0100 |
---|---|---|
committer | Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | 2013-02-04 09:31:33 +0100 |
commit | 25bad1d3c9f5616aaa50849300248d03141574a0 (patch) | |
tree | bcde3c97cb3fc0d762ec4457ab3953671c93330d /drivers/mtd | |
parent | mtd: bcm47xxnflash: register this as normal driver (diff) | |
download | linux-25bad1d3c9f5616aaa50849300248d03141574a0.tar.xz linux-25bad1d3c9f5616aaa50849300248d03141574a0.zip |
mtd: bcm47xxpart: add support for other erase sizes
To make the partitions writable they should aligned to erase sizes of
the flash. If the erase size is small use 0x10000.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/bcm47xxpart.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c index 3411bc2a1482..986ab6ef3181 100644 --- a/drivers/mtd/bcm47xxpart.c +++ b/drivers/mtd/bcm47xxpart.c @@ -59,11 +59,14 @@ static int bcm47xxpart_parse(struct mtd_info *master, uint32_t *buf; size_t bytes_read; uint32_t offset; - uint32_t blocksize = 0x10000; + uint32_t blocksize = master->erasesize; struct trx_header *trx; int trx_part = -1; int last_trx_part = -1; + if (blocksize <= 0x10000) + blocksize = 0x10000; + /* Alloc */ parts = kzalloc(sizeof(struct mtd_partition) * BCM47XXPART_MAX_PARTS, GFP_KERNEL); |