mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
IDE: fix compiler warnings
The IDE driver can use 32-bit addresses in LBA mode, in which case it spits multiple warnings during compilation. Fix them. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
This commit is contained in:
parent
db9084de28
commit
413bf58626
1 changed files with 12 additions and 2 deletions
|
@ -1264,7 +1264,7 @@ ulong ide_read (int device, lbaint_t blknr, ulong blkcnt, void *buffer)
|
|||
#ifdef CONFIG_LBA48
|
||||
unsigned char lba48 = 0;
|
||||
|
||||
if (blknr & 0x0000fffff0000000) {
|
||||
if (blknr & 0x0000fffff0000000ULL) {
|
||||
/* more than 28 bits used, use 48bit mode */
|
||||
lba48 = 1;
|
||||
}
|
||||
|
@ -1318,8 +1318,13 @@ ulong ide_read (int device, lbaint_t blknr, ulong blkcnt, void *buffer)
|
|||
/* write high bits */
|
||||
ide_outb (device, ATA_SECT_CNT, 0);
|
||||
ide_outb (device, ATA_LBA_LOW, (blknr >> 24) & 0xFF);
|
||||
#ifdef CFG_64BIT_LBA
|
||||
ide_outb (device, ATA_LBA_MID, (blknr >> 32) & 0xFF);
|
||||
ide_outb (device, ATA_LBA_HIGH, (blknr >> 40) & 0xFF);
|
||||
#else
|
||||
ide_outb (device, ATA_LBA_MID, 0);
|
||||
ide_outb (device, ATA_LBA_HIGH, 0);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
ide_outb (device, ATA_SECT_CNT, 1);
|
||||
|
@ -1383,7 +1388,7 @@ ulong ide_write (int device, lbaint_t blknr, ulong blkcnt, void *buffer)
|
|||
#ifdef CONFIG_LBA48
|
||||
unsigned char lba48 = 0;
|
||||
|
||||
if (blknr & 0x0000fffff0000000) {
|
||||
if (blknr & 0x0000fffff0000000ULL) {
|
||||
/* more than 28 bits used, use 48bit mode */
|
||||
lba48 = 1;
|
||||
}
|
||||
|
@ -1408,8 +1413,13 @@ ulong ide_write (int device, lbaint_t blknr, ulong blkcnt, void *buffer)
|
|||
/* write high bits */
|
||||
ide_outb (device, ATA_SECT_CNT, 0);
|
||||
ide_outb (device, ATA_LBA_LOW, (blknr >> 24) & 0xFF);
|
||||
#ifdef CFG_64BIT_LBA
|
||||
ide_outb (device, ATA_LBA_MID, (blknr >> 32) & 0xFF);
|
||||
ide_outb (device, ATA_LBA_HIGH, (blknr >> 40) & 0xFF);
|
||||
#else
|
||||
ide_outb (device, ATA_LBA_MID, 0);
|
||||
ide_outb (device, ATA_LBA_HIGH, 0);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
ide_outb (device, ATA_SECT_CNT, 1);
|
||||
|
|
Loading…
Reference in a new issue