fsl_sata: Fix compile error when CONFIG_LBA48 is not defined
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> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
8af3d22db9
commit
007a28d54d
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user