Re: Walnut PCI bridge can't be detected
From: Eugene Surovegin <hidden>
Date: 2003-10-14 05:41:20
At 09:27 PM 10/13/2003, Xiaoshan Zuo wrote:
I was puzzled by this for a while. Then I saw this code while debugging
PCI on my custom board:
In ppc405_pci.c, there is ppc4xx_exclude_device function:
static int
ppc4xx_exclude_device(unsigned char bus, unsigned char devfn)
{
/* We prevent us from seeing ourselves to avoid having
* the kernel try to remap our BAR #1 and fuck up bus
* master from external PCI devices
*/
return (bus == 0 && devfn == 0);
}I think comment is quite clear, don't you think ?
With this function there, there is no way you are going to see the bridge, even your driver does the scan itself. I had to write my own pci_read_config_<size> function to just to be able to read the bridge configration.
Well, all you had to do was to clear ppc_md.pci_exclude_device. Frankly, I don't understand why do you want to mess with the bridge setup from _device driver_ ? The right place for bridge specific setup is bios_fixup. walnut.c has a good example. Eugene ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/