)]}'
{
  "commit": "8b8da35804bb89eee23f9bcd5638e1f754bd4c91",
  "tree": "8ec1ba6ef03c88da5c37eec4825fff6524358b37",
  "parents": [
    "ab56ced9c57b66862c687f3158045d15133f02d6"
  ],
  "author": {
    "name": "Benjamin Herrenschmidt",
    "email": "benh@kernel.crashing.org",
    "time": "Mon Oct 27 19:48:37 2008 +0000"
  },
  "committer": {
    "name": "Paul Mackerras",
    "email": "paulus@samba.org",
    "time": "Thu Nov 06 09:22:37 2008 +1100"
  },
  "message": "powerpc/pci: Split pcibios_fixup_bus() into bus setup and device setup\n\nCurrently, our PCI code uses the pcibios_fixup_bus() callback, which\nis called by the generic code when probing PCI buses, for two\ndifferent things.\n\nOne is to set up things related to the bus itself, such as reading\nbridge resources for P2P bridges, fixing them up, or setting up the\niommu\u0027s associated with bridges on some platforms.\n\nThe other is some setup for each individual device under that bridge,\nmostly setting up DMA mappings and interrupts.\n\nThe problem is that this approach doesn\u0027t work well with PCI hotplug\nwhen an existing bus is re-probed for new children.  We fix this\nproblem by splitting pcibios_fixup_bus into two routines:\n\n\tpcibios_setup_bus_self() is now called to setup the bus itself\n\n\tpcibios_setup_bus_devices() is now called to setup devices\n\npcibios_fixup_bus() is then modified to call these two after reading the\nbridge bases, and the OF based PCI probe is modified to avoid calling\ninto the first one when rescanning an existing bridge.\n\n[paulus@samba.org - fixed eeh.h for 32-bit compile now that pci-common.c\nis including it unconditionally.]\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b886bec67016795582d1922b3ccc2c0913c8f878",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/eeh.h",
      "new_id": "66ea9b8b95c58f44c2ca464758d754f5378ac2ca",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/eeh.h"
    },
    {
      "type": "modify",
      "old_id": "55542ac3eadb2a689f3870841db8e11d7ae3506e",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pci.h",
      "new_id": "32e03e6d25c5c3bee8ce3091bc246219c9153bde",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pci.h"
    },
    {
      "type": "modify",
      "old_id": "780db386c1f0c78eb37423695447c2843383c032",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/pci-common.c",
      "new_id": "0eaabd41474f7c8039a9982648a920a6a9b13925",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/pci-common.c"
    },
    {
      "type": "modify",
      "old_id": "e6e8813c364aba72c9a3b7fa80497d0955555590",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/pci_64.c",
      "new_id": "39fadc6e149219771985bfc1d697a47afe27f885",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/pci_64.c"
    }
  ]
}
