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
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