tree a128341f02fa1ea7ce3353a78397104162df04b4
parent ed2670b334a1050aa122cd9ca53c7a545642c46b
parent 6eb237c41acc1cf00b3b1176ad4a0ed3f221d630
author Olof Johansson <olof@lixom.net> 1370067652 -0700
committer Olof Johansson <olof@lixom.net> 1370067652 -0700
mergetag object 6eb237c41acc1cf00b3b1176ad4a0ed3f221d630
 type commit
 tag pcie_bridge-3.11
 tagger Jason Cooper <jason@lakedaemon.net> 1369767315 +0000
 
 mvebu pcie driver (bridge) for v3.11
 
  - mvebu
     - allow enumeration of devices beyond physical bridges
     - remove faking the slot location
     - fix status register emulation
 
 depends
  - mvebu/pcie
     -mvebu/of_pci
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJRpP2uAAoJEAi3KVZQDZAean8IAKvwIK5TzLB289GKL26NLgMs
 c7FxMseuTLzlc036BU85UhDJ62bjVcUCukWzGhF1YxGGr+46gdJ2/aRZ8cvAz3pu
 VDZCFo8V7A9VjoTZZ/MX3bzmdJbtgJD9G9PI69LX1sf+4WqlybVBhR9wFlyh9Zws
 iolfLGDpCqDwkI5YH1R3XI6KCcP5P+QC52gXb4Due0lRMULTfDiWUqfJs7nqSAnH
 AyM4SjImgXwWNVdKvK73uxbUmfG2pguvN20tq+ox5UHfSIfHOd9Uuj2EIEAC2SE7
 eWbr7YV+Ba6fD/2Mfhuia7bCD8LrwrTPz8c7A4Xvjp7tMUW20K53PRAn+W4W6Wo=
 =TTX4
 -----END PGP SIGNATURE-----

Merge tag 'pcie_bridge-3.11' of git://git.infradead.org/users/jcooper/linux into next/soc

From Jason Cooper:
mvebu pcie driver (bridge) for v3.11

 - mvebu
    - allow enumeration of devices beyond physical bridges
    - remove faking the slot location
    - fix status register emulation

Signed-off-by: Olof Johansson <olof@lixom.net>

* tag 'pcie_bridge-3.11' of git://git.infradead.org/users/jcooper/linux:
  pci: mvebu: fix the emulation of the status register
  pci: mvebu: allow the enumeration of devices beyond physical bridges
  pci: mvebu: no longer fake the slot location of downstream devices
