2000-11-02 22:34:06

by Richard A Nelson

[permalink] [raw]
Subject: Sample device driver - 2.2 and 2.4 support?

I've been assigned a device driver that uses the old (2.0) PCI
support APIs - and is still working on 2.2.

I need to get this driver working on 2.2 and 2.4, I'm assuming I'll
need to go switch to the newer PCI stuff - but am curious about the
toleration support in later 2.2 kernels; is it complete enough that
I can migrate to 2.4, and still compile on 2.2?

The device:
1-2 DMA
1 IRQ

The driver:
mkalloc
__get_free_pages
virt_to_bus
request_irc
wake_up

The driver has similiar functionality to a sound card:
Send/Receive (possibly large) data to device via DMA (page fixing, etc)

Is there a cononical example (esp. wrt 2.2 <-> 2.4 changes) I should look
at ?

Thanks,
--
Rick Nelson
Life'll kill ya -- Warren Zevon
Then you'll be dead -- Life'll kill ya


2000-11-04 06:22:24

by Jeff Garzik

[permalink] [raw]
Subject: Re: Sample device driver - 2.2 and 2.4 support?

Richard A Nelson wrote:
> I've been assigned a device driver that uses the old (2.0) PCI
> support APIs - and is still working on 2.2.
>
> I need to get this driver working on 2.2 and 2.4, I'm assuming I'll
> need to go switch to the newer PCI stuff - but am curious about the
> toleration support in later 2.2 kernels; is it complete enough that
> I can migrate to 2.4, and still compile on 2.2?

You can still use the 2.0.x PCI functions on 2.4.x. They are slower
than the 'struct pci_dev' versions of the functions, because each
pcibios_xxx call incurs a call to pci_find_slot().
>
> The device:
> 1-2 DMA
> 1 IRQ
>
> The driver:
> mkalloc
> __get_free_pages
> virt_to_bus
> request_irc
> wake_up
>
> The driver has similiar functionality to a sound card:
> Send/Receive (possibly large) data to device via DMA (page fixing, etc)
>
> Is there a cononical example (esp. wrt 2.2 <-> 2.4 changes) I should look
> at ?

That depends on both the changes and your driver... Every driver is
different, so nothing is really canonical WRT driver API changes. If
your driver is similar to a sound card, then look at drivers/sound/*.c
...

Jeff


--
Jeff Garzik | Dinner is ready when
Building 1024 | the smoke alarm goes off.
MandrakeSoft | -/usr/games/fortune