ide: add struct ide_io_ports (take 3)
* Add struct ide_io_ports and use it instead of `unsigned long io_ports[]` in ide_hwif_t. * Rename io_ports[] in hw_regs_t to io_ports_array[]. * Use un-named union for 'unsigned long io_ports_array[]' and 'struct ide_io_ports io_ports' in hw_regs_t. * Remove IDE_*_OFFSET defines. v2: * scc_pata.c build fix from Stephen Rothwell. v3: * Fix ctl_adrr typo in Sparc-specific part of ns87415.c. (Noticed by Andrew Morton) Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tento commit je obsažen v:
@@ -465,10 +465,10 @@ static ide_startstop_t idefloppy_pc_intr(ide_drive_t *drive)
|
||||
}
|
||||
|
||||
/* Get the number of bytes to transfer */
|
||||
bcount = (hwif->INB(hwif->io_ports[IDE_BCOUNTH_OFFSET]) << 8) |
|
||||
hwif->INB(hwif->io_ports[IDE_BCOUNTL_OFFSET]);
|
||||
bcount = (hwif->INB(hwif->io_ports.lbah_addr) << 8) |
|
||||
hwif->INB(hwif->io_ports.lbam_addr);
|
||||
/* on this interrupt */
|
||||
ireason = hwif->INB(hwif->io_ports[IDE_IREASON_OFFSET]);
|
||||
ireason = hwif->INB(hwif->io_ports.nsect_addr);
|
||||
|
||||
if (ireason & CD) {
|
||||
printk(KERN_ERR "ide-floppy: CoD != 0 in %s\n", __func__);
|
||||
@@ -539,7 +539,7 @@ static ide_startstop_t idefloppy_transfer_pc(ide_drive_t *drive)
|
||||
"initiated yet DRQ isn't asserted\n");
|
||||
return startstop;
|
||||
}
|
||||
ireason = hwif->INB(hwif->io_ports[IDE_IREASON_OFFSET]);
|
||||
ireason = hwif->INB(hwif->io_ports.nsect_addr);
|
||||
if ((ireason & CD) == 0 || (ireason & IO)) {
|
||||
printk(KERN_ERR "ide-floppy: (IO,CoD) != (0,1) while "
|
||||
"issuing a packet command\n");
|
||||
@@ -586,7 +586,7 @@ static ide_startstop_t idefloppy_transfer_pc1(ide_drive_t *drive)
|
||||
"initiated yet DRQ isn't asserted\n");
|
||||
return startstop;
|
||||
}
|
||||
ireason = hwif->INB(hwif->io_ports[IDE_IREASON_OFFSET]);
|
||||
ireason = hwif->INB(hwif->io_ports.nsect_addr);
|
||||
if ((ireason & CD) == 0 || (ireason & IO)) {
|
||||
printk(KERN_ERR "ide-floppy: (IO,CoD) != (0,1) "
|
||||
"while issuing a packet command\n");
|
||||
@@ -692,7 +692,7 @@ static ide_startstop_t idefloppy_issue_pc(ide_drive_t *drive,
|
||||
return ide_started;
|
||||
} else {
|
||||
/* Issue the packet command */
|
||||
hwif->OUTB(WIN_PACKETCMD, hwif->io_ports[IDE_COMMAND_OFFSET]);
|
||||
hwif->OUTB(WIN_PACKETCMD, hwif->io_ports.command_addr);
|
||||
return (*pkt_xfer_routine) (drive);
|
||||
}
|
||||
}
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele