)]}'
{
  "log": [
    {
      "commit": "18cb657ca1bafe635f368346a1676fb04c512edf",
      "tree": "b0eb6a4ceddf98e7bf820be7ff24bf131ff56b0c",
      "parents": [
        "2301b65b86df8b80e6779ce9885ad62a5c4adc38",
        "e28c31a96b1570f17731b18e8efabb7308d0c22c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 17:11:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 17:11:17 2010 -0700"
      },
      "message": "Merge branch \u0027stable/xen-pcifront-0.8.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n  and branch \u0027for-linus\u0027 of git://xenbits.xen.org/people/sstabellini/linux-pvhvm\n\n* \u0027for-linus\u0027 of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:\n  xen: register xen pci notifier\n  xen: initialize cpu masks for pv guests in xen_smp_init\n  xen: add a missing #include to arch/x86/pci/xen.c\n  xen: mask the MTRR feature from the cpuid\n  xen: make hvc_xen console work for dom0.\n  xen: add the direct mapping area for ISA bus access\n  xen: Initialize xenbus for dom0.\n  xen: use vcpu_ops to setup cpu masks\n  xen: map a dummy page for local apic and ioapic in xen_set_fixmap\n  xen: remap MSIs into pirqs when running as initial domain\n  xen: remap GSIs as pirqs when running as initial domain\n  xen: introduce XEN_DOM0 as a silent option\n  xen: map MSIs into pirqs\n  xen: support GSI -\u003e pirq remapping in PV on HVM guests\n  xen: add xen hvm acpi_register_gsi variant\n  acpi: use indirect call to register gsi in different modes\n  xen: implement xen_hvm_register_pirq\n  xen: get the maximum number of pirqs from xen\n  xen: support pirq !\u003d irq\n\n* \u0027stable/xen-pcifront-0.8.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (27 commits)\n  X86/PCI: Remove the dependency on isapnp_disable.\n  xen: Update Makefile with CONFIG_BLOCK dependency for biomerge.c\n  MAINTAINERS: Add myself to the Xen Hypervisor Interface and remove Chris Wright.\n  x86: xen: Sanitse irq handling (part two)\n  swiotlb-xen: On x86-32 builts, select SWIOTLB instead of depending on it.\n  MAINTAINERS: Add myself for Xen PCI and Xen SWIOTLB maintainer.\n  xen/pci: Request ACS when Xen-SWIOTLB is activated.\n  xen-pcifront: Xen PCI frontend driver.\n  xenbus: prevent warnings on unhandled enumeration values\n  xenbus: Xen paravirtualised PCI hotplug support.\n  xen/x86/PCI: Add support for the Xen PCI subsystem\n  x86: Introduce x86_msi_ops\n  msi: Introduce default_[teardown|setup]_msi_irqs with fallback.\n  x86/PCI: Export pci_walk_bus function.\n  x86/PCI: make sure _PAGE_IOMAP it set on pci mappings\n  x86/PCI: Clean up pci_cache_line_size\n  xen: fix shared irq device passthrough\n  xen: Provide a variant of xen_poll_irq with timeout.\n  xen: Find an unbound irq number in reverse order (high to low).\n  xen: statically initialize cpu_evtchn_mask_p\n  ...\n\nFix up trivial conflicts in drivers/pci/Makefile\n"
    },
    {
      "commit": "e9f29c9a56ca06d0effa557823a737cbe7ec09f7",
      "tree": "c331c4aa741a8f384ee13d0b08bd340c23164b16",
      "parents": [
        "800416f799e0723635ac2d720ad4449917a1481c",
        "1af3c2e45e7a641e774bbb84fa428f2f0bf2d9c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 11:59:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 11:59:52 2010 -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: (27 commits)\n  x86: allocate space within a region top-down\n  x86: update iomem_resource end based on CPU physical address capabilities\n  x86/PCI: allocate space from the end of a region, not the beginning\n  PCI: allocate bus resources from the top down\n  resources: support allocating space within a region from the top down\n  resources: handle overflow when aligning start of available area\n  resources: ensure callback doesn\u0027t allocate outside available space\n  resources: factor out resource_clip() to simplify find_resource()\n  resources: add a default alignf to simplify find_resource()\n  x86/PCI: MMCONFIG: fix region end calculation\n  PCI: Add support for polling PME state on suspended legacy PCI devices\n  PCI: Export some PCI PM functionality\n  PCI: fix message typo\n  PCI: log vendor/device ID always\n  PCI: update Intel chipset names and defines\n  PCI: use new ccflags variable in Makefile\n  PCI: add PCI_MSIX_TABLE/PBA defines\n  PCI: add PCI vendor id for STmicroelectronics\n  x86/PCI: irq and pci_ids patch for Intel Patsburg DeviceIDs\n  PCI: OLPC: Only enable PCI configuration type override on XO-1\n  ...\n"
    },
    {
      "commit": "0b2d8d9e562de3ee2476f549549e4fefbb7a4213",
      "tree": "20e025254b430efc647e7403a4168e4487619b92",
      "parents": [
        "22cdbd1d5789cc16c37102eb6f62c3ae377b849e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:34:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:34:59 2010 -0700"
      },
      "message": "proc_bus_pci_ioctl: remove pointless BKL usage\n\nThe BKL was pushed into this function when it was converted to use the\nunlocked_ioctl interface, but nothing that the function touches is\nactually protected by the BKL.  So just remove the BKL entirely, so that\nwe finally can get a realistic system build without the BKL being\nenabled at all.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b126b4703afa4010b161784a43650337676dd03b",
      "tree": "63c03638d5724fc8a26bc40a12ab5621af94fb15",
      "parents": [
        "e7f8567db9a7f6b3151b0b275e245c1cef0d9c70"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 26 15:41:39 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 26 15:33:37 2010 -0700"
      },
      "message": "PCI: allocate bus resources from the top down\n\nAllocate space from the highest-address PCI bus resource first, then work\ndownward.\n\nPreviously, we looked for space in PCI host bridge windows in the order\nwe discovered the windows.  For example, given the following windows\n(discovered via an ACPI _CRS method):\n\n    pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]\n    pci_root PNP0A03:00: host bridge window [mem 0x000c0000-0x000effff]\n    pci_root PNP0A03:00: host bridge window [mem 0x000f0000-0x000fffff]\n    pci_root PNP0A03:00: host bridge window [mem 0xbff00000-0xf7ffffff]\n    pci_root PNP0A03:00: host bridge window [mem 0xff980000-0xff980fff]\n    pci_root PNP0A03:00: host bridge window [mem 0xff97c000-0xff97ffff]\n    pci_root PNP0A03:00: host bridge window [mem 0xfed20000-0xfed9ffff]\n\nwe attempted to allocate from [mem 0x000a0000-0x000bffff] first, then\n[mem 0x000c0000-0x000effff], and so on.\n\nWith this patch, we allocate from [mem 0xff980000-0xff980fff] first, then\n[mem 0xff97c000-0xff97ffff], [mem 0xfed20000-0xfed9ffff], etc.\n\nAllocating top-down follows Windows practice, so we\u0027re less likely to\ntrip over BIOS defects in the _CRS description.\n\nOn the machine above (a Dell T3500), the [mem 0xbff00000-0xbfffffff] region\ndoesn\u0027t actually work and is likely a BIOS defect.  The symptom is that we\nmove the AHCI controller to 0xbff00000, which leads to \"Boot has failed,\nsleeping forever,\" a BUG in ahci_stop_engine(), or some other boot failure.\n\nReference: https://bugzilla.kernel.org/show_bug.cgi?id\u003d16228#c43\nReference: https://bugzilla.redhat.com/show_bug.cgi?id\u003d620313\nReference: https://bugzilla.redhat.com/show_bug.cgi?id\u003d629933\nReported-by: Brian Bloniarz \u003cphunge0@hotmail.com\u003e\nReported-and-tested-by: Stefan Becker \u003cchemobejk@gmail.com\u003e\nReported-by: Denys Vlasenko \u003cdvlasenk@redhat.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "91b745016c12d440386c40fb76ab69c8e08cbc06",
      "tree": "881a26a43b3ee924c0979a54b38c7a87d79d7f1a",
      "parents": [
        "04cc69768e7d1f40d98b79d23d203674553b4da2",
        "daaae6b010ac0f60c9c35e481589966f9f1fcc22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:13:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:13:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: remove in_workqueue_context()\n  workqueue: Clarify that schedule_on_each_cpu is synchronous\n  memory_hotplug: drop spurious calls to flush_scheduled_work()\n  shpchp: update workqueue usage\n  pciehp: update workqueue usage\n  isdn/eicon: don\u0027t call flush_scheduled_work() from diva_os_remove_soft_isr()\n  workqueue: add and use WQ_MEM_RECLAIM flag\n  workqueue: fix HIGHPRI handling in keep_working()\n  workqueue: add queue_work and activate_work trace points\n  workqueue: prepare for more tracepoints\n  workqueue: implement flush[_delayed]_work_sync()\n  workqueue: factor out start_flush_work()\n  workqueue: cleanup flush/cancel functions\n  workqueue: implement alloc_ordered_workqueue()\n\nFix up trivial conflict in fs/gfs2/main.c as per Tejun\n"
    },
    {
      "commit": "67ba37293e938208795d6a3562201bdb0cf43393",
      "tree": "3522e949ff19f3809583bfb3fa3973ddf264689d",
      "parents": [
        "cd07202cc8262e1669edff0d97715f3dd9260917",
        "5bba6c56dc99ff88f79a79572e29ecf445710878"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Oct 22 21:24:06 2010 +0100"
      },
      "committer": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri Oct 22 21:24:06 2010 +0100"
      },
      "message": "Merge commit \u0027konrad/stable/xen-pcifront-0.8.2\u0027 into 2.6.36-rc8-initial-domain-v6\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "c37927d4359e81b85de644f8fb08878717cf5f3f",
      "tree": "25dabf2d905e1410819d1bdaba0bf5f779100d3c",
      "parents": [
        "5704e44d283e907623e3775c1262f206a2c48cf3",
        "2a48fc0ab24241755dc93bfd4f01d68efab47f5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:49:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:49:54 2010 -0700"
      },
      "message": "Merge branch \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  block: autoconvert trivial BKL users to private mutex\n  drivers: autoconvert trivial BKL users to private mutex\n  ipmi: autoconvert trivial BKL users to private mutex\n  mac: autoconvert trivial BKL users to private mutex\n  mtd: autoconvert trivial BKL users to private mutex\n  scsi: autoconvert trivial BKL users to private mutex\n\nFix up trivial conflicts (due to addition of private mutex right next to\ndeletion of a version string) in drivers/char/pcmcia/cm40[04]0_cs.c\n"
    },
    {
      "commit": "157b6ceb13e4b4148ee03dd517dbe88748943125",
      "tree": "f0f0f50bef7ce0be2e86465881c518fbb5ddb0de",
      "parents": [
        "4a60cfa9457749f7987fd4f3c956dbba5a281129",
        "6e9636693373d938aa3b13427be3d212f172ac06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 14:23:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 14:23:48 2010 -0700"
      },
      "message": "Merge branch \u0027x86-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, iommu: Update header comments with appropriate naming\n  ia64, iommu: Add a dummy iommu_table.h file in IA64.\n  x86, iommu: Fix IOMMU_INIT alignment rules\n  x86, doc: Adding comments about .iommu_table and its neighbors.\n  x86, iommu: Utilize the IOMMU_INIT macros functionality.\n  x86, VT-d: Make Intel VT-d IOMMU use IOMMU_INIT_* macros.\n  x86, GART/AMD-VI: Make AMD GART and IOMMU use IOMMU_INIT_* macros.\n  x86, calgary: Make Calgary IOMMU use IOMMU_INIT_* macros.\n  x86, xen-swiotlb: Make Xen-SWIOTLB use IOMMU_INIT_* macros.\n  x86, swiotlb: Make SWIOTLB use IOMMU_INIT_* macros.\n  x86, swiotlb: Simplify SWIOTLB pci_swiotlb_detect routine.\n  x86, iommu: Add proper dependency sort routine (and sanity check).\n  x86, iommu: Make all IOMMU\u0027s detection routines return a value.\n  x86, iommu: Add IOMMU_INIT macros, .iommu_table section, and iommu_table_entry structure\n"
    },
    {
      "commit": "14d4962dc863ab42e898d66d4837aa6c3afedc3b",
      "tree": "780cb53645b781dfd33b6d0ad21e0596f2ad1a1a",
      "parents": [
        "9717967c4b704ce344c954afb5bb160aa9c01c34",
        "2b666ca4a68cbc22483b0f2e1ba3c0e59b01ae9e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 20 04:38:56 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 20 04:38:59 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into irq/core\n\nMerge reason: update to almost-final-.36\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "956a9202cd1220397933a07beda9f96b3df1fa24",
      "tree": "49d6ac9b43c16a9363b6ceff81ec62ef81aca0a7",
      "parents": [
        "b78c9512563780d86a178f11b648bcf73b8d87ec"
      ],
      "author": {
        "name": "Ryan Wilson",
        "email": "hap9@epoch.ncsc.mil",
        "time": "Mon Aug 02 21:31:05 2010 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Oct 18 10:49:37 2010 -0400"
      },
      "message": "xen-pcifront: Xen PCI frontend driver.\n\nThis is a port of the 2.6.18 Xen PCI front driver with fixes\nto make it build under 2.6.34 and later (for the full list of\nchanges: git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git\nhistoric/xen-pcifront-0.1). It also includes the fixes\nto make it work properly.\n\n[v2: Updated Kconfig, removed crud, added Reviewed-by]\n[v3: Added \u0027static\u0027, fixed grant table leak, redid Kconfig]\n[v4: Added one more \u0027static\u0027 and removed comments]\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nReviewed-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nReviewed-by: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "1525bf0d8f059a38c6e79353583854e1981b2e67",
      "tree": "e9ffaebc5f2726dd57c0d427996af033af71ab6c",
      "parents": [
        "7c94def89aa5091706e03b98047c074d7ac74af0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 06 16:05:35 2010 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Oct 18 10:49:33 2010 -0400"
      },
      "message": "msi: Introduce default_[teardown|setup]_msi_irqs with fallback.\n\nIntroduce an override for the arch_[teardown|setup]_msi_irqs\nthat can be utilized to fallback to the default arch_* code.\n\nIf a platform wants to utilize the code paths defined\nin driver/pci/msi.c it has to define HAVE_DEFAULT_MSI_TEARDOWN_IRQS\nor HAVE_DEFAULT_MSI_SETUP_IRQS. Otherwise the old mechanism\nof over-ridding the arch_* works fine.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: x86@kernel.org\n"
    },
    {
      "commit": "7c94def89aa5091706e03b98047c074d7ac74af0",
      "tree": "564a390f24ec1ad25147219c25b2a5925683a61b",
      "parents": [
        "5ee01f49c963d5e0b530344f86535ecb7f672064"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Dec 22 14:49:45 2009 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Oct 18 10:49:32 2010 -0400"
      },
      "message": "x86/PCI: Export pci_walk_bus function.\n\nIn preperation of modularizing Xen-pcifront the pci_walk_bus\nneeds to be exported so that the xen-pcifront module can walk\ncall the pci subsystem to walk the PCI devices and claim them.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e [http://marc.info/?l\u003dlinux-pci\u0026m\u003d126149958010298\u0026w\u003d2]\n"
    },
    {
      "commit": "631dd1a885b6d7e9f6f51b4e5b311c2bb04c323c",
      "tree": "c431fa3479c1d35842fb5635ed7ccd487d063a62",
      "parents": [
        "d7eccbbae84b2ee7dbb756e60287c4b47071444e"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Mon Oct 18 11:03:14 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Oct 18 11:03:14 2010 +0200"
      },
      "message": "Update broken web addresses in the kernel.\n\nThe patch below updates broken web addresses in the kernel\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nCc: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Dimitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Ben Pfaff \u003cblp@cs.stanford.edu\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nReviewed-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e24dcbef93dbbf529fbedfc6ce8ab22d2cef35f0",
      "tree": "6ab3a2004ed8d21a48ce2eeda6c5b733b76599e4",
      "parents": [
        "a827ea307b147aeb050803433b3f6842582c6ced"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 18 08:33:02 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 18 08:33:02 2010 +0200"
      },
      "message": "shpchp: update workqueue usage\n\n* Rename shpchp_wq to shpchp_ordered_wq and add non-ordered shpchp_wq\n  which is used instead of the system workqueue.  This is to remove\n  the use of flush_scheduled_work() which is deprecated and scheduled\n  for removal.\n\n* With cmwq in place, there\u0027s no point in creating workqueues lazily.\n  Create both shpchp_wq and shpchp_ordered_wq upfront.\n\n* Include workqueue.h from shpchp.h.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a827ea307b147aeb050803433b3f6842582c6ced",
      "tree": "d87c0e0b2acd5a966d402597e9d94af5c527118e",
      "parents": [
        "7bf4a5ddc9fbff52855cad8d4d74bf5344fe8093"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 18 08:31:02 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 18 08:31:02 2010 +0200"
      },
      "message": "pciehp: update workqueue usage\n\n* Rename pciehp_wq to pciehp_ordered_wq and add non-ordered pciehp_wq\n  which is used instead of the system workqueue.  This is to remove\n  the use of flush_scheduled_work() which is deprecated and scheduled\n  for removal.\n\n* With cmwq in place, there\u0027s no point in creating workqueues lazily.\n  Create both pciehp_wq and pciehp_ordered_wq upfront.\n\n* Include workqueue.h from pciehp.h.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "df17e62e5bff60aeefd0e81165c62f9e46f33217",
      "tree": "12f612592ae274330455c2206ce2d17c10082ab2",
      "parents": [
        "bf4d29086972ceaeaf72544d8f64933c2cfdc992"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Oct 04 14:22:29 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Sun Oct 17 20:03:06 2010 -0700"
      },
      "message": "PCI: Add support for polling PME state on suspended legacy PCI devices\n\nNot all hardware vendors hook up the PME line for legacy PCI devices,\nmeaning that wakeup events get lost. The only way around this is to poll\nthe devices to see if their state has changed, so add support for doing\nthat on legacy PCI devices that aren\u0027t part of the core chipset.\n\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bf4d29086972ceaeaf72544d8f64933c2cfdc992",
      "tree": "301ee83217bc9a19cef5c7569801095b4d6f89b4",
      "parents": [
        "1bcd495be9ed3194f618e8af0446459dc52a1423"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Oct 04 14:22:26 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Sun Oct 17 20:03:06 2010 -0700"
      },
      "message": "PCI: Export some PCI PM functionality\n\nIt\u0027s helpful to have some extra PCI power management functions available to\nplatform code, so move the declarations to an exported header.\n\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1bcd495be9ed3194f618e8af0446459dc52a1423",
      "tree": "02de0143c2aebbf6941327c04b00557140028123",
      "parents": [
        "2c6413aee215a43b1f95e218067abcde50ccbc5e"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Wed Sep 29 12:23:54 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Sun Oct 17 20:03:05 2010 -0700"
      },
      "message": "PCI: fix message typo\n\nI missed the closing parenthesis on \"(PCI address ...)\".\n\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nReported-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2c6413aee215a43b1f95e218067abcde50ccbc5e",
      "tree": "c36c18db030ee0af60642aaac4df78973ab7be97",
      "parents": [
        "cb04e95bdd0bfd618ab731c84a3ab56b56974df8"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Wed Sep 29 12:23:21 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Sun Oct 17 20:03:05 2010 -0700"
      },
      "message": "PCI: log vendor/device ID always\n\nPreviously we had to have CONFIG_PCI_DEBUG\u003dy or CONFIG_DYNAMIC_DEBUG\u003dy\nto turn on this printk, but I think the IDs are valuable enough that it\u0027s\nworth putting them in the log always.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "350a55e9ff6005032407d3234af800f413b03af5",
      "tree": "38249a85dbae6828ceab1a1164b11d3df174c94d",
      "parents": [
        "db5004195481fcb500c929bd3a0e1c0c48eec527"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Fri Sep 24 12:17:26 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Sun Oct 17 20:03:04 2010 -0700"
      },
      "message": "PCI: use new ccflags variable in Makefile\n\nReplace EXTRA_CFLAGS with ccflags-y.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "db5004195481fcb500c929bd3a0e1c0c48eec527",
      "tree": "a0b1ae770128ac51ca1e2096ac180d1a44f5ef8c",
      "parents": [
        "7473fbf4a016301bfa3faa4f81c9a9c978330359"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Oct 13 15:00:23 2010 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Sun Oct 17 20:03:03 2010 -0700"
      },
      "message": "PCI: add PCI_MSIX_TABLE/PBA defines\n\nThese are already defined in pcilib\u0027s pci/header.h but not in kernel\u0027s\nlinux/pci_regs.h.  Copy them to avoid using magic numbers.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "66db60eaf158aa953651d03e43e931e757e87262",
      "tree": "ac095123c1c92b4a646d8e908cbca835b63ac611",
      "parents": [
        "b22c3d82757109fa107ce17ba9484d45273eed05"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Sep 21 13:54:39 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Oct 15 13:09:50 2010 -0700"
      },
      "message": "PCI: add quirk for non-symmetric-mode irq routing to versions 0 and 4 of the MCP55 northbridge\n\nA long time ago I worked on a RHEL5 bug in which kdump hung during boot\non a set of systems.  The systems hung because they never received timer\ninterrupts during calibrate_delay.  These systems also all had Opteron\nprocessors on a hypertransport bus, bridged to a pci bus via an Nvidia\nMCP55 northbridge chip.  After much wrangling I managed to learn from\nNvidia that they have an undocumented register in some versions of that\nchip which control how legacy interrupts are send to the cpu complex\nwhen the ioapic isn\u0027t active.  Nvidia defaults this register to only\nsend legacy interrupts to the BSP, so if kdump happens to boot on an AP,\nwe never get timer interrupts and boom.  I had initially used this quirk\nas a workaround, with my intent being to move apic initalization to an\nearlier point in the boot process, so the setting of the register would\nbe irrelevant.  Given the work involved in doing that however, the\nfragile nature of the apic initalization code, and the fact that, over\nthe 2 years since we found this bug, the MCP55 is the only chip which\nseems to have this issue, I\u0027ve figure at this point its likely safer to\njust carry the quirk around.  By setting the referenced bits in this\nhidden register, interrupts will be broadcast to all cpus when the\nioapic isn\u0027t active on the above described systems.\n\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b22c3d82757109fa107ce17ba9484d45273eed05",
      "tree": "a8652b72298487d7938baec4836abc44dee22dbc",
      "parents": [
        "42b219322a97ccef347388b233aceaafe3fa517d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 20 18:50:00 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Oct 15 13:09:50 2010 -0700"
      },
      "message": "PCI/PCIe/AER: Disable native AER service if BIOS has precedence\n\nThere is a design issue related to PCIe AER and _OSC that the BIOS\nmay be asked to grant control of the AER service even if some\nHardware Error Source Table (HEST) entries contain information\nmeaning that the BIOS really should control it.  Namely,\npcie_port_acpi_setup() calls pcie_aer_get_firmware_first() that\ndetermines whether or not the AER service should be controlled by\nthe BIOS on the basis of the HEST information for the given PCIe\nport.  The BIOS is asked to grant control of the AER service for\na PCIe Root Complex if pcie_aer_get_firmware_first() returns \u0027false\u0027\nfor at least one root port in that complex, even if all of the other\nroot ports\u0027 HEST entries have the FIRMWARE_FIRST flag set (and none\nof them has the GLOBAL flag set).  However, if the AER service is\ncontrolled by the kernel, that may interfere with the BIOS\u0027 handling\nof the error sources having the FIRMWARE_FIRST flag.  Moreover,\nthere may be PCIe endpoints that have the FIRMWARE_FIRST flag set in\nHEST and are attached to the root ports in question, in which case it\nalso may be unsafe to ask the BIOS for control of the AER service.\n\nFor this reason, introduce a function checking if there\u0027s at least\none PCIe-related HEST entry with the FIRMWARE_FIRST flag set and\ndisable the native AER service altogether if this function returns\n\u0027true\u0027.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5a37f1381f1d8625fa458360c9b5d17f0c5f1dea",
      "tree": "864084823661c558594dc08d9bf89e5280aecfc4",
      "parents": [
        "50c1126ee1990920705a067a6f3f9bb892369b08"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 07 14:32:38 2010 +0000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Oct 15 13:09:48 2010 -0700"
      },
      "message": "PCI hotplug: ibmphp-hpc: semaphore cleanup\n\nGet rid of init_MUTEX[_LOCKED]() and use sema_init() instead.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "50c1126ee1990920705a067a6f3f9bb892369b08",
      "tree": "fc03a50f887a8bd72329e49f01b347b9df5b23a2",
      "parents": [
        "991f739544a0923b70fb69b115edb880ff9fcc4a"
      ],
      "author": {
        "name": "Bill Pemberton",
        "email": "wfp5p@virginia.edu",
        "time": "Tue Aug 03 15:18:43 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Oct 15 13:09:48 2010 -0700"
      },
      "message": "PCI: aerdrv: fix uninitialized variable warning\n\nquiet the warning about use of uninitialized e_src in\naer_isr()  e_src is initialized by get_e_source()\n\nSigned-off-by: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "991f739544a0923b70fb69b115edb880ff9fcc4a",
      "tree": "74ebd40122d120e058d9f245ac5e3c989c40ef3a",
      "parents": [
        "93e75faba3982767d425323aec5726282d3ad7a2"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Jul 04 00:02:28 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Oct 15 13:09:47 2010 -0700"
      },
      "message": "PCI: kill BKL in /proc/pci\n\nAll operations in the pci procfs ioctl functions are\natomic, so no lock is needed here.\n\nAlso add a compat_ioctl method, since all the commands\nare compatible in 32 bit mode.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: linux-pci@vger.kernel.org\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "93e75faba3982767d425323aec5726282d3ad7a2",
      "tree": "afe0d48677a09c71357293f612fb495983193c37",
      "parents": [
        "8fd01d6cfbf75465d84a4e533ed70c5f57b3ff51"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Aug 05 22:23:16 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Oct 15 13:09:46 2010 -0700"
      },
      "message": "PCI: Adjust confusing if indentation in pcie_get_readrq\n\nIndent the branch of an if.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r disable braces4@\nposition p1,p2;\nstatement S1,S2;\n@@\n\n(\nif (...) { ... }\n|\nif (...) S1@p1 S2@p2\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nif (p1[0].column \u003d\u003d p2[0].column):\n  cocci.print_main(\"branch\",p1)\n  cocci.print_secs(\"after\",p2)\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": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "1a0730d6649113c820217387a011a17dd4aff3ad",
      "tree": "3b5240cb87605a72179885d1503f8f7297e4e224",
      "parents": [
        "d585d060b42bd36f6f0b23ff327d3b91f80c7139"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 11 11:55:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:42 2010 +0200"
      },
      "message": "x86: Speed up the irq_remapped check in hot pathes\n\nirq_2_iommu is in struct irq_cfg, so we can do the irq_remapped check\nbased on irq_cfg instead of going through a lookup function. That\u0027s\nespecially interesting in the eoi_ioapic_irq() hotpath.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d585d060b42bd36f6f0b23ff327d3b91f80c7139",
      "tree": "0fc66dae7c0c9dd8b9c4498c03a158fd3ce71e9b",
      "parents": [
        "349d67673c08cbc299a69086b0f5447cf1094e9b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Oct 10 12:34:27 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:42 2010 +0200"
      },
      "message": "intr_remap: Simplify the code further\n\nHaving irq_2_iommu in struct irq_cfg allows further simplifications.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "349d67673c08cbc299a69086b0f5447cf1094e9b",
      "tree": "6598e36307508626d8c8e6661787f6b9e842cdaf",
      "parents": [
        "423f085952fd7253407cb92984cc2d495a564481"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Oct 10 12:29:27 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:41 2010 +0200"
      },
      "message": "intr_remap: Use irq_2_iommu in struct irq_cfg\n\nSwitch the intr_remapping code to use the irq_2_iommu struct in\nirg_cfg.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "423f085952fd7253407cb92984cc2d495a564481",
      "tree": "3cd1d0d986d2136a5a4083cdf72c424881ca754f",
      "parents": [
        "d0ad63927c6d4d511e172c78ba4a623539ef6901"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Oct 10 11:39:09 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:41 2010 +0200"
      },
      "message": "x86: Embedd irq_2_iommu into irq_cfg\n\nThat interrupt remapping code is x86 specific and tied to the io_apic\ncode. No need for separate allocator functions in the interrupt\nremapping code. This allows to simplify the code and irq_2_iommu is\nsmall (13 bytes on 64bit) so it\u0027s not a real problem even if interrupt\nremapping is runtime disabled. If it\u0027s compile time disabled the\nimpact is zero.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d0ad63927c6d4d511e172c78ba4a623539ef6901",
      "tree": "f82d2f5b27f5c260c5e2cb3b2cb7b31be5c0f7c4",
      "parents": [
        "a8ef54aeb4308d3730ff31807c495390b98de16a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 18:41:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:41 2010 +0200"
      },
      "message": "pci: intr_remap: Remove unused functions\n\nNo users.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a8ef54aeb4308d3730ff31807c495390b98de16a",
      "tree": "09e6af4cb4af33edf141585f539be6a6e787b9ba",
      "parents": [
        "0e1e367aab873becf3e21d9b0cf46d11154ebc3f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 16:51:27 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:41 2010 +0200"
      },
      "message": "pci: intr_remap: Use irq_data\n\nNo need to dereference irq_desc.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0e1e367aab873becf3e21d9b0cf46d11154ebc3f",
      "tree": "b7a5e766ed9325dca8c0e62708fb082c7d10107a",
      "parents": [
        "bc5fdf9f3aad37406b3c8d635a7940cd65de0c12"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 16:20:16 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:41 2010 +0200"
      },
      "message": "pci: intr-remap: Free irte memory if SPARSE_IRQ\u003dy\n\nWith SPARSE_IRQ\u003dy the irte descriptors are dynamically allocated, but not\nfreed in free_irte().\n\nThat was ok as long as the sparse irq core was not freeing irq descriptors on\ndestroy_irq(). Now we leak the irte descriptor. Free it in free_irte().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e9f7ac664bfc36685a8eb3315ec21c067d0cee36",
      "tree": "91d89ce151996d8a1e508a17f9b8a461ef545afd",
      "parents": [
        "5c2837fbaa609e615ef9a1c58a4cd26ce90be35b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 28 17:22:09 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:37 2010 +0200"
      },
      "message": "ht: Convert to new irq_chip functions\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5c2837fbaa609e615ef9a1c58a4cd26ce90be35b",
      "tree": "0284a243fce7607a8f01ed0189e2164efdaa5bc8",
      "parents": [
        "d0fbca8f9304d1760fdc906b35b06e89fbdbb51f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 28 17:15:11 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:37 2010 +0200"
      },
      "message": "dmar: Convert to new irq chip functions\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "39431acb1a4c464e62471cb3058b8ffffb9244db",
      "tree": "ae655b4763f5a801b67b98d9131df534bcdd58d8",
      "parents": [
        "1c9db52534a2c0e9776788cd34ccc193289fc18c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 28 19:09:51 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:34 2010 +0200"
      },
      "message": "pci: Cleanup the irq_desc mess in msi\n\nHanding down irq_desc to msi just so that msi can access\nirq_desc.irq_data.msi_desc is a pretty stupid idea. The calling code\ncan hand down a pointer to msi_desc so msi code does not need to know\nabout the irq descriptor at all.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1c9db52534a2c0e9776788cd34ccc193289fc18c",
      "tree": "5cca6ab7d72bee784c425879a5f17b4c6fe1c5d8",
      "parents": [
        "7c5f13519a67aa7ba3a99155f128d4bdef87d087"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 28 16:46:51 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:34 2010 +0200"
      },
      "message": "pci: Convert msi to new irq_chip functions\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "613655fa39ff6957754fa8ceb8559980920eb8ee",
      "tree": "ad19600cb81207b24188683d7fc4ae88013339d1",
      "parents": [
        "609146fdb319cebce93be550938ab852f7bade90"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jun 02 14:28:52 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 05 15:01:04 2010 +0200"
      },
      "message": "drivers: autoconvert trivial BKL users to private mutex\n\nAll these files use the big kernel lock in a trivial\nway to serialize their private file operations,\ntypically resulting from an earlier semi-automatic\npushdown from VFS.\n\nNone of these drivers appears to want to lock against\nother code, and they all use the BKL as the top-level\nlock in their file operations, meaning that there\nis no lock-order inversion problem.\n\nConsequently, we can remove the BKL completely,\nreplacing it with a per-file mutex in every case.\nUsing a scripted approach means we can avoid\ntypos.\n\nThese drivers do not seem to be under active\nmaintainance from my brief investigation. Apologies\nto those maintainers that I have missed.\n\nfile\u003d$1\nname\u003d$2\nif grep -q lock_kernel ${file} ; then\n    if grep -q \u0027include.*linux.mutex.h\u0027 ${file} ; then\n            sed -i \u0027/include.*\u003clinux\\/smp_lock.h\u003e/d\u0027 ${file}\n    else\n            sed -i \u0027s/include.*\u003clinux\\/smp_lock.h\u003e.*$/include \u003clinux\\/mutex.h\u003e/g\u0027 ${file}\n    fi\n    sed -i ${file} \\\n        -e \"/^#include.*linux.mutex.h/,$ {\n                1,/^\\(static\\|int\\|long\\)/ {\n                     /^\\(static\\|int\\|long\\)/istatic DEFINE_MUTEX(${name}_mutex);\n\n} }\"  \\\n    -e \"s/\\(un\\)*lock_kernel\\\u003e[ ]*()/mutex_\\1lock(\\\u0026${name}_mutex)/g\" \\\n    -e \u0027/[      ]*cycle_kernel_lock();/d\u0027\nelse\n    sed -i -e \u0027/include.*\\\u003csmp_lock.h\\\u003e/d\u0027 ${file}  \\\n                -e \u0027/cycle_kernel_lock()/d\u0027\nfi\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "9587a678fa56ea6d7f39b048f24f5d03a89bf9b3",
      "tree": "5d56bd510b235188fc7243cce23b48211dd30777",
      "parents": [
        "e9a64ed4994db04c9963495b03d8a86538e3ad55",
        "4731fdcf6f7bdab3e369a3f844d4ea4d4017284d"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Sep 28 23:30:58 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Sep 28 23:30:58 2010 -0400"
      },
      "message": "Merge branch \u0027meego-7093\u0027 into idle-release\n"
    },
    {
      "commit": "0d70397bc72f2122f9702093cce3039ec3ae7575",
      "tree": "777ed3793d6fa999cbe700ae09181efec8d076a4",
      "parents": [
        "a2724f28d9f99b7b42e800b528902f0e3321873b",
        "0e52247a2ed1f211f0c4f682dc999610a368903f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 28 12:02:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 28 12:02:22 2010 -0700"
      },
      "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: fix pci_resource_alignment prototype\n"
    },
    {
      "commit": "bc5fbd9cc8b72ea591557c1277237a43c65ce775",
      "tree": "804e63e1ac08c4e3324cc1b456f71cf286db98e4",
      "parents": [
        "6a6aa2b7e47c725b5256ff0f7462fe1247cabf5a",
        "eecfd57f6429d9d8e10be186566ef99fced55163"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 27 12:25:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 27 12:25:10 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6:\n  intel-iommu: Use symbolic values instead of magic numbers in Lenovo w/a\n  intel-iommu: Abort IOMMU setup for igfx if BIOS gave no shadow GTT space\n"
    },
    {
      "commit": "4731fdcf6f7bdab3e369a3f844d4ea4d4017284d",
      "tree": "0073886d3be72f38143f9d1909cc4204dd64c03f",
      "parents": [
        "2422084a94fcd5038406261b331672a13c92c050"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Sep 24 21:02:27 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Sep 24 21:09:19 2010 -0400"
      },
      "message": "intel_idle: PCI quirk to prevent Lenovo Ideapad s10-3 boot hang\n\nWhen the Lenovo Ideapad S10-3 is booted with HT enabled,\nit hits a boot hang in the intel_idle driver.\n\nThis occurs when entering ATM-C4 for the first time,\nunless BM_STS is first cleared.\n\nacpi_idle doesn\u0027t see this because it first checks\nand clears BM_STS, but it would hit the same hang\nif that check were disabled.\n\nhttp://bugs.meego.com/show_bug.cgi?id\u003d7093\nhttps://bugs.launchpad.net/ubuntu/+source/linux/+bug/634702\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "df08cdc7ef606509debe7677c439be0ca48790e4",
      "tree": "f97031deaba02e5c464871568604e908df7fe209",
      "parents": [
        "e85bfd3aa7a34fa963bb268a676b41694e6dcf96"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Sep 22 13:05:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 17:22:39 2010 -0700"
      },
      "message": "drivers/pci/intel-iommu.c: fix build with older gcc\u0027s\n\ndrivers/pci/intel-iommu.c: In function `__iommu_calculate_agaw\u0027:\ndrivers/pci/intel-iommu.c:437: sorry, unimplemented: inlining failed in call to \u0027width_to_agaw\u0027: function body not available\ndrivers/pci/intel-iommu.c:445: sorry, unimplemented: called from here\n\nMove the offending function (and its siblings) to top-of-file, remove the\nforward declaration.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d17441\n\nReported-by: Martin Mokrejs \u003cmmokrejs@ribosome.natur.cuni.cz\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eecfd57f6429d9d8e10be186566ef99fced55163",
      "tree": "35551f0505dbd39820ffd618d225efa058882f3e",
      "parents": [
        "9eecabcb9a924f1e11ba670365fd4babe423045c"
      ],
      "author": {
        "name": "Adam Jackson",
        "email": "ajax@redhat.com",
        "time": "Wed Aug 25 21:17:34 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Sep 21 22:35:28 2010 +0100"
      },
      "message": "intel-iommu: Use symbolic values instead of magic numbers in Lenovo w/a\n\nCommit 9eecabcb9a924f1e11ba670365fd4babe423045c (\"intel-iommu: Abort \nIOMMU setup for igfx if BIOS gave no shadow GTT space\") uses a bunch of \nmagic numbers. Provide #defines for those to make it look slightly saner.\n\nSigned-off-by: Adam Jackson \u003cajax@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9eecabcb9a924f1e11ba670365fd4babe423045c",
      "tree": "860699db6130f062fdbb94da94e352029c145e40",
      "parents": [
        "b30a3f6257ed2105259b404d419b4964e363928c"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Sep 21 22:28:23 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Sep 21 22:28:23 2010 +0100"
      },
      "message": "intel-iommu: Abort IOMMU setup for igfx if BIOS gave no shadow GTT space\n\nYet another BIOS bug; Lenovo this time (X201). Red Hat bug #593516.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "0e52247a2ed1f211f0c4f682dc999610a368903f",
      "tree": "32fcfe3f8590856c5a3d994604890412b164b3c6",
      "parents": [
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "Cam Macdonell",
        "email": "cam@cs.ualberta.ca",
        "time": "Tue Sep 07 17:25:20 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Sep 09 13:41:25 2010 -0700"
      },
      "message": "PCI: fix pci_resource_alignment prototype\n\nThis fixes the prototype for both pci_resource_alignment() and\npci_sriov_resource_alignment().\n\nPatch started as debugging effort from Cam Macdonell.\n\nCc: Cam Macdonell \u003ccam@cs.ualberta.ca\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\n[chrisw: add iov bits]\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d56557af19867edb8c0e96f8e26399698a08857f",
      "tree": "2d98f87962a5a08839371ed90b9eaa7f256bea36",
      "parents": [
        "fa2925cf90e612cb9c10c45d0cb8a7c7332e56a7",
        "17134d96735115644cc2f0e2b1bab51ca6e3ab95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 16:00:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 16:00:17 2010 -0700"
      },
      "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: bus speed strings should be const\n  PCI hotplug: Fix build with CONFIG_ACPI unset\n  PCI: PCIe: Remove the port driver module exit routine\n  PCI: PCIe: Move PCIe PME code to the pcie directory\n  PCI: PCIe: Disable PCIe port services during port initialization\n  PCI: PCIe: Ask BIOS for control of all native services at once\n  ACPI/PCI: Negotiate _OSC control bits before requesting them\n  ACPI/PCI: Do not preserve _OSC control bits returned by a query\n  ACPI/PCI: Make acpi_pci_query_osc() return control bits\n  ACPI/PCI: Reorder checks in acpi_pci_osc_control_set()\n  PCI: PCIe: Introduce commad line switch for disabling port services\n  PCI: PCIe AER: Introduce pci_aer_available()\n  x86/PCI: only define pci_domain_nr if PCI and PCI_DOMAINS are set\n  PCI: provide stub pci_domain_nr function for !CONFIG_PCI configs\n"
    },
    {
      "commit": "17134d96735115644cc2f0e2b1bab51ca6e3ab95",
      "tree": "887e91efc6f9618c8fad82a5ecb9d0820ad233dc",
      "parents": [
        "6e63e80d88521a176989ed14b420f42dc418e46a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Aug 31 15:25:55 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 31 15:28:00 2010 -0700"
      },
      "message": "PCI: bus speed strings should be const\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4db77ff3237a88ea74f691dd776e92b2f86a8f3f",
      "tree": "eeafdd3213e4a54674c241ea57bb0a4431755ea5",
      "parents": [
        "22e6daf41ba28ddc06295e42859b266f737b3e99"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Aug 26 13:58:04 2010 -0400"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Aug 26 15:14:40 2010 -0700"
      },
      "message": "x86, VT-d: Make Intel VT-d IOMMU use IOMMU_INIT_* macros.\n\nWe utilize the IOMMU_INIT macros to create this dependency:\n\n               [null]\n                 |\n       [pci_xen_swiotlb_detect]\n                 |\n       [pci_swiotlb_detect_override]\n                 |\n       [pci_swiotlb_detect_4gb]\n                 |\n         +-------+--------+---------------------+\n        /                  \\                     \\\n[detect_calgary]    [gart_iommu_hole_init]   [detect_intel_iommu]\n                            |\n                    [amd_iommu_detect]\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nLKML-Reference: \u003c1282845485-8991-10-git-send-email-konrad.wilk@oracle.com\u003e\nCC: Fujita Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCC: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCC: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCC: Len Brown \u003clen.brown@intel.com\u003e\nCC: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCC: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "480125ba49ba62be93beea37770f266846e077ab",
      "tree": "6e4437d77e352f5b03d1e00171bd77086378b01a",
      "parents": [
        "0444ad93ea2449963132d68753020a6a24d69895"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Aug 26 13:57:57 2010 -0400"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Aug 26 15:13:13 2010 -0700"
      },
      "message": "x86, iommu: Make all IOMMU\u0027s detection routines return a value.\n\nWe return 1 if the IOMMU has been detected. Zero or an error number\nif we failed to find it. This is in preperation of using the IOMMU_INIT\nso that we can detect whether an IOMMU is present. I have not\ntested this for regression on Calgary, nor on AMD Vi chipsets as\nI don\u0027t have that hardware.\n\nCC: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCC: \"Jon D. Mason\" \u003cjdmason@kudzu.us\u003e\nCC: \"Darrick J. Wong\" \u003cdjwong@us.ibm.com\u003e\nCC: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCC: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCC: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCC: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCC: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCC: H. Peter Anvin \u003chpa@zytor.com\u003e\nCC: Fujita Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nLKML-Reference: \u003c1282845485-8991-3-git-send-email-konrad.wilk@oracle.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "6e63e80d88521a176989ed14b420f42dc418e46a",
      "tree": "09f41fcc62e314806deaf7761cfad24e3667959e",
      "parents": [
        "a9d2a6df11f5b9dc19ad4147374e8b67c4438158"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Aug 25 21:33:29 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 25 12:54:03 2010 -0700"
      },
      "message": "PCI hotplug: Fix build with CONFIG_ACPI unset\n\nOne of the recent changes caused complilation of\ndrivers/pci/hotplug/pciehp_core.c to fail.  Fix this issue.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a9d2a6df11f5b9dc19ad4147374e8b67c4438158",
      "tree": "44595bbe685feb81e3730895e1edfbc8e3a9572a",
      "parents": [
        "271fb719cc472af3b1e96d8c527bb0da7060a172"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Sat Aug 21 01:59:10 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:47:49 2010 -0700"
      },
      "message": "PCI: PCIe: Remove the port driver module exit routine\n\nThe PCIe port driver\u0027s module exit routine is never used, so drop it.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "271fb719cc472af3b1e96d8c527bb0da7060a172",
      "tree": "7ca665285206b6868040f41bba7693d2de157c0a",
      "parents": [
        "2bd50dd800b52245294cfceb56be62020cdc7515"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Aug 21 01:58:22 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:47:48 2010 -0700"
      },
      "message": "PCI: PCIe: Move PCIe PME code to the pcie directory\n\nThe PCIe PME code only consists of one file, so it doesn\u0027t need to\noccupy its own directory.  Move it to drivers/pci/pcie/pme.c and\nremove the contents of drivers/pci/pcie/pme .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2bd50dd800b52245294cfceb56be62020cdc7515",
      "tree": "ffefb8e50f9e454f332f318c415085ca2911991b",
      "parents": [
        "28eb5f274a305bf3a13b2c80c4804d4515d05c64"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Aug 21 01:57:39 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:47:47 2010 -0700"
      },
      "message": "PCI: PCIe: Disable PCIe port services during port initialization\n\nIn principle PCIe port services may be enabled by the BIOS, so it\u0027s\nbetter to disable them during port initialization to avoid spurious\nevents from being generated.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "28eb5f274a305bf3a13b2c80c4804d4515d05c64",
      "tree": "c878c8a90a8f8e59b90460eb2f47bbbddfbd5483",
      "parents": [
        "75fb60f26befb59dbfa05cb122972642b7bdd219"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Aug 21 22:02:38 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:47:33 2010 -0700"
      },
      "message": "PCI: PCIe: Ask BIOS for control of all native services at once\n\nAfter commit 852972acff8f10f3a15679be2059bb94916cba5d (ACPI: Disable\nASPM if the platform won\u0027t provide _OSC control for PCIe) control of\nthe PCIe Capability Structure is unconditionally requested by\nacpi_pci_root_add(), which in principle may cause problems to\nhappen in two ways.  First, the BIOS may refuse to give control of\nthe PCIe Capability Structure if it is not asked for any of the\n_OSC features depending on it at the same time.  Second, the BIOS may\nassume that control of the _OSC features depending on the PCIe\nCapability Structure will be requested in the future and may behave\nincorrectly if that doesn\u0027t happen.  For this reason, control of\nthe PCIe Capability Structure should always be requested along with\ncontrol of any other _OSC features that may depend on it (ie. PCIe\nnative PME, PCIe native hot-plug, PCIe AER).\n\nRework the PCIe port driver so that (1) it checks which native PCIe\nport services can be enabled, according to the BIOS, and (2) it\nrequests control of all these services simultaneously.  In\nparticular, this causes pcie_portdrv_probe() to fail if the BIOS\nrefuses to grant control of the PCIe Capability Structure, which\nmeans that no native PCIe port services can be enabled for the PCIe\nRoot Complex the given port belongs to.  If that happens, ASPM is\ndisabled to avoid problems with mishandling it by the part of the\nPCIe hierarchy for which control of the PCIe Capability Structure\nhas not been received.\n\nMake it possible to override this behavior using \u0027pcie_ports\u003dnative\u0027\n(use the PCIe native services regardless of the BIOS response to the\ncontrol request), or \u0027pcie_ports\u003dcompat\u0027 (do not use the PCIe native\nservices at all).\n\nAccordingly, rework the existing PCIe port service drivers so that\nthey don\u0027t request control of the services directly.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "75fb60f26befb59dbfa05cb122972642b7bdd219",
      "tree": "be015dd00e7748e45f3691f04a16c204546b3026",
      "parents": [
        "2b8fd9186d9275b07aef43e5bb4e98cd571f9a7d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Aug 23 23:53:11 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:44:40 2010 -0700"
      },
      "message": "ACPI/PCI: Negotiate _OSC control bits before requesting them \n\nIt is possible that the BIOS will not grant control of all _OSC\nfeatures requested via acpi_pci_osc_control_set(), so it is\nrecommended to negotiate the final set of _OSC features with the\nquery flag set before calling _OSC to request control of these\nfeatures.\n\nTo implement it, rework acpi_pci_osc_control_set() so that the caller\ncan specify the mask of _OSC control bits to negotiate and the mask\nof _OSC control bits that are absolutely necessary to it.  Then,\nacpi_pci_osc_control_set() will run _OSC queries in a loop until\nthe mask of _OSC control bits returned by the BIOS is equal to the\nmask passed to it.  Also, before running the _OSC request\nacpi_pci_osc_control_set() will check if the caller\u0027s required\ncontrol bits are present in the final mask.\n\nUsing this mechanism we will be able to avoid situations in which the\nBIOS doesn\u0027t grant control of certain _OSC features, because they\ndepend on some other _OSC features that have not been requested.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "79dd9182db2072d63ccf160bb9a3463b1c952723",
      "tree": "89069b3803a4e07924c6fd4414bbd2a771a432e9",
      "parents": [
        "f1a7bfaf6bb9cb195577e674c0ab2fd0a55d9014"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Aug 21 01:51:44 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:43:15 2010 -0700"
      },
      "message": "PCI: PCIe: Introduce commad line switch for disabling port services\n\nIntroduce kernel command line switch pcie_ports\u003d allowing one to\ndisable all of the native PCIe port services, so that PCIe ports\nare treated like PCI-to-PCI bridges.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f1a7bfaf6bb9cb195577e674c0ab2fd0a55d9014",
      "tree": "8150335e1d70d026704f39c28921615d5af9701e",
      "parents": [
        "23b90cfd7bcf8ae1c0711df1cae7dfec3c01aec8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Aug 21 01:50:52 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:43:08 2010 -0700"
      },
      "message": "PCI: PCIe AER: Introduce pci_aer_available()\n\nIntroduce a function allowing the caller to check whether to try to\nenable PCIe AER.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e2e96c663639a3361bb1a84e666887d308c6c87e",
      "tree": "7c28b1e5baaff4741d974193ba30f1c53992596f",
      "parents": [
        "7355a5a654ccbbfd2fd11bb1e2389910f786ea92",
        "1a8bd481bfba30515b54368d90a915db3faf302f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 15 17:34:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 15 17:34:20 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6:\n  intel-iommu: Fix 32-bit build warning with __cmpxchg()\n  intr-remap: allow disabling source id checking\n"
    },
    {
      "commit": "dcded10f6dce10411b16134ce9cc87bfdf75c13f",
      "tree": "da6d0face147072c9eadc8a01af4e49958769138",
      "parents": [
        "9e0ba741aabdf129d561e62d207c75146adef5e8",
        "b0ebeb9c09cb5b84bb2f33927c84c7648845fcec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 21:00:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 21:00:07 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (30 commits)\n  DMAENGINE: at_hdmac: locking fixlet\n  DMAENGINE: pch_dma: kill another usage of __raw_{read|write}l\n  dma: dmatest: fix potential sign bug\n  ioat2: catch and recover from broken vtd configurations v6\n  DMAENGINE: add runtime slave control to COH 901 318 v3\n  DMAENGINE: add runtime slave config to DMA40 v3\n  DMAENGINE: generic slave channel control v3\n  dmaengine: Driver for Topcliff PCH DMA controller\n  intel_mid: Add Mrst \u0026 Mfld DMA Drivers\n  drivers/dma: Eliminate a NULL pointer dereference\n  dma/timb_dma: compile warning on 32 bit\n  DMAENGINE: ste_dma40: support older silicon\n  DMAENGINE: ste_dma40: support disabling physical channels\n  DMAENGINE: ste_dma40: no disabled phy channels on ux500\n  DMAENGINE: ste_dma40: fix suspend bug\n  DMAENGINE: ste_dma40: add DB8500 memcpy channels\n  DMAENGINE: ste_dma40: no flow control on memcpy\n  DMAENGINE: ste_dma40: arch updates for LCLA and LCPA\n  DMAENGINE: ste_dma40: allocate LCLA dynamically\n  DMAENGINE: ste_dma40: no premature stop\n  ...\n\nFix up trivial conflicts in arch/arm/mach-ux500/devices-db8500.c\n"
    },
    {
      "commit": "1a8bd481bfba30515b54368d90a915db3faf302f",
      "tree": "e90098ad46912fbe78fbbd09a2715cc3d6daf36a",
      "parents": [
        "d1423d5679875ebbbc2fc63b33d465baceee0430"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 10 01:38:53 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 10 01:38:53 2010 +0100"
      },
      "message": "intel-iommu: Fix 32-bit build warning with __cmpxchg()\n\ndrivers/pci/intel-iommu.c: In function \u0027dma_pte_addr\u0027:\ndrivers/pci/intel-iommu.c:239: warning: passing argument 1 of \u0027__cmpxchg64\u0027 from incompatible pointer type\n\nIt seems that __cmpxchg64() now cares about the type of its pointer argument,\nso give it a (uint64_t *) instead of a pointer to a structure which contains\nonly that.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d1423d5679875ebbbc2fc63b33d465baceee0430",
      "tree": "45bf7904476291c15775345969f9cf99f026071f",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@redhat.com",
        "time": "Tue Jul 20 11:06:49 2010 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 10 01:37:09 2010 +0100"
      },
      "message": "intr-remap: allow disabling source id checking\n\nAllow disabling the source id checking while programming the interrupt\nremap table entry. Useful for debugging or working around the broken\nsource id checks on some platforms.\n\nSigned-off-by: Chris Wright \u003cchrisw@redhat.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9e50ab91d025afc17ca14a1764be2e1d0c24245d",
      "tree": "2647ef3fed12810ef88eb77e05bb7c3b2ea49d56",
      "parents": [
        "3cc08fc35db75b059118626c30b60b0f56583802",
        "a0d468718b9049f7396d101075a129a2d683ad66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 17:08:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 17:08:30 2010 -0700"
      },
      "message": "Merge branch \u0027acpica\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027acpica\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)\n  ACPI / ACPICA: Simplify acpi_ev_initialize_gpe_block()\n  ACPI / ACPICA: Fail acpi_gpe_wakeup() if ACPI_GPE_CAN_WAKE is unset\n  ACPI / ACPICA: Do not execute _PRW methods during initialization\n  ACPI: Fix bogus GPE test in acpi_bus_set_run_wake_flags()\n  ACPICA: Update version to 20100702\n  ACPICA: Fix for Alias references within Package objects\n  ACPICA: Fix lint warning for 64-bit constant\n  ACPICA: Remove obsolete GPE function\n  ACPICA: Update debug output components\n  ACPICA: Add support for WDDT - Watchdog Descriptor Table\n  ACPICA: Drop acpi_set_gpe\n  ACPICA: Use low-level GPE enable during GPE block initialization\n  ACPI / EC: Do not use acpi_set_gpe\n  ACPI / EC: Drop suspend and resume routines\n  ACPICA: Remove wakeup GPE reference counting which is not used\n  ACPICA: Introduce acpi_gpe_wakeup()\n  ACPICA: Rename acpi_hw_gpe_register_bit\n  ACPICA: Update version to 20100528\n  ACPICA: Add signatures for undefined tables: ATKG, GSCI, IEIT\n  ACPICA: Optimization: Reduce the number of namespace walks\n  ...\n"
    },
    {
      "commit": "1cfd2bda8c486ae0e7a8005354758ebb68172bca",
      "tree": "76ce15f377d8d6eb3ae4aa8b8b0b415457e38d36",
      "parents": [
        "b57bdda58cda0aaf6def042d101dd85977a286ed",
        "763e9db9994e27a7d2cb3701c8a097a867d0e0b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 11:44:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 11:44:36 2010 -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: (30 commits)\n  PCI: update for owner removal from struct device_attribute\n  PCI: Fix warnings when CONFIG_DMI unset\n  PCI: Do not run NVidia quirks related to MSI with MSI disabled\n  x86/PCI: use for_each_pci_dev()\n  PCI: use for_each_pci_dev()\n  PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc()\n  PCI: export SMBIOS provided firmware instance and label to sysfs\n  PCI: Allow read/write access to sysfs I/O port resources\n  x86/PCI: use host bridge _CRS info on ASRock ALiveSATA2-GLAN\n  PCI: remove unused HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_{SIZE|BOUNDARY}\n  PCI: disable mmio during bar sizing\n  PCI: MSI: Remove unsafe and unnecessary hardware access\n  PCI: Default PCIe ASPM control to on and require !EMBEDDED to disable\n  PCI: kernel oops on access to pci proc file while hot-removal\n  PCI: pci-sysfs: remove casts from void*\n  ACPI: Disable ASPM if the platform won\u0027t provide _OSC control for PCIe\n  PCI hotplug: make sure child bridges are enabled at hotplug time\n  PCI hotplug: shpchp: Removed check for hotplug of display devices\n  PCI hotplug: pciehp: Fixed return value sign for pciehp_unconfigure_device\n  PCI: Don\u0027t enable aspm before drivers have had a chance to veto it\n  ...\n"
    },
    {
      "commit": "c513b67e68787eceafeede32bcd0edbee45c0006",
      "tree": "91affc9a29a20b339b3c88ae3ee1e99eba49dc2b",
      "parents": [
        "90c8327cad5d7c2d5d7d3e761d17af1925474107"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 11:02:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 11:02:31 2010 -0700"
      },
      "message": "pci: fix type warnings in intr_remapping.c\n\nCommit 69309a059075 (\"x86, asm: Clean up and simplify set_64bit()\")\nsanitized the x86-64 types to set_64bit(), and incidentally resulted in\nwarnings like\n\n drivers/pci/intr_remapping.c: In function \u0027modify_irte\u0027:\n drivers/pci/intr_remapping.c:314: warning: passing argument 1 of \u0027set_64bit\u0027 from incompatible pointer type\n arch/x86/include/asm/cmpxchg_64.h:6: note:expected \u0027volatile u64 *\u0027 but argument is of type \u0027long unsigned int *\u0027\n\nIt turns out that the change to set_64bit() really does clean up things,\nand the PCI intr_remapping.c file did a rather ugly cast in order to\navoid warnings with the previous set_64bit() type model.\n\nRemoving the ugly cast fixes the warning, and makes everybody happy and\nexpects a set_64bit() to take the logical \"u64 *\" argument.\n\nPointed-out-by: Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc77b4db0017dab014ad7ea3d297e10f5b5bf028",
      "tree": "31d022e12b81d4870b00a766ba8ae085bb34f382",
      "parents": [
        "132a4edb2b69924742f62dc06ace42ad2a9f57f3",
        "7a42c4ff02d1bd764804a4ba36c2b839070c5e7d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:22:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:22:39 2010 -0700"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/amd-iommu: Export cache-coherency capability\n  iommu-api: Extension to check for interrupt remapping\n  x86/amd-iommu: Use for_each_pci_dev()\n"
    },
    {
      "commit": "132a4edb2b69924742f62dc06ace42ad2a9f57f3",
      "tree": "53b73abd91273d2cad021fb9b5218f3d18d90c86",
      "parents": [
        "e6da54d84f9286edbe4c92ff5023ff481ce2a5c9",
        "752e386c247664152f2cce37915d1f50631d7f42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:20:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:20:19 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  sata_fsl,mv,nv: prepare for NCQ command completion update\n  ata: Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)\n  libata: more PCI IDs for jmicron controllers\n  ata_piix: fix locking around SIDPR access\n  [libata] update blacklist for new hyphenated pattern ranges (v2)\n  libata: allow hyphenated pattern ranges\n  ata_generic: drop hard coded DMA force logic for CENATEK\n  [libata] ahci: Fix warning: comparison between \u0027enum \u003canonymous\u003e\u0027 and \u0027enum \u003canonymous\u003e\u0027\n  [libata] add ATA_CMD_DSM to ata_get_cmd_descript\n  [libata] Add Samsung PATA controller driver, pata_samsung_cf\n  [libata] Add 460EX on-chip SATA driver, sata_dwc_460ex\n  libata: reduce blacklist size even more (v2)\n  libata: reduce blacklist size (v2)\n  libata: glob_match for ata_device_blacklist (v2)\n  ahci_platform: Remove unneeded ahci_driver.probe assignment\n  ahci_platform: Provide for vendor specific init\n"
    },
    {
      "commit": "763e9db9994e27a7d2cb3701c8a097a867d0e0b4",
      "tree": "b5189e96d819445cccb05f7d234e99897bce94c9",
      "parents": [
        "b879743f26cb029e41ffe865fb939cfc6fa9be88"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Aug 04 14:25:31 2010 +1000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 04 14:23:55 2010 -0700"
      },
      "message": "PCI: update for owner removal from struct device_attribute\n\nFixes the build.\n\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "556ab45f9a775bfa4762bacc0a4afb5b44b067bc",
      "tree": "6caf3f7c72617d50d78c4197b872fd0a22b18c99",
      "parents": [
        "128f904ac87cb6e63921e80f378fdf9ba532c0f6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 23 15:47:56 2010 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Aug 04 14:18:17 2010 -0700"
      },
      "message": "ioat2: catch and recover from broken vtd configurations v6\n\nOn some platforms (MacPro3,1) the BIOS assigns the ioatdma device to the\nincorrect iommu causing faults when the driver initializes.  Add a quirk\nto catch this misconfiguration and try falling back to untranslated\noperation (which works in the MacPro3,1 case).\n\nAssuming there are other platforms with misconfigured iommus teach the\nioatdma driver to treat initialization failures as non-fatal (just fail\nthe driver load and emit a warning instead of triggering a BUG_ON).\n\nThis can be classified as a boot regression since 2.6.32 on affected\nplatforms since the ioatdma module did not autoload prior to that\nkernel.\n\nCc: \u003cstable@kernel.org\u003e\nAcked-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nReported-by: Chris Li \u003clkml@chrisli.org\u003e\nTested-by: Chris Li \u003clkml@chrisli.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "b879743f26cb029e41ffe865fb939cfc6fa9be88",
      "tree": "3527b73362148c851be15479a9249f3ed7059527",
      "parents": [
        "3d2a531804d16cd8df6dbbb0429c6f143e756049"
      ],
      "author": {
        "name": "Narendra K",
        "email": "Narendra_K@dell.com",
        "time": "Mon Aug 02 07:44:29 2010 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Aug 02 09:11:10 2010 -0700"
      },
      "message": "PCI: Fix warnings when CONFIG_DMI unset\n\nThis patch fixes the below warnings introduced by the commit\n911e1c9b05a8e3559a7aa89083930700a0b9e7ee (\"PCI:\nexport SMBIOS provided firmware instance and label to sysfs\").\n\ndrivers/pci/pci.h: In function ‘pci_create_firmware_label_files’:\ndrivers/pci/pci.h:16: warning: ‘return’ with a value, in function returning void\ndrivers/pci/pci.h: In function ‘pci_remove_firmware_label_files’:\ndrivers/pci/pci.h:18: warning: ‘return’ with a value, in function returning void\n\nThe warnings are seen because of the below code, doing a retun 0\nfrom the functions \u0027pci_create_firmware_label_files\u0027 and\n\u0027pci_remove_firmware_label_files\u0027 defined as void.\n\n+#ifndef CONFIG_DMI\n+static inline void pci_create_firmware_label_files(struct pci_dev *pdev)\n+{ return 0; }\n+static inline void pci_remove_firmware_label_files(struct pci_dev *pdev)\n+{ return 0; }\n\nSigned-off-by: Narendra K \u003cnarendra_k@dell.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5b6ae5ba0c45c4d04721537308728688414c9e6b",
      "tree": "55a1e83bebb236fd5cb85e22aaa1eb9862015808",
      "parents": [
        "213373cf974fe69e78ec894b07f45ae2f5a3a078"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 30 11:42:42 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Sun Aug 01 19:46:44 2010 -0400"
      },
      "message": "libata: more PCI IDs for jmicron controllers\n\nAdd support for JMB364 and 369.\n\nPatch-originally-from: Aries Lee \u003carieslee@jmicron.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3d2a531804d16cd8df6dbbb0429c6f143e756049",
      "tree": "1fec9226bf58fb84bc50b5e90fb7df30d5b258df",
      "parents": [
        "1f7979ac53224b0208e7d3eaeb5fd72ab9687389"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 23 22:19:55 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:47:58 2010 -0700"
      },
      "message": "PCI: Do not run NVidia quirks related to MSI with MSI disabled\n\nThere is no reason to run NVidia-specific quirks related to HT MSI\nmappings with MSI disabled via pci\u003dnomsi, so make\n__nv_msi_ht_cap_quirk() return immediately in that case.\n\nThis allows at least one machine to boot 100% of the time with\npci\u003dnomsi (it still doesn\u0027t boot reliably without that).\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d16443 .\n\nCc: stable@kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4e344b1cc53989e8ecc1140e9346f657d7c8aa9e",
      "tree": "8b6f8d4b7445e7b8e0b6d1b6f68bf165f5735f16",
      "parents": [
        "30da55242818a8ca08583188ebcbaccd283ad4d9"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Sat Jul 03 20:04:39 2010 +0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:47:22 2010 -0700"
      },
      "message": "PCI: use for_each_pci_dev()\n\nUse for_each_pci_dev() to simplify the code.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "30da55242818a8ca08583188ebcbaccd283ad4d9",
      "tree": "eaa39565cf37a2fbc739e1af02b569107aeee447",
      "parents": [
        "911e1c9b05a8e3559a7aa89083930700a0b9e7ee"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Jul 23 14:56:28 2010 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:41:39 2010 -0700"
      },
      "message": "PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc()\n\ncommit 2ca1af9aa3285c6a5f103ed31ad09f7399fc65d7 \"PCI: MSI: Remove\nunsafe and unnecessary hardware access\" changed read_msi_msg_desc() to\nreturn the last MSI message written instead of reading it from the\ndevice, since it may be called while the device is in a reduced\npower state.\n\nHowever, the pSeries platform code really does need to read messages\nfrom the device, since they are initially written by firmware.\nTherefore:\n- Restore the previous behaviour of read_msi_msg_desc()\n- Add new functions get_cached_msi_msg{,_desc}() which return the\n  last MSI message written\n- Use the new functions where appropriate\n\nAcked-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "911e1c9b05a8e3559a7aa89083930700a0b9e7ee",
      "tree": "f0b95455c3808c7732ae819bfbb33332830bae00",
      "parents": [
        "8633328be242677fdedc42052838dd0608e7f342"
      ],
      "author": {
        "name": "Narendra K",
        "email": "Narendra_K@dell.com",
        "time": "Mon Jul 26 05:56:50 2010 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:36:01 2010 -0700"
      },
      "message": "PCI: export SMBIOS provided firmware instance and label to sysfs\n\nThis patch exports SMBIOS provided firmware instance and label of\nonboard PCI devices to sysfs.  New files are:\n  /sys/bus/pci/devices/.../label which contains the firmware name for\nthe device in question, and\n  /sys/bus/pci/devices/.../index which contains the firmware device type\ninstance for the given device.\n\nSigned-off-by: Jordan Hargrave \u003cjordan_hargrave@dell.com\u003e\nSigned-off-by: Narendra K \u003cnarendra_k@dell.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8633328be242677fdedc42052838dd0608e7f342",
      "tree": "20b16af605298a1d05973d7ec2d0a479412ed3e6",
      "parents": [
        "2491762cfb475dbdfa3db11ebea6de49f58b7fac"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Jul 19 09:45:34 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:32:08 2010 -0700"
      },
      "message": "PCI: Allow read/write access to sysfs I/O port resources\n\nPCI sysfs resource files currently only allow mmap\u0027ing.  On x86 this\nworks fine for memory backed BARs, but doesn\u0027t work at all for I/O\nport backed BARs.  Add read/write to I/O port PCI sysfs resource\nfiles to allow userspace access to these device regions.\n\nAcked-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bfb51cd01661136bae1dd00c32d504cff6a9f924",
      "tree": "0fa29f7e27f6bac5741b6dad123759481ced5847",
      "parents": [
        "253d2e549818f5a4a52e2db0aba3dacee21e5b38"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 12 15:59:11 2010 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:36 2010 -0700"
      },
      "message": "PCI: remove unused HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_{SIZE|BOUNDARY}\n\nIn 2.6.34, we transformed the PCI DMA API into the generic device\nmode. The PCI DMA API is just the wrapper of the DMA API.\n\nSo we don\u0027t need HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_SIZE or\nHAVE_ARCH_PCI_SET_DMA_SEGMENT_BOUNDARY (which enable architectures to\nhave the own implementations). Both haven\u0027t been used anyway.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "253d2e549818f5a4a52e2db0aba3dacee21e5b38",
      "tree": "535ff224cb89860809fa5d948e19e1f3342cf7b3",
      "parents": [
        "fcd097f31a6ee207cc0c3da9cccd2a86d4334785"
      ],
      "author": {
        "name": "Jacob Pan",
        "email": "jacob.jun.pan@linux.intel.com",
        "time": "Fri Jul 16 10:19:22 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:35 2010 -0700"
      },
      "message": "PCI: disable mmio during bar sizing\n\nIt is a known issue that mmio decoding shall be disabled while doing PCI\nbar sizing. Host bridge and other devices (PCI PIC) shall be excluded for\ncertain platforms. This patch mainly comes from Mathew Willcox\u0027s\npatch in http://kerneltrap.org/mailarchive/linux-kernel/2007/9/13/258969.\n\nA new flag bit \"mmio_alway_on\" is added to pci_dev with the intention that\ndevices with their mmio decoding cannot be disabled during BAR sizing shall\nhave this bit set, preferrablly in their quirks.\n\nWithout this patch, Intel Moorestown platform graphics unit will be\ncorrupted during bar sizing activities.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fcd097f31a6ee207cc0c3da9cccd2a86d4334785",
      "tree": "3bd2658926e691d0eab23651e45832c2714d85f6",
      "parents": [
        "ea5f9fc5899660dd26c1ccf3fab183bd041140ee"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Jun 17 20:16:36 2010 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:34 2010 -0700"
      },
      "message": "PCI: MSI: Remove unsafe and unnecessary hardware access\n\nDuring suspend on an SMP system, {read,write}_msi_msg_desc() may be\ncalled to mask and unmask interrupts on a device that is already in a\nreduced power state.  At this point memory-mapped registers including\nMSI-X tables are not accessible, and config space may not be fully\nfunctional either.\n\nWhile a device is in a reduced power state its interrupts are\neffectively masked and its MSI(-X) state will be restored when it is\nbrought back to D0.  Therefore these functions can simply read and\nwrite msi_desc::msg for devices not in D0.\n\nFurther, read_msi_msg_desc() should only ever be used to update a\npreviously written message, so it can always read msi_desc::msg\nand never needs to touch the hardware.\n\nTested-by: \"Michael Chan\" \u003cmchan@broadcom.com\u003e\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ea5f9fc5899660dd26c1ccf3fab183bd041140ee",
      "tree": "b0d0517ee4064cfb587651b195ee5d2be864a8cc",
      "parents": [
        "8cc2bfd87fdd2f4a31f39c86f59df4b4be2c0adc"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Jun 22 17:03:03 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:34 2010 -0700"
      },
      "message": "PCI: Default PCIe ASPM control to on and require !EMBEDDED to disable\n\nThe CONFIG_PCIEASPM option is confusing and potentially dangerous. ASPM is\na hardware mediated feature rather than one under direct OS control, and\neven if the config option is disabled the system firmware may have turned\non ASPM on various bits of hardware. This can cause problems later -\nvarious hardware that claims to support ASPM does a poor job of it and may\nhang or cause other difficulties. The kernel is able to recognise this in\nmany cases and disable the ASPM functionality, but only if CONFIG_PCIEASPM\nis enabled.\n\nGiven that in its default configuration this option will either leave the\nhardware as it was originally or disable hardware functionality that may\ncause problems, it should by default y. The only reason to disable it\nought to be to reduce code size, so make it dependent on CONFIG_EMBEDDED.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: lrodriguez@atheros.com\nCc: maximlevitsky@gmail.com\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8cc2bfd87fdd2f4a31f39c86f59df4b4be2c0adc",
      "tree": "41961bc545408064b5bba62cd7ed950097cae589",
      "parents": [
        "a3f5835a8e0bd25ed15becd65e01aa3d5ac8d771"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Jun 23 16:04:10 2010 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:33 2010 -0700"
      },
      "message": "PCI: kernel oops on access to pci proc file while hot-removal\n\nI encountered the problem that /proc/bus/pci/XX/YY is not removed even\nafter the corresponding device is hot-removed, if the file is still\nbeing opened. In addtion, accessing this file in this situation causes\nkernel panic (see below).\n\nBecasue the pci_proc_detach_device() doesn\u0027t call remove_proc_entry()\nif struct proc_dir_entry-\u003ecount \u003e 1, access to /proc/bus/pci/XX/YY\nwould refer to struct pci_dev that was already freed.\n\nThough I don\u0027t know why the check for proc_dir_entry-\u003ecount was added,\nI don\u0027t think it is needed. Removing this check fixes the problem.\n\nSteps to reproduce\n------------------\n# cd /sys/bus/pci/slots/2/\n# PROC_BUS_PCI_FILE\u003d/proc/bus/pci/`awk -F: \u0027{print $2\"/\"$3}\u0027 \u003c address`.0\n# sleep 10000 \u003c $PROC_BUS_PCI_FILE \u0026\n# echo 0 \u003e power\n# while true; do cat $PROC_BUS_PCI_FILE \u003e /dev/null; done\n\nOops Messages\n-------------\nBUG: unable to handle kernel NULL pointer dereference at 00000042\nIP: [\u003cc05c82d5\u003e] pci_user_read_config_dword+0x65/0xa0\n*pdpt \u003d 000000002185e001 *pde \u003d 0000000476a79067\nOops: 0000 [#1] SMP\nlast sysfs file: /sys/devices/pci0000:00/0000:00:1c.0/0000:10:00.0/local_cpus\nModules linked in: autofs4 sunrpc cpufreq_ondemand acpi_cpufreq ipv6 dm_mirror dm_region_hash dm_log dm_mod e1000e i2c_i801 i2c_core iTCO_wdt igb sg pcspkr dca iTCO_vendor_support ext4 mbcache jbd2 sd_mod crc_t10dif lpfc mptsas scsi_transport_fc mptscsih mptbase scsi_tgt scsi_transport_sas [last unloaded: microcode]\n\nPid: 2997, comm: cat Not tainted 2.6.34-kk #32 SB/PRIMEQUEST 1800E\nEIP: 0060:[\u003cc05c82d5\u003e] EFLAGS: 00010046 CPU: 19\nEIP is at pci_user_read_config_dword+0x65/0xa0\nEAX: 00000002 EBX: e44f1800 ECX: e144df14 EDX: 155668c7\nESI: 00000087 EDI: 00000000 EBP: e144df40 ESP: e144df0c\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess cat (pid: 2997, ti\u003de144c000 task\u003de26f2570 task.ti\u003de144c000)\nStack:\n c09ceac0 c0570f72 ffffffff 08c57000 00000000 00001000 e44f1800 c05d2404\n\u003c0\u003e e144df40 00001000 00000000 00001000 08c57000 3093ae50 e420cb40 e358d5c0\n\u003c0\u003e c05d2300 fffffffb c054984f e144df9c 00008000 08c57000 e358d5c0 00008000\nCall Trace:\n [\u003cc0570f72\u003e] ? security_capable+0x22/0x30\n [\u003cc05d2404\u003e] ? proc_bus_pci_read+0x104/0x220\n [\u003cc05d2300\u003e] ? proc_bus_pci_read+0x0/0x220\n [\u003cc054984f\u003e] ? proc_reg_read+0x5f/0x90\n [\u003cc05497f0\u003e] ? proc_reg_read+0x0/0x90\n [\u003cc050694d\u003e] ? vfs_read+0x9d/0x190\n [\u003cc04958f4\u003e] ? audit_syscall_entry+0x204/0x230\n [\u003cc0506a81\u003e] ? sys_read+0x41/0x70\n [\u003cc0402f1f\u003e] ? sysenter_do_call+0x12/0x28\nCode: b4 26 00 00 00 00 b8 20 88 b1 c0 c7 44 24 08 ff ff ff ff e8 3e 52 22 00 f6 83 24 04 00 00 20 75 34 8b 43 08 8d 4c 24 08 8b 53 1c \u003c8b\u003e 70 40 89 4c 24 04 89 f9 c7 04 24 04 00 00 00 ff 16 89 c6 f0\nEIP: [\u003cc05c82d5\u003e] pci_user_read_config_dword+0x65/0xa0 SS:ESP 0068:e144df0c\nCR2: 0000000000000042\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a3f5835a8e0bd25ed15becd65e01aa3d5ac8d771",
      "tree": "1a0e2020ab915f1e958b8ec6ce50b3c49c5b5115",
      "parents": [
        "852972acff8f10f3a15679be2059bb94916cba5d"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Tue Jun 29 14:15:28 2010 +0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:18 2010 -0700"
      },
      "message": "PCI: pci-sysfs: remove casts from void*\n\nRemove unnesessary casts from void*.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3f579c340fe6d6bdd8c6f9f144e7c3b85d4174ec",
      "tree": "7dbffa4e375aa2315c19db402857a07b24c82b40",
      "parents": [
        "0ba10bc75271e4139eb9ca67d107624d581e3a94"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri May 21 14:35:06 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:16 2010 -0700"
      },
      "message": "PCI hotplug: make sure child bridges are enabled at hotplug time\n\nFound one PCIe Module with several bridges built-in where a \"cold\"\nhotadd doesn\u0027t work.\n\nIf we end up reassigning bridge windows at hotadd time, and have to loop\nthrough assigning new ranges, we won\u0027t end up enabling the child bridges\nbecause the first assignment pass already tried to enable them, which\nprevents __pci_bridge_assign_resource from updating the windows.\n\nSo try to move enabling of child bridges to the end, and only do it\nonce.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0ba10bc75271e4139eb9ca67d107624d581e3a94",
      "tree": "3190954fc57e9c387b80514751fb28e6a87f6c5e",
      "parents": [
        "01b666df487b80c956cef3ce3253776ddeebd41e"
      ],
      "author": {
        "name": "Praveen Kalamegham",
        "email": "praveen@nextio.com",
        "time": "Thu May 20 12:15:01 2010 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:16 2010 -0700"
      },
      "message": "PCI hotplug: shpchp: Removed check for hotplug of display devices\n\nRemoved check to prevent hotplug of display devices within shpchp.\nOriginally this was thought to have been required within the PCI\nHotplug specification for some legacy devices.  However there is\nno such requirement in the most recent revision. The check prevents\nhotplug of not only display devices but also computational GPUs\nwhich require serviceability.\n\nSigned-off-by: Praveen Kalamegham \u003cpraveen@nextio.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "01b666df487b80c956cef3ce3253776ddeebd41e",
      "tree": "e3714b5a3bf6f4b6bc3a049c4f7e4a045dcd1f30",
      "parents": [
        "41cd766b065970ff6f6c89dd1cf55fa706c84a3d"
      ],
      "author": {
        "name": "Praveen Kalamegham",
        "email": "praveen@nextio.com",
        "time": "Thu May 20 15:32:22 2010 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:15 2010 -0700"
      },
      "message": "PCI hotplug: pciehp: Fixed return value sign for pciehp_unconfigure_device\n\npciehp_unconfigure_device() should return -EINVAL, not EINVAL.\n\nSigned-off-by: Praveen Kalamegham \u003cpraveen@nextio.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "41cd766b065970ff6f6c89dd1cf55fa706c84a3d",
      "tree": "f52a7346daaaad331dbd260f0e21bcf9d108b2e6",
      "parents": [
        "4302e0fb7fa5b071e30f3cfb68e85155b3d69d9b"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Jun 09 16:05:07 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:15 2010 -0700"
      },
      "message": "PCI: Don\u0027t enable aspm before drivers have had a chance to veto it\n\nThe aspm code will currently set the configured aspm policy before drivers\nhave had an opportunity to indicate that their hardware doesn\u0027t support it.\nUnfortunately, putting some hardware in L0 or L1 can result in the hardware\nno longer responding to any requests, even after aspm is disabled. It makes\nmore sense to leave aspm policy at the BIOS defaults at initial setup time,\nreconfiguring it after pci_enable_device() is called. This allows the\ndriver to blacklist individual devices beforehand.\n\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4302e0fb7fa5b071e30f3cfb68e85155b3d69d9b",
      "tree": "059617eb4f3350ce40cb44c9537dce7a1168e2ea",
      "parents": [
        "2eb5ebd3665a38a4526b45cb3a31a132b2aa9927"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Thu Jun 17 10:42:44 2010 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:14 2010 -0700"
      },
      "message": "PCI: fix wrong memory address handling in MSI-X\n\nUse resource_size_t for MMIO address instead of unsigned long. Otherwise,\nhigher 32-bits of MMIO address are cleared unexpectedly in x86-32 PAE.\n\nAcked-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2eb5ebd3665a38a4526b45cb3a31a132b2aa9927",
      "tree": "1243c320e14eaf58a1208ccb021b8e70891d85ca",
      "parents": [
        "7736a05a320712c0a9b8f9e1cd0688b2c0848009"
      ],
      "author": {
        "name": "Junchang Wang",
        "email": "junchangwang@gmail.com",
        "time": "Fri Jun 18 10:02:33 2010 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:14 2010 -0700"
      },
      "message": "PCI: check return value of pci_enable_device() when enabling bridges\n\npci_enable_device can fail. In that case, a printed warning would be\nmore appropriate.\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Junchang Wang \u003cjunchangwang@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7736a05a320712c0a9b8f9e1cd0688b2c0848009",
      "tree": "571e5ef6ee61eee5f61af3db17e69fea4f3a37b6",
      "parents": [
        "7bd1c365fd124624191d49dcc1eb9759d6017ec3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jun 01 09:00:16 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:13 2010 -0700"
      },
      "message": "PCI: sparse warning (trivial)\n\nAssigning zero where NULL should be used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "549e15611b4ac1de51ef0e0a79c2704f50a638a2",
      "tree": "d86b0d1b6ce7ecfa80d7312ce40698c0bfadb544",
      "parents": [
        "aff6136974e4ac43574973a5b4de15d97506b16a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun May 23 10:22:55 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:12 2010 -0700"
      },
      "message": "PCI: disable MSI on VIA K8M800\n\nMSI delivery from on-board ahci controller doesn\u0027t work on K8M800.  At\nthis point, it\u0027s unclear whether the culprit is with the ahci\ncontroller or the host bridge.  Given the track record and considering\nthe rather minimal impact of MSI, disabling it seems reasonable.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Rainer Hurtado Navarro \u003cpublio.escipion.el.africano@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "aff6136974e4ac43574973a5b4de15d97506b16a",
      "tree": "4347e297898fd99291253081cf45c52675636389",
      "parents": [
        "3b8fdb759e6ed446433c6dfd5a226d9007925596"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed May 26 12:21:10 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:11 2010 -0700"
      },
      "message": "PCI quirk: AMD 780: work around wrong vendor ID on APC bridge\n\nIn all AMD 780 family northbridges, the vendor ID of the internal\ngraphics PCI/PCI bridge reads not as AMD but as that of the mainboard\nvendor, because the hardware actually returns the value of the subsystem\nvendor ID (erratum 18).\n\nWe currently have additional quirk entries for Asus and Acer, but it is\nlikely that we will encounter more systems with other vendor IDs.\n\nSince we do not know in advance all possible vendor IDs, a better way to\nfind the device is to declare the quirk on the host bridge, whose ID is\nalways correct, and use that device as a stepping stone to find the PCI/\nPCI bridge, if present.\n\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3b8fdb759e6ed446433c6dfd5a226d9007925596",
      "tree": "8b59d086a555788fdcd79d508ff20016e313517c",
      "parents": [
        "f6735590e9f441762ab5afeff64ded99e5b19a68"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed May 26 12:46:39 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:10 2010 -0700"
      },
      "message": "PCI: hotplug/shpchp_hpc: add parenthesis in SLOT_REG_RSVDZ_MASK\n\nThe SLOT_REG_RSVDZ_MASK macro is normally used like this:\n\tslot_reg \u0026\u003d ~SLOT_REG_RSVDZ_MASK;\nThe ~ operator has higher precedence than the | operator from inside the\nmacro, so it needs parenthesis.\n\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f6735590e9f441762ab5afeff64ded99e5b19a68",
      "tree": "58e15ba0d4c00195da9e9b199b7fc73de7f51e64",
      "parents": [
        "73cd3b43f08cc9a9bcb168994b8e9ebd983ff573"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 11:21:11 2010 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:10 2010 -0700"
      },
      "message": "PCI aerdrv: fix annoying warnings\n\nSome compiler generates following warnings:\n\n  In function \u0027aer_isr\u0027:\n  warning: \u0027e_src.id\u0027 may be used uninitialized in this function\n  warning: \u0027e_src.status\u0027 may be used uninitialized in this function\n\nAvoid status flag \"int ret\" and return constants instead, so that\ngcc sees the return value matching \"it is initialized\" better.\n\nAcked-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f3ec4f87d607f40497afdb5ac03f11e2ea253d52",
      "tree": "b485337aee10cb1c0fcb1593d8947b5370aa73ff",
      "parents": [
        "a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jun 08 15:23:51 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 30 09:29:09 2010 -0700"
      },
      "message": "PCI: change device runtime PM settings for probe and remove\n\nThis patch (as1388) changes the way the PCI core handles runtime PM\nsettings when probing or unbinding drivers.  Now the core will make\nsure the device is enabled for runtime PM, with a usage count \u003e\u003d 1,\nwhen a driver is probed.  It does the same when calling a driver\u0027s\nremove method.\n\nIf the driver wants to use runtime PM, all it has to do is call\npm_runtime_pu_noidle() near the end of its probe routine (to cancel\nthe core\u0027s usage increment) and pm_runtime_get_noresume() near the\nstart of its remove routine (to restore the usage count).  It does not\nneed to mess around with setting the runtime state to enabled,\ndisabled, active, or suspended.\n\nThe patch updates e1000e and r8169, the only PCI drivers that already\nuse the existing runtime PM interface.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7a42c4ff02d1bd764804a4ba36c2b839070c5e7d",
      "tree": "1ad8df4ba2529135b05d8e5762557ad0da37e2f1",
      "parents": [
        "b37fa16e78d6f9790462b3181602a26b5af36260",
        "323f99cbc35c52a65dea9d072b3ecf1e662240d2",
        "80a506b8fdcfa868bb53eb740f928217d0966fc1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Jul 27 18:19:32 2010 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Jul 27 18:19:32 2010 +0200"
      },
      "message": "Merge branches \u0027iommu-api/2.6.36\u0027 and \u0027amd-iommu/2.6.36\u0027 into iommu/2.6.36\n"
    },
    {
      "commit": "323f99cbc35c52a65dea9d072b3ecf1e662240d2",
      "tree": "db4420fb391465df818949a2190e8acd8637164f",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Tom Lyon",
        "email": "pugs@cisco.com",
        "time": "Fri Jul 02 16:56:14 2010 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jul 19 15:44:25 2010 +0200"
      },
      "message": "iommu-api: Extension to check for interrupt remapping\n\nThis patch allows IOMMU users to determine whether the\nhardware and software support safe, isolated interrupt\nremapping.  Not all Intel IOMMUs have the hardware, and the\nsoftware for AMD is not there yet.\n\nSigned-off-by: Tom Lyon \u003cpugs@cisco.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    }
  ],
  "next": "c125e96f044427f38d106fab7bc5e4a5e6a18262"
}
