)]}'
{
  "commit": "24a4e377068d15424cd6a921d41352f295548037",
  "tree": "f6eb0e19f3828ca713d8151a63292de6d2287a90",
  "parents": [
    "6d23c8bc7a6af4300b3c5244f4c21211f9adb960"
  ],
  "author": {
    "name": "Roland Dreier",
    "email": "rolandd@cisco.com",
    "time": "Fri Oct 28 17:35:34 2005 -0700"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Thu Nov 10 16:09:14 2005 -0800"
  },
  "message": "[PATCH] PCI: add pci_find_next_capability()\n\nSome devices have more than one capability of the same type.  For\nexample, the PCI header for the PathScale InfiniPath looks like:\n\n\t04:01.0 InfiniBand: Unknown device 1fc1:000d (rev 02)\n\t\tSubsystem: Unknown device 1fc1:000d\n\t\tFlags: bus master, fast devsel, latency 0, IRQ 193\n\t\tMemory at fea00000 (64-bit, non-prefetchable) [size\u003d2M]\n\t\tCapabilities: [c0] HyperTransport: Slave or Primary Interface\n\t\tCapabilities: [f8] HyperTransport: Interrupt Discovery and Configuration\n\nThere are _two_ HyperTransport capabilities, and the PathScale driver\nwants to look at both of them.\n\nThe current pci_find_capability() API doesn\u0027t work for this, since it\nonly allows us to get to the first capability of a given type.  The\npatch below introduces a new pci_find_next_capability(), which can be\nused in a loop like\n\n\tfor (pos \u003d pci_find_capability(pdev, \u003cID\u003e);\n\t     pos;\n\t     pos \u003d pci_find_next_capability(pdev, pos, \u003cID\u003e)) {\n\t\t/* ... */\n\t}\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e74d75843047c24cf299cf53daad16635355d640",
      "old_mode": 33188,
      "old_path": "drivers/pci/pci.c",
      "new_id": "8e287a828d5d3c1886d91e5e122ea544a7fc446c",
      "new_mode": 33188,
      "new_path": "drivers/pci/pci.c"
    },
    {
      "type": "modify",
      "old_id": "3596ac94ecff74916f88499fb0e4bfa02a1fe1ff",
      "old_mode": 33188,
      "old_path": "include/linux/pci.h",
      "new_id": "7063241e34d91db1784194b10c56a42cdbb3b4be",
      "new_mode": 33188,
      "new_path": "include/linux/pci.h"
    }
  ]
}
