)]}'
{
  "log": [
    {
      "commit": "dbee8a0affd5e6eaa5d7c816c4bc233f6f110f50",
      "tree": "485bba5ec4436e9e8c84aacf25590ca8f8a6332b",
      "parents": [
        "818b667ba57f68bf1e7240fa441dda0b11e6b944"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 24 17:13:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:44 2011 -0700"
      },
      "message": "x86: remove 32-bit versions of readq()/writeq()\n\nThe presense of a writeq() implementation on 32-bit x86 that splits the\n64-bit write into two 32-bit writes turns out to break the mpt2sas driver\n(and in general is risky for drivers as was discussed in\n\u003chttp://lkml.kernel.org/r/adaab6c1h7c.fsf@cisco.com\u003e).  To fix this,\nrevert 2c5643b1c5c7 (\"x86: provide readq()/writeq() on 32-bit too\") and\nfollow-on cleanups.\n\nThis unfortunately leads to pushing non-atomic definitions of readq() and\nwrite() to various x86-only drivers that in the meantime started using the\ndefinitions in the x86 version of \u003casm/io.h\u003e.  However as discussed\nexhaustively, this is actually the right thing to do, because the right\nway to split a 64-bit transaction is hardware dependent and therefore\nbelongs in the hardware driver (eg mpt2sas needs a spinlock to make sure\nno other accesses occur in between the two halves of the access).\n\nBuild tested on 32- and 64-bit x86 allmodconfig.\n\nLink: http://lkml.kernel.org/r/x86-32-writeq-is-broken@mdm.bga.com\nAcked-by: Hitoshi Mitake \u003ch.mitake@gmail.com\u003e\nCc: Kashyap Desai \u003cKashyap.Desai@lsi.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ravi Anand \u003cravi.anand@qlogic.com\u003e\nCc: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@parallels.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bad97c37db9c1ee36de8ac58f9f73931d15a2e94",
      "tree": "49220b98d5311caf598fd3a6dec3daf7566ec97d",
      "parents": [
        "3a78f965328482eee542217de79036c2a8791de8"
      ],
      "author": {
        "name": "Jin Dongming",
        "email": "jin.dongming@np.css.fujitsu.com",
        "time": "Wed Sep 29 19:53:52 2010 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Sep 29 14:02:16 2010 -0400"
      },
      "message": "ACPI, APEI, Fix acpi_pre_map() return value\n\nAfter we ioremap() a new region, we call __acpi_try_ioremap() to\nsee whether another thread has already mapped the same region.\nThis check clobbers \"vaddr\",  so compute the return value of\nacpi_pre_map() using the ioremap() result \"map-\u003evaddr\" instead.\n\nv2:\n    Modified the unsuitable description of patch.\n\nv3:\n    Removed unlikely() check and made description simpler.\n\nSigned-off-by: Jin Dongming \u003cjin.dongming@np.css.fujitsu.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "e0fb8c418520b41d57667befdb8861c46cdf69e0",
      "tree": "ac1693a0408b9762326a357727dfc9c6ebe13650",
      "parents": [
        "327f935a9ef644c0ec3d050c94bce753756d60c0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 02:52:44 2010 +0900"
      },
      "committer": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Jun 28 10:19:19 2010 +1000"
      },
      "message": "acpi: update gfp/slab.h includes\n\nImplicit slab.h inclusion via percpu.h is about to go away.  Make sure\ngfp.h or slab.h is included as necessary.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\n"
    },
    {
      "commit": "15651291a2f8c11e7e6a42d8bfde7a213ff13262",
      "tree": "0bbb96e22231e2b4da4ce9b264dfce8c54a52efc",
      "parents": [
        "e40152ee1e1c7a63f4777791863215e3faa37a86"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Tue May 18 14:35:11 2010 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed May 19 11:40:03 2010 -0400"
      },
      "message": "ACPI, IO memory pre-mapping and atomic accessing\n\nSome ACPI IO accessing need to be done in atomic context. For example,\nAPEI ERST operations may be used for permanent storage in hardware\nerror handler. That is, it may be called in atomic contexts such as\nIRQ or NMI, etc. And, ERST/EINJ implement their operations via IO\nmemory/port accessing.  But the IO memory accessing method provided by\nACPI (acpi_read/acpi_write) maps the IO memory during it is accessed,\nso it can not be used in atomic context. To solve the issue, the IO\nmemory should be pre-mapped during EINJ/ERST initializing. A linked\nlist is used to record which memory area has been mapped, when memory\nis accessed in hardware error handler, search the linked list for the\nmapped virtual address from the given physical address.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    }
  ]
}
