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 <sebastian.hesselbarth@xxxxxxxxx> --- Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Cc: barebox@xxxxxxxxxxxxxxxxxxx --- 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 9d1803ccc6ba..a472d072fd68 100644 --- a/drivers/mtd/nand/nand_mrvl_nfc.c +++ b/drivers/mtd/nand/nand_mrvl_nfc.c @@ -152,6 +152,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 ? */ @@ -928,6 +929,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; @@ -981,7 +983,7 @@ static int mrvl_nand_probe_dt(struct mrvl_nand_host *host) { struct device_node *np = host->dev->device_node; - 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.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox