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/