1. 23 7月, 2015 1 次提交
    • L
      PCI: Call pci_read_bridge_bases() from core instead of arch code · dff22d20
      Lorenzo Pieralisi 提交于
      When we scan a PCI bus, we read PCI-PCI bridge window registers with
      pci_read_bridge_bases() so we can validate the resource hierarchy.  Most
      architectures call pci_read_bridge_bases() from pcibios_fixup_bus(), but
      PCI-PCI bridges are not arch-specific, so this doesn't need to be in
      arch-specific code.
      
      Call pci_read_bridge_bases() directly from the PCI core instead of from
      arch code.
      
      For alpha and mips, we now call pci_read_bridge_bases() always; previously
      we only called it if PCI_PROBE_ONLY was set.
      
      [bhelgaas: changelog]
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Ralf Baechle <ralf@linux-mips.org>
      CC: James E.J. Bottomley <jejb@parisc-linux.org>
      CC: Michael Ellerman <mpe@ellerman.id.au>
      CC: Bjorn Helgaas <bhelgaas@google.com>
      CC: Richard Henderson <rth@twiddle.net>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: David Howells <dhowells@redhat.com>
      CC: Russell King <linux@arm.linux.org.uk>
      CC: Tony Luck <tony.luck@intel.com>
      CC: David S. Miller <davem@davemloft.net>
      CC: Ingo Molnar <mingo@redhat.com>
      CC: Guenter Roeck <linux@roeck-us.net>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Chris Zankel <chris@zankel.net>
      dff22d20
  2. 01 4月, 2015 1 次提交
  3. 19 3月, 2015 2 次提交
    • B
      PCI: Cleanup control flow · 9e808eb6
      Bjorn Helgaas 提交于
      Return errors immediately so the straightline path is the normal,
      no-error path.  No functional change.
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      9e808eb6
    • Y
      PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) · b97ea289
      Yijing Wang 提交于
      Previously, pci_scan_root_bus() created a root PCI bus, enumerated the
      devices on it, and called pci_bus_add_devices(), which made the devices
      available for drivers to claim them.
      
      Most callers assigned resources to devices after pci_scan_root_bus()
      returns, which may be after drivers have claimed the devices.  This is
      incorrect; the PCI core should not change device resources while a driver
      is managing the device.
      
      Remove pci_bus_add_devices() from pci_scan_root_bus() and do it after any
      resource assignment in the callers.
      
      Note that ARM's pci_common_init_dev() already called pci_bus_add_devices()
      after pci_scan_root_bus(), so we only need to remove the first call:
      
        pci_common_init_dev
          pcibios_init_hw
            pci_scan_root_bus
              pci_bus_add_devices        # first call
          pci_bus_assign_resources
          pci_bus_add_devices            # second call
      
      [bhelgaas: changelog, drop "root_bus" var in alpha common_init_pci(),
      return failure earlier in mn10300, add "return" in x86 pcibios_scan_root(),
      return early if xtensa platform_pcibios_fixup() fails]
      Signed-off-by: NYijing Wang <wangyijing@huawei.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Richard Henderson <rth@twiddle.net>
      CC: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      CC: Matt Turner <mattst88@gmail.com>
      CC: David Howells <dhowells@redhat.com>
      CC: Tony Luck <tony.luck@intel.com>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Ralf Baechle <ralf@linux-mips.org>
      CC: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      CC: Sebastian Ott <sebott@linux.vnet.ibm.com>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: Chris Metcalf <cmetcalf@ezchip.com>
      CC: Chris Zankel <chris@zankel.net>
      CC: Max Filippov <jcmvbkbc@gmail.com>
      CC: Thomas Gleixner <tglx@linutronix.de>
      b97ea289
  4. 30 10月, 2013 1 次提交
  5. 26 7月, 2013 1 次提交
  6. 11 4月, 2013 1 次提交
    • G
      MIPS/PCI: Implement pcibios_get_phb_of_node · 9a97cd43
      Gabor Juhos 提交于
      The of_node field of the device assigned to a
      PCI bus is used during scanning of the PCI bus.
      However on MIPS, the of_node field is assigned
      only after the bus has been scanned.
      
      Implement the architecture specific version of
      'pcibios_get_phb_of_node'. Which ensures that the
      PCI driver core will initialize the of_node field
      before starting the scan.
      
      Also remove the local assignment of bus->dev.of_node,
      it is not needed after the patch.
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      9a97cd43
  7. 17 2月, 2013 1 次提交
  8. 01 2月, 2013 1 次提交
  9. 04 1月, 2013 1 次提交
    • G
      MIPS: drivers: remove __dev* attributes. · 28eb0e46
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      28eb0e46
  10. 29 11月, 2012 1 次提交
  11. 19 9月, 2012 2 次提交
  12. 06 7月, 2012 1 次提交
  13. 14 6月, 2012 1 次提交
  14. 15 5月, 2012 1 次提交
  15. 24 2月, 2012 3 次提交
    • B
      mips/PCI: get rid of device resource fixups · 96a6b9ad
      Bjorn Helgaas 提交于
      Tell the PCI core about host bridge address translation so it can take
      care of bus-to-resource conversion for us.
      
      Here's the wrinkle on Cobalt: we can't generate normal I/O port addresses
      on PCI because the GT-64111 doesn't do any address translation, so we have
      this:
      
        CPU I/O port addresses		[io 0x0000-0xffffff]
        PCI bus I/O port addresses	[io 0x10000000-0x10ffffff]
      
      Legacy-mode IDE controllers start out with the legacy bus addresses, e.g.,
      0x1f0, assigned by pci_setup_device().  These are outside the range of
      addresses GT-64111 can generate on PCI, but pcibios_fixup_device_resources()
      converted them to CPU addresses anyway by adding io_offset.  Therefore, we
      had to pre-adjust them in cobalt_legacy_ide_fixup().
      
      With io_offset = 0xf0000000, we had this:
      
        res->start = 0x1f0	initialized in pci_setup_device()
        res->start = 0x100001f0	-= io_offset in cobalt_legacy_ide_fixup()
        res->start = 0x1f0	+= io_offset in pcibios_fixup_device_resources()
      
      The difference after this patch is that the generic pci_bus_to_resource()
      only adds the offset if the bus address is inside a host bridge window.
      Since 0x1f0 is not a valid bus address and is not inside any windows, it is
      unaffected, so we now have this:
      
        region->start = 0x1f0	initialized in pci_setup_device()
        res->start = 0x1f0	no offset by pci_bus_to_resource()
      
      That means we can remove both pcibios_fixup_device_resources() and
      cobalt_legacy_ide_fixup().
      
      I would *rather* set the host bridge offset to zero (which corresponds
      to what the GT-64111 actually does), and have both CPU and PCI addresses
      of [io 0x10000000-0x10ffffff].  However, that would require changes to
      generic code that assumes legacy I/O addresses, such as pic1_io_resource
      ([io 0x0020-0x00021]), and we'd have to keep a Cobalt IDE fixup.
      
      Of course, none of this changes the fact that references to I/O port
      0x1f0 actually go to port 0x100001f0, not 0x1f0, on the Cobalt PCI bus.
      Fortunately the VT82C586 IDE controller only decodes the low 24 address
      bits, so it does work.
      
      CC: Ralf Baechle <ralf@linux-mips.org>
      CC: Yoichi Yuasa <yuasa@linux-mips.org>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      96a6b9ad
    • B
      mips/PCI: removed unused pci_probe configurability · 14be538c
      Bjorn Helgaas 提交于
      We never assign anything other than PCI_ASSIGN_ALL_BUSSES to pci_probe,
      so just remove the indirection.  If configurability is required in the
      future, please use the pci_flags/PCI_REASSIGN_ALL_BUS functionality
      as is done for powerpc.
      
      CC: Ralf Baechle <ralf@linux-mips.org>
      CC: linux-mips@linux-mips.org
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      14be538c
    • B
      mips/PCI: replace pci_probe_only with pci_flags · 29090606
      Bjorn Helgaas 提交于
      Some architectures (alpha, mips, powerpc) have an arch-specific
      "pci_probe_only" flag.  Others use PCI_PROBE_ONLY in pci_flags for
      the same purpose.  This moves mips to the pci_flags approach so
      generic code can use the same test across all architectures.
      
      CC: Ralf Baechle <ralf@linux-mips.org>
      CC: linux-mips@linux-mips.org
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      29090606
  16. 21 2月, 2012 1 次提交
  17. 11 1月, 2012 1 次提交
  18. 07 1月, 2012 3 次提交
  19. 01 11月, 2011 1 次提交
  20. 31 3月, 2011 1 次提交
  21. 27 2月, 2010 1 次提交
  22. 23 2月, 2010 2 次提交
  23. 18 9月, 2009 1 次提交
  24. 08 1月, 2009 2 次提交
  25. 10 12月, 2008 1 次提交
  26. 15 10月, 2008 1 次提交
  27. 31 7月, 2008 1 次提交
  28. 20 7月, 2008 1 次提交
  29. 16 7月, 2008 1 次提交
  30. 12 3月, 2008 1 次提交
  31. 20 2月, 2008 2 次提交