aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-23 13:55:52 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-23 13:55:52 -0400
commit1f6d8a0fd8f6cc5ee2219a8cf9b2da16dfd67397 (patch)
tree4a858f4525ea67cd325ec370f4823adc1f7c0450 /drivers/ide/pci
parentb73c7ee25da6133f97f47ffd3557288417da7c76 (diff)
ide: add ->read_altstatus method
* Remove ide_read_altstatus() inline helper. * Add ->read_altstatus method for reading ATA Alternate Status register and use it instead of ->INB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci')
-rw-r--r--drivers/ide/pci/scc_pata.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c
index 3d72a5e03f3d..a89dc4780786 100644
--- a/drivers/ide/pci/scc_pata.c
+++ b/drivers/ide/pci/scc_pata.c
@@ -139,6 +139,11 @@ static u8 scc_read_status(ide_hwif_t *hwif)
139 return (u8)in_be32((void *)hwif->io_ports.status_addr); 139 return (u8)in_be32((void *)hwif->io_ports.status_addr);
140} 140}
141 141
142static u8 scc_read_altstatus(ide_hwif_t *hwif)
143{
144 return (u8)in_be32((void *)hwif->io_ports.ctl_addr);
145}
146
142static u8 scc_read_sff_dma_status(ide_hwif_t *hwif) 147static u8 scc_read_sff_dma_status(ide_hwif_t *hwif)
143{ 148{
144 return (u8)in_be32((void *)(hwif->dma_base + 4)); 149 return (u8)in_be32((void *)(hwif->dma_base + 4));
@@ -794,6 +799,7 @@ static void __devinit init_mmio_iops_scc(ide_hwif_t *hwif)
794 799
795 hwif->exec_command = scc_exec_command; 800 hwif->exec_command = scc_exec_command;
796 hwif->read_status = scc_read_status; 801 hwif->read_status = scc_read_status;
802 hwif->read_altstatus = scc_read_altstatus;
797 hwif->read_sff_dma_status = scc_read_sff_dma_status; 803 hwif->read_sff_dma_status = scc_read_sff_dma_status;
798 804
799 hwif->tf_load = scc_tf_load; 805 hwif->tf_load = scc_tf_load;