lkml.org 
[lkml]   [2005]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: serial port driver 8250_pci - pci_device_id structure
On Tue, Jun 14, 2005 at 04:05:40PM -0500, V. ANANDA KRISHNAN wrote:
> Hi All,
>
> In ppc architecture, I am trying to find out the codes that populate
> the pci_devic_id structure ( drivers/serial/8250_pci.c file) in the
> following init_one function:
>
> static int __devinit
> pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)

It comes from the driver itself, as you point out:

> I have the (pci card) data hard-coded in the following tables of
> 8250_pci.c file:
> static struct pci_device_id serial_pci_tbl[]
> static struct pci_board pci_boards[] __devinitdata={...}

Yup, that's what the pci core sets that pointer to.

> Since I could not find the data in the pci_device_id for pci card, I
> went thru the drivers/pci/search.c and drivers/pci/pci-driver.c files. I
> am not successful in locating those codes that populate the
> pci_device_id structure for a given pci card.

drivers/pci/pci-driver.c::pci_device_probe_static() does it. See the
latest edition of the Linux Device Drivers book for a full description
and walk-through of how a pci device get added and removed from the
driver core (it's free online if you don't want to buy it.)

Hope this helps,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-06-14 23:23    [W:4.858 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site