diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-06-06 09:03:35 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-06-06 09:03:35 +0000 |
commit | dda1223b58a63b1507e663dc3fffa49298de602a (patch) | |
tree | f76c2fbb47f0ea3c947d6587e8057b669b92bfb4 /target/linux/adm5120/files/arch/mips | |
parent | 878aef47eb05eeb0804636ca4c464dae2229565b (diff) |
[adm5120] make use the chip_fixup function of the plat_nand driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11376 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/adm5120/files/arch/mips')
-rw-r--r-- | target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c index 48ea92f22..48a7272af 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c @@ -213,6 +213,16 @@ static void __init rb1xx_mac_setup(void) } } +static int rb1xx_nand_fixup(struct mtd_info *mtd) +{ + struct nand_chip *chip = mtd->priv; + + if (mtd->writesize == 512) + chip->ecc.layout = &rb1xx_nand_ecclayout; + + return 0; +} + static void __init rb1xx_flash_setup(void) { /* setup data for flash0 device */ @@ -223,9 +233,10 @@ static void __init rb1xx_flash_setup(void) adm5120_nand_data.chip.nr_chips = 1; adm5120_nand_data.chip.nr_partitions = ARRAY_SIZE(rb1xx_nand_parts); adm5120_nand_data.chip.partitions = rb1xx_nand_parts; - adm5120_nand_data.chip.ecclayout = &rb1xx_nand_ecclayout; adm5120_nand_data.chip.chip_delay = RB1XX_NAND_CHIP_DELAY; adm5120_nand_data.chip.options = NAND_NO_AUTOINCR; + + adm5120_nand_data.chip.chip_fixup = &rb1xx_nand_fixup; } static void __init rb1xx_setup(void) |