Commit 180bd147 authored by Phil Sutter's avatar Phil Sutter Committed by Jeff Garzik

pata-rb532-cf: use ata_sff_data_xfer32()

The biggest difference between rb532_pata_data_xfer() and
ata_sff_data_xfer32() is the call to ata_sff_pause() at the end of
rb532_pata_data_xfer() which I suppose to be unnecessary since it works
without. I've also tested using ata_sff_data_xfer() as replacement, but
since we know that the driver supports 32bit IO, using the optimised
version should be safe.
Signed-off-by: default avatarPhil Sutter <n0-1@freewrt.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent bff9ad3c
...@@ -54,25 +54,6 @@ struct rb532_cf_info { ...@@ -54,25 +54,6 @@ struct rb532_cf_info {
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
static unsigned int rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf,
unsigned int buflen, int write_data)
{
struct ata_port *ap = adev->link->ap;
void __iomem *ioaddr = ap->ioaddr.data_addr;
int retlen = buflen;
if (write_data) {
for (; buflen > 0; buflen--, buf++)
writeb(*buf, ioaddr);
} else {
for (; buflen > 0; buflen--, buf++)
*buf = readb(ioaddr);
}
ata_sff_pause(ap);
return retlen;
}
static void rb532_pata_freeze(struct ata_port *ap) static void rb532_pata_freeze(struct ata_port *ap)
{ {
struct rb532_cf_info *info = ap->host->private_data; struct rb532_cf_info *info = ap->host->private_data;
...@@ -105,7 +86,7 @@ static irqreturn_t rb532_pata_irq_handler(int irq, void *dev_instance) ...@@ -105,7 +86,7 @@ static irqreturn_t rb532_pata_irq_handler(int irq, void *dev_instance)
static struct ata_port_operations rb532_pata_port_ops = { static struct ata_port_operations rb532_pata_port_ops = {
.inherits = &ata_sff_port_ops, .inherits = &ata_sff_port_ops,
.sff_data_xfer = rb532_pata_data_xfer, .sff_data_xfer = ata_sff_data_xfer32,
.freeze = rb532_pata_freeze, .freeze = rb532_pata_freeze,
.thaw = rb532_pata_thaw, .thaw = rb532_pata_thaw,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment