Re: Any guides for adding new IDE chipset drivers?

From: Bartlomiej Zolnierkiewicz
Date: Mon Feb 16 2004 - 12:36:38 EST


On Monday 16 of February 2004 18:04, Alex Bennee wrote:
> Hi,
>
> We currently have implemented a simple (PIO) IDE interface on our
> embedded SH based board. The "driver" is just a simple call from
> ide_setup() that twiddles the various values in ide_hwifs to set the
> correct port addresses.

Most embedded people till now just _abused_ ide_init_default_hwifs() :-(.

> All this is all well and good and works fine. However I'm looking at
> adding DMA support to the driver to make better use of the hardware.
> I've been looking around the other arch IDE drivers (e.g. the ppc pmac
> driver) which seem to hook into the probe_for_hwifs() and then update
> the hwifs table itself. This makes me wonder am I initialising my driver
> the "correct" way.

No, it is not the "correct" way.

> As far as implementing the DMA features is concerned as far as I can
> tell I just need to code up routines for all the various
> hwifs[x].ide_dma* functions and be done with it. Am I missing anything?
>
> So my questions boil down to:
>
> Are there any guides for driver writers for what needs doing to add new
> IDE chipset drivers?

No, unfortunately.

> Is there a driver that can be held of as an example of good taste and
> the "right" way to implement a chipset driver?

Yep. Please take a look at drivers/ide/arm/icside.c.
It is well written, quite simple and has DMA support.

If you have any questions/issues feel free to ask
on linux-ide@xxxxxxxxxxxxxxx mailing list.

Cheers,
--bart

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/