PCI devices should be accessed just by their device pointer (which is struct udevice *). At present the hose (PCI controller) is often passed along with a pci_dev_t (bus/device/function) value.
With driver model this is not necessary but most PCI code has not been converted over to use this new API yet. This series converts over various drivers with the goal of moving both Tegra and x86 to use PCI fully for driver model. In addition, both move to use driver model for Ethernet, which on x86 is related. The process is not complete with this series. Remaining are the Intel E1000 Ethernet driver and various x86-specific things like ICH SPI. Simon Glass (25): dm: pci: Mark legacy files as such dm: pci: Use driver model PCI API in auto-config dm: pci: Add a driver-model version of pci_find_device() dm: pci: scsi: Use driver-model PCI API dm: pci: Add a driver-model version of pci_find_class() dm: pci: Add a function to read a PCI BAR dm: serial: Convert ns16550 driver to use driver model PCI API dm: x86: ivybridge: Convert graphics init to use DM PCI API dm: Convert bios_interrupts to use DM PCI API dm: pci: video: Convert video and pci_rom to use DM PCI API dm: x86: pci: Adjust bios_run_on_x86() to use the DM PCI API dm: pci: Drop the old version of pci_find_device() dm: pci: Drop the old version of pci_find_class() dm: tegra: net: Convert tegra boards to driver model for Ethernet dm: test: Convert PCI tests to use the DM PCI API dm: x86: Convert x86 PCI functions over to DM PCI API dm: pci: Add driver model API functions for address mapping dm: net: Convert rtl8169 to use DM PCI API dm: pci: Switch to DM API for PCI address mapping dm: ahci: Convert to use new DM PCI API dm: usb: Convert echi-pci to use new DM PCI API dm: Convert PCI MMC over to use DM PCI API pci: Tidy up comments in pci_bind_bus_devices() dm: net: usb: Refactor mcs7830 driver ready for DM conversion dm: net: usb: Convert mcs7830 driver to support driver model arch/arm/mach-tegra/Kconfig | 1 + arch/x86/cpu/baytrail/valleyview.c | 4 +- arch/x86/cpu/ivybridge/bd82x6x.c | 6 +- arch/x86/cpu/ivybridge/gma.c | 15 +- arch/x86/cpu/pci.c | 35 ++- arch/x86/cpu/quark/quark.c | 4 +- arch/x86/cpu/queensbay/topcliff.c | 4 +- arch/x86/include/asm/arch-ivybridge/bd82x6x.h | 3 +- arch/x86/lib/bios.c | 3 +- arch/x86/lib/bios_interrupts.c | 78 +++++- board/compulab/trimslice/trimslice.c | 8 - board/nvidia/cardhu/cardhu.c | 6 - board/nvidia/jetson-tk1/jetson-tk1.c | 6 - board/nvidia/p2371-2180/p2371-2180.c | 6 - board/toradex/apalis_t30/apalis_t30.c | 6 - common/cmd_scsi.c | 14 +- drivers/block/ahci.c | 62 ++++- drivers/mmc/pci_mmc.c | 15 +- drivers/net/rtl8169.c | 88 ++++-- drivers/pci/Makefile | 6 +- drivers/pci/pci-uclass.c | 176 ++++++++++-- drivers/pci/pci.c | 5 +- drivers/pci/pci_auto.c | 387 ++++++++++++++++++++++++++ drivers/pci/pci_auto_old.c | 54 +--- drivers/pci/pci_common.c | 95 +------ drivers/pci/pci_compat.c | 93 +++++++ drivers/pci/pci_rom.c | 29 +- drivers/serial/ns16550.c | 3 +- drivers/usb/eth/mcs7830.c | 370 ++++++++++++++++-------- drivers/usb/host/ehci-pci.c | 43 ++- drivers/video/vesa_fb.c | 6 +- include/ahci.h | 4 + include/bios_emul.h | 2 +- include/fdtdec.h | 23 +- include/mmc.h | 6 +- include/pci.h | 101 ++++++- include/pci_rom.h | 2 +- lib/fdtdec.c | 55 +--- test/dm/pci.c | 15 +- 39 files changed, 1335 insertions(+), 504 deletions(-) create mode 100644 drivers/pci/pci_auto.c -- 2.6.0.rc2.230.g3dd15c0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot