mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-19 04:14:49 +08:00
ata: libata-sff: kill unused ata_sff_busy_sleep()
Nobody seems to call ata_sff_busy_sleep(), so we can get rid of it... Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
This commit is contained in:
parent
de58fd3d80
commit
d5b560c014
@ -184,62 +184,6 @@ void ata_sff_dma_pause(struct ata_port *ap)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ata_sff_dma_pause);
|
||||
|
||||
/**
|
||||
* ata_sff_busy_sleep - sleep until BSY clears, or timeout
|
||||
* @ap: port containing status register to be polled
|
||||
* @tmout_pat: impatience timeout in msecs
|
||||
* @tmout: overall timeout in msecs
|
||||
*
|
||||
* Sleep until ATA Status register bit BSY clears,
|
||||
* or a timeout occurs.
|
||||
*
|
||||
* LOCKING:
|
||||
* Kernel thread context (may sleep).
|
||||
*
|
||||
* RETURNS:
|
||||
* 0 on success, -errno otherwise.
|
||||
*/
|
||||
int ata_sff_busy_sleep(struct ata_port *ap,
|
||||
unsigned long tmout_pat, unsigned long tmout)
|
||||
{
|
||||
unsigned long timer_start, timeout;
|
||||
u8 status;
|
||||
|
||||
status = ata_sff_busy_wait(ap, ATA_BUSY, 300);
|
||||
timer_start = jiffies;
|
||||
timeout = ata_deadline(timer_start, tmout_pat);
|
||||
while (status != 0xff && (status & ATA_BUSY) &&
|
||||
time_before(jiffies, timeout)) {
|
||||
ata_msleep(ap, 50);
|
||||
status = ata_sff_busy_wait(ap, ATA_BUSY, 3);
|
||||
}
|
||||
|
||||
if (status != 0xff && (status & ATA_BUSY))
|
||||
ata_port_warn(ap,
|
||||
"port is slow to respond, please be patient (Status 0x%x)\n",
|
||||
status);
|
||||
|
||||
timeout = ata_deadline(timer_start, tmout);
|
||||
while (status != 0xff && (status & ATA_BUSY) &&
|
||||
time_before(jiffies, timeout)) {
|
||||
ata_msleep(ap, 50);
|
||||
status = ap->ops->sff_check_status(ap);
|
||||
}
|
||||
|
||||
if (status == 0xff)
|
||||
return -ENODEV;
|
||||
|
||||
if (status & ATA_BUSY) {
|
||||
ata_port_err(ap,
|
||||
"port failed to respond (%lu secs, Status 0x%x)\n",
|
||||
DIV_ROUND_UP(tmout, 1000), status);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ata_sff_busy_sleep);
|
||||
|
||||
static int ata_sff_check_ready(struct ata_link *link)
|
||||
{
|
||||
u8 status = link->ap->ops->sff_check_status(link->ap);
|
||||
|
@ -1918,8 +1918,6 @@ extern void ata_sff_dev_select(struct ata_port *ap, unsigned int device);
|
||||
extern u8 ata_sff_check_status(struct ata_port *ap);
|
||||
extern void ata_sff_pause(struct ata_port *ap);
|
||||
extern void ata_sff_dma_pause(struct ata_port *ap);
|
||||
extern int ata_sff_busy_sleep(struct ata_port *ap,
|
||||
unsigned long timeout_pat, unsigned long timeout);
|
||||
extern int ata_sff_wait_ready(struct ata_link *link, unsigned long deadline);
|
||||
extern void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf);
|
||||
extern void ata_sff_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
|
||||
|
Loading…
Reference in New Issue
Block a user