2001-11-29 16:13:30

by Daniel Stodden

[permalink] [raw]
Subject: where the hell is pci_read_config_xyz defined


hi all.

i hope this question is not too stupid,
but i think i've grepped all through it now.

i see the prototype in linux/pci.h
i looked at i386/kernel/pci-pc.c.
i see the bios/direct access diversion. i don't see (*pci_config_read)()
referenced elsewhere except within the acpi stuff.
i looked at drivers/pci/*
i even consulted lxr. nyet. nada.

giving up now. any hint would be greatly appreciated. am i blind?

thanx,
dns


--
__________________________________________________________________
mailto: [email protected]


2001-11-29 16:23:00

by Jonathan Kamens

[permalink] [raw]
Subject: Re: where the hell is pci_read_config_xyz defined

I encountered exactly this problem recently. I finally figured out
that the trick is that the pci_read_config_* and pci_write_config_*
functions are defined by a macro in drivers/pci/pci.c. Search for
"PCI_OP" in that file and you'll see what I mean.

2001-11-29 16:24:30

by Grant Erickson

[permalink] [raw]
Subject: Re: where the hell is pci_read_config_xyz defined

On 29 Nov 2001, Daniel Stodden wrote:
> i hope this question is not too stupid, but i think i've grepped all
> through it now.
>
> i see the prototype in linux/pci.h
> i looked at i386/kernel/pci-pc.c.
> i see the bios/direct access diversion. i don't see (*pci_config_read)()
> referenced elsewhere except within the acpi stuff.
> i looked at drivers/pci/*
> i even consulted lxr. nyet. nada.
>
> giving up now. any hint would be greatly appreciated. am i blind?

This is a common question I think. Try looking for the following in
drivers/pci/pci.c:

#define PCI_OP(rw,size,type) \
int pci_##rw##_config_##size (struct pci_dev *dev, int pos, type value) \
{ \
[ ... ]
}

PCI_OP(read, byte, u8 *)
PCI_OP(read, word, u16 *)
PCI_OP(read, dword, u32 *)
PCI_OP(write, byte, u8)
PCI_OP(write, word, u16)
PCI_OP(write, dword, u32)


Regards,

Grant Erickson


--
Grant Erickson University of Minnesota Alumni
o mail:[email protected] 1996 BSEE
o http://www.umn.edu/~erick205 1998 MSEE

2001-11-29 16:24:40

by Grant Erickson

[permalink] [raw]
Subject: Re: where the hell is pci_read_config_xyz defined

On 29 Nov 2001, Daniel Stodden wrote:
> i hope this question is not too stupid, but i think i've grepped all
> through it now.
>
> i see the prototype in linux/pci.h
> i looked at i386/kernel/pci-pc.c.
> i see the bios/direct access diversion. i don't see (*pci_config_read)()
> referenced elsewhere except within the acpi stuff.
> i looked at drivers/pci/*
> i even consulted lxr. nyet. nada.
>
> giving up now. any hint would be greatly appreciated. am i blind?




>
> thanx,
> dns
>
>
>

--
Grant Erickson Phone: (408) 487-8087
Brocade Communications Systems, Inc. Fax: (408) 392-1702
1745 Technology Drive
San Jose, CA 95110 E-mail: [email protected]