[U-Boot-Users] FIX: atmel dataflash

michael trimarchi trimarchi at gandalf.sssup.it
Sun Aug 19 17:40:12 CEST 2007


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 at 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;




More information about the U-Boot mailing list