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 >