diff mbox

[U-Boot,3/4] fsl_sata: Fix compile error when CONFIG_LBA48 is not defined

Message ID 1317669522-19756-3-git-send-email-yorksun@freescale.com
State Accepted
Commit 007a28d54de7ff5794b14854f12cda6e49ec1122
Delegated to: Kumar Gala
Headers show

Commit Message

York Sun Oct. 3, 2011, 7:18 p.m. UTC
From: Tang Yuantian <B29983@freescale.com>

If CONFIG_LBA48 is not defined, the element lba48 of
struct sata_dev_desc is not avaible, and can't be used.

Signed-off-by: Tang Yuantian <b29983@freescale.com>
---
 drivers/block/fsl_sata.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

Comments

Kumar Gala Oct. 7, 2011, 3:07 p.m. UTC | #1
On Oct 3, 2011, at 2:18 PM, York Sun wrote:

> From: Tang Yuantian <B29983@freescale.com>
> 
> If CONFIG_LBA48 is not defined, the element lba48 of
> struct sata_dev_desc is not avaible, and can't be used.
> 
> Signed-off-by: Tang Yuantian <b29983@freescale.com>
> ---
> drivers/block/fsl_sata.c |   15 ++++++++++-----
> 1 files changed, 10 insertions(+), 5 deletions(-)

applied to 85xx

- k
diff mbox

Patch

diff --git a/drivers/block/fsl_sata.c b/drivers/block/fsl_sata.c
index 4b97a0e..b101bd7 100644
--- a/drivers/block/fsl_sata.c
+++ b/drivers/block/fsl_sata.c
@@ -700,7 +700,7 @@  u32 fsl_sata_rw_ncq_cmd(int dev, u32 start, u32 blkcnt, u8 *buffer, int is_write
 	int ncq_channel;
 	u64 block;
 
-	if (sata_dev_desc[dev].lba48 != 1) {
+	if (sata->lba48 != 1) {
 		printf("execute FPDMA command on non-LBA48 hard disk\n\r");
 		return -1;
 	}
@@ -854,8 +854,9 @@  u32 ata_low_level_rw_lba28(int dev, u32 blknr, u32 blkcnt, void *buffer, int is_
 ulong sata_read(int dev, u32 blknr, u32 blkcnt, void *buffer)
 {
 	u32 rc;
+	fsl_sata_t *sata = (fsl_sata_t *)sata_dev_desc[dev].priv;
 
-	if (sata_dev_desc[dev].lba48)
+	if (sata->lba48)
 		rc = ata_low_level_rw_lba48(dev, blknr, blkcnt, buffer, READ_CMD);
 	else
 		rc = ata_low_level_rw_lba28(dev, blknr, blkcnt, buffer, READ_CMD);
@@ -865,8 +866,9 @@  ulong sata_read(int dev, u32 blknr, u32 blkcnt, void *buffer)
 ulong sata_write(int dev, u32 blknr, u32 blkcnt, void *buffer)
 {
 	u32 rc;
+	fsl_sata_t *sata = (fsl_sata_t *)sata_dev_desc[dev].priv;
 
-	if (sata_dev_desc[dev].lba48) {
+	if (sata->lba48) {
 		rc = ata_low_level_rw_lba48(dev, blknr, blkcnt, buffer, WRITE_CMD);
 		if (fsl_sata_get_wcache(dev) && fsl_sata_get_flush_ext(dev))
 			fsl_sata_flush_cache_ext(dev);
@@ -916,11 +918,14 @@  int scan_sata(int dev)
 	n_sectors = ata_id_n_sectors(id);
 	sata_dev_desc[dev].lba = (u32)n_sectors;
 
+#ifdef CONFIG_LBA48
 	/* Check if support LBA48 */
 	if (ata_id_has_lba48(id)) {
-		sata_dev_desc[dev].lba48 = 1;
+		sata->lba48 = 1;
 		debug("Device support LBA48\n\r");
-	}
+	} else
+		debug("Device supports LBA28\n\r");
+#endif
 
 	/* Get the NCQ queue depth from device */
 	sata->queue_depth = ata_id_queue_depth(id);