On Wed, Aug 5, 2009 at 9:39 PM, kevin granade <kevin.gran...@gmail.com>wrote:

> I noticed a comment calling for converting drivers from pci_find_device()
> to pci_get_device() as a beginner kernel project on lkml and started looking
> into it.  What I have been able to discern about the issue is the following:
> Gleaned from code/documentation/previous posts on the subject:
> The only remaining user of pci_find_device() seems to be parts of the HiSax
> isdn driver.
> pci_find_device() is the same as pci_get_device(), but actively avoids
> holding a lock/reference count on the pci_dev that it returns.
>    as a result pci_get_device() requires pci_dev_put() to be called on a
> successful get in order to maintain correct lock/reference count semantics.
>
> After Re-reading the PCI chapter of LDD3:
> pci_get_device() is also deprecated, recommended init is creating a
> pci_device struct and mapping probe function etc. into it.
>
> Finally noticed when I was setting up my config to build the driver:
> The entire isdn4linux framework the hisax driver is based on is also
> deprecated, recommended interface is CAPI.
>
> Additional information:
> I don't have the associated hardware, just interested in doing some
> hacking.
>
> There seem to be three paths forward for updating:
> find_pci_device()->get_pci_device() for initializing drivers
> find_pci_device()->struct pci_device for initializing drivers
> port driver from isdn4linux to CAPI
>
> Which of these (if any) are both worth doing and a reasonable "kernel
> newbie" project?


To somewhat answer my own question, it seems that a migration of some kind
is underway and being discussed on the isdn4linux list, so I think the
correct answer is to subscribe to that list and lurk a bit, and read some
more archives.


>
> Thanks,
> Kevin
>

Reply via email to