Skip to content

Commit

Permalink
mtd: nand/fsmc: Pass partition information through platform data
Browse files Browse the repository at this point in the history
This patch reimplements the passing of partition information through platform
data. This was unintentionally deleted in commit
0d04eda
"mtd: fsmc_nand.c: use mtd_device_parse_register"

Artem: fix gcc warning about passin 0 instead of NULL.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Acked-by: Stefan Roese <sr@denx.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: stable@kernel.org [3.2+]
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
  • Loading branch information
Vipin Kumar authored and David Woodhouse committed Mar 26, 2012
1 parent b2a2a84 commit 7147032
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions drivers/mtd/nand/fsmc_nand.c
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,8 @@ static struct mtd_partition partition_info_128KB_blk[] = {
* @pid: Part ID on the AMBA PrimeCell format
* @mtd: MTD info for a NAND flash.
* @nand: Chip related info for a NAND flash.
* @partitions: Partition info for a NAND Flash.
* @nr_partitions: Total number of partition of a NAND flash.
*
* @ecc_place: ECC placing locations in oobfree type format.
* @bank: Bank number for probed device.
Expand All @@ -347,6 +349,8 @@ struct fsmc_nand_data {
u32 pid;
struct mtd_info mtd;
struct nand_chip nand;
struct mtd_partition *partitions;
unsigned int nr_partitions;

struct fsmc_eccplace *ecc_place;
unsigned int bank;
Expand Down Expand Up @@ -833,6 +837,8 @@ static int __init fsmc_nand_probe(struct platform_device *pdev)

host->bank = pdata->bank;
host->select_chip = pdata->select_bank;
host->partitions = pdata->partitions;
host->nr_partitions = pdata->nr_partitions;
regs = host->regs_va;

/* Link all private pointers */
Expand Down Expand Up @@ -943,12 +949,7 @@ static int __init fsmc_nand_probe(struct platform_device *pdev)
*/
host->mtd.name = "nand";
ret = mtd_device_parse_register(&host->mtd, NULL, NULL,
host->mtd.size <= 0x04000000 ?
partition_info_16KB_blk :
partition_info_128KB_blk,
host->mtd.size <= 0x04000000 ?
ARRAY_SIZE(partition_info_16KB_blk) :
ARRAY_SIZE(partition_info_128KB_blk));
host->partitions, host->nr_partitions);
if (ret)
goto err_probe;

Expand Down

0 comments on commit 7147032

Please sign in to comment.