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. Changes in v2: - Add a new pci_internal.h header file for internal PCI functions - Add missing code in dm_pci_phys_to_bus() - Drop non-DM PCI code - Drop unnecessary and confusing '#ifdef CONFIG_DM_ETH' in rtl8169_eth_probe() - Drop unnecessary comment at the top of pci_auto.c - Fix the indentation of the 'bar' for() loop - Fix use of 'pdev' instead of 'dev' - Get the vendor from the PCI parent platdata - Move the functions into pci_common.c so they can be used by old code - Put this code behind CONFIG_DM_PCI to avoid PowerPC build errors - Rename _dm_pci_hose_bus_to_phys() to _dm_pci_bus_to_phys() - Rename pci_run_vga_bios() to dm_pci_run_vga_bios() - Require driver model with pci_rom.c - Reword the commit message for clarity - Use dev_get_parent_platdata() instead of re-reading values from the device - Use dm_pci_get_bdf() - Use pci_bus_find_bdf() - Use u32 instead of uint32_t - Use uintptr_t to cast the hcor address Simon Glass (26): dm: pci: Mark legacy files as such dm: pci: Add a dm_ prefix to pci_get_bdf() dm: pci: Add a dm_ prefix to pci_bus_find_bdf() 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/s() 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: 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/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 | 36 ++- 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_pci.c | 2 +- common/cmd_scsi.c | 14 +- drivers/block/ahci.c | 70 ++++- drivers/mmc/pci_mmc.c | 15 +- drivers/net/designware.c | 2 +- drivers/net/e1000.c | 4 +- drivers/net/pch_gbe.c | 2 +- drivers/net/rtl8169.c | 84 ++++-- drivers/pci/Makefile | 7 +- drivers/pci/pci-uclass.c | 240 ++++++++++++++-- drivers/pci/pci.c | 5 +- drivers/pci/pci_auto.c | 386 ++++++++++++++++++++++++++ drivers/pci/pci_auto_old.c | 54 +--- drivers/pci/pci_common.c | 86 +++--- drivers/pci/pci_compat.c | 2 +- drivers/pci/pci_internal.h | 50 ++++ drivers/pci/pci_rom.c | 47 ++-- drivers/serial/ns16550.c | 5 +- drivers/usb/eth/mcs7830.c | 370 ++++++++++++++++-------- drivers/usb/host/ehci-pci.c | 51 +++- drivers/video/vesa_fb.c | 10 +- include/ahci.h | 4 + include/bios_emul.h | 2 +- include/fdtdec.h | 23 +- include/mmc.h | 6 +- include/pci.h | 102 ++++++- include/pci_rom.h | 6 +- lib/fdtdec.c | 57 +--- test/dm/pci.c | 15 +- 43 files changed, 1349 insertions(+), 480 deletions(-) create mode 100644 drivers/pci/pci_auto.c create mode 100644 drivers/pci/pci_internal.h -- 2.6.0.rc2.230.g3dd15c0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot