[PATCH] libata: move ata_irq_on() into libata-sff.c
ata_irq_on() isn't used outside of libata core layer. The function is TF/SFF interface specific but currently used by core path with some hack too. Move it from include/linux/libata.h to drivers/ata/libata-sff.c. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
@@ -38,6 +38,35 @@
|
|||||||
|
|
||||||
#include "libata.h"
|
#include "libata.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ata_irq_on - Enable interrupts on a port.
|
||||||
|
* @ap: Port on which interrupts are enabled.
|
||||||
|
*
|
||||||
|
* Enable interrupts on a legacy IDE device using MMIO or PIO,
|
||||||
|
* wait for idle, clear any pending interrupts.
|
||||||
|
*
|
||||||
|
* LOCKING:
|
||||||
|
* Inherited from caller.
|
||||||
|
*/
|
||||||
|
u8 ata_irq_on(struct ata_port *ap)
|
||||||
|
{
|
||||||
|
struct ata_ioports *ioaddr = &ap->ioaddr;
|
||||||
|
u8 tmp;
|
||||||
|
|
||||||
|
ap->ctl &= ~ATA_NIEN;
|
||||||
|
ap->last_ctl = ap->ctl;
|
||||||
|
|
||||||
|
if (ap->flags & ATA_FLAG_MMIO)
|
||||||
|
writeb(ap->ctl, (void __iomem *) ioaddr->ctl_addr);
|
||||||
|
else
|
||||||
|
outb(ap->ctl, ioaddr->ctl_addr);
|
||||||
|
tmp = ata_wait_idle(ap);
|
||||||
|
|
||||||
|
ap->ops->irq_clear(ap);
|
||||||
|
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ata_tf_load_pio - send taskfile registers to host controller
|
* ata_tf_load_pio - send taskfile registers to host controller
|
||||||
* @ap: Port to which output is sent
|
* @ap: Port to which output is sent
|
||||||
|
@@ -120,4 +120,7 @@ extern void ata_scsi_error(struct Scsi_Host *host);
|
|||||||
extern void ata_port_wait_eh(struct ata_port *ap);
|
extern void ata_port_wait_eh(struct ata_port *ap);
|
||||||
extern void ata_qc_schedule_eh(struct ata_queued_cmd *qc);
|
extern void ata_qc_schedule_eh(struct ata_queued_cmd *qc);
|
||||||
|
|
||||||
|
/* libata-sff.c */
|
||||||
|
extern u8 ata_irq_on(struct ata_port *ap);
|
||||||
|
|
||||||
#endif /* __LIBATA_H__ */
|
#endif /* __LIBATA_H__ */
|
||||||
|
@@ -1149,37 +1149,6 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc)
|
|||||||
qc->result_tf.feature = 0;
|
qc->result_tf.feature = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* ata_irq_on - Enable interrupts on a port.
|
|
||||||
* @ap: Port on which interrupts are enabled.
|
|
||||||
*
|
|
||||||
* Enable interrupts on a legacy IDE device using MMIO or PIO,
|
|
||||||
* wait for idle, clear any pending interrupts.
|
|
||||||
*
|
|
||||||
* LOCKING:
|
|
||||||
* Inherited from caller.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static inline u8 ata_irq_on(struct ata_port *ap)
|
|
||||||
{
|
|
||||||
struct ata_ioports *ioaddr = &ap->ioaddr;
|
|
||||||
u8 tmp;
|
|
||||||
|
|
||||||
ap->ctl &= ~ATA_NIEN;
|
|
||||||
ap->last_ctl = ap->ctl;
|
|
||||||
|
|
||||||
if (ap->flags & ATA_FLAG_MMIO)
|
|
||||||
writeb(ap->ctl, (void __iomem *) ioaddr->ctl_addr);
|
|
||||||
else
|
|
||||||
outb(ap->ctl, ioaddr->ctl_addr);
|
|
||||||
tmp = ata_wait_idle(ap);
|
|
||||||
|
|
||||||
ap->ops->irq_clear(ap);
|
|
||||||
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ata_irq_ack - Acknowledge a device interrupt.
|
* ata_irq_ack - Acknowledge a device interrupt.
|
||||||
* @ap: Port on which interrupts are enabled.
|
* @ap: Port on which interrupts are enabled.
|
||||||
|
Reference in New Issue
Block a user