)]}'
{
  "log": [
    {
      "commit": "5d4a4b25ddc3e864d3a562c024bebdc922118854",
      "tree": "9f0c9cdf4c14487517be83e82596a83616d905af",
      "parents": [
        "c2ac7cdc6707a8a3fc5cdaebb65cb724ba8ecdef"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Mar 30 10:50:14 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Apr 06 11:30:26 2009 -0700"
      },
      "message": "PCI Hotplug: acpiphp: grab refcount on p2p subordinate bus\n\nIf a logical hot unplug (remove) is performed on a bridge claimed\nby acpiphp and then acpiphp is unloaded, we will encounter an oops.\n\nThis is because acpiphp will access the bridge\u0027s subordinate bus,\nwhich was released by the user\u0027s prior hot unplug.\n\nThe solution is to grab a reference on the subordinate PCI bus.\nThis will prevent the bus from release until acpiphp is unloaded.\n\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nReported-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7bb2cb3e90dc49be1cd14956c155451499c857a7",
      "tree": "a3c2c0bcbb08db9b3026f8b37fb50b7ce419d91f",
      "parents": [
        "7ae0567fd3f4f51d55c4c638ecc6836347992de2"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Mar 26 18:34:33 2009 +1100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Mar 26 16:00:34 2009 -0700"
      },
      "message": "PCI: update fakephp for bus_id removal\n\nGet rid of a new use of bus_id that snuck in.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8ffd25454738fb9ed76ee18cc0f180fb0b360401",
      "tree": "2e449e43c9df2c7b22968ce8af6535b5983640e2",
      "parents": [
        "83dbf66f04b96e65c6c18436c16d40f9cf8630aa"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Fri Mar 20 14:56:51 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Mar 20 14:59:37 2009 -0700"
      },
      "message": "PCI Hotplug: rename legacy_fakephp to fakephp\n\nWe wanted to replace fakephp wholesale, so rename legacy_fakephp back\nto fakephp. Yes, this is a silly commit, but it produces a much easier\npatch to read and review.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "83dbf66f04b96e65c6c18436c16d40f9cf8630aa",
      "tree": "0c3ffcc7d34aea8cd8983f3863bae67ef7f72029",
      "parents": [
        "738a6396c223b486304dda778119dbbca563f019"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "xyzzy@speakeasy.org",
        "time": "Fri Mar 20 14:56:46 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Mar 20 14:59:25 2009 -0700"
      },
      "message": "PCI Hotplug: restore fakephp interface with complete reimplementation\n\nA complete re-implementation of fakephp is necessary if it is to\npresent its former interface (pre-2.6.27, when it broke). The\nreason is that PCI hotplug drivers call pci_hp_register(), which\nenforces the rule that only one /sys/bus/pci/slots/ file may be\ncreated per physical slot.\n\nThe change breaks the old fakephp\u0027s assumption that it could\ncreate a file per function. So we re-implement fakephp to avoid\nusing the standard PCI hotplug API so that we can restore the old\nfakephp user interface.\n\nIt puts entries in /sys/bus/pci/slots with the names of all PCI\ndevices/functions, exactly symmetrical to what is shown in\n/sys/bus/pci/devices. Each slots/ entry has a \"power\" attribute,\nwhich works the same way as the fakephp driver\u0027s power attribute\nhas worked.\n\nThere are a few improvements over old fakephp, which couldn\u0027t handle\nPCI devices being added or removed via a means outside of\nfakephp\u0027s knowledge.  If a device was added another way, old fakephp\ndidn\u0027t notice and didn\u0027t create the fake slot for it.  If a\ndevice was removed another way, old fakephp didn\u0027t delete the fake\nslot for it (and accessing the stale slot caused an oops).\n\nThe new implementation overcomes these limitations. As a\nconsequence, removing a bridge with other devices behind it now\nworks as well, which is something else old fakephp couldn\u0027t do\npreviously.\n\nThis duplicates a tiny bit of the code in the PCI core that does\nthis same function.  Re-using that code ends up being more\ncomplex than duplicating it, and it makes code in the PCI core\nmore ugly just to support this legacy fakephp interface\ncompatibility layer.\n\nReviewed-by: James Cameron \u003cqz@hp.com\u003e\nSigned-off-by: Trent Piepho \u003cxyzzy@speakeasy.org\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3ed4fd96b3188406ac5357d9290bcffa08c65cf6",
      "tree": "1e48401b56c35554e84c8d627c6c04e83a999a9e",
      "parents": [
        "9dd90cafa7a712d283e2e0c625b022e19f746762"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Fri Mar 20 14:56:25 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Mar 20 14:57:44 2009 -0700"
      },
      "message": "PCI: Introduce pci_rescan_bus()\n\nThis API is used by the PCI core to rescan a bus and rediscover\nnewly added devices.\n\nOver time, it is expected that the various PCI hotplug drivers\nwill migrate to this interface and away from the old\npci_do_scan_bus() interface.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d391f00f0e7fb6d883c6724b31a1799e19a584c5",
      "tree": "02d81d24488963f97c6d4d2e102ead27fcf78ae5",
      "parents": [
        "267efd7eec5eca62f32f8c9bc1721b578d5da963"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue Feb 17 14:13:59 2009 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Mar 20 10:48:02 2009 -0700"
      },
      "message": "PCI hotplug: fix wrong assumption in acpi_get_hp_hw_control_from_firmware\n\nCurrent acpi_get_hp_hw_control_from_firmware() has a assumption that\npci_bus-\u003eself is NULL on a PCI root bus. But it might not be true on\nsome platforms. Because of this wrong assumption, current\nacpi_get_hp_hw_control_from_firmware() might cause endless loop. We\nmust check pci_bus-\u003eparent instead.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "267efd7eec5eca62f32f8c9bc1721b578d5da963",
      "tree": "3bae75d213470f6b56341b1a6328650299b5784b",
      "parents": [
        "d18690af626b83fef1d1953b9f70e09497060586"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue Feb 17 14:13:20 2009 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Mar 20 10:48:00 2009 -0700"
      },
      "message": "PCI hotplug: fix wrong assumption in acpi_get_hp_params_from_firmware\n\nCurrent acpi_get_hp_params_from_firmware() has a assumption that\npci_bus-\u003eself is NULL on the root pci bus. But it might not true on\nsome platforms. Because of this wrong assumption, current\nacpi_get_hp_params_from_firmware() might cause endless loop. We must\ncheck pci_bus-\u003eparent instead.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3a3c244c9a355105bc193fde873c73727bf87192",
      "tree": "cabffedef7a283c8caa6618e46a57660068cde99",
      "parents": [
        "ae40582e9959cdb7bfe4b918be8e3d19f9511798"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Feb 15 22:32:48 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Mar 20 10:47:49 2009 -0700"
      },
      "message": "PCI: PCIe portdrv: Implement pm object\n\nImplement pm object for the PCI Express port driver in order to use\nthe new power management framework and reduce the code size.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "35e1801ea637810830e653ffe7ff62c7048ae03a",
      "tree": "29d88f25346980250918d3c868444f1d84aa9b52",
      "parents": [
        "9f5404d8ea90bfa4d58a3936e5a3d0d28cecf60f"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Feb 11 21:13:45 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:33 2009 -0700"
      },
      "message": "PCI hotplug: shpchp: fix bus number check to avoid false positive\n\nWith for (busnr \u003d 0; busnr \u003c\u003d end; busnr++) { ... } busnr reaches end + 1\nafter the loop.  So fix the \"no busses available\" check to look for just\nbusnr \u003e end rather than \u003e\u003d.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "9f5404d8ea90bfa4d58a3936e5a3d0d28cecf60f",
      "tree": "59327fd70858e5038b99cebd767d4bae6a7d4594",
      "parents": [
        "63f10f0f6df4e4e860b790d64bebfde85b540b0a"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Mon Feb 09 16:00:04 2009 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:33 2009 -0700"
      },
      "message": "PCI/ACPI: rename pci_osc_control_set()\n\n- Rename pci_osc_control_set() to acpi_pci_osc_control_set() according\n  to the other API names in drivers/acpi/pci_root.c.\n\n- Move _OSC related definitions to include/linux/acpi.h because _OSC\n  related API is implemented in drivers/acpi/pci_root.c now.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nReviewed-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nTested-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6a82e21823058eea95325005b79f3b8c9492460f",
      "tree": "c3e9151361f5784d6f12802fa5c1c6ea6b51d87c",
      "parents": [
        "99f0169c17f334a11b0ace91188501c612f3e1e6"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue Feb 03 15:06:18 2009 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:30 2009 -0700"
      },
      "message": "PCI: pciehp: make cmd_busy flag one bit\n\nThe cmd_busy field in struct controller takes only two values 0 or\n1. So it should be one bit.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "99f0169c17f334a11b0ace91188501c612f3e1e6",
      "tree": "1dab8a0f010f62611945063abcd6f988dca7bf3e",
      "parents": [
        "81b840cd27e3ee9af67b6e05a4847868f74fce69"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue Feb 03 15:06:16 2009 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:29 2009 -0700"
      },
      "message": "PCI: pciehp: enable software notification on empty slots\n\nCurrent pciehp disables software notification of adapter presence\nchanged event and MRL changed event when slot is turned off. Because\nof this, there is no way to detect those events on empty slots in the\ncurrent pciehp implementation.\n\nAccording to the past discussion(*), this behavior was introduced to\nprevent endless loop that could happen if pcie_isr() runs after power\nfault is detected on a certain platform whose stickey power-fault bit\nremains on till the slot is powered on again.\n\n(*) http://sourceforge.net/mailarchive/message.php?msg_id\u003d20051130135409.A14918%40unix-os.sc.intel.com\n\nI think this endless loop can be avoided using one bit flag that\nindicates power fault had been detected, instead of disabling software\nnotification of adapter present changed event and MRL changed event.\n\nWith this patch, we can enable software notification mechanism of\npresence changed and MRL changed event on the empty slots again.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "81b840cd27e3ee9af67b6e05a4847868f74fce69",
      "tree": "35a88cc6fbf67273c61f053fa5375a0a01f3c181",
      "parents": [
        "0b3e7388e3b438500aaa0630879ce536747a47ca"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue Feb 03 15:06:13 2009 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:28 2009 -0700"
      },
      "message": "PCI: pciehp: fix possible endless loop in pcie_isr\n\nFix possible endless loop in pcie_isr.\n\nCurrently, pcie_isr() (interrupt service routine of pciehp) can end up in an\nendless loop if the Slot Status register is set again immediately after being\ncleared. According to the past discussion (see below URL) this case can happen\nif the power fault detected bit is set during handling.\n\nhttp://sourceforge.net/mailarchive/message.php?msg_id\u003d20051130135409.A14918%40unix-os.sc.intel.com\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0b3e7388e3b438500aaa0630879ce536747a47ca",
      "tree": "d24efd66fd015ec72dcf4b10bef69b3a27cd9963",
      "parents": [
        "1c35b8e538cb6259accb215099cdb673310cad84"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Feb 08 22:45:24 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:28 2009 -0700"
      },
      "message": "PCI: introduce missing kfree\n\nError handling code following a kmalloc should free the allocated data.\nSince the subsequent code that could provoke an error does not use the\nallocated data, the allocation is just moved below it.\n\nThe semantic match that finds the problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nstatement S;\nexpression E;\nidentifier f,l;\nposition p1,p2;\nexpression *ptr !\u003d NULL;\n@@\n\n(\nif ((x@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...)) \u003d\u003d NULL) S\n|\nx@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...);\n...\nif (x \u003d\u003d NULL) S\n)\n\u003c... when !\u003d x\n     when !\u003d if (...) { \u003c+...x...+\u003e }\nx-\u003ef \u003d E\n...\u003e\n(\n return \\(0\\|\u003c+...x...+\u003e\\|ptr\\);\n|\n return@p2 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nprint \"* file: %s kmalloc %s return %s\" % (p1[0].file,p1[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1c35b8e538cb6259accb215099cdb673310cad84",
      "tree": "3050e2b7452c3558543e392fbc4bf4ab76cac308",
      "parents": [
        "2b56313448bb8efad3af19f211d988c8352ac04d"
      ],
      "author": {
        "name": "Frank Seidel",
        "email": "frank@f-seidel.de",
        "time": "Fri Feb 06 10:23:36 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:27 2009 -0700"
      },
      "message": "PCI: add missing KERN_* constants to printks\n\nAccording to kerneljanitors todo list all printk calls (beginning\na new line) should have an according KERN_* constant.\nThose are the missing pieces here for the pci subsystem.\n\nSigned-off-by: Frank Seidel \u003cfrank@f-seidel.de\u003e\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a447b772826fde2a3abfd9bb943dee8750994c55",
      "tree": "6d1ed7d0e0d57373a301a71f7426858817ae281d",
      "parents": [
        "22106368c999246c414610dcaacd485e741605b1"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jan 25 23:53:56 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:24 2009 -0700"
      },
      "message": "PCI: struct device - replace bus_id with dev_name(), dev_set_name()\n\nMore dev_set_name conversion.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "22106368c999246c414610dcaacd485e741605b1",
      "tree": "2c74166b9967118e863012e6c81e03f9c7345bfd",
      "parents": [
        "0516c8bcd25293f438573101c439ce25a18916ad"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 13 14:46:46 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:23 2009 -0700"
      },
      "message": "PCI: PCIe portdrv: Remove struct pcie_port_service_id\n\nThe PCI Express port driver uses \u0027struct pcie_port_service_id\u0027 for\nmatching port service devices and drivers, but this structure\ncontains fields that duplicate information from the port device\nitself (vendor, device, subvendor, subdevice) and fields that are not\nused by any existing port service driver (class, class_mask,\ndrvier_data).  Also, both existing port service drivers (AER and\nPCIe HP) don\u0027t even use the vendor and device fields for device\nmatching.  Therefore \u0027struct pcie_port_service_id\u0027 can be removed\naltogether and the only useful members of it (port_type, service) can\nbe introduced directly into the port service device and port service\ndriver structures.  That simplifies the code quite a bit and reduces\nits size.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0516c8bcd25293f438573101c439ce25a18916ad",
      "tree": "00e0e113810e565c9b234f9528e84b0d061c5413",
      "parents": [
        "87d2e2ecf6026efa64b01f7f71802b20da736d35"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 13 14:44:19 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:23 2009 -0700"
      },
      "message": "PCI: PCIe portdrv: Simplily probe callback of service drivers\n\nThe second argument of the -\u003eprobe() callback in\nstruct pcie_port_service_driver is unnecessary and never used.\nRemove it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3f3b902ed8147c42a4a9764014c758e6b3f42f51",
      "tree": "15adec632617b9e8844a2a73a087ca6ecf33b1a7",
      "parents": [
        "cb4cb4ac7338c28b047760be187355ed9c783e72"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Fri Mar 06 14:39:14 2009 +1100"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Mar 12 15:10:02 2009 -0400"
      },
      "message": "powerpc/pseries: The RPA PCI hotplug driver depends on EEH\n\nThe RPA PCI hotplug driver calls EEH routines, so should depend on\nEEH. Also PPC_PSERIES implies PPC64, so remove that.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "dbc7e1e567ef8cfc4b792ef6acb51d4ceb15746a",
      "tree": "d1035d012fbd9857888f463e6f418714420e72dd",
      "parents": [
        "1dec6b054dd1fc780e18b815068bf5677409eb2d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 28 19:31:18 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:36:56 2009 -0800"
      },
      "message": "PCI: pciehp: Handle interrupts that happen during initialization.\n\nMove the enabling of interrupts after all of the data structures\nare setup so that we can safely run the interrupt handler as\nsoon as it is registered.\n\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "71a082efc9fdc12068a3cee6cebb1330b00ebeee",
      "tree": "b090119f313f99558269e83bdd0e6d143fa345f2",
      "parents": [
        "bf4162bcf82ebc3258d6bc0ddd6453132abde72d"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Tue Jan 27 01:03:35 2009 +0000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 15:35:51 2009 -0800"
      },
      "message": "PCI hotplug: Change link order of pciehp \u0026 acpiphp\n\nSome hardware exposes PCIE slots in such a way that they can be claimed\nby either the acpiphp or pciehp driver. pciehp is the preferred driver\nif the firmware allows the OS to claim control via the _OSC method so\nshould be loaded first - if it fails to bind (either due to a missing\n_OSC method or the firmware refusing to hand off control) then we can\nfall back to acpiphp or a vendor-specific driver.\n\nThis patch simply changes the link order to ensure that pciehp will be\ninitialised before acpiphp if both are statically built into the kernel.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bf4162bcf82ebc3258d6bc0ddd6453132abde72d",
      "tree": "b426269a7f99566bb2c52384e35f593c4c6b3c02",
      "parents": [
        "bffac3c593eba1f9da3efd0199e49ea6558a40ce"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Tue Nov 25 13:51:44 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 10:53:24 2009 -0800"
      },
      "message": "PCI hotplug: fakephp: Allocate PCI resources before adding the device\n\nFor PCI devices, pci_bus_assign_resources() must be called to set up the\npci_device-\u003eresource array before pci_bus_add_devices() can be called, else\nattempts to load drivers results in BAR collision errors where there are none.\nThis is not done in fakephp, so devices can be \"unplugged\" but scanning the\nparent bus won\u0027t bring the devices back due to resource unallocation.  Move the\npci_bus_add_device-calling logic into pci_rescan_bus and preface it with a call\nto pci_bus_assign_resources so that we only have to (re)allocate resources once\nper bus where a new device is found.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4a4565921aa9255be01921ff8ae339fa7b0a5468",
      "tree": "61fc69b6e2a82947550d6c441b62986c816ad911",
      "parents": [
        "7954d5cf39ee1ce9bb0a4b19fcf1924885a9cad1",
        "c2fdd36b550659f5ac2240d1f5a83ffa1a092289"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:13:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:13:36 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI hotplug: fix lock imbalance in pciehp\n  PCI PM: Restore standard config registers of all devices early\n  PCI/MSI: bugfix/utilize for msi_capability_init()\n"
    },
    {
      "commit": "c2fdd36b550659f5ac2240d1f5a83ffa1a092289",
      "tree": "670558bb598d185fb1805f09bf5d39da13b03d91",
      "parents": [
        "aa8c6c93747f7b55fa11e1624fec8ca33763a805"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Jan 17 16:23:55 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jan 19 10:55:54 2009 -0800"
      },
      "message": "PCI hotplug: fix lock imbalance in pciehp\n\nset_lock_status omits mutex_unlock in fail path. Add the omitted\nunlock.\n\nAs a result a lockup caused by this can be triggered from userspace\nby writing 1 to /sys/bus/pci/slots/.../lock often enough.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d45e0855488032ea62ec5638fb1dcd47367f8ddb",
      "tree": "801341825d4f3ec51746715e3e29b36e7337caff",
      "parents": [
        "88d998c264722cd6e8fafa42aee191f7d9194960"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jan 15 15:12:27 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 15:20:00 2009 -0500"
      },
      "message": "ACPI PCI hotplug: harden against panic regression\n\nACPI hotplug panic with current git head\nhttp://lkml.org/lkml/2009/1/10/136\n\nRather than reverting the entire commit that causes the crash:\ne8c331e963c58b83db24b7d0e39e8c07f687dbc6\n\"PCI hotplug: introduce functions for ACPI slot detection\"\n\nsimply harden against it while the changes to\nthe hotplug code on this particularl machine are understood.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b2576e1d4408e134e2188c967b1f28af39cd79d4",
      "tree": "004f3c82faab760f304ce031d6d2f572e7746a50",
      "parents": [
        "3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77",
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "message": "Merge branch \u0027linus\u0027 into release\n"
    },
    {
      "commit": "b8d9cb2a2226118fd71f657c80b06b670a653022",
      "tree": "1f5d4874dfe51ce70203ae8415fa2c2413298e4a",
      "parents": [
        "322162a71bd9fc4edb1b11236e7bc8aa27ccac22"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Dec 21 16:39:37 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:22 2009 -0800"
      },
      "message": "PCI hotplug: remove redundant test in cpq hotplug\n\nfunc is checked not to be NULL a few lines before.\n\nA simplified version of the semantic patch that makes this change is as\nfollows: (http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nexpression E;\nposition p1,p2;\n@@\n\nif (x@p1 \u003d\u003d NULL || ...) { ... when forall\n   return ...; }\n... when !\u003d \\(x\u003dE\\|x--\\|x++\\|--x\\|++x\\|x-\u003dE\\|x+\u003dE\\|x|\u003dE\\|x\u0026\u003dE\\|\u0026x\\)\n(\nx@p2 \u003d\u003d NULL\n|\nx@p2 !\u003d NULL\n)\n\n// another path to the test that is not through p1?\n@s exists@\nlocal idexpression r.x;\nposition r.p1,r.p2;\n@@\n\n... when !\u003d x@p1\n(\nx@p2 \u003d\u003d NULL\n|\nx@p2 !\u003d NULL\n)\n\n@fix depends on !s@\nposition r.p1,r.p2;\nexpression x,E;\nstatement S1,S2;\n@@\n\n(\n- if ((x@p2 !\u003d NULL) || ...)\n  S1\n|\n- if ((x@p2 \u003d\u003d NULL) \u0026\u0026 ...) S1\n|\n- BUG_ON(x@p2 \u003d\u003d NULL);\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "322162a71bd9fc4edb1b11236e7bc8aa27ccac22",
      "tree": "f5a5ea837934c8af3285157ee53f0d1d6e05cfcf",
      "parents": [
        "67f6533802fd2cc6f5b3c6355ef72bcf636d7fda"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Fri Dec 19 15:19:02 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:22 2009 -0800"
      },
      "message": "PCI: pciehp: cleanup register and field definitions\n\nClean up register definitions related to PCI Express Hot plug.\n\n  - Add register definitions into include/linux/pci_regs.h, and use\n    them instead of pciehp\u0027s locally definied register definitions.\n  - Remove pciehp\u0027s locally defined register definitions\n  - Remove unused register definitions in pciehp.\n  - Some minor cleanups.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "67f6533802fd2cc6f5b3c6355ef72bcf636d7fda",
      "tree": "9fac68e4e3b4f291e92f4f26c4912a94b7a4f358",
      "parents": [
        "46bbdfa44cfc0d352148a0dc33ba9f6db02ccdf0"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Fri Dec 19 15:18:10 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:21 2009 -0800"
      },
      "message": "PCI: pciehp: ignore undefined bit in link status register\n\nBit 10 in Link Status register used to be defined as Training Error in\nthe PCI Express 1.0a specification. But it was removed by Training Error\nECN and is no longer defined. So pciehp must ignore the value read from\nit.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e8c331e963c58b83db24b7d0e39e8c07f687dbc6",
      "tree": "da9e7df2441da952dc11bd732b0171d3170fa8bf",
      "parents": [
        "e046cbd6c05ee859244245d7beeac395cd0057b3"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Dec 17 12:09:12 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:11 2009 -0800"
      },
      "message": "PCI hotplug: introduce functions for ACPI slot detection\n\nSome ACPI related PCI hotplug code can be shared among PCI hotplug\ndrivers. This patch introduces the following functions in\ndrivers/pci/hotplug/acpi_pcihp.c to share the code, and changes\nacpiphp and pciehp to use them.\n\n- int acpi_pci_detect_ejectable(struct pci_bus *pbus)\n  This checks if the specified PCI bus has ejectable slots.\n\n- int acpi_pci_check_ejectable(struct pci_bus *pbus, acpi_handle handle)\n  This checks if the specified handle is ejectable ACPI PCI slot. The\n  \u0027pbus\u0027 parameter is needed to check if \u0027handle\u0027 is PCI related ACPI\n  object.\n\nThis patch also introduces the following inline function in\ninclude/linux/pci-acpi.h, which is useful to get ACPI handle of the\nPCI bridge from struct pci_bus of the bridge\u0027s secondary bus.\n\n- static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus)\n  This returns ACPI handle of the PCI bridge which generates PCI bus\n  specified by \u0027pbus\u0027.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e046cbd6c05ee859244245d7beeac395cd0057b3",
      "tree": "1d1c3f434a77b522af098c54114d4fee7bd96a6e",
      "parents": [
        "c9ffa5a586a97da4d552f89b8f39eea79a63a612"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Dec 17 12:08:15 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:10 2009 -0800"
      },
      "message": "PCI: pciehp: add auto option to pciehp_detect_mode\n\nACPI based hot-pluggable PCIe slot detection logic was added to\nprevent the problem non hot-pluggable PCIe slot was detected as\nhot-pluggable. The slot detection logic can be selected through\n\u0027pciehp_detect_mode\u0027, but it would be better if it is selected\nautomatically.\n\nThis patch adds \u0027auto\u0027 option for \u0027pciehp_detect_mode\u0027. When it is\nspecified, pciehp judges which \u0027acpi\u0027 or \u0027pcie\u0027 should be used. It\nseems that the physical slot number is duplicated among some slots on\nmost of the platforms with the above-mentioned problem. So \u0027auto\u0027 mode\nuses this information to judge which \u0027acpi\u0027 or \u0027pcie\u0027 should be\nused. That is, if duplicated physical slot numbers are detected,\n\u0027acpi\u0027 mode is used. This method is not perfect, but it\u0027s realistic.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c9ffa5a586a97da4d552f89b8f39eea79a63a612",
      "tree": "47e4a6de7df1c5d41bff61f8bfc81eb464b8d2c6",
      "parents": [
        "873392ca514f87eae39f53b6944caf85b1a047cb"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Dec 17 12:07:38 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:10 2009 -0800"
      },
      "message": "PCI: pciehp: add ACPI based slot detection\n\nThere is a problem that some non hot-pluggable PCIe slots are detected\nas hot-pluggable by pciehp on some platforms. The immediate cause of\nthis problem is that hot-plug capable bit in the Slot Capabilities\nregister is set even for non hot-pluggable slots on those platforms.\nIt seems a BIOS/hardware problem, but we need workaround about that.\n\nSome of those platforms define hot-pluggable PCIe slots on ACPI\nnamespace properly, while hot-plug capable bit in the Slot\nCapabilities register is set improperly. So using ACPI namespace\ninformation in pciehp to detect PCIe hot-pluggable slots would be a\nworkaround.\n\nThis patch adds \u0027pciehp_detect_mode\u0027 module option. When \u0027acpi\u0027 is\nspecified, pciehp uses ACPI namespace information to detect PCIe\nhot-pluggable slots.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "98d3333a13029ab07ca1d1bfb9bfa138ea76c3c0",
      "tree": "ee00d479e95241d5cdd147517b47755383c22845",
      "parents": [
        "23a36002742bca87510201770a7d931c4aa63e97"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Dec 09 16:11:41 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:47 2009 -0800"
      },
      "message": "PCI hotplug: cpqphp: use config space PCI interrupt pin encoding\n\nThis patch changes cpqphp to use interrupt pin values just as they\ncome from PCI config space, i.e., 1\u003dINTA, ..., 4\u003dINTD.\n\npcibios_set_irq_routing() takes pin arguments in the range 0\u003dINTA, ...,\n3\u003dINTD, so we\u0027ll adjust the pin just before calling it.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2a9d35219c593bdf46ec21f2b75a6370af7af1b0",
      "tree": "770981a1f9c4649ac57bee9e9cdb6c4fb8568597",
      "parents": [
        "104bafcfab7ce3031399e60069949f10acecc022"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Dec 11 11:17:55 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:42 2009 -0800"
      },
      "message": "PCI hotplug: acpiphp whitespace cleanup\n\nClean up whitespace.\n\nSetting \u0027let c_space_errors\u003d1\u0027 in .vimrc shows all sorts of\nugliness. ;)\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "56ee325e25a0f76fc3267872867b3d70af179aad",
      "tree": "c1e840d33d1a1b315e312395b1a674380db91019",
      "parents": [
        "86d8698027fd30cc067d2aeeb1e3603d43c83df0"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Tue Nov 25 21:48:14 2008 +0000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:36 2009 -0800"
      },
      "message": "PCI/ACPI:  acpiphp: Identify more removable slots\n\nAccording to section 6.3.6 of the ACPI spec, the presence of an _RMV\nmethod that evaluates to 1 is sufficient to indicate that a slot is\nremovable without needing an eject method. This patch refactors the\nejectable slot detection code a little in order to flag these slots as\nejectable and register them. Acpihp then binds to the expresscard slot\non my HP test machine.\n\nAcked-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4ba7d0f0eb68cf7731ead4ca20e540d0266cfa8e",
      "tree": "42883c27d9e1c449460db075ae242ac0f50862ae",
      "parents": [
        "e8de1481fd7126ee9e93d6889da6f00c05e1e019"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Nov 23 09:08:28 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:33 2009 -0800"
      },
      "message": "drivers/pci/hotplug: Add missing pci_dev_get\n\npci_get_slot does a pci_dev_get, so pci_dev_put needs to be called in an\nerror case.\n\nAn alterative would be to move the test_and_set_bit before the call to\npci_get_slot.\n\nThe problem was fixed using the following semantic patch.\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@\nlocal idexpression *n;\nstatement S1,S2;\nexpression E,E1;\nexpression *ptr !\u003d NULL;\ntype T,T1;\n@@\n\n(\nif (!(n \u003d pci_get_slot(...))) S1\n|\nn \u003d pci_get_slot(...)\n)\n\u003c... when !\u003d pci_dev_put(n)\n    when !\u003d if (...) { \u003c+... pci_dev_put(n) ...+\u003e }\n    when !\u003d true !n  || ...\n    when !\u003d n \u003d (T)E\n    when !\u003d E \u003d n\nif (!n || ...) S2\n...\u003e\n(\n  return \\(0\\|\u003c+...n...+\u003e\\|ptr\\);\n|\n+ pci_dev_put(n);\nreturn ...;\n|\npci_dev_put(n);\n|\nn \u003d (T1)E1\n|\nE1 \u003d n\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1a9271331ab663f3c7cda78d86b884f2ea86d4d7",
      "tree": "8d9334c0f1108fd785d5026a7eb9f6a2e95d3975",
      "parents": [
        "bfb0f330a6c833fd12c35b907434256b4211a1dc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Oct 30 02:17:49 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:23 2009 -0800"
      },
      "message": "PCI: struct device - replace bus_id with dev_name(), dev_set_name()\n\nThis patch is part of a larger patch series which will remove\nthe \"char bus_id[20]\" name string from struct device. The device\nname is managed in the kobject anyway, and without any size\nlimitation, and just needlessly copied into \"struct device\".\n\nTo set and read the device name dev_name(dev) and dev_set_name(dev)\nmust be used. If your code uses static kobjects, which it shouldn\u0027t\ndo, \"const char *init_name\" can be used to statically provide the\nname the registered device should have. At registration time, the\ninit_name field is cleared, to enforce the use of dev_name(dev) to\naccess the device name at a later time.\n\nWe need to get rid of all occurrences of bus_id in the entire tree\nto be able to enable the new interface. Please apply this patch,\nand possibly convert any remaining remaining occurrences of bus_id.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-Off-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c7b4fee3808a061ee0e704ba596ace56bf65a83d",
      "tree": "956bc9c28c2920e8b4660c446de5b47b56f7cba3",
      "parents": [
        "9eff02e2042f96fb2aedd02e032eca1c5333d767"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Fri Oct 24 14:26:35 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:21 2009 -0800"
      },
      "message": "PCI hotplug: pciehp: remove unnecessary wait after turning power off\n\nThe pciehp driver waits for 1000 msec after turning power off to make\nsure the power has been completely removed. But this 1000 msec wait is\nnot needed if a slot doesn\u0027t implement power control because software\ncannot control the power. Power will be automatically removed at adapter\nremoval time on such a slot\n\nTested-by: \"Phil Endecott\" \u003cphil_pibbu_endecott@chezphil.org\u003e\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ea7e96e0f2277107d9ea14c3f16c86ba82b2e560",
      "tree": "62d7de39d24e001b9df29fbafdaed252cdb91191",
      "parents": [
        "2ee62612485f888b731804ca1b3b18ed8e842b51"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Tue Dec 16 16:28:17 2008 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Dec 31 01:15:22 2008 -0500"
      },
      "message": "ACPI: remove private acpica headers from driver files\n\nExternal driver files should not include any private acpica headers.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "824877111cd7f2b4fd2fe6947c5c5cbbb3ac5bd8",
      "tree": "4dabc2c724815a12a756947b45491b2af33737b2",
      "parents": [
        "c854c91979e0717c619bc55e124d41d60d5eb3d6"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@infradead.org",
        "time": "Sat Dec 27 18:32:28 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 18:17:36 2008 +0100"
      },
      "message": "x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h\n\nImpact: cleanup\n\nNow that arch/x86/pci/pci.h is used in a number of other places as well,\nmove the lowlevel x86 pci definitions into the architecture include files.\n(not to be confused with the existing arch/x86/include/asm/pci.h file,\nwhich provides public details about x86 PCI)\n\nTested on: X86_32_UP, X86_32_SMP and X86_64_SMP\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c92ec8ae91ecf59d88c798301833d7cf83f2179",
      "tree": "08a38cd3523c42bd49882f17cd501fd879e7ca1c",
      "parents": [
        "c4c9f0183b7c4e97836e8fecbb67898b06c47e78",
        "ca9153a3a2a7556d091dfe080e42b0e67881fff6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 16:54:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 16:54:33 2008 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits)\n  powerpc/44x: Support 16K/64K base page sizes on 44x\n  powerpc: Force memory size to be a multiple of PAGE_SIZE\n  powerpc/32: Wire up the trampoline code for kdump\n  powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M\n  powerpc/32: Allow __ioremap on RAM addresses for kdump kernel\n  powerpc/32: Setup OF properties for kdump\n  powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs()\n  powerpc: Prepare xmon_save_regs for use with kdump\n  powerpc: Remove default kexec/crash_kernel ops assignments\n  powerpc: Make default kexec/crash_kernel ops implicit\n  powerpc: Setup OF properties for ppc32 kexec\n  powerpc/pseries: Fix cpu hotplug\n  powerpc: Fix KVM build on ppc440\n  powerpc/cell: add QPACE as a separate Cell platform\n  powerpc/cell: fix build breakage with CONFIG_SPUFS disabled\n  powerpc/mpc5200: fix error paths in PSC UART probe function\n  powerpc/mpc5200: add rts/cts handling in PSC UART driver\n  powerpc/mpc5200: Make PSC UART driver update serial errors counters\n  powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver\n  powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver\n  ...\n\nFix trivial conflict in drivers/char/Makefile as per Paul\u0027s directions\n"
    },
    {
      "commit": "3e3d0e9246d0eccc1da800348fc1b9199ae3d768",
      "tree": "c9aa0988205a5879b7a9d7b8cb2972c45636e719",
      "parents": [
        "b6adc1955d31515be6631e63b1fe4bcdcd41db77"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Dec 17 16:07:47 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Dec 17 16:07:47 2008 -0800"
      },
      "message": "PCI hotplug: ibmphp: Fix module ref count underflow\n\nI happened to notice that the ibmphp hotplug driver does something\nrather silly in its init routine.  It purposely calls module_put so as\nto underflow its module ref count to avoid being removed from the\nkernel.  This is bad practice, and wrong, since it provides a window for\nsubsequent module_gets to reset the refcount to zero, allowing an unload\nto race in and cause all sorts of mysterious panics.  If the module is\nunsafe to load, simply omitting the module_exit parameter is sufficient\nto prevent the kernel from allowing the unload.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b6adc1955d31515be6631e63b1fe4bcdcd41db77",
      "tree": "6a4daca946c8beb1b877d662c2599d4f12151a17",
      "parents": [
        "db9aaf0bf19886114935152996edd9c6683b741c"
      ],
      "author": {
        "name": "Justin Chen",
        "email": "justin.chen@hp.com",
        "time": "Thu Dec 11 11:16:44 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Dec 16 13:26:46 2008 -0800"
      },
      "message": "PCI hotplug: acpiphp wants a 64-bit _SUN\n\nCertain HP machines require the full 64 bits of _SUN as allowed\nby the ACPI spec. Without this change, we get name collisions in\nthe lower 32 bits of the _SUN returned by firmware.\n\nAcked-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Justin Chen \u003cjustin.chen@hp.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "db9aaf0bf19886114935152996edd9c6683b741c",
      "tree": "789bdbc23345c16dcf43c05d9e0987bf92065d07",
      "parents": [
        "b0b801dd7de3d77bb143d3c98199b487df0fc63a"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Mon Dec 08 14:30:24 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Dec 16 13:26:46 2008 -0800"
      },
      "message": "PCI: pciehp: fix unexpected power off with pciehp_force\n\nThis patch fixes the problem that causes an occupied slot to be turned\noff even if it has a working device.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fd6852c8fa060bd45c82a2593e18f933f6c6204f",
      "tree": "a0534b189bc6a791e93bce5894f892634aa4ab0c",
      "parents": [
        "b5ae5f911d221ad85090d6805ab9ab020f6e4703"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Oct 27 19:48:52 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Nov 06 09:31:52 2008 +1100"
      },
      "message": "powerpc/pci: Fix various pseries PCI hotplug issues\n\nThe pseries PCI hotplug code has a number of issues, ranging from\nincorrect resource setup to crashes, depending on what is added,\nwhen, whether it contains a bridge, etc etc....\n\nThis fixes a whole bunch of these, while actually simplifying the code\na bit, using more generic code in the process and factoring out common\ncode between adding of a PHB, a slot or a device.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "325dcfdc81f124812a7b692354996ef7fe5b90ed",
      "tree": "bad267a306682a6f3e921c50a7fd0ebc5c3eb61a",
      "parents": [
        "3a2c5dad6c4d4551effba477f4f45fa5feb1293f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Oct 23 18:14:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 19:48:29 2008 -0700"
      },
      "message": "Fix PCI hotplug printk format\n\nFix printk format warning:\n\n  drivers/pci/hotplug/acpiphp_ibm.c:207: warning: format \u0027%08lx\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027long long unsigned int\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be7bce250a88fbbb5a67204eb148bce8b798780a",
      "tree": "c30a5f7f145e4b4ab59f139b529eb170fa00f682",
      "parents": [
        "f98ca311f3a32e2adc229fecd6bf732db07fcca3"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Thu Oct 23 11:54:39 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Oct 23 16:14:00 2008 -0700"
      },
      "message": "PCI hotplug: shpchp: message refinement\n\nThis patch refines messages in shpchp module.  The main changes are as\nfollows:\n\n - remove the trailing \".\"\n - remove __func__ as much as possible\n - capitalize the first letter of messages\n - show PCI device address including its domain\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f98ca311f3a32e2adc229fecd6bf732db07fcca3",
      "tree": "70605c5063f72f93a08d350b0fcb66fd359b7996",
      "parents": [
        "388c8c16abafc2e74dff173b5de9ee519ea8d32f"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Thu Oct 23 11:52:12 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Oct 23 16:11:50 2008 -0700"
      },
      "message": "PCI hotplug: shpchp: replace printk with dev_printk\n\nThis patch replaces printks within shpchp module with dev_printks.\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "18b341b76cd99ce949806ccf5565900465ec2e7f",
      "tree": "b0c0985a190827df929f583bd7bc164ca4020d9c",
      "parents": [
        "8113587c2d14d3be2414190845b2e2617c0aa33b"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Thu Oct 23 11:47:32 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Oct 23 14:47:39 2008 -0700"
      },
      "message": "PCI hotplug: pciehp: message refinement\n\nThis patch refines messages in pciehp module.  The main changes are as\nfollows:\n\n - remove the trailing \".\"\n - remove __func__ as much as possible\n - capitalize the first letter of messages\n - show PCI device address including its domain\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d2174c3c07adad88dd9ba37a731e0b00b746822a",
      "tree": "3904a0174a0238a3425dbf9a204f05f5112ef376",
      "parents": [
        "5f4f0c4d3fc95cb7d509e4469a22aed40532f0fc"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Fri Oct 17 09:23:51 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Oct 23 14:40:06 2008 -0700"
      },
      "message": "PCI hotplug: cpqphp: fix kernel NULL pointer dereference\n\nThe following patch fixes the regression in 2.6.27 that causes kernel\nNULL pointer dereference at cpqphp driver probe time.  This patch should\nbe backported to the .27 stable series.\n\nSeems to have been introduced by\nf46753c5e354b857b20ab8e0fe7b2579831dc369.\n\nThe root cause of this problem seems that cpqphp driver calls\npci_hp_register() wrongly. In current implementation, cpqphp driver\npasses \u0027ctrl-\u003epci_dev-\u003esubordinate\u0027 as a second parameter for\npci_hp_register(). But because hotplug slots and it\u0027s hotplug controller\n(exists as a pci funcion) are on the same bus, it should be\n\u0027ctrl-\u003epci_dev-\u003ebus\u0027 instead.\n\nCc: \u003cstable@kernel.org\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "765426e8ee4c0ab2bc9d44951f4865b8494cdbd0",
      "tree": "2b46ab8953eff175c8d3474a9754c1ab1394e4de",
      "parents": [
        "36ec891895020f3bc9953c8b11d079c6d77d76bd",
        "898b054f3eec5921320ae8614b5bdd7b07ea5b43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:20:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:20:36 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (123 commits)\n  dock: make dock driver not a module\n  ACPI: fix ia64 build warning\n  ACPI: hack around sysfs warning with link order\n  ACPI suspend: fix build warning when CONFIG_ACPI_SLEEP\u003dn\n  intel_menlo: fix build warning\n  panasonic-laptop: fix build\n  ACPICA: Update version to 20080926\n  ACPICA: Add support for zero-length buffer-to-string conversions\n  ACPICA: New: Validation for predefined ACPI methods/objects\n  ACPICA: Fix for implicit return compatibility\n  ACPICA: Fixed a couple memory leaks associated with \"implicit return\"\n  ACPICA: Optimize buffer allocation procedure\n  ACPICA: Fix possible memory leak, error exit path\n  ACPICA: Fix fault after mem allocation failure in AML parser\n  ACPICA: Remove unused ACPI register bit definition\n  ACPICA: Update version to 20080829\n  ACPICA: Fix possible memory leak in acpi_ns_get_external_pathname\n  ACPICA: Cleanup for internal Reference Object\n  ACPICA: Update comments - no functional changes\n  ACPICA: Update for Reference ACPI_OPERAND_OBJECT\n  ...\n"
    },
    {
      "commit": "057316cc6a5b521b332a1d7ccc871cd60c904c74",
      "tree": "4333e608da237c73ff69b10878025cca96dcb4c8",
      "parents": [
        "3e2dab9a1c2deb03c311eb3f83466009147ed4d3",
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Oct 22 23:57:26 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Oct 23 00:11:07 2008 -0400"
      },
      "message": "Merge branch \u0027linus\u0027 into test\n\nConflicts:\n\tMAINTAINERS\n\tarch/x86/kernel/acpi/boot.c\n\tarch/x86/kernel/acpi/sleep.c\n\tdrivers/acpi/Kconfig\n\tdrivers/pnp/Makefile\n\tdrivers/pnp/quirks.c\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7674416db4ee3d43813dddb650364ca994755256",
      "tree": "1a4549823d7bdd892dc3b3b7b3fa9214216ac384",
      "parents": [
        "0ca9413c234aa5a49ffaf80e46b50721a752e45a",
        "27663c5855b10af9ec67bc7dfba001426ba21222"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Oct 22 23:33:29 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Oct 22 23:33:29 2008 -0400"
      },
      "message": "Merge branch \u0027ull\u0027 into test\n\nConflicts:\n\tdrivers/acpi/bay.c\n\tdrivers/acpi/dock.c\n\tdrivers/ata/libata-acpi.c\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "05a34f51ba451c65773ad6f1acf4cc089cc474d8",
      "tree": "4f54ff88ee44c4778a22bbabc48fc2351ffb84e9",
      "parents": [
        "1388cc964e680c1086ca0edae35be094cb29d51e"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Oct 22 16:44:00 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:44:00 2008 -0700"
      },
      "message": "PCI hotplug: fix logic in Compaq hotplug controller bus speed setup\n\nThe pattern !E \u0026\u0026 !E-\u003efld is nonsensical.  The patch below updates this\naccording to the assumption that \u0026\u0026 should be ||.  But perhaps another\nsolution was intended.\n\nThe semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@disable and_comm@\nexpression E;\nidentifier fld;\n@@\n\n- !E \u0026\u0026 !E-\u003efld\n+ !E || !E-\u003efld\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f18e9625e02bb3e5ba9e81104f14e9d904ab28c4",
      "tree": "688eb9985ec1f85e2c1869a7252004789fb09a14",
      "parents": [
        "b84346ef74cf76793070762b933387729c5df1ed"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Oct 22 14:31:44 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:45 2008 -0700"
      },
      "message": "PCI hotplug: pciehp: poll data link layer link active\n\nThis patch adds polling mechanism for Data Link Layer Link Active bit\nafter turning power on, instead of waiting for 1000 msec. This reduces\nreduce the unnecessary long wait.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b84346ef74cf76793070762b933387729c5df1ed",
      "tree": "2aa7716ad7b047dce83ebacd20ee0886b350cd62",
      "parents": [
        "a1c19894b786f10c76ac40e93c6b5d70c9b946d2"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Oct 22 14:30:15 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:45 2008 -0700"
      },
      "message": "PCI hotplug: pciehp: fix possible memory leak in pcie_init\n\nFix the error paths in pcie_init to avoid leaking memory.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0b8b0dca9aad94878adaf4520f3f12bf9813f329",
      "tree": "ada02f10013c1cb60cba5d4e7266c38d8ac249de",
      "parents": [
        "58319b802a614f10f1b5238fbde7a4b2e9a60069"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:42:03 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:44 2008 -0700"
      },
      "message": "PCI Hotplug: fakephp: add duplicate slot name debugging\n\nThe PCI core now manages slot names on behalf of slot detection\nand slot hotplug drivers, including the handling of duplicate\nslot names.\n\nWe can use the fakephp driver to help test the new functionality.\nAdd a \u0027dup_slots\u0027 module param to force fakephp to create multiple\nslots with the same name. We can then verify that the PCI core\ncorrectly renamed the slots.\n\n\tsapphire:/sys/bus/pci/slots # modprobe fakephp dup_slots\n\tsapphire:/sys/bus/pci/slots # ls\n\tfake    fake-10  fake-3  fake-5  fake-7  fake-9\n\tfake-1  fake-2   fake-4  fake-6  fake-8\n\nCc: kristen.c.accardi@intel.com\nCc: matthew@wil.cx\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "58319b802a614f10f1b5238fbde7a4b2e9a60069",
      "tree": "2f1d284bf836bf06f8469b9cf77836fd34543a3f",
      "parents": [
        "66f1705580f796a3f52c092e9dc92cbe5df41dd6"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:58 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:43 2008 -0700"
      },
      "message": "PCI: Hotplug core: remove \u0027name\u0027\n\nNow that the PCI core manages the \u0027name\u0027 for each individual\nhotplug driver, and all drivers (except rpaphp) have been converted\nto use hotplug_slot_name(), there is no need for the PCI hotplug\ncore to drag around its own copy of name either.\n\nCc: kristen.c.accardi@intel.com\nCc: matthew@wil.cx\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "66f1705580f796a3f52c092e9dc92cbe5df41dd6",
      "tree": "04abd780e793b79a83f74435291f700bef98f58b",
      "parents": [
        "85234ce86dfa62b779faa19a70364a06e3f7fc32"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:53 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:43 2008 -0700"
      },
      "message": "PCI: shcphp: remove \u0027name\u0027 parameter\n\nWe do not need to manage our own name parameter, especially since\nthe PCI core can change it on our behalf, in the case of duplicate\nslot names.\n\nRemove \u0027name\u0027 from shpchp\u0027s version of struct slot.\n\nThis change also removes the unused struct task_event from the\nslot structure.\n\nCc: kristen.c.accardi@intel.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "85234ce86dfa62b779faa19a70364a06e3f7fc32",
      "tree": "0af51330a44cbc052e4e6416fa639d24c4bf9a32",
      "parents": [
        "b2132fecca02fa05d509ba4c8c1e51dee6ccd003"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:48 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:43 2008 -0700"
      },
      "message": "PCI: SGI Hotplug: stop managing bss_hotplug_slot-\u003ename\n\nWe no longer need to manage our version of hotplug_slot-\u003ename\nsince the PCI and hotplug core manage it on our behalf.\n\nUpdate the sn_hp_slot_private_alloc() interface to fill in\nthe correct name for us, as that function already has all\nthe parameters needed to determine the name.\n\nCc: kristen.c.accardi@intel.com\nCc: jpk@sgi.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b2132fecca02fa05d509ba4c8c1e51dee6ccd003",
      "tree": "e72d872b26c2380b3e5fc20c5ed535122c63b688",
      "parents": [
        "e1acb24f059defdaa0264e925f19cc21b0a3e592"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:43 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:42 2008 -0700"
      },
      "message": "PCI: rpaphp: kmalloc/kfree slot-\u003ename directly\n\nrpaphp tends to use slot-\u003ename directly everywhere, and doesn\u0027t\never need slot-\u003ehotplug_slot-\u003ename.\n\nstruct hotplug_slot-\u003ename is going away, so convert rpaphp directly\nmanipulate its own slot-\u003ename everywhere, and don\u0027t bother touching\nslot-\u003ehotplug_slot-\u003ename.\n\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e1acb24f059defdaa0264e925f19cc21b0a3e592",
      "tree": "9758cc4da2cab89d54c5c3a58eb9b978ad4b45c0",
      "parents": [
        "a32615a1a661f83661e8a26c3bc7763f716da8f3"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:38 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:42 2008 -0700"
      },
      "message": "PCI: pciehp: remove \u0027name\u0027 parameter\n\nWe do not need to manage our own name parameter, especially since\nthe PCI core can change it on our behalf, in the case of duplicate\nslot names.\n\nRemove \u0027name\u0027 from pciehp\u0027s version of struct slot, and remove\nunused \u0027task_list\u0027 as well.\n\nCc: kristen.c.accardi@intel.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a32615a1a661f83661e8a26c3bc7763f716da8f3",
      "tree": "3c33e4fc205f184d2fbd135bd800e05182aa18c6",
      "parents": [
        "43caae884b5a5e2eacb4879225341cb49700e129"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:33 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:41 2008 -0700"
      },
      "message": "PCI: ibmphp: stop managing hotplug_slot-\u003ename\n\nWe no longer need to manage our version of hotplug_slot-\u003ename\nsince the PCI and hotplug core manage it on our behalf.\n\nNow, we simply advise the PCI core of the name that we would\nlike, and let the core take care of the rest.\n\nAdditionally, slightly rearrange the members of struct slot\nso they are naturally aligned to eliminate holes.\n\nCc: jbarnes@virtuousgeek.org\nCc: kristen.c.accardi@intel.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "43caae884b5a5e2eacb4879225341cb49700e129",
      "tree": "d34ef95c875e1e89b3b01ec0dc58849f5750e223",
      "parents": [
        "0ad772ec464d3fcf9d210836b97e654f393606c4"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:28 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:41 2008 -0700"
      },
      "message": "PCI: fakephp: remove \u0027name\u0027 parameter\n\nRemove \u0027name\u0027 from fakephp\u0027s struct dummy_slot, as the PCI core\nwill now manage our slot name for us.\n\nCc: jbarnes@virtuousgeek.org\nCc: kristen.c.accardi@intel.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "30ac7acd05d1449ac784de144c4b5237be25b0b4",
      "tree": "f43389db83bb9a6bb56929a89624d79d0b2ca7e3",
      "parents": [
        "d6c479e0b777afcd7a26ca62e122e3f878ccc830"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:22 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:40 2008 -0700"
      },
      "message": "PCI: cpqphp: stop managing hotplug_slot-\u003ename\n\nWe no longer need to manage our version of hotplug_slot-\u003ename\nsince the PCI and hotplug core manage it on our behalf.\n\nNow, we simply advise the PCI core of the name that we would\nlike, and let the core take care of the rest.\n\nCc: jbarnes@virtuousgeek.org\nCc: kristen.c.accardi@intel.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d6c479e0b777afcd7a26ca62e122e3f878ccc830",
      "tree": "326fa6cb470f4d819582dfaffa33f55e42b7c78f",
      "parents": [
        "df77cd10078e36e1b89964e5e8c206add399a98d"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:17 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:39 2008 -0700"
      },
      "message": "PCI: cpci_hotplug: stop managing hotplug_slot-\u003ename\n\nWe no longer need to manage our version of hotplug_slot-\u003ename\nsince the PCI and hotplug core manage it on our behalf.\n\nNow, we simply advise the PCI core of the name that we would\nlike, and let the core take care of the rest.\n\nCc: kristen.c.accardi@intel.com\nCc: scottm@somanetworks.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "df77cd10078e36e1b89964e5e8c206add399a98d",
      "tree": "97a7f3a1c5d0b3f711106f9ffcf5b7c9493848e2",
      "parents": [
        "5fe6cc60680d29740b85278e17a002fa27b7e642"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:12 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:39 2008 -0700"
      },
      "message": "PCI: acpiphp: remove \u0027name\u0027 parameter\n\nWe do not need to manage our own name parameter, especially since\nthe PCI core can change it on our behalf, in the case of duplicate\nslot names.\n\nRemove \u0027name\u0027 from acpiphp\u0027s version of struct slot.\n\nCc: kristen.c.accardi@intel.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5fe6cc60680d29740b85278e17a002fa27b7e642",
      "tree": "3815152b48be7f02bb13b765ea8784ff60bfffcb",
      "parents": [
        "95cb9093960b6249fdbe7417bf513a1358aaa51a"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:41:02 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:39 2008 -0700"
      },
      "message": "PCI: prevent duplicate slot names\n\nPrevent callers of pci_create_slot() from registering slots with\nduplicate names. This condition occurs most often when PCI hotplug\ndrivers are loaded on platforms with broken firmware that assigns\nidentical names to multiple slots.\n\nWe now rename these duplicate slots on behalf of the user.\n\nIf firmware assigns the name N to multiple slots, then:\n\n\tThe first registered slot is assigned N\n\tThe second registered slot is assigned N-1\n\tThe third registered slot is assigned N-2\n\tetc.\n\nThis is the permanent fix mentioned in earlier commits d6a9e9b4 and\n167e782e (shpchp/pciehp: Rename duplicate slot name...).\n\nWe take advantage of the new \u0027hotplug\u0027 parameter in pci_create_slot()\nto prevent a slot create/rename race between hotplug drivers and\ndetection drivers.\n\n\tScenario A:\n\thotplug driver                  detection driver\n\t--------------                  ----------------\n\tpci_create_slot(hotplug\u003dset)\n\t\t\t\t\tpci_create_slot(hotplug\u003dNULL)\n\nThe hotplug driver creates the slot with its desired name, and then\nreleases the semaphore. Now, the detection driver tries to create\nthe same slot, but it already exists. We don\u0027t care about renaming,\nso return the existing slot.\n\n\tScenario B:\n\thotplug driver                  detection driver\n\t--------------                  ----------------\n\t\t\t\t\tpci_create_slot(hotplug\u003dNULL)\n\tpci_create_slot(hotplug\u003dset)\n\nThe detection driver creates the slot with name \"X\". Then the hotplug\ndriver tries to create the same slot, but wants the name \"Y\" instead.\nWe detect that we\u0027re trying to create the same slot and that we also\nwant a rename, so rename the slot to \"Y\" and return.\n\n\tScenario C:\n\thotplug driver                  hotplug driver\n\t--------------                  ----------------\n\tpci_create_slot(hotplug\u003dset)\n\t\t\t\t\tpci_create_slot(hotplug\u003dset)\n\nTwo separate hotplug drivers are attempting to claim the slot and\nare passing valid hotplug_slot args to pci_create_slot(). We detect\nthat the slot already has a -\u003ehotplug callback, prevent a rename,\nand return -EBUSY.\n\nCc: kristen.c.accardi@intel.com\nCc: matthew@wil.cx\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "95cb9093960b6249fdbe7417bf513a1358aaa51a",
      "tree": "8cfe1c98235ff947685940b328e73c39809751fe",
      "parents": [
        "828f37683e6d3ab5912989df0d04201db7ad798e"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Mon Oct 20 17:40:57 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:38 2008 -0700"
      },
      "message": "PCI Hotplug: serialize pci_hp_register and pci_hp_deregister\n\nConvert the pci_hotplug_slot_list_lock, which only protected the\nlist of hotplug slots, to a pci_hp_mutex which now protects both\ninterfaces.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "828f37683e6d3ab5912989df0d04201db7ad798e",
      "tree": "5761f28363b8fd4b23eaf88305b3f29cfc6b92ba",
      "parents": [
        "d25b7c8d6ba2735602003d75a28894772fe8ad6a"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:40:52 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:38 2008 -0700"
      },
      "message": "PCI: update pci_create_slot() to take a \u0027hotplug\u0027 param\n\nSlot detection drivers can co-exist with hotplug drivers. The names\nof the detected/claimed slots may be different depending on module\nload order.\n\nFor legacy reasons, we need to allow hotplug drivers to override\nthe slot name if a detection driver is loaded first (and they find\nthe same slots).\n\nCreating and overriding slot names should be an atomic operation,\notherwise you get a locking nightmare as various drivers race to\ncall pci_create_slot().\n\npci_create_slot() is already serialized by grabbing the pci_bus_sem.\n\nWe update the API and add a \u0027hotplug\u0027 param, which is:\n\n\tset if the caller is a hotplug driver\n\tNULL if the caller is a detection driver\n\npci_create_slot() does not actually use the \u0027hotplug\u0027 parameter in this\npatch. A later patch will add the logic that uses it.\n\nCc: kristen.c.accardi@intel.com\nCc: matthew@wil.cx\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1359f2701b96abd9bb69c1273fb995a093b6409a",
      "tree": "ee82a6db101926041d7a357e0f474eb8c39557c4",
      "parents": [
        "48ff96ce0774f7634a9497c3589d49bf9d64e0ba"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Oct 20 17:40:42 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Oct 22 16:42:37 2008 -0700"
      },
      "message": "PCI Hotplug core: add \u0027name\u0027 param pci_hp_register interface\n\nUpdate pci_hp_register() to take a const char *name parameter.\n\nThe motivation for this is to clean up the individual hotplug\ndrivers so that each one does not have to manage its own name.\nThe PCI core should be the place where we manage the name.\n\nWe update the interface and all callsites first, in a\n\"no functional change\" manner, and clean up the drivers later.\n\nCc: kristen.c.accardi@intel.com\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bd1d9855be3ab8a5c2b31053d464b7fe63e6963b",
      "tree": "afcef4f9a3716fa7c30f8aa1c234f7690f845926",
      "parents": [
        "e5665a45fa28d0114f61b5d534a3b2678592219d"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Mon Sep 29 17:37:05 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 11:01:50 2008 -0700"
      },
      "message": "PCI hotplug: fix get_##name return value problem\n\nThe commit 356a9d6f3dd283f83861adf1ac909879f0e66411 (PCI: fix hotplug\nget_##name return value problem) doesn\u0027t seem to be merged properly.\nBecause of this, PCI hotplug no longer works (Read/Write PCI hotplug\nfiles always returns -ENODEV).\n\nThis patch fixes wrong check of try_module_get() return value check in\nget_##name().\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5d9bc1fa47f0c1561f1d7c0bdff5e24860852b42",
      "tree": "1f0dd5d0798866bc32b79f8a7c2601fe136f1910",
      "parents": [
        "c9bbb4abb658daf6cc6f92fb4751a7796a5aab75"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Mon Oct 13 09:59:12 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:54:27 2008 -0700"
      },
      "message": "PCI hotplug: rpaphp: make debug var unique\n\nChange debug variable name to one more unique to this driver.\n\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c8761fe80ed052634153438405c9048611ae7ae1",
      "tree": "4a8a58efa1260310c96c7f1d9e08f11cd042e71c",
      "parents": [
        "11d587429e9cbb40ac20d7ed8126c66da0d7aba5"
      ],
      "author": {
        "name": "Zhao, Yu",
        "email": "yu.zhao@intel.com",
        "time": "Mon Sep 22 14:26:05 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:54:25 2008 -0700"
      },
      "message": "PCI: fix hotplug get_##name return value problem\n\nCurrently, get_##name in pci_hotplug_core.c will return 0 if module\nunload wins the race between unload \u0026 reading the hotplug file.  Fix\nthat case to return -ENODEV like it should.\n\nReviewed-by: Alex Chiang \u003cachiang@hp.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7f2feec140f1f1e4f701e013a2bf8284a9ec2a3c",
      "tree": "50a0323a4c3b74c8a428470e6b086ed8bc0b19dd",
      "parents": [
        "83e9ad540b9ee23919961f9500ca254220b78d09"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Fri Sep 05 12:11:26 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:49 2008 -0700"
      },
      "message": "PCI: pciehp: replace printk with dev_printk\n\nThis patch replaces printks within pciehp module with dev_printks.\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "83e9ad540b9ee23919961f9500ca254220b78d09",
      "tree": "d27bdaeee5de139e3bbc10a7310f4072c533e0e2",
      "parents": [
        "37a84ec668ba251ae02cf2c2c664baf6b247ae1f"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Fri Sep 05 12:09:43 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:49 2008 -0700"
      },
      "message": "PCI: pciehp: change name tag of \"hpdriver_portdrv\" variable\n\nI think an appropriate name tag of \"hpdriver_portdrv\" variable\nis \"pciehp\" rather than \"hpdriver\".\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f7a10e32a1a7ae240fa3925c5727d224eba3e31d",
      "tree": "b10ee68a20f16ca6267eb1a7a004277bd50bce9b",
      "parents": [
        "c01156061bdd5976397dfb173f8c70ae351a6cb6"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Fri Aug 22 17:16:48 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:47 2008 -0700"
      },
      "message": "PCI: pciehp: fix irq initialization\n\nCurrent pciehp driver gets irq number from pci_dev-\u003eirq. But because\npciehp driver is a pci express port service driver, it should get irq\nnumber from pcie_device-\u003eirq.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2fd39aa7c2f3d696814abb3e8962c759eee484f3",
      "tree": "9e4d769b28bff575a638aaadb2c0c7c73d57e674",
      "parents": [
        "a8d2dbd38481e0c35c6bdd8196dd38a42ae45d02"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Aug 22 13:30:14 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:45 2008 -0700"
      },
      "message": "PCI: ibmphp: list_for_each to list_for_each_entry-checkpatch cleanups\n\nPlease run checkpatch prior to sending patches, this one fixes several style\nissues with the list_for_each conversion patch.\n\nCc: Cordelia Sam \u003ccordesam@gmail.com\u003e\nCc: Cordelia Sam \u003ccordsam@linux.vnet.ibm.com\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a8d2dbd38481e0c35c6bdd8196dd38a42ae45d02",
      "tree": "0ca9825cbdefab7326682e8aacca616d556ff474",
      "parents": [
        "34a2e15e95fce6d6f4d30162f53a0ceb25d5bbaf"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Aug 22 13:28:17 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:44 2008 -0700"
      },
      "message": "PCI: ibmphp: list_for_each to list_for_each_entry\n\nMake code more readable with list_for_each_entry().\n\nSigned-off-by: Cordelia Sam \u003ccordesam@gmail.com\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e533b227055598b1f7dc8503a3b4f36b14b9da8a",
      "tree": "28fec4125eac45c8e2fac75b3d10ff5cd987d2f6",
      "parents": [
        "0999d978dcdcf59350dafa25afd70def9f924eee",
        "6b2ada82101a08e2830fb29d7dc9b858be637dd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "message": "Merge branch \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails\n  softirq, warning fix: correct a format to avoid a warning\n  softirqs, debug: preemption check\n  x86, pci-hotplug, calgary / rio: fix EBDA ioremap()\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes\n  softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description\n  dmi scan: warn about too early calls to dmi_check_system()\n  generic: redefine resource_size_t as phys_addr_t\n  generic: make PFN_PHYS explicitly return phys_addr_t\n  generic: add phys_addr_t for holding physical addresses\n  softirq: allocate less vectors\n  IO resources: fix/remove printk\n  printk: robustify printk, update comment\n  printk: robustify printk, fix #2\n  printk: robustify printk, fix\n  printk: robustify printk\n\nFixed up conflicts in:\n\tarch/powerpc/include/asm/types.h\n\tarch/powerpc/platforms/Kconfig.cputype\nmanually.\n"
    },
    {
      "commit": "6b2ada82101a08e2830fb29d7dc9b858be637dd4",
      "tree": "c0580c250211f8773674f3a4f7cd575818f153cc",
      "parents": [
        "278429cff8809958d25415ba0ed32b59866ab1a8",
        "3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02",
        "77af7e3403e7314c47b0c07fbc5e4ef21d939532",
        "15160716eea5591eb31f40fd4dba56d83bea4209",
        "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
        "85462323555dda749f1c5373a8d72679464c968d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "message": "Merge branches \u0027core/softlockup\u0027, \u0027core/softirq\u0027, \u0027core/resources\u0027, \u0027core/printk\u0027 and \u0027core/misc\u0027 into core-v28-for-linus\n"
    },
    {
      "commit": "6dc6472581f693b5fc95aebedf67b4960fb85cf0",
      "tree": "06a5a9a08519950575505273eabced331ed51405",
      "parents": [
        "ee673eaa72d8d185012b1027a05e25aba18c267f",
        "8acd3a60bcca17c6d89c73cee3ad6057eb83ba1e"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Oct 15 11:31:54 2008 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Oct 15 11:31:54 2008 +1100"
      },
      "message": "Merge commit \u0027origin\u0027\n\nManual fixup of conflicts on:\n\n\tarch/powerpc/include/asm/dcr-regs.h\n\tdrivers/net/ibm_newemac/core.h"
    },
    {
      "commit": "27663c5855b10af9ec67bc7dfba001426ba21222",
      "tree": "2b8c520bb57a792045d7d072398a4d840fada6c0",
      "parents": [
        "3fa8749e584b55f1180411ab1b51117190bac1e5"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Oct 10 02:22:59 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Oct 11 02:47:33 2008 -0400"
      },
      "message": "ACPI: Change acpi_evaluate_integer to support 64-bit on 32-bit kernels\n\nAs of version 2.0, ACPI can return 64-bit integers.  The current\nacpi_evaluate_integer only supports 64-bit integers on 64-bit platforms.\nChange the argument to take a pointer to an acpi_integer so we support\n64-bit integers on all platforms.\n\nlenb: replaced use of \"acpi_integer\" with \"unsigned long long\"\nlenb: fixed bug in acpi_thermal_trips_update()\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "15160716eea5591eb31f40fd4dba56d83bea4209",
      "tree": "e8d48e792855e94d4ab79a1a8b1db839fd6b59a6",
      "parents": [
        "13eb83754b40bf01dc84e52a08d4196d1b719a0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 26 11:40:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 26 13:25:04 2008 +0200"
      },
      "message": "x86, pci-hotplug, calgary / rio: fix EBDA ioremap()\n\nIO resource and ioremap debugging uncovered this ioremap() done\nby drivers/pci/hotplug/ibmphp_ebda.c:\n\ninitcall pci_hotplug_init+0x0/0x41 returned 0 after 3 msecs\ncalling  ibmphp_init+0x0/0x360 @ 1\nibmphpd: IBM Hot Plug PCI Controller Driver version: 0.6\nresource map sanity check conflict: 0x9f800 0xaf5e7 0x9f800 0x9ffff reserved\n------------[ cut here ]------------\nWARNING: at arch/x86/mm/ioremap.c:175 __ioremap_caller+0x5c/0x226()\nPid: 1, comm: swapper Not tainted 2.6.27-rc7-tip-00914-g347b10f-dirty #36038\n [\u003cc013a72d\u003e] warn_on_slowpath+0x41/0x68\n [\u003cc0156f00\u003e] ? __lock_acquire+0x9ba/0xa7f\n [\u003cc012158c\u003e] ? do_flush_tlb_all+0x0/0x59\n [\u003cc015ac31\u003e] ? smp_call_function_mask+0x74/0x17d\n [\u003cc012158c\u003e] ? do_flush_tlb_all+0x0/0x59\n [\u003cc013b228\u003e] ? printk+0x1a/0x1c\n [\u003cc013f302\u003e] ? iomem_map_sanity_check+0x82/0x8c\n [\u003cc0a773e8\u003e] ? _read_unlock+0x22/0x25\n [\u003cc013f302\u003e] ? iomem_map_sanity_check+0x82/0x8c\n [\u003cc0154e17\u003e] ? trace_hardirqs_off+0xb/0xd\n [\u003cc0127731\u003e] __ioremap_caller+0x5c/0x226\n [\u003cc0156158\u003e] ? trace_hardirqs_on+0xb/0xd\n [\u003cc012767d\u003e] ? iounmap+0x9d/0xa5\n [\u003cc01279dd\u003e] ioremap_nocache+0x15/0x17\n [\u003cc0403c42\u003e] ? ioremap+0xd/0xf\n [\u003cc0403c42\u003e] ioremap+0xd/0xf\n [\u003cc0f1928f\u003e] ibmphp_access_ebda+0x60/0xa0e\n [\u003cc0f17f64\u003e] ibmphp_init+0xb5/0x360\n [\u003cc0101057\u003e] do_one_initcall+0x57/0x138\n [\u003cc0f17eaf\u003e] ? ibmphp_init+0x0/0x360\n [\u003cc0156158\u003e] ? trace_hardirqs_on+0xb/0xd\n [\u003cc0148d75\u003e] ? __queue_work+0x2b/0x30\n [\u003cc0f17eaf\u003e] ? ibmphp_init+0x0/0x360\n [\u003cc0f015a0\u003e] kernel_init+0x17b/0x1e2\n [\u003cc0f01425\u003e] ? kernel_init+0x0/0x1e2\n [\u003cc01178b3\u003e] kernel_thread_helper+0x7/0x10\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n---[ end trace a7919e7f17c0a725 ]---\ninitcall ibmphp_init+0x0/0x360 returned -19 after 144 msecs\ncalling  zt5550_init+0x0/0x6a @ 1\n\nthe problem is this code:\n\n        io_mem \u003d ioremap (ebda_seg\u003c\u003c4, 65000);\n\nit assumes that the EBDA is 65000 bytes. But BIOS EBDA pointers are\nat most 1K large.\n\n_if_ the Rio code truly extends upon the customary EBDA size it needs\nto iounmap() this memory and ioremap() it larger, once it knows it from\nthe generic descriptors that a Rio system is around.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1253f7aabfebc51446dbec5c8895c5c8846dfe06",
      "tree": "dd365b884581931ab01473307d519d277cbffaa4",
      "parents": [
        "f730ae1838635a02aa60834762c61566911d004c"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Aug 28 10:06:16 2008 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Sep 23 23:23:00 2008 -0400"
      },
      "message": "dock: introduce .uevent for devices in dock, eg libata\n\ndock\u0027s uevent reported itself, not ata. It might be difficult to find an\nata device just according to a dock. This patch introduces docking ops\nfor each device in a dock. when docking, dock driver can send device\nspecific uevent. This should help dock station too (not just bay)\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a5827f40afafc864f57a1c44915f0bfaf3d94f53",
      "tree": "c12ea1662a548e1f0a75e422e90fce4e00295238",
      "parents": [
        "48902025af4da44dbbc0231061e542d6d40e712e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Aug 28 01:05:26 2008 +0300"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Sep 10 10:50:57 2008 -0700"
      },
      "message": "PCI: fix pciehp_free_irq()\n\nThis patch fixes an obvious bug (loop was never entered) caused by\ncommit 820943b6fc4781621dee52ba026106758a727dd3\n(pciehp: cleanup pcie_poll_cmd).\n\nReported-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7e392f8c29ee045c6a29d50193d2fb10712eceb0",
      "tree": "c84097fe644c50c82f087ab7fa2d75167b8c0e16",
      "parents": [
        "7713fef06517d216f96ee7c8ad750e72bc08d38f",
        "93811d94f7e9bcfeed7d6ba75ea5d9c80a70ab95"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Sep 10 11:36:13 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Sep 10 11:36:13 2008 +1000"
      },
      "message": "Merge branch \u0027linux-2.6\u0027\n"
    },
    {
      "commit": "48902025af4da44dbbc0231061e542d6d40e712e",
      "tree": "76560726e8345829b20cf4f604de8456336ba9cb",
      "parents": [
        "53bc88701be91e7f631ad31418b32392aa952e9b"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Fri Sep 05 14:05:03 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Sep 09 11:44:06 2008 -0700"
      },
      "message": "PCI Hotplug: fakephp: fix deadlock... again\n\nCommit fe99740cac117f208707488c03f3789cf4904957 (construct one\nfakephp slot per PCI slot) introduced a regression, causing a\ndeadlock when removing a PCI device.\n\nWe also never actually removed the device from the PCI core.\n\nSo we:\n\n\t- remove the device from the PCI core\n\t- do not directly call remove_slot() to prevent deadlock\n\nYu Zhao reported and diagnosed this defect.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nAcked-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d6a9e9b40be7da84f82eb414c2ad98c5bb69986b",
      "tree": "28737d4feaa4b16f63b498229ae13653947f7b36",
      "parents": [
        "167e782e301188c7c7e31e486bbeea5f918324c1"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Aug 21 15:13:47 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Aug 21 15:15:31 2008 -0700"
      },
      "message": "PCI: shpchp: Rename duplicate slot name N as N-1, N-2, N-M...\n\nCommit ef0ff95f136f0f2d035667af5d18b824609de320 (shpchp: fix slot name)\nintroduces the shpchp_slot_with_bus module parameter, which was intended\nto help work around broken firmware that assigns the same name to multiple\nslots.\n\nCommit b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a (shpchp: add message about\nshpchp_slot_with_bus option) tells the user to use the above parameter\nin the event of a name collision.\n\nThis approach is sub-optimal because it requires too much work from\nthe user.\n\nInstead, let\u0027s rename the slot on behalf of the user. If firmware\nassigns the name N to multiple slots, then:\n\n\tThe first registered slot is assigned N\n\tThe second registered slot is assigned N-1\n\tThe third registered slot is assigned N-2\n\tThe Mth registered slot becomes N-M\n\nIn the event we overflow the slot-\u003ename parameter, we report an\nerror to the user.\n\nThis is a temporary fix until the entire PCI core can be reworked\nsuch that individual drivers no longer have to manage their own\nslot names.\n\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "167e782e301188c7c7e31e486bbeea5f918324c1",
      "tree": "c226d2a2de10ff6d437505ac05ea55ae897a83cc",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Aug 21 15:13:29 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Aug 21 15:15:10 2008 -0700"
      },
      "message": "PCI: pciehp: Rename duplicate slot name N as N-1, N-2, N-M...\n\nCommit 3800345f723fd130d50434d4717b99d4a9f383c8 (pciehp: fix slot name)\nintroduces the pciehp_slot_with_bus module parameter, which was intended\nto help work around broken firmware that assigns the same name to multiple\nslots.\n\nCommit 9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009 (pciehp: add message about\npciehp_slot_with_bus option) tells the user to use the above parameter\nin the event of a name collision.\n\nThis approach is sub-optimal because it requires too much work from\nthe user.\n\nInstead, let\u0027s rename the slot on behalf of the user. If firmware\nassigns the name N to multiple slots, then:\n\n\tThe first registered slot is assigned N\n\tThe second registered slot is assigned N-1\n\tThe third registered slot is assigned N-2\n\tThe Mth registered slot becomes N-M\n\nIn the event we overflow the slot-\u003ename parameter, we report an\nerror to the user.\n\nThis is a temporary fix until the entire PCI core can be reworked\nsuch that individual drivers no longer have to manage their own\nslot names.\n\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "738e686055332a11884081ea85514514cb12fa20",
      "tree": "1a059262ec455bd43b3c724e83e03a60aa395b2b",
      "parents": [
        "b950bdd0fc247d0ab4aea88d46e8cced3eac949e"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Aug 19 11:45:55 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Aug 20 16:34:58 2008 +1000"
      },
      "message": "hotplug/rpaphp: Remove unused error path code\n\nCommit f46753c5e354b857b20ab8e0fe7b2579831dc369 (\"PCI: introduce pci_slot\") removed the need for this error path.  Eliminate this warning:\n\ndrivers/pci/hotplug/rpaphp_slot.c: In function \u0027rpaphp_register_slot\u0027:\ndrivers/pci/hotplug/rpaphp_slot.c:151: warning: label \u0027sysfs_fail\u0027 defined but not used\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "056c58e8eb4d6765214757e541b68095e2eb2bd2",
      "tree": "a6d7a8c5df552347aca6588b432b9f0ae3939a59",
      "parents": [
        "e0d94beead4ef652ec1c066be886140eebb06d8b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Aug 18 20:22:54 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Aug 18 13:48:04 2008 -0700"
      },
      "message": "PCI: add acpi_find_root_bridge_handle\n\nConsolidate finding of a root bridge and getting its handle to the one\ninline function. It\u0027s cut \u0026 pasted on multiple places. Use this new\ninline in those.\n\nCc: kristen.c.accardi@intel.com\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e0d94beead4ef652ec1c066be886140eebb06d8b",
      "tree": "5009a20f5242b0399a2eabe4410d932bc1491fff",
      "parents": [
        "89499759dc0dd300528510f465b0bf532fc79a2a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Aug 11 17:47:40 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Aug 18 13:47:20 2008 -0700"
      },
      "message": "PCI: acpi_pcihp: run _OSC on a root bridge\n\n_OSC should be ran on a root bridge instead of the device itself.  Do\nthis before touching OSHP since PCI fw specs states that _OSC should be\npreferred over OSHP (however if the device has OSHP but not _OSC -- not\na root bridge -- it\u0027s not).\n\nCc: kristen.c.accardi@intel.com\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "56adc59d81b01ac5924f7eba6e22adc762a1e2c6",
      "tree": "ba7889f5fee43c090872b8531a9ab71c530b4383",
      "parents": [
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Jul 24 16:43:43 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 11:44:32 2008 -0700"
      },
      "message": "PCI hotplug: fix typo in pcie hotplug output\n\nComamnd-\u003eCommand\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "aab0de245150c09e61c30962feb16aacde508dc3",
      "tree": "cd9cfa1e2c09aeb4cdeee605efa45fef90f0d38a",
      "parents": [
        "f75b1c60fc1e53c4004a79ea0be071aa3318cdcc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri May 02 06:02:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:52 2008 -0700"
      },
      "message": "driver core: remove KOBJ_NAME_LEN define\n\nKobjects do not have a limit in name size since a while, so stop\npretending that they do.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dc7c65db2845a8d17432d89252c4227a9a7cb15f",
      "tree": "79030b0aaaafc04bc4303c21495134e744afc058",
      "parents": [
        "8a0ca91e1db5de5eb5b18cfa919d52ff8be375af",
        "58b6e5538460be358fdf1286d9a2fbcfcc2cfaba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 17:25:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 17:25:46 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)\n  Revert \"x86/PCI: ACPI based PCI gap calculation\"\n  PCI: remove unnecessary volatile in PCIe hotplug struct controller\n  x86/PCI: ACPI based PCI gap calculation\n  PCI: include linux/pm_wakeup.h for device_set_wakeup_capable\n  PCI PM: Fix pci_prepare_to_sleep\n  x86/PCI: Fix PCI config space for domains \u003e 0\n  Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP\u003dn\n  PCI: Simplify PCI device PM code\n  PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep\n  PCI ACPI: Rework PCI handling of wake-up\n  ACPI: Introduce new device wakeup flag \u0027prepared\u0027\n  ACPI: Introduce acpi_device_sleep_wake function\n  PCI: rework pci_set_power_state function to call platform first\n  PCI: Introduce platform_pci_power_manageable function\n  ACPI: Introduce acpi_bus_power_manageable function\n  PCI: make pci_name use dev_name\n  PCI: handle pci_name() being const\n  PCI: add stub for pci_set_consistent_dma_mask()\n  PCI: remove unused arch pcibios_update_resource() functions\n  PCI: fix pci_setup_device()\u0027s sprinting into a const buffer\n  ...\n\nFixed up conflicts in various files (arch/x86/kernel/setup_64.c,\narch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,\ndrivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86\nand ACPI updates manually.\n"
    },
    {
      "commit": "9fce1bc956c21dfe0f46be028f18c4d5057f2bd7",
      "tree": "183dc119ab7950b890ab5c2f36cad622ea9653f3",
      "parents": [
        "809d9a8f93bd8504dcc34b16bbfdfd1a8c9bb1ed"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Wed Jul 16 22:54:30 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jul 16 08:46:43 2008 -0700"
      },
      "message": "PCI: remove unnecessary volatile in PCIe hotplug struct controller\n\nProper memory barriers have been added to order accesses\nto -\u003ecmd_busy, so volatile declaration for cmd_busy can\nbe removed.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a13307cef8bf51990ef1d525b1cbdcc2cfe07e2a",
      "tree": "3098b0057aa09f53c9ecd485fc147f135eecfc33",
      "parents": [
        "99cb233d60cbe644203f19938c729ea2bb004d70"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Tue Jul 01 20:02:23 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jul 02 11:27:30 2008 -0700"
      },
      "message": "PCI: acpiphp: cleanup notify handler on all root bridges\n\nDuring the development of the physical PCI slot patch series, Gary Hade\nkept on reporting strange oopses due to interactions between pci_slot\nand acpiphp.\n\n\thttp://lkml.org/lkml/2007/11/28/319\n\nfind_root_bridges() unconditionally installs\nhandle_hotplug_event_bridge() as an ACPI_SYSTEM_NOTIFY handler for all\nroot bridges.\n\nHowever, during module cleanup, remove_bridge() will only remove the\nnotify handler iff the root bridge had a hot-pluggable slot directly\nunderneath. That is:\n\n\troot bridge -\u003e hotplug slot\n\nBut, if the topology looks like either of the following:\n\n\troot bridge -\u003e non-hotplug slot\n\troot bridge -\u003e p2p bridge -\u003e hotplug slot\n\nThen we currently do not remove the notify handler from that root\nbridge.\n\nThis can cause a kernel oops if we modprobe acpiphp later and it gets\nloaded somewhere else in memory. If the root bridge then receives a\nhotplug event, it will then attempt to call a stale, non-existent notify\nhandler and we blow up.\n\nMuch thanks goes to Gary Hade for his persistent debugging efforts.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b97089400d44b9e90ce5029a2e458cd087473c74",
      "tree": "cefbe4ac45ad92ae757120010173bdaa737c56bf",
      "parents": [
        "3aa50c44628629a6d58f93e0a1244e95a874884e"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Thu Jun 26 20:06:24 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jun 27 13:01:14 2008 -0700"
      },
      "message": "pciehp: use get_service_data\n\nCurrent pciehp driver saves its private data pointer into pci_dev\nstructure using pci_set_drvdata()/pci_get_drvdata(). But because\npciehp is not a pci device driver but a PCI Express service driver, it\nshould save its private data pointer into pcie_device structure using\nset_service_data()/get_service_data().\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3aa50c44628629a6d58f93e0a1244e95a874884e",
      "tree": "ac0eac6b246af6422e4731f46fba64bd4b8a251f",
      "parents": [
        "c4635eb06af700820d658a163f06aff12e17cfb2"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Thu Jun 26 20:07:33 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jun 27 13:01:03 2008 -0700"
      },
      "message": "pciehp: remove needless command completed interrupt setting\n\nCurrently, pciehp driver enables command completed interrupt as follows.\n\n(1) Don\u0027t enable at initialization.\n(2) Enable command completed interrupt whenever pciehp issues a\n    command, if the command doesn\u0027t attempt to disable the interrupt.\n(3) Disable command completed interrupt at driver unloading.\n\nOnce we enable command completed interrupt, we don\u0027t need to re-enable\nit for every command. So we can simplify above steps as follows:\n\n(1) Enable command completed interrupt at initialization.\n(2) No special sequence for command completed interrupt.\n(3) Disable command completed interrupt at driver unloading.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    }
  ],
  "next": "c4635eb06af700820d658a163f06aff12e17cfb2"
}
