[U-Boot] [PATCH] sata: namespace curr_device variable

Mike Frysinger vapier at gentoo.org
Mon Jun 15 03:35:22 CEST 2009


The curr_device variable really should be namespaced with a "sata_" prefix
since it is only used by the sata code.  It also avoids random conflicts
with other pieces of code (like cmd_mmc):
common/libcommon.a(cmd_sata.o):(.data.curr_device+0x0):
	multiple definition of `curr_device'
common/libcommon.a(cmd_mmc.o):(.data.curr_device+0x0): first defined here

Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
 common/cmd_sata.c        |   24 ++++++++++++------------
 drivers/block/ata_piix.c |    6 +++---
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/common/cmd_sata.c b/common/cmd_sata.c
index a8147e0..1693a7e 100644
--- a/common/cmd_sata.c
+++ b/common/cmd_sata.c
@@ -28,7 +28,7 @@
 #include <part.h>
 #include <sata.h>
 
-int curr_device = -1;
+int sata_curr_device = -1;
 block_dev_desc_t sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE];
 
 int __sata_initialize(void)
@@ -52,7 +52,7 @@ int __sata_initialize(void)
 		if ((sata_dev_desc[i].lba > 0) && (sata_dev_desc[i].blksz > 0))
 			init_part(&sata_dev_desc[i]);
 	}
-	curr_device = 0;
+	sata_curr_device = 0;
 	return rc;
 }
 int sata_initialize(void) __attribute__((weak,alias("__sata_initialize")));
@@ -70,7 +70,7 @@ int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 		return sata_initialize();
 
 	/* If the user has not yet run `sata init`, do it now */
-	if (curr_device == -1)
+	if (sata_curr_device == -1)
 		if (sata_initialize())
 			return 1;
 
@@ -91,12 +91,12 @@ int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 			}
 			return 0;
 		} else if (strncmp(argv[1],"dev", 3) == 0) {
-			if ((curr_device < 0) || (curr_device >= CONFIG_SYS_SATA_MAX_DEVICE)) {
+			if ((sata_curr_device < 0) || (sata_curr_device >= CONFIG_SYS_SATA_MAX_DEVICE)) {
 				puts("\nno SATA devices available\n");
 				return 1;
 			}
-			printf("\nSATA device %d: ", curr_device);
-			dev_print(&sata_dev_desc[curr_device]);
+			printf("\nSATA device %d: ", sata_curr_device);
+			dev_print(&sata_dev_desc[sata_curr_device]);
 			return 0;
 		} else if (strncmp(argv[1],"part",4) == 0) {
 			int dev, ok;
@@ -131,7 +131,7 @@ int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 			if (sata_dev_desc[dev].type == DEV_TYPE_UNKNOWN)
 				return 1;
 
-			curr_device = dev;
+			sata_curr_device = dev;
 
 			puts("... is now current device\n");
 
@@ -158,12 +158,12 @@ int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 			lbaint_t blk = simple_strtoul(argv[3], NULL, 16);
 
 			printf("\nSATA read: device %d block # %ld, count %ld ... ",
-				curr_device, blk, cnt);
+				sata_curr_device, blk, cnt);
 
-			n = sata_read(curr_device, blk, cnt, (u32 *)addr);
+			n = sata_read(sata_curr_device, blk, cnt, (u32 *)addr);
 
 			/* flush cache after read */
-			flush_cache(addr, cnt * sata_dev_desc[curr_device].blksz);
+			flush_cache(addr, cnt * sata_dev_desc[sata_curr_device].blksz);
 
 			printf("%ld blocks read: %s\n",
 				n, (n==cnt) ? "OK" : "ERROR");
@@ -176,9 +176,9 @@ int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 			lbaint_t blk = simple_strtoul(argv[3], NULL, 16);
 
 			printf("\nSATA write: device %d block # %ld, count %ld ... ",
-				curr_device, blk, cnt);
+				sata_curr_device, blk, cnt);
 
-			n = sata_write(curr_device, blk, cnt, (u32 *)addr);
+			n = sata_write(sata_curr_device, blk, cnt, (u32 *)addr);
 
 			printf("%ld blocks written: %s\n",
 				n, (n == cnt) ? "OK" : "ERROR");
diff --git a/drivers/block/ata_piix.c b/drivers/block/ata_piix.c
index ec37687..549de31 100644
--- a/drivers/block/ata_piix.c
+++ b/drivers/block/ata_piix.c
@@ -36,7 +36,7 @@
 #include <ata.h>
 
 extern block_dev_desc_t sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE];
-extern int curr_device;
+extern int sata_curr_device;
 
 #define DEBUG_SATA 0		/*For debug prints set DEBUG_SATA to 1 */
 
@@ -204,8 +204,8 @@ init_sata (int dev)
 				dev_print (&sata_dev_desc[devno]);
 				/* initialize partition type */
 				init_part (&sata_dev_desc[devno]);
-				if (curr_device < 0)
-					curr_device =
+				if (sata_curr_device < 0)
+					sata_curr_device =
 					    i * CONFIG_SYS_SATA_DEVS_PER_BUS + j;
 			}
 		}
-- 
1.6.3.1



More information about the U-Boot mailing list