Messages in this thread |  | | | Date | Thu, 14 Feb 2008 23:17:03 -0800 | | From | Greg KH <> | | Subject | Re: pci_get_device_reverse(), why does Calgary need this? |
On Wed, Feb 13, 2008 at 10:14:59AM -0800, Greg KH wrote:
> On Wed, Feb 13, 2008 at 07:47:11PM +0200, Muli Ben-Yehuda wrote:
> > On Wed, Feb 13, 2008 at 09:32:03AM -0800, Greg KH wrote:
> >
> > > Is there some reason you aren't using the "real" PCI driver api here
> > > and registering a pci driver for these devices? That would take the
> > > whole "loop over all pci devices" logic out of the code entirely.
> >
> > I recall we had a reason, but I no longer recall what it was. Some
> > reason the "real" PCI driver API didn't fit at the time. If someone
> > were to whip up a working patch, I'd happily apply it.
>
> "at the time"? It's been in place since the 2.2 days :)
>
> Is the problem that other drivers also want access to this PCI device
> for some reason?
>
> I'll whip up a patch for you to test with in a bit...
Hm, that's wierd. I thought I got something, until I realized that you
are doing a lot of logic before you ever even determine that your
hardware is present in the system. Why are you calling
calgary_locate_bbars() and doing all of that work? Or am I mising
something in the code flow here?
Also, it looks like you use the pci_get_device() to find the pci device,
then you do somethings, and then drop the device, never to use it again.
So, a traditional "probe" might not work as well, but it could be used
if you want to.
thanks,
greg k-h
|  |