The "num-cs" property does not encode flashes CS line but number
of available CS signals. Fix wrong property parsing to ->cs by
adding proper ->num_cs variable to host struct.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Tested-by: Robert Jarzmik <[email protected]>
---
 drivers/mtd/nand/nand_mrvl_nfc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/nand_mrvl_nfc.c b/drivers/mtd/nand/nand_mrvl_nfc.c
index 95abd4ddf243..5374e64965a2 100644
--- a/drivers/mtd/nand/nand_mrvl_nfc.c
+++ b/drivers/mtd/nand/nand_mrvl_nfc.c
@@ -153,6 +153,7 @@ struct mrvl_nand_host {
        int                     ecc_strength;
        int                     ecc_step;
 
+       int                     num_cs;         /* avaiable CS signals */
        int                     cs;             /* selected chip 0/1 */
        int                     use_ecc;        /* use HW ECC ? */
        int                     use_spare;      /* use spare ? */
@@ -929,6 +930,7 @@ static struct mrvl_nand_host *alloc_nand_resource(struct 
device_d *dev)
 
        pdata = dev->platform_data;
        host = xzalloc(sizeof(*host));
+       host->num_cs = 1;
        host->cs = 0;
        mtd = &host->mtd;
        mtd->priv = &host->chip;
@@ -988,7 +990,7 @@ static int mrvl_nand_probe_dt(struct mrvl_nand_host *host)
 
        if (of_get_property(np, "marvell,nand-keep-config", NULL))
                host->keep_config = 1;
-       of_property_read_u32(np, "num-cs", &host->cs);
+       of_property_read_u32(np, "num-cs", &host->num_cs);
        if (of_get_nand_on_flash_bbt(np))
                host->flash_bbt = 1;
 
-- 
2.1.4


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to