On Tue, Jun 10, 2003 at 01:56:15PM +0200, Bernd Walter wrote: > On Mon, Jun 09, 2003 at 10:46:21PM -0600, M. Warner Losh wrote: > > I'm thinking that the loop should be more like: > > > > pcifunchigh = 0; > > f = 0; > > hdrtype = REG(PCIR_HEADERTYPE, 1); > > if (hdrtype & 0x7f > 2) > > continue; > > if (hdrtype & 0x80) > s/0x80/PCIM_MFDEV/ > Maybe we should add a PCIM_REGLAYOUT as well. > > > pcifunchigh = PCI_FUNCMAX; > > for (f = 0; f <= pcifunchigh; f++) { > > dinfo = pci_read_device(pcib, busno, s, f, dinfo_size); > > if (dinfo != NULL) > > pci_add_child(dev, dinfo); > > } > > > > might be better code (REG likely needs to be correctly defined for > > this context). > > This needs to be tested on that given hardware. > I don't know if REG will work as expected because it asks function 0, > which is disabled. I've reread John-Mark's last mail about the readable registers. So - yes it should work. -- B.Walter BWCT http://www.bwct.de ticso_at_bwct.de info_at_bwct.deReceived on Tue Jun 10 2003 - 03:13:03 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:11 UTC