)]}'
{
  "commit": "98d9f30c820d509145757e6ecbc36013aa02f7bc",
  "tree": "dd5da915d991352ced56ed849612029339f64198",
  "parents": [
    "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c"
  ],
  "author": {
    "name": "Benjamin Herrenschmidt",
    "email": "benh@kernel.crashing.org",
    "time": "Mon Apr 11 11:37:07 2011 +1000"
  },
  "committer": {
    "name": "Benjamin Herrenschmidt",
    "email": "benh@kernel.crashing.org",
    "time": "Wed Jun 08 09:08:17 2011 +1000"
  },
  "message": "pci/of: Match PCI devices to OF nodes dynamically\n\npowerpc has two different ways of matching PCI devices to their\ncorresponding OF node (if any) for historical reasons. The ppc64 one\ndoes a scan looking for matching bus/dev/fn, while the ppc32 one does a\nscan looking only for matching dev/fn on each level in order to be\nagnostic to busses being renumbered (which Linux does on some\nplatforms).\n\nThis removes both and instead moves the matching code to the PCI core\nitself. It\u0027s the most logical place to do it: when a pci_dev is created,\nwe know the parent and thus can do a single level scan for the matching\ndevice_node (if any).\n\nThe benefit is that all archs now get the matching for free. There\u0027s one\nhook the arch might want to provide to match a PHB bus to its device\nnode. A default weak implementation is provided that looks for the\nparent device device node, but it\u0027s not entirely reliable on powerpc for\nvarious reasons so powerpc provides its own.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "746df91e57967822754597c9a939f2abba38236a",
      "old_mode": 33188,
      "old_path": "arch/microblaze/include/asm/pci-bridge.h",
      "new_id": "728f8d6a59a4f6ba351a3d9a7fc934fdb1b7c635",
      "new_mode": 33188,
      "new_path": "arch/microblaze/include/asm/pci-bridge.h"
    },
    {
      "type": "modify",
      "old_id": "d0890d36ef617f7e85176016330c3dda5d244db7",
      "old_mode": 33188,
      "old_path": "arch/microblaze/include/asm/prom.h",
      "new_id": "9bd01ecb00d69e980e0568b75a3e8b882d090b71",
      "new_mode": 33188,
      "new_path": "arch/microblaze/include/asm/prom.h"
    },
    {
      "type": "modify",
      "old_id": "92728a6cfd80c8a95b0ef1b2bf7dea10a5f25aed",
      "old_mode": 33188,
      "old_path": "arch/microblaze/pci/pci_32.c",
      "new_id": "2fa95069e6ba55bd64688afeb9a49ef09521efb9",
      "new_mode": 33188,
      "new_path": "arch/microblaze/pci/pci_32.c"
    },
    {
      "type": "modify",
      "old_id": "b90dbf8e5cd9f9bf54288a9e23695c55af6b1372",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pci-bridge.h",
      "new_id": "3e6869476e55290340e2fe7f0148bf6ec67249fd",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pci-bridge.h"
    },
    {
      "type": "modify",
      "old_id": "7d7790954e02039f02ad71f1ac935b866eac7e4f",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pci.h",
      "new_id": "1f522680ea1737bca87f71a0cc6eac318f6df1ab",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pci.h"
    },
    {
      "type": "modify",
      "old_id": "c189aa5fe1f44d8a96f34d78d415a3f30ae69a2a",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/prom.h",
      "new_id": "b823536375dc441bae7d848d0444730955ebea67",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/prom.h"
    },
    {
      "type": "modify",
      "old_id": "893af2a9cd03a53bfb6e5b6d2d37cdb1cac63026",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/pci-common.c",
      "new_id": "a3c92770e422b523ef130868cb16e5470bf60b31",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/pci-common.c"
    },
    {
      "type": "modify",
      "old_id": "bedb370459f2604f185bea39f8833a296c5e5a00",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/pci_32.c",
      "new_id": "86585508e9c1cae27a43c5821e2f7d159af1b632",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/pci_32.c"
    },
    {
      "type": "modify",
      "old_id": "6baabc13306aa1940a98141914a86f9baa10b50a",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/pci_dn.c",
      "new_id": "478f8d78716b63eec5c13746be28178bb5d44ab5",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/pci_dn.c"
    },
    {
      "type": "modify",
      "old_id": "1e89a72fd0301d744f36e2f0db8cb6cb320f9620",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/pci_of_scan.c",
      "new_id": "fe0a5ad6f73e406ef338521a1badae78b33f6f64",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/pci_of_scan.c"
    },
    {
      "type": "modify",
      "old_id": "f33e08d573ce6b27722b118882a539b5895a914e",
      "old_mode": 33188,
      "old_path": "arch/powerpc/platforms/powermac/pci.c",
      "new_id": "abe8d7e2ebeb53c76d118576021ed186f2a29b50",
      "new_mode": 33188,
      "new_path": "arch/powerpc/platforms/powermac/pci.c"
    },
    {
      "type": "modify",
      "old_id": "713dc91020a623f8ba5c6904810220b256092545",
      "old_mode": 33188,
      "old_path": "arch/sparc/kernel/pci.c",
      "new_id": "e539d23dec9d0db02202e5f89e23780026428446",
      "new_mode": 33188,
      "new_path": "arch/sparc/kernel/pci.c"
    },
    {
      "type": "modify",
      "old_id": "d06a6374ed6ca6ffca60ccc0df1157c140a4952d",
      "old_mode": 33188,
      "old_path": "drivers/of/Kconfig",
      "new_id": "cac63c9f49ae8dc3a32ae9e4293c5f70bdd8d459",
      "new_mode": 33188,
      "new_path": "drivers/of/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "f7861ed2f287dbaddec018529eeaacdc96d9601d",
      "old_mode": 33188,
      "old_path": "drivers/of/Makefile",
      "new_id": "dccb1176be57b1a135fc6f3e28e6d66837f1d0cf",
      "new_mode": 33188,
      "new_path": "drivers/of/Makefile"
    },
    {
      "type": "modify",
      "old_id": "ac1ec54e4fd50eea60d123004fe735636518722c",
      "old_mode": 33188,
      "old_path": "drivers/of/of_pci.c",
      "new_id": "ec7b060ae952f0ac6cfd2bcaa134155ddc278ced",
      "new_mode": 33188,
      "new_path": "drivers/of/of_pci.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac1ec54e4fd50eea60d123004fe735636518722c",
      "new_mode": 33188,
      "new_path": "drivers/of/of_pci_irq.c"
    },
    {
      "type": "modify",
      "old_id": "c85f744270a56664cb91a720624cfc97dc29c6ee",
      "old_mode": 33188,
      "old_path": "drivers/pci/Makefile",
      "new_id": "f27f4a1488a12c94b8b289138b9e7ae00c6a89d7",
      "new_mode": 33188,
      "new_path": "drivers/pci/Makefile"
    },
    {
      "type": "modify",
      "old_id": "083034710fa6cc7c144ccf0d875e4b77e1fb805f",
      "old_mode": 33188,
      "old_path": "drivers/pci/hotplug/rpadlpar_core.c",
      "new_id": "1d002b1c2bf4b1f1366b19eb8ded4943660654b2",
      "new_mode": 33188,
      "new_path": "drivers/pci/hotplug/rpadlpar_core.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c94d37ec55c87af38e7b6d1c9ccf46ea9baeb60c",
      "new_mode": 33188,
      "new_path": "drivers/pci/of.c"
    },
    {
      "type": "modify",
      "old_id": "48849ffdd67214265693c92076970e00ab329d2a",
      "old_mode": 33188,
      "old_path": "drivers/pci/probe.c",
      "new_id": "c28c7b91910e59e43faf2310ca61adafe8c771cd",
      "new_mode": 33188,
      "new_path": "drivers/pci/probe.c"
    },
    {
      "type": "modify",
      "old_id": "85a27b650d7600d79b2c5e74ab400f2574d61403",
      "old_mode": 33188,
      "old_path": "include/linux/of_pci.h",
      "new_id": "f93e21700d3eeeb4848f3ff3419fee6de59fe2be",
      "new_mode": 33188,
      "new_path": "include/linux/of_pci.h"
    },
    {
      "type": "modify",
      "old_id": "c446b5ca2d38e0e58b650b217bec0f0f90945dd7",
      "old_mode": 33188,
      "old_path": "include/linux/pci.h",
      "new_id": "e5086e9a9bf76e3fa22e1153a9d7525a852ab2f9",
      "new_mode": 33188,
      "new_path": "include/linux/pci.h"
    }
  ]
}
