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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]