[U-Boot-Users] FIX: atmel dataflash

This patch fix an invalid use of a pointer in AT91F_DataflashSelect select function and an invalid array inizialization.
Signed-off-by: Trimarchi Michael trimarchimichael@yahoo.it ---
--- drivers/dataflash.c 2007-08-19 18:34:08.000000000 +0200 +++ drivers/dataflash.c.orig 2007-08-18 17:36:08.000000000 +0200 @@ -27,16 +27,16 @@ AT91S_DATAFLASH_INFO dataflash_info[CFG_ static AT91S_DataFlash DataFlashInst;
#ifdef CONFIG_AT91SAM9260EK -int cs[CFG_MAX_DATAFLASH_BANKS][2] = { +int cs[][CFG_MAX_DATAFLASH_BANKS] = { {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */ {CFG_DATAFLASH_LOGIC_ADDR_CS1, 1} }; #elif defined(CONFIG_AT91SAM9263EK) -int cs[CFG_MAX_DATAFLASH_BANKS][2] = { +int cs[][CFG_MAX_DATAFLASH_BANKS] = { {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0} /* Logical adress, CS */ }; #else -int cs[CFG_MAX_DATAFLASH_BANKS][2] = { +int cs[][CFG_MAX_DATAFLASH_BANKS] = { {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */ {CFG_DATAFLASH_LOGIC_ADDR_CS3, 3} }; @@ -304,7 +304,7 @@ AT91PS_DataFlash AT91F_DataflashSelect (
for (i = 0; i < CFG_MAX_DATAFLASH_BANKS; i++) if ( dataflash_info[i].id - && ((((unsigned int) *addr) & 0xFF000000) == + && ((((int) addr) & 0xFF000000) == dataflash_info[i].logical_address)) { addr_valid = 1; break;
participants (1)
-
michael trimarchi