libata: kill ata_chk_status()
ata_chk_status() just calls ops->check_status and it only adds confusion with other status functions. Kill it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Родитель
3d5a3d67a5
Коммит
6fd3639011
|
@ -290,7 +290,7 @@ int ata_busy_sleep(struct ata_port *ap,
|
|||
while (status != 0xff && (status & ATA_BUSY) &&
|
||||
time_before(jiffies, timeout)) {
|
||||
msleep(50);
|
||||
status = ata_chk_status(ap);
|
||||
status = ap->ops->check_status(ap);
|
||||
}
|
||||
|
||||
if (status == 0xff)
|
||||
|
@ -326,7 +326,7 @@ int ata_wait_ready(struct ata_port *ap, unsigned long deadline)
|
|||
int warned = 0;
|
||||
|
||||
while (1) {
|
||||
u8 status = ata_chk_status(ap);
|
||||
u8 status = ap->ops->check_status(ap);
|
||||
unsigned long now = jiffies;
|
||||
|
||||
if (!(status & ATA_BUSY))
|
||||
|
@ -1486,7 +1486,7 @@ inline unsigned int ata_host_intr(struct ata_port *ap,
|
|||
goto idle_irq;
|
||||
|
||||
/* check main status, clearing INTRQ */
|
||||
status = ata_chk_status(ap);
|
||||
status = ap->ops->check_status(ap);
|
||||
if (unlikely(status & ATA_BUSY))
|
||||
goto idle_irq;
|
||||
|
||||
|
@ -1506,7 +1506,7 @@ idle_irq:
|
|||
|
||||
#ifdef ATA_IRQ_TRAP
|
||||
if ((ap->stats.idle_irq % 1000) == 0) {
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
ap->ops->irq_clear(ap);
|
||||
ata_port_printk(ap, KERN_WARNING, "irq trap\n");
|
||||
return 1;
|
||||
|
@ -1582,7 +1582,7 @@ void ata_bmdma_freeze(struct ata_port *ap)
|
|||
* ATA_NIEN manipulation. Also, many controllers fail to mask
|
||||
* previously pending IRQ on ATA_NIEN assertion. Clear it.
|
||||
*/
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
|
||||
ap->ops->irq_clear(ap);
|
||||
}
|
||||
|
@ -1599,7 +1599,7 @@ void ata_bmdma_freeze(struct ata_port *ap)
|
|||
void ata_bmdma_thaw(struct ata_port *ap)
|
||||
{
|
||||
/* clear & re-enable interrupts */
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
ap->ops->irq_clear(ap);
|
||||
ap->ops->irq_on(ap);
|
||||
}
|
||||
|
@ -1709,7 +1709,7 @@ unsigned int ata_dev_try_classify(struct ata_device *dev, int present,
|
|||
class = ATA_DEV_ATA;
|
||||
else
|
||||
class = ATA_DEV_NONE;
|
||||
} else if ((class == ATA_DEV_ATA) && (ata_chk_status(ap) == 0))
|
||||
} else if ((class == ATA_DEV_ATA) && (ap->ops->check_status(ap) == 0))
|
||||
class = ATA_DEV_NONE;
|
||||
|
||||
return class;
|
||||
|
@ -1820,7 +1820,7 @@ void ata_wait_after_reset(struct ata_port *ap, unsigned long deadline)
|
|||
*/
|
||||
if (ap->flags & ATA_FLAG_SATA) {
|
||||
while (1) {
|
||||
u8 status = ata_chk_status(ap);
|
||||
u8 status = ap->ops->check_status(ap);
|
||||
|
||||
if (status != 0xff || time_after(jiffies, deadline))
|
||||
return;
|
||||
|
@ -1851,7 +1851,7 @@ static int ata_bus_softreset(struct ata_port *ap, unsigned int devmask,
|
|||
* the bus shows 0xFF because the odd clown forgets the D7
|
||||
* pulldown resistor.
|
||||
*/
|
||||
if (ata_chk_status(ap) == 0xFF)
|
||||
if (ap->ops->check_status(ap) == 0xFF)
|
||||
return -ENODEV;
|
||||
|
||||
return ata_bus_post_reset(ap, devmask, deadline);
|
||||
|
@ -2034,7 +2034,7 @@ void ata_bmdma_error_handler(struct ata_port *ap)
|
|||
}
|
||||
|
||||
ata_altstatus(ap);
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
ap->ops->irq_clear(ap);
|
||||
|
||||
spin_unlock_irqrestore(ap->lock, flags);
|
||||
|
@ -2725,7 +2725,6 @@ EXPORT_SYMBOL_GPL(ata_sff_port_ops);
|
|||
EXPORT_SYMBOL_GPL(ata_bmdma_port_ops);
|
||||
EXPORT_SYMBOL_GPL(ata_qc_prep);
|
||||
EXPORT_SYMBOL_GPL(ata_dumb_qc_prep);
|
||||
EXPORT_SYMBOL_GPL(ata_pci_default_filter);
|
||||
EXPORT_SYMBOL_GPL(ata_std_dev_select);
|
||||
EXPORT_SYMBOL_GPL(ata_check_status);
|
||||
EXPORT_SYMBOL_GPL(ata_altstatus);
|
||||
|
@ -2754,6 +2753,7 @@ EXPORT_SYMBOL_GPL(ata_bmdma_error_handler);
|
|||
EXPORT_SYMBOL_GPL(ata_bmdma_post_internal_cmd);
|
||||
EXPORT_SYMBOL_GPL(ata_sff_port_start);
|
||||
EXPORT_SYMBOL_GPL(ata_std_ports);
|
||||
EXPORT_SYMBOL_GPL(ata_pci_default_filter);
|
||||
EXPORT_SYMBOL_GPL(ata_bmdma_setup);
|
||||
EXPORT_SYMBOL_GPL(ata_bmdma_start);
|
||||
EXPORT_SYMBOL_GPL(ata_bmdma_stop);
|
||||
|
|
|
@ -1264,7 +1264,7 @@ static void bfin_bmdma_freeze(struct ata_port *ap)
|
|||
* ATA_NIEN manipulation. Also, many controllers fail to mask
|
||||
* previously pending IRQ on ATA_NIEN assertion. Clear it.
|
||||
*/
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
|
||||
bfin_irq_clear(ap);
|
||||
}
|
||||
|
|
|
@ -854,7 +854,7 @@ static void scc_bmdma_freeze (struct ata_port *ap)
|
|||
* ATA_NIEN manipulation. Also, many controllers fail to mask
|
||||
* previously pending IRQ on ATA_NIEN assertion. Clear it.
|
||||
*/
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
|
||||
ap->ops->irq_clear(ap);
|
||||
}
|
||||
|
|
|
@ -267,14 +267,14 @@ static void inic_host_intr(struct ata_port *ap)
|
|||
ata_qc_from_tag(ap, ap->link.active_tag);
|
||||
|
||||
if (unlikely(!qc || (qc->tf.flags & ATA_TFLAG_POLLING))) {
|
||||
ata_chk_status(ap); /* clear ATA interrupt */
|
||||
ap->ops->check_status(ap); /* clear ATA interrupt */
|
||||
return;
|
||||
}
|
||||
|
||||
if (likely(ata_host_intr(ap, qc)))
|
||||
return;
|
||||
|
||||
ata_chk_status(ap); /* clear ATA interrupt */
|
||||
ap->ops->check_status(ap); /* clear ATA interrupt */
|
||||
ata_port_printk(ap, KERN_WARNING, "unhandled "
|
||||
"interrupt, irq_stat=%x\n", irq_stat);
|
||||
return;
|
||||
|
@ -351,7 +351,7 @@ static unsigned int inic_qc_issue(struct ata_queued_cmd *qc)
|
|||
*/
|
||||
if (unlikely(qc->tf.command == ATA_CMD_ID_ATA ||
|
||||
qc->tf.command == ATA_CMD_ID_ATAPI)) {
|
||||
u8 stat = ata_chk_status(ap);
|
||||
u8 stat = ap->ops->check_status(ap);
|
||||
if (stat == 0x7f || stat == 0xff)
|
||||
return AC_ERR_HSM;
|
||||
}
|
||||
|
@ -365,7 +365,7 @@ static void inic_freeze(struct ata_port *ap)
|
|||
|
||||
__inic_set_pirq_mask(ap, PIRQ_MASK_FREEZE);
|
||||
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
writeb(0xff, port_base + PORT_IRQ_STAT);
|
||||
|
||||
readb(port_base + PORT_IRQ_STAT); /* flush */
|
||||
|
@ -375,7 +375,7 @@ static void inic_thaw(struct ata_port *ap)
|
|||
{
|
||||
void __iomem *port_base = inic_port_base(ap);
|
||||
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
writeb(0xff, port_base + PORT_IRQ_STAT);
|
||||
|
||||
__inic_set_pirq_mask(ap, PIRQ_MASK_OTHER);
|
||||
|
|
|
@ -369,7 +369,7 @@ static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
|
|||
|
||||
if (unlikely(!qc || (qc->tf.flags & ATA_TFLAG_POLLING))) {
|
||||
/* this sometimes happens, just clear IRQ */
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -405,7 +405,7 @@ static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
|
|||
}
|
||||
|
||||
/* check main status, clearing INTRQ */
|
||||
status = ata_chk_status(ap);
|
||||
status = ap->ops->check_status(ap);
|
||||
if (unlikely(status & ATA_BUSY))
|
||||
goto err_hsm;
|
||||
|
||||
|
@ -480,7 +480,7 @@ static void sil_thaw(struct ata_port *ap)
|
|||
u32 tmp;
|
||||
|
||||
/* clear IRQ */
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
ata_bmdma_irq_clear(ap);
|
||||
|
||||
/* turn on SATA IRQ if supported */
|
||||
|
|
|
@ -173,7 +173,7 @@ static void svia_noop_freeze(struct ata_port *ap)
|
|||
/* Some VIA controllers choke if ATA_NIEN is manipulated in
|
||||
* certain way. Leave it alone and just clear pending IRQ.
|
||||
*/
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
ata_bmdma_irq_clear(ap);
|
||||
}
|
||||
|
||||
|
|
|
@ -251,7 +251,7 @@ static void vsc_port_intr(u8 port_status, struct ata_port *ap)
|
|||
* simply clear the interrupt
|
||||
*/
|
||||
if (unlikely(!handled))
|
||||
ata_chk_status(ap);
|
||||
ap->ops->check_status(ap);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1401,11 +1401,6 @@ extern int ata_pci_init_one(struct pci_dev *pdev,
|
|||
struct scsi_host_template *sht, void *host_priv);
|
||||
#endif /* CONFIG_PCI */
|
||||
|
||||
static inline u8 ata_chk_status(struct ata_port *ap)
|
||||
{
|
||||
return ap->ops->check_status(ap);
|
||||
}
|
||||
|
||||
/**
|
||||
* ata_pause - Flush writes and pause 400 nanoseconds.
|
||||
* @ap: Port to wait for.
|
||||
|
@ -1439,7 +1434,7 @@ static inline u8 ata_busy_wait(struct ata_port *ap, unsigned int bits,
|
|||
|
||||
do {
|
||||
udelay(10);
|
||||
status = ata_chk_status(ap);
|
||||
status = ap->ops->check_status(ap);
|
||||
max--;
|
||||
} while (status != 0xff && (status & bits) && (max > 0));
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче