)]}'
{
  "log": [
    {
      "commit": "c6436f5a395d346e9f4892d7aeed4c3f99261f0f",
      "tree": "f1f4c84fb7dee182d2ca89d010023546bae08327",
      "parents": [
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Mon Feb 13 17:04:43 2012 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 02:46:57 2012 -0400"
      },
      "message": "ACPI / PM: print physical addresses consistently with other parts of kernel\n\nPrint physical address info in a style consistent with the %pR style used\nelsewhere in the kernel.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b54ac6d2a25084667da781c7ca2cebef52a2bcdd",
      "tree": "b4dbaa790dcecff6b5b0772846d43b360f6389d7",
      "parents": [
        "b4e008dc53a31cb4bf6a12d9dbaf1d5c6070a838"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Dec 08 11:25:49 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jan 17 03:54:44 2012 -0500"
      },
      "message": "ACPI, Record ACPI NVS regions\n\nSome firmware will access memory in ACPI NVS region via APEI.  That\nis, instructions in APEI ERST/EINJ table will read/write ACPI NVS\nregion.  The original resource conflict checking in APEI code will\ncheck memory/ioport accessed by APEI via general resource management\nmechanism.  But ACPI NVS region is marked as busy already, so that the\nfalse resource conflict will prevent APEI ERST/EINJ to work.\n\nTo fix this, this patch record ACPI NVS regions, so that we can avoid\nrequest resources for memory region inside it.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "bb45e394e21eb2abc710ad43d98ebac1069bf355",
      "tree": "13e250fb395b358bb8c9471880d3d8fc121d6c2b",
      "parents": [
        "13606a2de1996f8d83a9ce296f74022bdbadf712"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 08 23:38:38 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 24 19:58:42 2011 +0100"
      },
      "message": "ACPI / PM: Use existing ACPI iomaps for NVS save/restore (v2)\n\nModify the NVS save/restore code to use acpi_os_get_iomem() and\nacpi_os_unmap_memory() to acquire and release references to ACPI\niomaps, respectively.  If there\u0027s no ACPI iomap corresponding to the\ngiven NVS page, acpi_os_ioremap() is used to map that page and\niounmap() is used to unmap it during resume.  [If the page is not\npresent in the ACPI iomaps already, it doesn\u0027t make sense to add its\nmapping to the list of ACPI iomaps, because it\u0027s going to be thrown\naway during the subsequent resume anyway.]\n\nTesting on my HP nx6325 shows that approx. 90% of the NVS pages\nhave already been mapped by ACPI before suspend and are present in\nthe ACPI iomaps, so this change appears to be the right thing to do\nin general.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2d6d9fd3a54a28c6f67f26eb6c74803307a1b11e",
      "tree": "0d7c54159ca8e9c4d4e113597d3c7c08d9f98e84",
      "parents": [
        "8d99641f6c1af806cd5d9e6badce91910219a161"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 19 22:27:14 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:17 2011 -0800"
      },
      "message": "ACPI: Introduce acpi_os_ioremap()\n\nCommit ca9b600be38c (\"ACPI / PM: Make suspend_nvs_save() use\nacpi_os_map_memory()\") attempted to prevent the code in osl.c and nvs.c\nfrom using different ioremap() variants by making the latter use\nacpi_os_map_memory() for mapping the NVS pages.  However, that also\nrequires acpi_os_unmap_memory() to be used for unmapping them, which\ncauses synchronize_rcu() to be executed many times in a row\nunnecessarily and introduces substantial delays during resume on some\nsystems.\n\nInstead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c\nintroduce acpi_os_ioremap() calling ioremap_cache() and make the code in\nboth osl.c and nvs.c use it.\n\nReported-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca9b600be38c73b7d25acfb8b7e4e9a9e941d881",
      "tree": "029c03cf04c3a65cfb3c8bbca0e4e6a34eaa07e4",
      "parents": [
        "d146df18c13d16e321efa8ef9b57c95c3bec1722"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 07 01:45:58 2011 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 07 01:04:07 2011 -0500"
      },
      "message": "ACPI / PM: Make suspend_nvs_save() use acpi_os_map_memory()\n\nIt turns out that the NVS memory region that suspend_nvs_save()\nattempts to map has been already mapped by acpi_os_map_memory(), so\nsuspend_nvs_save() should better use acpi_os_map_memory() for mapping\nmemory to avoid conflicts.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d146df18c13d16e321efa8ef9b57c95c3bec1722",
      "tree": "55347c82190711b467d2b62237def0b5696e5b2f",
      "parents": [
        "976513dbfc1547c7b1822566923058655f0c32fd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 07 01:44:28 2011 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 07 00:37:21 2011 -0500"
      },
      "message": "ACPI / PM: Update file information and the list of includes in nvs.c\n\nThe file information and the list of include in drivers/acpi/nvs.c\nare outdated, so update them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "976513dbfc1547c7b1822566923058655f0c32fd",
      "tree": "561e658e65a0136691cc9faebbe1ddf17a3429d3",
      "parents": [
        "26fcaf60fe3861409eb4c455c5c0d0f00f599b08"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 07 01:43:44 2011 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 07 00:36:55 2011 -0500"
      },
      "message": "PM / ACPI: Move NVS saving and restoring code to drivers/acpi\n\nThe saving of the ACPI NVS area during hibernation and suspend and\nrestoring it during the subsequent resume is entirely specific to\nACPI, so move it to drivers/acpi and drop the CONFIG_SUSPEND_NVS\nconfiguration option which is redundant.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "26fcaf60fe3861409eb4c455c5c0d0f00f599b08",
      "tree": "43b0b91df3a1c8d136b63ce499001a05c9a02c93",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Jan 07 01:42:31 2011 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 07 00:26:45 2011 -0500"
      },
      "message": "PM: Fix oops in suspend/hibernate code related to failing ioremap()\n\nWhen ioremap() fails (which might happen for some reason), we nicely\noops in suspend_nvs_save() due to NULL dereference by memcpy() in there.\nFail gracefully instead.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "dd4c4f17d722ffeb2515bf781400675a30fcead7",
      "tree": "0190eff340ffeac7800a3d7d1e0c1232c09397ef",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri May 28 16:32:14 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Jun 10 11:02:34 2010 -0400"
      },
      "message": "suspend: Move NVS save/restore code to generic suspend functionality\n\nSaving platform non-volatile state may be required for suspend to RAM as\nwell as hibernation. Move it to more generic code.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "fce2b111fae9151a53dabb36513b398d03337a19",
      "tree": "9349fce23fca0e2d90780e40aac2a6535f820c32",
      "parents": [
        "8b759b84c8b3c27ccc8dd787294636297b3ebb40"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Jun 10 01:28:19 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM/Hibernate: Move NVS routines into a seperate file (v2).\n\nThe *_nvs_* routines in swsusp.c make use of the io*map()\nfunctions, which are only provided for HAS_IOMEM, thus\nbreaking compilation if HAS_IOMEM is not set. Fix this\nby moving the *_nvs_* routines into hibernate_nvs.c, which\nis only compiled if HAS_IOMEM is set.\n\n[rjw: Change the name of the new file to hibernate_nvs.c, add the\n license line to the header comment.]\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    }
  ]
}
