Re: [PATCH] pata_pcmcia: add EBSA110's PCMCIA slot support

From: Bartlomiej Zolnierkiewicz
Date: Fri Mar 17 2017 - 08:00:27 EST



Hi,

On Thursday, March 16, 2017 05:26:54 PM Tejun Heo wrote:
> Hello,
>
> On Tue, Mar 14, 2017 at 06:50:43PM +0100, Bartlomiej Zolnierkiewicz wrote:
> > +static struct ata_port_operations pcmcia_ebsa110_port_ops = {
> > + .inherits = &ata_sff_port_ops,
> > + .sff_dev_select = pmcmia_ebsa110_dev_select,
> ^^^^^^
> > + .sff_set_devctl = pcmcia_ebsa110_set_devctl,
> > + .sff_check_status = pcmcia_ebsa110_check_status,
> > + .sff_check_altstatus = pcmcia_ebsa110_check_altstatus,
> > + .sff_tf_load = pcmcia_ebsa110_tf_load,
> > + .sff_tf_read = pcmcia_ebsa110_tf_read,
> > + .sff_exec_command = pcmcia_ebsa110_exec_command,
> > + .sff_data_xfer = ata_sff_data_xfer_noirq,
> > + .softreset = pata_pcmcia_ebsa110_softreset,
> > + .cable_detect = ata_cable_40wire,
> > + .set_mode = pcmcia_set_mode,
> > +};
>
> Heh, that's a fat driver for a sff device. I suppose this is mostly
> copied from the matching ide driver but it'd be nice to explain why it
> needs duplicate most standard functions. Is it because PCMCIA
> assigned address doesn't fall under the usual read/io boundary on the
> arch?

There is no support for this device in the upstream ide driver but
Russell has a hacky patch to make it work by redefining inb()/outb()
operations globally for the whole ide subsystem, please see:

https://www.spinics.net/lists/arm-kernel/msg567454.html

and

arch/arm/mach-ebsa110/io.c

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics