)]}'
{
  "log": [
    {
      "commit": "c7c66c0cb0c77b1a8edf09bca57d922312d58030",
      "tree": "77277103c5f16aa4dee64978a060933d92e14776",
      "parents": [
        "9f3938346a5c1fa504647670edb5fea5756cfb00",
        "98e8bdafeb4728a6af7bbcbcc3984967d1cf2bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:15:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:15:51 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates for 3.4 from Rafael Wysocki:\n \"Assorted extensions and fixes including:\n\n  * Introduction of early/late suspend/hibernation device callbacks.\n  * Generic PM domains extensions and fixes.\n  * devfreq updates from Axel Lin and MyungJoo Ham.\n  * Device PM QoS updates.\n  * Fixes of concurrency problems with wakeup sources.\n  * System suspend and hibernation fixes.\"\n\n* tag \u0027pm-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (43 commits)\n  PM / Domains: Check domain status during hibernation restore of devices\n  PM / devfreq: add relation of recommended frequency.\n  PM / shmobile: Make MTU2 driver use pm_genpd_dev_always_on()\n  PM / shmobile: Make CMT driver use pm_genpd_dev_always_on()\n  PM / shmobile: Make TMU driver use pm_genpd_dev_always_on()\n  PM / Domains: Introduce \"always on\" device flag\n  PM / Domains: Fix hibernation restore of devices, v2\n  PM / Domains: Fix handling of wakeup devices during system resume\n  sh_mmcif / PM: Use PM QoS latency constraint\n  tmio_mmc / PM: Use PM QoS latency constraint\n  PM / QoS: Make it possible to expose PM QoS latency constraints\n  PM / Sleep: JBD and JBD2 missing set_freezable()\n  PM / Domains: Fix include for PM_GENERIC_DOMAINS\u003dn case\n  PM / Freezer: Remove references to TIF_FREEZE in comments\n  PM / Sleep: Add more wakeup source initialization routines\n  PM / Hibernate: Enable usermodehelpers in hibernate() error path\n  PM / Sleep: Make __pm_stay_awake() delete wakeup source timers\n  PM / Sleep: Fix race conditions related to wakeup source timer function\n  PM / Sleep: Fix possible infinite loop during wakeup source destruction\n  PM / Hibernate: print physical addresses consistently with other parts of kernel\n  ...\n"
    },
    {
      "commit": "0de9a1e28a0d005f42c8cc5456a246710133b9ab",
      "tree": "89914affb67e9884ab13e15eb9ce79bfe1a3a13c",
      "parents": [
        "d762a50b5b1bb93e91cb3cd90b6ae133da98fe31"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:38 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:26 2012 +0800"
      },
      "message": "power: remove the second argument of k[un]map_atomic()\n\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "ed819e3b964bba8bfae8e65d4d55a3f345f8da16",
      "tree": "345c6e010750627224ac8c64ad9be06692e5e273",
      "parents": [
        "48ed00031681c373ff81e78fd248710fe4cddda0",
        "a9b542ee607a8afafa9447292394959fc84ea650"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 04 23:11:24 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 04 23:11:24 2012 +0100"
      },
      "message": "Merge branch \u0027pm-qos\u0027\n\n* pm-qos:\n  PM / QoS: unconditionally build the feature\n  PM / QoS: Simplify PM QoS expansion/merge\n"
    },
    {
      "commit": "37f08be11be9a7d9351fb1b9b408259519a126f3",
      "tree": "7edf402614ae9f36a6e9226b380072cec969c847",
      "parents": [
        "8671bbc1bd0442ef0eab27f7d56216431c490820"
      ],
      "author": {
        "name": "Marcos Paulo de Souza",
        "email": "marcos.mage@gmail.com",
        "time": "Tue Feb 21 23:57:47 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 04 23:08:54 2012 +0100"
      },
      "message": "PM / Freezer: Remove references to TIF_FREEZE in comments\n\nThis patch removes all the references in the code about the TIF_FREEZE\nflag removed by commit a3201227f803ad7fd43180c5195dbe5a2bf998aa\n\n    freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE\n\nThere still are some references to TIF_FREEZE in\nDocumentation/power/freezing-of-tasks.txt, but it looks like that\ndocumentation needs more thorough work to reflect how the new\nfreezer works, and hence merely removing the references to TIF_FREEZE\nwon\u0027t really help. So I have not touched that part in this patch.\n\nSuggested-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcos Paulo de Souza \u003cmarcos.mage@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "05b4877f6a4f1ba4952d1222213d262bf8c132b7",
      "tree": "7205a80a5919c1f389873c78740d504800fb60e5",
      "parents": [
        "4782e1654bdbd30cf307da090b3c4f70157477cb"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Feb 17 23:39:51 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 04 23:08:37 2012 +0100"
      },
      "message": "PM / Hibernate: Enable usermodehelpers in hibernate() error path\n\nIf create_basic_memory_bitmaps() fails, usermodehelpers are not re-enabled\nbefore returning. Fix this. And while at it, reword the goto labels so that\nthey look more meaningful.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "69f1d475cc80c55121852b3030873cdd407fd31c",
      "tree": "611724e6da5798cf103e4e03cfdf86e950eae9d8",
      "parents": [
        "c48825251cf5950da9d618144c4db6c130e6c0cd"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Tue Feb 14 22:20:52 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 17 23:36:41 2012 +0100"
      },
      "message": "PM / Hibernate: 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: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "bc25cf508942c56810d4fb623ef27b56ccef7783",
      "tree": "1a991dd6fc5fcbdc0ef3eebe4ef5291787dd6d30",
      "parents": [
        "93e1ee43a72b11e1b50aab87046c131a836a4456"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:29:33 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 17 23:36:23 2012 +0100"
      },
      "message": "PM / Sleep: Drop suspend_stats_update()\n\nSince suspend_stats_update() is only called from pm_suspend(),\nmove its code directly into that function and remove the static\ninline definition from include/linux/suspend.h.  Clean_up\npm_suspend() in the process.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "93e1ee43a72b11e1b50aab87046c131a836a4456",
      "tree": "86897d0bec41d2040f371d2bf2951f1f35bf727d",
      "parents": [
        "55ae451918ec62e553f11b6118fec157f90c31c3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:29:24 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 17 23:36:10 2012 +0100"
      },
      "message": "PM / Sleep: Make enter_state() in kernel/power/suspend.c static\n\nThe enter_state() function in kernel/power/suspend.c should be\nstatic and state_store() in kernel/power/suspend.c should call\npm_suspend() instead of it, so make that happen (which also reduces\ncode duplication related to suspend statistics).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "55ae451918ec62e553f11b6118fec157f90c31c3",
      "tree": "4748944f384941623a3abc3634ae07ea4fe785d7",
      "parents": [
        "6f585f750d792652f33b6e85b1ee205be4b5e572"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:29:14 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 17 23:36:03 2012 +0100"
      },
      "message": "PM / Sleep: Unify kerneldoc comments in kernel/power/suspend.c\n\nThe kerneldoc comments in kernel/power/suspend.c are not formatted\nin the same way and the quality of some of them is questionable.\nUnify the formatting and improve the contents.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6f585f750d792652f33b6e85b1ee205be4b5e572",
      "tree": "cc4f8472cecc86e7c2102c3f97702024f42e6bb5",
      "parents": [
        "6c83b4818dd65eb17e633b6b629a81da7bed90b3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 11 22:40:23 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:26:13 2012 +0100"
      },
      "message": "PM / Sleep: Remove unnecessary label from suspend_freeze_processes()\n\nThe Finish label in suspend_freeze_processes() is in fact unnecessary\nand makes the function look more complicated than it really is, so\nremove that label (along with a few empty lines).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6c83b4818dd65eb17e633b6b629a81da7bed90b3",
      "tree": "97eddcc6d07daf0ea1be84c57e7a687b3d406151",
      "parents": [
        "7c95149b7f1f61201b12c73c4862a41bf2428961"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 11 00:00:34 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:26:05 2012 +0100"
      },
      "message": "PM / Sleep: Do not check wakeup too often in try_to_freeze_tasks()\n\nUse the observation that it is more efficient to check the wakeup\nvariable once before the loop reporting tasks that were not\nfrozen in try_to_freeze_tasks() than to do that in every step of that\nloop.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a9b542ee607a8afafa9447292394959fc84ea650",
      "tree": "cac94f0048dbf6475ab5dc2a3b803ab6a59d472a",
      "parents": [
        "654b0c9627bc1b34cc21643afa8ac359c50db7d7"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "jean.pihet@newoldbits.com",
        "time": "Mon Feb 13 16:23:42 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:23:42 2012 +0100"
      },
      "message": "PM / QoS: unconditionally build the feature\n\nThe PM QoS feature originally didn\u0027t depend on CONFIG_PM, which was\nmistakenly changed by commit e8db0be1245de16a6cc6365506abc392c3c212d4\n\n    PM QoS: Move and rename the implementation files\n\nLater, commit d020283dc694c9ec31b410f522252f7a8397e67d\n\n    PM / QoS: CPU C-state breakage with PM Qos change\n\npartially fixed that by introducing a static inline definition of\npm_qos_request(), but that still didn\u0027t allow user space to use\nthe PM QoS interface if CONFIG_PM was unset (which had been possible\nbefore).  For this reason, remove the dependency of PM QoS on\nCONFIG_PM to make it work (as intended) with CONFIG_PM unset.\n\n[rjw: Replaced the original changelog with a new one.]\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nReported-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "654b0c9627bc1b34cc21643afa8ac359c50db7d7",
      "tree": "f25069e2987e6d61793585adf969f42f9380afcd",
      "parents": [
        "d031e1de2c5ba91e67ed83f6adf624543ab2b03d",
        "d020283dc694c9ec31b410f522252f7a8397e67d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:20:07 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 13 16:20:07 2012 +0100"
      },
      "message": "Merge commit \u0027pm-fixes-for-3.3-rc3\u0027 into pm-qos\n\nNew material in the pm-qos branch depends on recent power management\nfixes.\n"
    },
    {
      "commit": "a556d5b58345ccf51826b9ceac078072f830738b",
      "tree": "35b66f1c49cf6f5437811051965f45a14f1ee15f",
      "parents": [
        "51d6ff7acd920379f54d0be4dbe844a46178a65f"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Feb 04 23:39:56 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 09 23:56:01 2012 +0100"
      },
      "message": "PM / Hibernate: Refactor and simplify freezer_test_done\n\nThe code related to \u0027freezer_test_done\u0027 is needlessly convoluted.\nRefactor the code and simplify the implementation.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "51d6ff7acd920379f54d0be4dbe844a46178a65f",
      "tree": "b016233eaf9dd4f1698ca6e8e649d1df905a48ec",
      "parents": [
        "9045a05044268b075c13bb0284601b24959dc3c6"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Feb 04 22:26:38 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 09 23:55:54 2012 +0100"
      },
      "message": "PM / Hibernate: Thaw kernel threads in hibernation_snapshot() in error/test path\n\nIn the hibernation call path, the kernel threads are frozen inside\nhibernation_snapshot(). If we happen to encounter an error further down\nthe road or if we are exiting early due to a successful freezer test,\nthen thaw kernel threads before returning to the caller.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8916e3702ec422b57cc549fbae3986106292100f",
      "tree": "476b8f1079e607518d8be5333abfd58ef53d792f",
      "parents": [
        "3ed3c7b559f3cae7a5a92860a127ceb0cafd5a9c"
      ],
      "author": {
        "name": "Marcos Paulo de Souza",
        "email": "marcos.mage@gmail.com",
        "time": "Sat Feb 04 22:26:13 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 09 23:55:43 2012 +0100"
      },
      "message": "PM / Suspend: Avoid code duplication in suspend statistics update\n\nThe code\n       if (error) {\n               suspend_stats.fail++;\n               dpm_save_failed_errno(error);\n       } else\n               suspend_stats.success++;\n\nAppears in the kernel/power/main.c and kernel/power/suspend.c.\n\nThis patch just creates a new function to avoid duplicated code.\n\nSuggested-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcos Paulo de Souza \u003cmarcos.mage@gmail.com\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3ed3c7b559f3cae7a5a92860a127ceb0cafd5a9c",
      "tree": "c8ab8e608222f07edf46a42e6ec3cb27ac4ceaa0",
      "parents": [
        "e470d06655e00749f6f9372e4fa4f20cea7ed7c5",
        "d020283dc694c9ec31b410f522252f7a8397e67d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 09 23:54:09 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 09 23:54:09 2012 +0100"
      },
      "message": "Merge commit \u0027pm-fixes-for-3.3-rc3\u0027 into pm-sleep\n\nNew material in the pm-sleep branch depends on recent\npower management fixes.\n"
    },
    {
      "commit": "379e0be812ab8a2a351e784b0c987788f5123090",
      "tree": "70f1e7ac57e198d0a94a89a65933da9a2ca35ccc",
      "parents": [
        "fe9161db2e6053da21e4649d77bbefaf3030b11d"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Feb 03 22:22:41 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 04 22:23:05 2012 +0100"
      },
      "message": "PM / Freezer: Thaw only kernel threads if freezing of kernel threads fails\n\nIf freezing of kernel threads fails, we are expected to automatically\nthaw tasks in the error recovery path. However, at times, we encounter\nsituations in which we would like the automatic error recovery path\nto thaw only the kernel threads, because we want to be able to do\nsome more cleanup before we thaw userspace. Something like:\n\nerror \u003d freeze_kernel_threads();\nif (error) {\n\t/* Do some cleanup */\n\n\t/* Only then thaw userspace tasks*/\n\tthaw_processes();\n}\n\nAn example of such a situation is where we freeze/thaw filesystems\nduring suspend/hibernation. There, if freezing of kernel threads\nfails, we would like to thaw the frozen filesystems before thawing\nthe userspace tasks.\n\nSo, modify freeze_kernel_threads() to thaw only kernel threads in\ncase of freezing failure. And change suspend_freeze_processes()\naccordingly. (At the same time, let us also get rid of the rather\ncryptic usage of the conditional operator (:?) in that function.)\n\n[rjw: In fact, this patch fixes a regression introduced during the\n 3.3 merge window, because without it thaw_processes() may be called\n before swsusp_free() in some situations and that may lead to massive\n memory allocation failures.]\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "fe9161db2e6053da21e4649d77bbefaf3030b11d",
      "tree": "3f875f40201455571280eef7a0c9fdc3c98e346e",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Feb 01 22:16:36 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 01 22:16:36 2012 +0100"
      },
      "message": "PM / Hibernate: Thaw kernel threads in SNAPSHOT_CREATE_IMAGE ioctl path\n\nIn the SNAPSHOT_CREATE_IMAGE ioctl, if the call to hibernation_snapshot()\nfails, the frozen tasks are not thawed.\n\nAnd in the case of success, if we happen to exit due to a successful freezer\ntest, all tasks (including those of userspace) are thawed, whereas actually\nwe should have thawed only the kernel threads at that point. Fix both these\nissues.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "d031e1de2c5ba91e67ed83f6adf624543ab2b03d",
      "tree": "2d8b2c052c920d1973e6b1e00cbd95502bd9c0e0",
      "parents": [
        "0496c8ae366724a0a2136cec09a2e277e782c126"
      ],
      "author": {
        "name": "Alex Frid",
        "email": "afrid@nvidia.com",
        "time": "Sun Jan 29 20:39:25 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:39:25 2012 +0100"
      },
      "message": "PM / QoS: Simplify PM QoS expansion/merge\n\n - Replace class ID #define with enumeration\n - Loop through PM QoS objects during initialization (rather than\n   initializing them one-by-one)\n\nSigned-off-by: Alex Frid \u003cafrid@nvidia.com\u003e\nReviewed-by: Antti Miettinen \u003camiettinen@nvidia.com\u003e\nReviewed-by: Diwakar Tundlam \u003cdtundlam@nvidia.com\u003e\nReviewed-by: Scott Williams \u003cscwilliams@nvidia.com\u003e\nReviewed-by: Yu-Huan Hsu \u003cyhsu@nvidia.com\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "cf579dfb82550e34de7ccf3ef090d8b834ccd3a9",
      "tree": "764ed72670c18c86d3eb9650025c56d661a31315",
      "parents": [
        "181e9bdef37bfcaa41f3ab6c948a2a0d60a268b5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:38:29 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:38:29 2012 +0100"
      },
      "message": "PM / Sleep: Introduce \"late suspend\" and \"early resume\" of devices\n\nThe current device suspend/resume phases during system-wide power\ntransitions appear to be insufficient for some platforms that want\nto use the same callback routines for saving device states and\nrelated operations during runtime suspend/resume as well as during\nsystem suspend/resume.  In principle, they could point their\n.suspend_noirq() and .resume_noirq() to the same callback routines\nas their .runtime_suspend() and .runtime_resume(), respectively,\nbut at least some of them require device interrupts to be enabled\nwhile the code in those routines is running.\n\nIt also makes sense to have device suspend-resume callbacks that will\nbe executed with runtime PM disabled and with device interrupts\nenabled in case someone needs to run some special code in that\ncontext during system-wide power transitions.\n\nApart from this, .suspend_noirq() and .resume_noirq() were introduced\nas a workaround for drivers using shared interrupts and failing to\nprevent their interrupt handlers from accessing suspended hardware.\nIt appears to be better not to use them for other porposes, or we may\nhave to deal with some serious confusion (which seems to be happening\nalready).\n\nFor the above reasons, introduce new device suspend/resume phases,\n\"late suspend\" and \"early resume\" (and analogously for hibernation)\nwhose callback will be executed with runtime PM disabled and with\ndevice interrupts enabled and whose callback pointers generally may\npoint to runtime suspend/resume routines.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "181e9bdef37bfcaa41f3ab6c948a2a0d60a268b5",
      "tree": "66e69f83b63e8517a47e0eb0e7ae730d8a9a109b",
      "parents": [
        "0a9626575400879d1d5e6bc8768188b938d7c501"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:35:52 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:35:52 2012 +0100"
      },
      "message": "PM / Hibernate: Fix s2disk regression related to freezing workqueues\n\nCommit 2aede851ddf08666f68ffc17be446420e9d2a056\n\n  PM / Hibernate: Freeze kernel threads after preallocating memory\n\nintroduced a mechanism by which kernel threads were frozen after\nthe preallocation of hibernate image memory to avoid problems with\nfrozen kernel threads not responding to memory freeing requests.\nHowever, it overlooked the s2disk code path in which the\nSNAPSHOT_CREATE_IMAGE ioctl was run directly after SNAPSHOT_FREE,\nwhich caused freeze_workqueues_begin() to BUG(), because it saw\nthat worqueues had been already frozen.\n\nAlthough in principle this issue might be addressed by removing\nthe relevant BUG_ON() from freeze_workqueues_begin(), that would\nreintroduce the very problem that commit 2aede851ddf08666f68ffc17be4\nattempted to avoid into that particular code path.  For this reason,\nto fix the issue at hand, introduce thaw_kernel_threads() and make\nthe SNAPSHOT_FREE ioctl execute it.\n\nSpecial thanks to Srivatsa S. Bhat for detailed analysis of the\nproblem.\n\nReported-and-tested-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "160cb5a97daef0cb894685d84c9d4700bb7cccb4",
      "tree": "91b8fd151fad423572a686ee94295a84754c0347",
      "parents": [
        "5eb6f9ad96967be4e0da55521a253e11b534bd3f"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Thu Jan 19 23:23:10 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 19 23:23:10 2012 +0100"
      },
      "message": "PM / Hibernate: Correct additional pages number calculation\n\nThe struct bm_block is allocated by chain_alloc(),\nso it\u0027d better counting it in LINKED_PAGE_DATA_SIZE.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ee34a37049114303011e154478c63b977bcff24c",
      "tree": "b33342752535473f07742206395049233579d12b",
      "parents": [
        "a029db43986e23677498ab4d84bb61b05de83484"
      ],
      "author": {
        "name": "Barry Song",
        "email": "Baohua.Song@csr.com",
        "time": "Mon Jan 09 12:56:23 2012 +0800"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 14 00:41:37 2012 +0100"
      },
      "message": "PM / Hibernate: Drop the check of swap space size for compressed image\n\nFor compressed image, the space required is not known until\nwe finish compressing and writing all pages.\nThis patch drops the check, and if swap space is not enough\nfinally, system can still restore to normal after writing\nswap fails for compressed images.\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c6968e73b90c2a2fb9a32d4bad249f8f70f70125",
      "tree": "67ec90fc8e187fcf316298dd9d514bbbbbc8f187",
      "parents": [
        "c0a32fc5a2e470d0b02597b23ad79a317735253e"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Jan 10 15:07:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:42 2012 -0800"
      },
      "message": "PM/Hibernate: do not count debug pages as savable\n\nWhen debugging with CONFIG_DEBUG_PAGEALLOC and debug_guardpage_minorder \u003e\n0, we have lot of free pages that are not marked so.  Snapshot code\naccount them as savable, what cause hibernate memory preallocation\nfailure.\n\nIt is pretty hard to make hibernate allocation succeed with\ndebug_guardpage_minorder\u003d1.  This change at least make it possible when\nsystem has relatively big amount of RAM.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb59c505f8a5906ad2e053d14fab50eb8574fd6f",
      "tree": "c6e875adc12b481b916e847e8f80b8881a0fb02c",
      "parents": [
        "1619ed8f60959829d070d8f39cd2f8ca0e7135ce",
        "c233523b3d392e530033a7587d7970dc62a02361"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)\n  PM / Hibernate: Implement compat_ioctl for /dev/snapshot\n  PM / Freezer: fix return value of freezable_schedule_timeout_killable()\n  PM / shmobile: Allow the A4R domain to be turned off at run time\n  PM / input / touchscreen: Make st1232 use device PM QoS constraints\n  PM / QoS: Introduce dev_pm_qos_add_ancestor_request()\n  PM / shmobile: Remove the stay_on flag from SH7372\u0027s PM domains\n  PM / shmobile: Don\u0027t include SH7372\u0027s INTCS in syscore suspend/resume\n  PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode\n  PM: Drop generic_subsys_pm_ops\n  PM / Sleep: Remove forward-only callbacks from AMBA bus type\n  PM / Sleep: Remove forward-only callbacks from platform bus type\n  PM: Run the driver callback directly if the subsystem one is not there\n  PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers\n  PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.\n  PM / Sleep: Merge internal functions in generic_ops.c\n  PM / Sleep: Simplify generic system suspend callbacks\n  PM / Hibernate: Remove deprecated hibernation snapshot ioctls\n  PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()\n  ARM: S3C64XX: Implement basic power domain support\n  PM / shmobile: Use common always on power domain governor\n  ...\n\nFix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused\nXBT_FORCE_SLEEP bit\n"
    },
    {
      "commit": "c336078bf65c4d38caa9a4b8b7b7261c778e622c",
      "tree": "607e18f9f5e60ad370e7c0ed7c13c665af04b7e8",
      "parents": [
        "90363ddf0a1a4dccfbb8d0c10b8f488bc7fa69f8"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Dec 27 22:54:52 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 05 00:05:55 2012 +0100"
      },
      "message": "PM / Hibernate: Implement compat_ioctl for /dev/snapshot\n\nThis allows uswsusp built for i386 to run on an x86_64 kernel (tested\nwith Debian package version 1.0+20110509-2).\n\nReferences: http://bugs.debian.org/502816\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ff01bb4832651c6d25ac509a06a10fcbd75c461c",
      "tree": "bbfdebd317db97d346df78293566f36e883b1be9",
      "parents": [
        "94ea4158f1733e3b10cef067d535f504866e0c41"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Sep 16 02:31:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:07 2012 -0500"
      },
      "message": "fs: move code out of buffer.c\n\nMove invalidate_bdev, block_sync_page into fs/block_dev.c.  Export\nkill_bdev as well, so brd doesn\u0027t have to open code it.  Reduce\nbuffer_head.h requirement accordingly.\n\nRemoved a rather large comment from invalidate_bdev, as it looked a bit\nobsolete to bother moving.  The small comment replacing it says enough.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf007e3526a785a95a738d5a8fba44f1f4fe33e0",
      "tree": "0b36d8a1568c4579e439dda5fa8e079723589769",
      "parents": [
        "b298d289c79211508f11cb50749b0d1d54eb244a"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Dec 08 23:42:53 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 09 23:37:07 2011 +0100"
      },
      "message": "PM / Hibernate: Remove deprecated hibernation snapshot ioctls\n\nSeveral snapshot ioctls were marked for removal quite some time ago,\nsince they were deprecated. Remove them.\n\nSuggested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "bcda53faf5814c0c6025a0bd47108adfcbe9f199",
      "tree": "a8768204a16b24436f33fac00c1bb4dcfb4fafd5",
      "parents": [
        "9b6fc5dc879bc90f765db0e95eefcf123d0d06dd"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Dec 07 22:29:54 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 08 23:22:29 2011 +0100"
      },
      "message": "PM / Sleep: Replace mutex_[un]lock(\u0026pm_mutex) with [un]lock_system_sleep()\n\nUsing [un]lock_system_sleep() is safer than directly using mutex_[un]lock()\non \u0027pm_mutex\u0027, since the latter could lead to freezing failures. Hence convert\nall the present users of mutex_[un]lock(\u0026pm_mutex) to use these safe APIs\ninstead.\n\nSuggested-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nReviewed-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e5b16746f0f2d6883c226af52d90904ce0f7eee8",
      "tree": "89aa15350ccdef11fec16be252850627167d7167",
      "parents": [
        "2e8e89e392c62636ee33532358607baef2863173"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Dec 03 00:20:30 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 06 22:13:44 2011 +0100"
      },
      "message": "PM / Hibernate: Replace unintuitive \u0027if\u0027 condition in kernel/power/user.c with \u0027else\u0027\n\nIn the snapshot_ioctl() function, under SNAPSHOT_FREEZE, the code below\nfreeze_processes() is a bit unintuitive. Improve it by replacing the\nsecond \u0027if\u0027 condition with an \u0027else\u0027 clause.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2e8e89e392c62636ee33532358607baef2863173",
      "tree": "d995a25c68eef57dea580b0f06ba8af76758775a",
      "parents": [
        "0c6aebe31861c470c8cfbfdfdfd72d1369a6440b",
        "d310310cbff18ec385c6ab4d58f33b100192a96a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 06 22:12:50 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 06 22:12:50 2011 +0100"
      },
      "message": "Merge branch \u0027pm-freezer\u0027 into pm-sleep\n\n* pm-freezer: (26 commits)\n  Freezer / sunrpc / NFS: don\u0027t allow TASK_KILLABLE sleeps to block the freezer\n  Freezer: fix more fallout from the thaw_process rename\n  freezer: fix wait_event_freezable/__thaw_task races\n  freezer: kill unused set_freezable_with_signal()\n  dmatest: don\u0027t use set_freezable_with_signal()\n  usb_storage: don\u0027t use set_freezable_with_signal()\n  freezer: remove unused @sig_only from freeze_task()\n  freezer: use lock_task_sighand() in fake_signal_wake_up()\n  freezer: restructure __refrigerator()\n  freezer: fix set_freezable[_with_signal]() race\n  freezer: remove should_send_signal() and update frozen()\n  freezer: remove now unused TIF_FREEZE\n  freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE\n  cgroup_freezer: prepare for removal of TIF_FREEZE\n  freezer: clean up freeze_processes() failure path\n  freezer: kill PF_FREEZING\n  freezer: test freezable conditions while holding freezer_lock\n  freezer: make freezing indicate freeze condition in effect\n  freezer: use dedicated lock instead of task_lock() + memory barrier\n  freezer: don\u0027t distinguish nosig tasks on thaw\n  ...\n"
    },
    {
      "commit": "48580ab8729865c81e148d59159fbe2aa7865511",
      "tree": "40fca721d04bb2ceef8a2e603ba529447cd0fe65",
      "parents": [
        "97819a26224f019e73d88bb2fd4eb5a614860461"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Dec 01 22:33:20 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 06 22:08:14 2011 +0100"
      },
      "message": "PM / Hibernate: Remove deprecated hibernation test modes\n\nThe hibernation test modes \u0027test\u0027 and \u0027testproc\u0027 are deprecated, because\nthe \u0027pm_test\u0027 framework offers much more fine-grained control for debugging\nsuspend and hibernation related problems.\n\nSo, remove the deprecated \u0027test\u0027 and \u0027testproc\u0027 hibernation test modes.\n\nSuggested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "97819a26224f019e73d88bb2fd4eb5a614860461",
      "tree": "d7bb2f83b2564d4f2bf111e2eb3bc1f4714b342e",
      "parents": [
        "0118521cc7acb3ccbc1a01d6144ac32be9d56a4c"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Dec 01 22:33:10 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 06 22:07:59 2011 +0100"
      },
      "message": "PM / Hibernate: Thaw processes in SNAPSHOT_CREATE_IMAGE ioctl test path\n\nCommit 2aede851ddf08666f68ffc17be446420e9d2a056 (PM / Hibernate: Freeze\nkernel threads after preallocating memory) moved the freezing of kernel\nthreads to hibernation_snapshot() function.\n\nSo now, if the call to hibernation_snapshot() returns early due to a\nsuccessful hibernation test, the caller has to thaw processes to ensure\nthat the system gets back to its original state.\n\nBut in SNAPSHOT_CREATE_IMAGE hibernation ioctl, the caller does not thaw\nprocesses in case hibernation_snapshot() returned due to a successful\nfreezer test. Fix this issue. But note we still send the value of \u0027in_suspend\u0027\n(which is now 0) to userspace, because we are not in an error path per-se,\nand moreover, the value of in_suspend correctly depicts the situation here.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0118521cc7acb3ccbc1a01d6144ac32be9d56a4c",
      "tree": "2345c7754856f34efc7ac8f1ced88febb99d25ff",
      "parents": [
        "953a206393b1533ceb0e7d725cc5a8c8d7ed97dd"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Dec 01 22:32:43 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 06 22:07:51 2011 +0100"
      },
      "message": "PM / Hibernate: Enable usermodehelpers in software_resume() error path\n\nIn the software_resume() function defined in kernel/power/hibernate.c,\nif the call to create_basic_memory_bitmaps() fails, the usermodehelpers\nare not enabled (which had been disabled in the previous step). Fix it.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "953a206393b1533ceb0e7d725cc5a8c8d7ed97dd",
      "tree": "7eb6448987f474f287bd2fce66dd1fff6e2eec30",
      "parents": [
        "64e94aafb6a5c4f419e9b8f93950914b5ac162a9"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Tue Nov 22 23:20:31 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:13:41 2011 +0100"
      },
      "message": "PM / Hibernate: Refactor and simplify hibernation_snapshot() code\n\nThe goto statements in hibernation_snapshot() are a bit complex.\nRefactor the code to remove some of them, thereby simplifying the\nimplementation.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "341d4166175e9b7911444f5a33b1c9efb8f15c85",
      "tree": "d08eb36c5cf3253f165f315c5c435781fbf55299",
      "parents": [
        "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Nov 19 14:39:01 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:13:07 2011 +0100"
      },
      "message": "PM: Fix indentation and remove extraneous whitespaces in kernel/power/main.c\n\nLack of proper indentation of the goto statement decreases the readability\nof code significantly. In fact, this made me look twice at the code to check\nwhether it really does what it should be doing. Fix this.\n\nAnd in the same file, there are some extra whitespaces. Get rid of them too.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "986b11c3ee9e0eace25fe74a502205f7fe8c179b",
      "tree": "2271bc519eac458fd92799f5731e2ef604f69341",
      "parents": [
        "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6",
        "24b7ead3fb0bae267c2ee50898eb4c13aedd1e9f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:09:02 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:09:02 2011 +0100"
      },
      "message": "Merge branch \u0027pm-freezer\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into pm-freezer\n\n* \u0027pm-freezer\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: (24 commits)\n  freezer: fix wait_event_freezable/__thaw_task races\n  freezer: kill unused set_freezable_with_signal()\n  dmatest: don\u0027t use set_freezable_with_signal()\n  usb_storage: don\u0027t use set_freezable_with_signal()\n  freezer: remove unused @sig_only from freeze_task()\n  freezer: use lock_task_sighand() in fake_signal_wake_up()\n  freezer: restructure __refrigerator()\n  freezer: fix set_freezable[_with_signal]() race\n  freezer: remove should_send_signal() and update frozen()\n  freezer: remove now unused TIF_FREEZE\n  freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE\n  cgroup_freezer: prepare for removal of TIF_FREEZE\n  freezer: clean up freeze_processes() failure path\n  freezer: kill PF_FREEZING\n  freezer: test freezable conditions while holding freezer_lock\n  freezer: make freezing indicate freeze condition in effect\n  freezer: use dedicated lock instead of task_lock() + memory barrier\n  freezer: don\u0027t distinguish nosig tasks on thaw\n  freezer: remove racy clear_freeze_flag() and set PF_NOFREEZE on dead tasks\n  freezer: rename thaw_process() to __thaw_task() and simplify the implementation\n  ...\n"
    },
    {
      "commit": "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6",
      "tree": "aedde5149df5e3eb8c217b90540222ee507d5e9e",
      "parents": [
        "f10cdea68b70bd85706baed0decab59618f9c353"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 22 23:08:10 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:03:38 2011 +0100"
      },
      "message": "PM / Hibernate: Do not leak memory in error/test code paths\n\nThe hibernation core code forgets to release memory preallocated\nfor hibernation if there\u0027s an error in its early stages or if test\nmodes causing hibernation_snapshot() to return early are used.  This\ncauses the system to be hardly usable, because the amount of\npreallocated memory is usually huge.  Fix this problem.\n\nReported-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "839e3407d90a810318d17c17ceb3d5928a910704",
      "tree": "9b75e8f69cadba5d33537698931cf637a22d423b",
      "parents": [
        "37ad8aca94a1da2112a7c56151390914e80d1113"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:26 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:26 2011 -0800"
      },
      "message": "freezer: remove unused @sig_only from freeze_task()\n\nAfter \"freezer: make freezing() test freeze conditions in effect\ninstead of TIF_FREEZE\", freezing() returns authoritative answer on\nwhether the current task should freeze or not and freeze_task()\ndoesn\u0027t need or use @sig_only.  Remove it.\n\nWhile at it, rewrite function comment for freeze_task() and rename\n@sig_only to @user_only in try_to_freeze_tasks().\n\nThis patch doesn\u0027t cause any functional change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "a3201227f803ad7fd43180c5195dbe5a2bf998aa",
      "tree": "1845ba06346f8a8772fe1c90f8960bd1a430d05c",
      "parents": [
        "22b4e111fa01a1147aa562ceaf18a752a928ef4e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:25 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:25 2011 -0800"
      },
      "message": "freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE\n\nUsing TIF_FREEZE for freezing worked when there was only single\nfreezing condition (the PM one); however, now there is also the\ncgroup_freezer and single bit flag is getting clumsy.\nthaw_processes() is already testing whether cgroup freezing in in\neffect to avoid thawing tasks which were frozen by both PM and cgroup\nfreezers.\n\nThis is racy (nothing prevents race against cgroup freezing) and\nfragile.  A much simpler way is to test actual freeze conditions from\nfreezing() - ie. directly test whether PM or cgroup freezing is in\neffect.\n\nThis patch adds variables to indicate whether and what type of\nfreezing conditions are in effect and reimplements freezing() such\nthat it directly tests whether any of the two freezing conditions is\nactive and the task should freeze.  On fast path, freezing() is still\nvery cheap - it only tests system_freezing_cnt.\n\nThis makes the clumsy dancing aroung TIF_FREEZE unnecessary and\nfreeze/thaw operations more usual - updating state variables for the\nnew state and nudging target tasks so that they notice the new state\nand comply.  As long as the nudging happens after state update, it\u0027s\nrace-free.\n\n* This allows use of freezing() in freeze_task().  Replace the open\n  coded tests with freezing().\n\n* p !\u003d current test is added to warning printing conditions in\n  try_to_freeze_tasks() failure path.  This is necessary as freezing()\n  is now true for the task which initiated freezing too.\n\n-v2: Oleg pointed out that re-freezing FROZEN cgroup could increment\n     system_freezing_cnt.  Fixed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e  (for the cgroup portions)\n"
    },
    {
      "commit": "22b4e111fa01a1147aa562ceaf18a752a928ef4e",
      "tree": "f4b29f532678c72edf99bb8df3ba64d526bc8a3c",
      "parents": [
        "03afed8bc296fa70186ba832c1126228bb992465"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:25 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:25 2011 -0800"
      },
      "message": "cgroup_freezer: prepare for removal of TIF_FREEZE\n\nTIF_FREEZE will be removed soon and freezing() will directly test\nwhether any freezing condition is in effect.  Make the following\nchanges in preparation.\n\n* Rename cgroup_freezing_or_frozen() to cgroup_freezing() and make it\n  return bool.\n\n* Make cgroup_freezing() access task_freezer() under rcu read lock\n  instead of task_lock().  This makes the state dereferencing racy\n  against task moving to another cgroup; however, it was already racy\n  without this change as -\u003estate dereference wasn\u0027t synchronized.\n  This will be later dealt with using attach hooks.\n\n* freezer-\u003estate is now set before trying to push tasks into the\n  target state.\n\n-v2: Oleg pointed out that freeze_change_state() was setting\n     freeze-\u003estate incorrectly to CGROUP_FROZEN instead of\n     CGROUP_FREEZING.  Fixed.\n\n-v3: Matt pointed out that setting CGROUP_FROZEN used to always invoke\n     try_to_freeze_cgroup() regardless of the current state.  Patch\n     updated such that the actual freeze/thaw operations are always\n     performed on invocation.  This shouldn\u0027t make any difference\n     unless something is broken.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "03afed8bc296fa70186ba832c1126228bb992465",
      "tree": "96d0a6a9bffdcfc678d31f21caa88e43693bde94",
      "parents": [
        "376fede80e74d98b49d1ba9ac18f23c9fd026ddd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "message": "freezer: clean up freeze_processes() failure path\n\nfreeze_processes() failure path is rather messy.  Freezing is canceled\nfor workqueues and tasks which aren\u0027t frozen yet but frozen tasks are\nleft alone and should be thawed by the caller and of course some\ncallers (xen and kexec) didn\u0027t do it.\n\nThis patch updates __thaw_task() to handle cancelation correctly and\nmakes freeze_processes() and freeze_kernel_threads() call\nthaw_processes() on failure instead so that the system is fully thawed\non failure.  Unnecessary [suspend_]thaw_processes() calls are removed\nfrom kernel/power/hibernate.c, suspend.c and user.c.\n\nWhile at it, restructure error checking if clause in suspend_prepare()\nto be less weird.\n\n-v2: Srivatsa spotted missing removal of suspend_thaw_processes() in\n     suspend_prepare() and error in commit message.  Updated.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "85f1d476653f52c97ca75466b2494e67c1cbd25d",
      "tree": "a1839143272cc4e6593e5d4c97e8a3c39aed08ff",
      "parents": [
        "6907483b4e803a20f0b48cc9afa3817420ce61c5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "message": "freezer: test freezable conditions while holding freezer_lock\n\ntry_to_freeze_tasks() and thaw_processes() use freezable() and\nfrozen() as preliminary tests before initiating operations on a task.\nThese are done without any synchronization and hinder with\nsynchronization cleanup without any real performance benefits.\n\nIn try_to_freeze_tasks(), open code self test and move PF_NOFREEZE and\nfrozen() tests inside freezer_lock in freeze_task().\n\nthaw_processes() can simply drop freezable() test as frozen() test in\n__thaw_task() is enough.\n\nNote: This used to be a part of larger patch to fix set_freezable()\n      race.  Separated out to satisfy ordering among dependent fixes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "6907483b4e803a20f0b48cc9afa3817420ce61c5",
      "tree": "9f4b7cbe59eae0c6f59d704e4f465d537c172479",
      "parents": [
        "0c9af09262864a2744091ee94c98c4a8fd60c98b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "message": "freezer: make freezing indicate freeze condition in effect\n\nCurrently freezing (TIF_FREEZE) and frozen (PF_FROZEN) states are\ninterlocked - freezing is set to request freeze and when the task\nactually freezes, it clears freezing and sets frozen.\n\nThis interlocking makes things more complex than necessary - freezing\ndoesn\u0027t mean there\u0027s freezing condition in effect and frozen doesn\u0027t\nmatch the task actually entering and leaving frozen state (it\u0027s\ncleared by the thawing task).\n\nThis patch makes freezing indicate that freeze condition is in effect.\nA task enters and stays frozen if freezing.  This makes PF_FROZEN\nmanipulation done only by the task itself and prevents wakeup from\n__thaw_task() leaking outside of refrigerator.\n\nThe only place which needs to tell freezing \u0026\u0026 !frozen is\ntry_to_freeze_task() to whine about tasks which don\u0027t enter frozen.\nIt\u0027s updated to test the condition explicitly.\n\nWith the change, frozen() state my linger after __thaw_task() until\nthe task wakes up and exits fridge.  This can trigger BUG_ON() in\nupdate_if_frozen().  Work it around by testing freezing() \u0026\u0026 frozen()\ninstead of frozen().\n\n-v2: Oleg pointed out missing re-check of freezing() when trying to\n     clear FROZEN and possible spurious BUG_ON() trigger in\n     update_if_frozen().  Both fixed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\n"
    },
    {
      "commit": "0c9af09262864a2744091ee94c98c4a8fd60c98b",
      "tree": "e7dacbb7f370e0d7c515ed743a2c5b5179a1de5e",
      "parents": [
        "6cd8dedcdd8e8de01391a7cf25f0b2afeb24f8f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:24 2011 -0800"
      },
      "message": "freezer: use dedicated lock instead of task_lock() + memory barrier\n\nFreezer synchronization is needlessly complicated - it\u0027s by no means a\nhot path and the priority is staying unintrusive and safe.  This patch\nmakes it simply use a dedicated lock instead of piggy-backing on\ntask_lock() and playing with memory barriers.\n\nOn the failure path of try_to_freeze_tasks(), locking is moved from it\nto cancel_freezing().  This makes the frozen() test racy but the race\nhere is a non-issue as the warning is printed for tasks which failed\nto enter frozen for 20 seconds and race on PF_FROZEN at the last\nmoment doesn\u0027t change anything.\n\nThis simplifies freezer implementation and eases further changes\nincluding some race fixes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6cd8dedcdd8e8de01391a7cf25f0b2afeb24f8f4",
      "tree": "2b4b5d40fb4c66ac73839f6a37fb2de4786efc38",
      "parents": [
        "a585042f7b933539a0b6bc63650c2d49ffb2e55d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:23 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:23 2011 -0800"
      },
      "message": "freezer: don\u0027t distinguish nosig tasks on thaw\n\nThere\u0027s no point in thawing nosig tasks before others.  There\u0027s no\nordering requirement between the two groups on thaw, which the staged\nthawing can\u0027t guarantee anyway.  Simplify thaw_processes() by removing\nthe distinction and collapsing thaw_tasks() into thaw_processes().\nThis will help further updates to freezer.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a585042f7b933539a0b6bc63650c2d49ffb2e55d",
      "tree": "bb93d05050e04c4bcd53fdf535239e6312fb62e2",
      "parents": [
        "a5be2d0d1a8746e7be5210e3d6b904455000443c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:23 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:23 2011 -0800"
      },
      "message": "freezer: remove racy clear_freeze_flag() and set PF_NOFREEZE on dead tasks\n\nclear_freeze_flag() in exit_mm() is racy.  Freezing can start\nafterwards.  Remove it.  Skipping freezer for exiting task will be\nproperly implemented later.\n\nAlso, freezable() was testing exit_state directly to make system\nfreezer ignore dead tasks.  Let the exiting task set PF_NOFREEZE after\nentering TASK_DEAD instead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "a5be2d0d1a8746e7be5210e3d6b904455000443c",
      "tree": "1dcfa2725057a73059a3f768f5f5f7825b5d56ef",
      "parents": [
        "8a32c441c1609f80e55df75422324a1151208f40"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:23 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:23 2011 -0800"
      },
      "message": "freezer: rename thaw_process() to __thaw_task() and simplify the implementation\n\nthaw_process() now has only internal users - system and cgroup\nfreezers.  Remove the unnecessary return value, rename, unexport and\ncollapse __thaw_process() into it.  This will help further updates to\nthe freezer code.\n\n-v3: oom_kill grew a use of thaw_process() while this patch was\n     pending.  Convert it to use __thaw_task() for now.  In the longer\n     term, this should be handled by allowing tasks to die if killed\n     even if it\u0027s frozen.\n\n-v2: minor style update as suggested by Matt.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\n"
    },
    {
      "commit": "501a708f18ef911328ffd39f39738b8a7862aa8e",
      "tree": "f3adbf5979f9e714291cec5c2a893edbca16ba26",
      "parents": [
        "aa9a7b11821e883a7b93ecce190881e0ea48648b"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "message": "PM / Suspend: Fix bug in suspend statistics update\n\nAfter commit 2a77c46de1e3dace73745015635ebbc648eca69c\n(PM / Suspend: Add statistics debugfs file for suspend to RAM)\na missing pair of braces inside the state_store() function causes even\ninvalid arguments to suspend to be wrongly treated as failed suspend\nattempts. Fix this.\n\n[rjw: Put the hash/subject of the buggy commit into the changelog.]\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "aa9a7b11821e883a7b93ecce190881e0ea48648b",
      "tree": "b917fb563df2d27b95d6012afd9bf63237a7e3d5",
      "parents": [
        "88995e809f8a8115f30db24696c9137aad93d570"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "message": "PM / Hibernate: Fix the early termination of test modes\n\nCommit 2aede851ddf08666f68ffc17be446420e9d2a056\n(PM / Hibernate: Freeze kernel threads after preallocating memory)\npostponed the freezing of kernel threads to after preallocating memory\nfor hibernation. But while doing that, the hibernation test TEST_FREEZER\nand the test mode HIBERNATION_TESTPROC were not moved accordingly.\n\nAs a result, when using these test modes, it only goes upto the freezing of\nuserspace and exits, when in fact it should go till the complete end of task\nfreezing stage, namely the freezing of kernel threads as well.\n\nSo, move these points of exit to appropriate places so that freezing of\nkernel threads is also tested while using these test harnesses.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a6f05b97d1ba87326bd96f3da9fef994830d6994",
      "tree": "d3e4aa1f3d0691c45842b49338d2fce8e74a43e7",
      "parents": [
        "94956eed14b4b16d401c8ad36d68df0608f968cb"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Nov 06 21:54:12 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 07 23:02:24 2011 +0100"
      },
      "message": "PM / QoS: Set cpu_dma_pm_qos-\u003ename\n\nSince commit 4a31a334, the name of this misc device is not initialized,\nwhich leads to a funny device named /dev/(null) being created and\n/proc/misc containing an entry with just a number but no name. The latter\nleads to complaints by cryptsetup, which caused me to investigate this\nmatter.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "6513fd6972f725291ee8ce62c7a39fb8a6c7391e",
      "tree": "d5fd2722e3f1299f3b71b917fa1287e302f2df76",
      "parents": [
        "a96d69d1b02c4a526bd8c07e0cb10c129025c88c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Nov 03 10:12:36 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:14 2011 +0100"
      },
      "message": "PM / QoS: Remove redundant check\n\nRemove an \"if\" check, that repeats an equivalent one 6 lines above.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6e5fdeedca610df600aabc393c4b1f44b128fe49",
      "tree": "52a34c30bef1501f19c691a759b81b6f2603cd32",
      "parents": [
        "bdfa97bf7263657b83bc5b68567a3a60dde84c5b"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 16:00:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:05 2011 -0400"
      },
      "message": "kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure\n\nThese files were getting \u003clinux/module.h\u003e via an implicit non-obvious\npath, but we want to crush those out of existence since they cost\ntime during compiles of processing thousands of lines of headers\nfor no reason.  Give them the lightweight header that just contains\nthe EXPORT_SYMBOL infrastructure.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "74da1ff71350f3638c51613085f89c0865d7fe08",
      "tree": "b8904435ba280a9b70462303909e8d8408428986",
      "parents": [
        "56d82e000cdfb51aa92241d4682302f78c35cd92"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 12:48:41 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "kernel: fix several implicit usasges of kmod.h\n\nThese files were implicitly relying on \u003clinux/kmod.h\u003e coming in via\nmodule.h, as without it we get things like:\n\nkernel/power/suspend.c:100: error: implicit declaration of function ‘usermodehelper_disable’\nkernel/power/suspend.c:109: error: implicit declaration of function ‘usermodehelper_enable’\nkernel/power/user.c:254: error: implicit declaration of function ‘usermodehelper_disable’\nkernel/power/user.c:261: error: implicit declaration of function ‘usermodehelper_enable’\n\nkernel/sys.c:317: error: implicit declaration of function ‘usermodehelper_disable’\nkernel/sys.c:1816: error: implicit declaration of function ‘call_usermodehelper_setup’\nkernel/sys.c:1822: error: implicit declaration of function ‘call_usermodehelper_setfns’\nkernel/sys.c:1824: error: implicit declaration of function ‘call_usermodehelper_exec’\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "1fdb24e969110fafea36d3b393bea438f702c87f",
      "tree": "47a1dfef8a259e7922285315f8a02d31b4efe2f1",
      "parents": [
        "f362f98e7c445643d27c610bb7a86b79727b592e",
        "531a6a941745e1e045dd2a6bd09e1dc01247a5f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 12:02:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 12:02:27 2011 -0700"
      },
      "message": "Merge branch \u0027devel-stable\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm\n\n* \u0027devel-stable\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)\n  ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET\n  ARM: gic, local timers: use the request_percpu_irq() interface\n  ARM: gic: consolidate PPI handling\n  ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H\n  ARM: mach-s5p64x0: remove mach/memory.h\n  ARM: mach-s3c64xx: remove mach/memory.h\n  ARM: plat-mxc: remove mach/memory.h\n  ARM: mach-prima2: remove mach/memory.h\n  ARM: mach-zynq: remove mach/memory.h\n  ARM: mach-bcmring: remove mach/memory.h\n  ARM: mach-davinci: remove mach/memory.h\n  ARM: mach-pxa: remove mach/memory.h\n  ARM: mach-ixp4xx: remove mach/memory.h\n  ARM: mach-h720x: remove mach/memory.h\n  ARM: mach-vt8500: remove mach/memory.h\n  ARM: mach-s5pc100: remove mach/memory.h\n  ARM: mach-tegra: remove mach/memory.h\n  ARM: plat-tcc: remove mach/memory.h\n  ARM: mach-mmp: remove mach/memory.h\n  ARM: mach-cns3xxx: remove mach/memory.h\n  ...\n\nFix up mostly pretty trivial conflicts in:\n - arch/arm/Kconfig\n - arch/arm/include/asm/localtimer.h\n - arch/arm/kernel/Makefile\n - arch/arm/mach-shmobile/board-ap4evb.c\n - arch/arm/mach-u300/core.c\n - arch/arm/mm/dma-mapping.c\n - arch/arm/mm/proc-v7.S\n - arch/arm/plat-omap/Kconfig\nlargely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP -\u003e\nCONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and\naddition of NEED_MACH_MEMORY_H next to HAVE_IDE.\n"
    },
    {
      "commit": "081a9d043c983f161b78fdc4671324d1342b86bc",
      "tree": "4382d88e5705b18a95471af2a71319401c47744f",
      "parents": [
        "d231ff1af70a2df43d809173cf8c94e9c3beb853"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Thu Oct 13 23:58:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:38 2011 +0200"
      },
      "message": "PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image\n\nUse threads for LZO compression/decompression on hibernate/thaw.\nImprove buffering on hibernate/thaw.\nCalculate/verify CRC32 of the image pages on hibernate/thaw.\n\nIn my testing, this improved write/read speed by a factor of about two.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d231ff1af70a2df43d809173cf8c94e9c3beb853",
      "tree": "fa6efbb106f36738032bd035e10f54936d3b683d",
      "parents": [
        "27920651fe0d16a25632dc238e81b54f3a504869"
      ],
      "author": {
        "name": "Barry Song",
        "email": "Baohua.Song@csr.com",
        "time": "Tue Oct 11 23:29:18 2011 -0700"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:38 2011 +0200"
      },
      "message": "PM / Hibernate: Do not initialize static and extern variables to 0\n\nStatic and extern variables in kernel/power/hibernate.c need not be\ninitialized to 0 explicitly, so remove those initializations.\n\n[rjw: Modified subject, added changelog.]\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f126f7334f72e2fd1b7a62bba20c488b86e6e7c4",
      "tree": "c56a286700df963245e56cb8caea3e96565b478b",
      "parents": [
        "bf1c138e350155edb06709c7fbf0946f252b257c"
      ],
      "author": {
        "name": "Barry Song",
        "email": "baohua.song@csr.com",
        "time": "Mon Oct 10 23:38:41 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:37 2011 +0200"
      },
      "message": "PM / Hibernate: Add resumedelay kernel param in addition to resumewait\n\nPatch \"PM / Hibernate: Add resumewait param to support MMC-like\ndevices as resume file\" added the resumewait kernel command line\noption.  The present patch adds resumedelay so that\nresumewait/delay were analogous to rootwait/delay.\n\n[rjw: Modified the subject and changelog slightly.]\n\nSigned-off-by: Barry Song \u003cbaohua.song@csr.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6f8d7022a842809aeb24db1d15669198ef02c131",
      "tree": "ae1d4bacda83b3f430c644cf2479ffb1948bb30c",
      "parents": [
        "21e82808fc465b66fedaac0f4e885cafb304e843"
      ],
      "author": {
        "name": "Barry Song",
        "email": "baohua.song@csr.com",
        "time": "Thu Oct 06 20:34:46 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:30:36 2011 +0200"
      },
      "message": "PM / Hibernate: Add resumewait param to support MMC-like devices as resume file\n\nSome devices like MMC are async detected very slow. For example,\ndrivers/mmc/host/sdhci.c launches a 200ms delayed work to detect\nMMC partitions then add disk.\n\nWe have wait_for_device_probe() and scsi_complete_async_scans()\nbefore calling swsusp_check(), but it is not enough to wait for MMC.\n\nThis patch adds resumewait kernel param just like rootwait so\nthat we have enough time to wait until MMC is ready. The difference is\nthat we wait for resume partition whereas rootwait waits for rootfs\npartition (which may be on a different device).\n\nThis patch will make hibernation support many embedded products\nwithout SCSI devices, but with devices like MMC.\n\n[rjw: Modified the changelog slightly.]\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nReviewed-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "21e82808fc465b66fedaac0f4e885cafb304e843",
      "tree": "58b66ddda8b7900c52e43007df6679fc352dd13e",
      "parents": [
        "2aede851ddf08666f68ffc17be446420e9d2a056"
      ],
      "author": {
        "name": "Barry Song",
        "email": "Baohua.Song@csr.com",
        "time": "Tue Sep 27 22:05:44 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:52 2011 +0200"
      },
      "message": "PM / Hibernate: Fix typo in a kerneldoc comment\n\nFix a typo in a function name in the kerneldoc comment next to\nresume_target_kernel().\n\n[rjw: Changed the subject slightly, added the changelog.]\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2aede851ddf08666f68ffc17be446420e9d2a056",
      "tree": "f63a0477c9fe618cd374065bac4cb5f172aaf7db",
      "parents": [
        "8f88893c05f2f677f18f2ce5591b4bed5d4a7535"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 26 20:32:27 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:52 2011 +0200"
      },
      "message": "PM / Hibernate: Freeze kernel threads after preallocating memory\n\nThere is a problem with the current ordering of hibernate code which\nleads to deadlocks in some filesystems\u0027 memory shrinkers.  Namely,\nsome filesystems use freezable kernel threads that are inactive when\nthe hibernate memory preallocation is carried out.  Those same\nfilesystems use memory shrinkers that may be triggered by the\nhibernate memory preallocation.  If those memory shrinkers wait for\nthe frozen kernel threads, the hibernate process deadlocks (this\nhappens with XFS, for one example).\n\nApparently, it is not technically viable to redesign the filesystems\nin question to avoid the situation described above, so the only\npossible solution of this issue is to defer the freezing of kernel\nthreads until the hibernate memory preallocation is done, which is\nimplemented by this change.\n\nUnfortunately, this requires the memory preallocation to be done\nbefore the \"prepare\" stage of device freeze, so after this change the\nonly way drivers can allocate additional memory for their freeze\nroutines in a clean way is to use PM notifiers.\n\nReported-by: Christoph \u003ccr2005@u-club.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "37cce26b32142f09a8967f6d238178af654b20de",
      "tree": "e1184828f0a9e7dfd0609793fa5ec0638731ca4b",
      "parents": [
        "528f7ce6e439edeac38f6b3f8561f1be129b5e91"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Wed Sep 21 22:47:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:51 2011 +0200"
      },
      "message": "PM / VT: Cleanup #if defined uglyness and fix compile error\n\nIntroduce the config option CONFIG_VT_CONSOLE_SLEEP in order to cleanup\nthe #if defined ugliness for the vt suspend support functions. Note that\nCONFIG_VT_CONSOLE is already dependant on CONFIG_VT.\n\nThe function pm_set_vt_switch is actually dependant on CONFIG_VT and not\nCONFIG_PM_SLEEP. This fixes a compile error when CONFIG_PM_SLEEP is\nnot set:\n\ndrivers/tty/vt/vt_ioctl.c:1794: error: redefinition of \u0027pm_set_vt_switch\u0027\ninclude/linux/suspend.h:17: error: previous definition of \u0027pm_set_vt_switch\u0027 was here\n\nAlso, remove the incorrect path from the comment in console.c.\n\n[rjw: Replaced #if defined() with #ifdef in suspend.h.]\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "528f7ce6e439edeac38f6b3f8561f1be129b5e91",
      "tree": "6f03bc001aa170656f0d49f4f5afb6352027abaa",
      "parents": [
        "85055dd805f0822f13f736bee2a521e222c38293"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Sep 21 20:55:04 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:46 2011 +0200"
      },
      "message": "PM / Suspend: Off by one in pm_suspend()\n\nIn enter_state() we use \"state\" as an offset for the pm_states[]\narray.  The pm_states[] array only has PM_SUSPEND_MAX elements so\nthis test is off by one.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "85055dd805f0822f13f736bee2a521e222c38293",
      "tree": "edbad90395fc7471732edfb5372adcd7e55e791b",
      "parents": [
        "ca123102f69fb260221502ade9bbc069290fae84"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Aug 17 20:42:24 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:46 2011 +0200"
      },
      "message": "PM / Hibernate: Include storage keys in hibernation image on s390\n\nFor s390 there is one additional byte associated with each page,\nthe storage key. This byte contains the referenced and changed\nbits and needs to be included into the hibernation image.\nIf the storage keys are not restored to their previous state all\noriginal pages would appear to be dirty. This can cause\ninconsistencies e.g. with read-only filesystems.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ca123102f69fb260221502ade9bbc069290fae84",
      "tree": "bddbe802fcfd6b0434e26bffea76bd839fdb2666",
      "parents": [
        "2a77c46de1e3dace73745015635ebbc648eca69c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 11 22:38:12 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:46 2011 +0200"
      },
      "message": "PM: Fix build issue in main.c for CONFIG_PM_SLEEP unset\n\nSuspend statistics should depend on CONFIG_PM_SLEEP, so make that\nhappen.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2a77c46de1e3dace73745015635ebbc648eca69c",
      "tree": "a801ed6ba5623c7d963377906776ade6f02eea0a",
      "parents": [
        "9bd717c0dc8224cadfd66df7eeff98c987711d98"
      ],
      "author": {
        "name": "ShuoX Liu",
        "email": "shuox.liu@intel.com",
        "time": "Wed Aug 10 23:01:26 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:27:45 2011 +0200"
      },
      "message": "PM / Suspend: Add statistics debugfs file for suspend to RAM\n\nRecord S3 failure time about each reason and the latest two failed\ndevices\u0027 names in S3 progress.\nWe can check it through \u0027suspend_stats\u0027 entry in debugfs.\n\nThe motivation of the patch:\n\nWe are enabling power features on Medfield. Comparing with PC/notebook,\na mobile enters/exits suspend-2-ram (we call it s3 on Medfield) far\nmore frequently. If it can\u0027t enter suspend-2-ram in time, the power\nmight be used up soon.\n\nWe often find sometimes, a device suspend fails. Then, system retries\ns3 over and over again. As display is off, testers and developers\ndon\u0027t know what happens.\n\nSome testers and developers complain they don\u0027t know if system\ntries suspend-2-ram, and what device fails to suspend. They need\nsuch info for a quick check. The patch adds suspend_stats under\ndebugfs for users to check suspend to RAM statistics quickly.\n\nIf not using this patch, we have other methods to get info about\nwhat device fails. One is to turn on  CONFIG_PM_DEBUG, but users\nwould get too much info and testers need recompile the system.\n\nIn addition, dynamic debug is another good tool to dump debug info.\nBut it still doesn\u0027t match our utilization scenario closely.\n1) user need write a user space parser to process the syslog output;\n2) Our testing scenario is we leave the mobile for at least hours.\n   Then, check its status. No serial console available during the\n   testing. One is because console would be suspended, and the other\n   is serial console connecting with spi or HSU devices would consume\n   power. These devices are powered off at suspend-2-ram.\n\nSigned-off-by: ShuoX Liu \u003cshuox.liu@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ab10023e0088d5075354afc7cb9e72304757dddd",
      "tree": "5e8424c9818056335baeefcddab18b0600417053",
      "parents": [
        "b6fd41e29dea9c6753b1843a77e50433e6123bcb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 10 02:04:45 2011 -0800"
      },
      "committer": {
        "name": "Santosh Shilimkar",
        "email": "santosh.shilimkar@ti.com",
        "time": "Fri Sep 23 12:05:29 2011 +0530"
      },
      "message": "cpu_pm: Add cpu power management notifiers\n\nDuring some CPU power modes entered during idle, hotplug and\nsuspend, peripherals located in the CPU power domain, such as\nthe GIC, localtimers, and VFP, may be powered down.  Add a\nnotifier chain that allows drivers for those peripherals to\nbe notified before and after they may be reset.\n\nNotified drivers can include VFP co-processor, interrupt controller\nand it\u0027s PM extensions, local CPU timers context save/restore which\nshouldn\u0027t be interrupted. Hence CPU PM event APIs  must be called\nwith interrupts disabled.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nTested-and-Acked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nTested-by: Vishwanath BS \u003cvishwanath.bs@ti.com\u003e\n"
    },
    {
      "commit": "b66213cdb002b08b29603d488c451dfe25e2ca20",
      "tree": "eebdfa34524d5cd40f30c722098e8c51457a15e0",
      "parents": [
        "91ff4cb803df6de9114351b9f2f0f39f397ee03e"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:47 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:47 2011 +0200"
      },
      "message": "PM QoS: Add global notification mechanism for device constraints\n\nAdd a global notification chain that gets called upon changes to the\naggregated constraint value for any device.\nThe notification callbacks are passing the full constraint request data\nin order for the callees to have access to it. The current use is for the\nplatform low-level code to access the target device of the constraint.\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "abe98ec2d86279fe821c9051003a0abc43444f15",
      "tree": "014f3ce775504218121194f54e2ba5b88c08c777",
      "parents": [
        "4e1779baaa542c83b459b0a56585e0c1a04c7782"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:34 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:34 2011 +0200"
      },
      "message": "PM QoS: Generalize and export constraints management code\n\nIn preparation for the per-device constratins support:\n - rename update_target to pm_qos_update_target\n - generalize and export pm_qos_update_target for usage by the upcoming\n   per-device latency constraints framework:\n   * operate on struct pm_qos_constraints for constraints management,\n   * introduce an \u0027action\u0027 parameter for constraints add/update/remove,\n   * the return value indicates if the aggregated constraint value has\n     changed,\n - update the internal code to operate on struct pm_qos_constraints\n - add a NULL pointer check in the API functions\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4e1779baaa542c83b459b0a56585e0c1a04c7782",
      "tree": "0708390d5e00c000d97b89e846a94a7006249521",
      "parents": [
        "4a31a33425a1eb92f6a0b9846f081842268361c8"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:27 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:27 2011 +0200"
      },
      "message": "PM QoS: Reorganize data structs\n\nIn preparation for the per-device constratins support, re-organize\nthe data strctures:\n - add a struct pm_qos_constraints which contains the constraints\n related data\n - update struct pm_qos_object contents to the PM QoS internal object\n data. Add a pointer to struct pm_qos_constraints\n - update the internal code to use the new data structs.\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4a31a33425a1eb92f6a0b9846f081842268361c8",
      "tree": "c31af2adb3722cdb4bfb874eb2b6669a830edaf2",
      "parents": [
        "cc74998618a66d34651c784dd02412614c3e81cc"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:20 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:20 2011 +0200"
      },
      "message": "PM QoS: Code reorganization\n\nMove around the PM QoS misc devices management code\nfor better readability.\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "cc74998618a66d34651c784dd02412614c3e81cc",
      "tree": "6ba8aba112a682039cae003f3bbcc027478ef08c",
      "parents": [
        "e8db0be1245de16a6cc6365506abc392c3c212d4"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:12 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:12 2011 +0200"
      },
      "message": "PM QoS: Minor clean-ups\n\n - Misc fixes to improve code readability:\n  * rename struct pm_qos_request_list to struct pm_qos_request,\n  * rename pm_qos_req parameter to req in internal code,\n    consistenly use req in the API parameters,\n  * update the in-kernel API callers to the new parameters names,\n  * rename of fields names (requests, list, node, constraints)\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e8db0be1245de16a6cc6365506abc392c3c212d4",
      "tree": "01cf446568080c06c8797262554f3b0f758ae137",
      "parents": [
        "b5e8d269d814763d597ccc0108d1fa6639ad35a1"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Thu Aug 25 15:35:03 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 25 15:35:03 2011 +0200"
      },
      "message": "PM QoS: Move and rename the implementation files\n\nThe PM QoS implementation files are better named\nkernel/power/qos.c and include/linux/pm_qos.h.\n\nThe PM QoS support is compiled under the CONFIG_PM option.\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "17f2ae7f677f023997e02fd2ebabd90ea2a0390d",
      "tree": "9f333057d8771adc432687417c2bfe28164f1e48",
      "parents": [
        "91d85ea6786107aa2837bef3e957165ad7c8b823"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 14 13:34:31 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 14 13:34:31 2011 +0200"
      },
      "message": "PM / Domains: Fix build for CONFIG_PM_RUNTIME unset\n\nFunction genpd_queue_power_off_work() is not defined for\nCONFIG_PM_RUNTIME, so pm_genpd_poweroff_unused() causes a build\nerror to happen in that case.  Fix the problem by making\npm_genpd_poweroff_unused() depend on CONFIG_PM_RUNTIME too.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "ba1389d74f34c0c6e95cc135a332cd29c29d9c20",
      "tree": "53813843d22cfcfe6d466a5daa44c646f8157980",
      "parents": [
        "f0c077a8b7f9dce590c760a7b2f3c417dffa52d1",
        "5ca80817e231723f1399bff495854ba2171103ca"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:09 2011 +0200"
      },
      "message": "Merge branch \u0027pm-domains\u0027 into for-linus\n\n* pm-domains: (33 commits)\n  ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active\n  PM / Domains: Take .power_off() error code into account\n  ARM / shmobile: Use genpd_queue_power_off_work()\n  ARM / shmobile: Use pm_genpd_poweroff_unused()\n  PM / Domains: Introduce function to power off all unused PM domains\n  PM / Domains: Queue up power off work only if it is not pending\n  PM / Domains: Improve handling of wakeup devices during system suspend\n  PM / Domains: Do not restore all devices on power off error\n  PM / Domains: Allow callbacks to execute all runtime PM helpers\n  PM / Domains: Do not execute device callbacks under locks\n  PM / Domains: Make failing pm_genpd_prepare() clean up properly\n  PM / Domains: Set device state to \"active\" during system resume\n  ARM: mach-shmobile: sh7372 A3RV requires A4LC\n  PM / Domains: Export pm_genpd_poweron() in header\n  ARM: mach-shmobile: sh7372 late pm domain off\n  ARM: mach-shmobile: Runtime PM late init callback\n  ARM: mach-shmobile: sh7372 D4 support\n  ARM: mach-shmobile: sh7372 A4MP support\n  ARM: mach-shmobile: sh7372: make sure that fsi is peripheral of spu2\n  ARM: mach-shmobile: sh7372 A3SG support\n  ...\n"
    },
    {
      "commit": "f0c077a8b7f9dce590c760a7b2f3c417dffa52d1",
      "tree": "ef6d08aa3ca1d79000db7d7479d98bda04a11c78",
      "parents": [
        "1d8047a6f7973470bb1de4606a6e00c0bbee3cc6"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 08 20:53:36 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:20 2011 +0200"
      },
      "message": "PM: Improve error code of pm_notifier_call_chain()\n\nThis enables pm_notifier_call_chain() to get the actual error code\nin the callback rather than always assume -EINVAL by converting all\nPM notifier calls to return encapsulate error code with\nnotifier_from_errno().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a5e4fd8783a2bec861ecf1138cdc042269ff59aa",
      "tree": "0662c2283c8d8601aa152f70a0d0abbe128fec9b",
      "parents": [
        "3b5fe85252326217cd96f24a7bda4460d8f71bee"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@ti.com",
        "time": "Mon Jun 27 01:01:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:19 2011 +0200"
      },
      "message": "PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem\n\nSome platforms wish to implement their PM core suspend code as\nmodules.  To do so, these functions need to be exported to modules.\n\n[rjw: Replaced EXPORT_SYMBOL with EXPORT_SYMBOL_GPL]\n\nReported-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3b5fe85252326217cd96f24a7bda4460d8f71bee",
      "tree": "cfcf577a53b88109d36f73577a8177279444a09f",
      "parents": [
        "99f381d3549432a250fe846a2a82d61a032804b0"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Sun Jun 12 15:57:05 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:19 2011 +0200"
      },
      "message": "PM / Suspend: Add .suspend_again() callback to suspend_ops\n\nA system or a device may need to control suspend/wakeup events. It may\nwant to wakeup the system after a predefined amount of time or at a\npredefined event decided while entering suspend for polling or delayed\nwork. Then, it may want to enter suspend again if its predefined wakeup\ncondition is the only wakeup reason and there is no outstanding events;\nthus, it does not wakeup the userspace unnecessary or unnecessary\ndevices and keeps suspended as long as possible (saving the power).\n\nEnabling a system to wakeup after a specified time can be easily\nachieved by using RTC. However, to enter suspend again immediately\nwithout invoking userland and unrelated devices, we need additional\nfeatures in the suspend framework.\n\nSuch need comes from:\n\n 1. Monitoring a critical device status without interrupts that can\nwakeup the system. (in-suspend polling)\n An example is ambient temperature monitoring that needs to shut down\nthe system or a specific device function if it is too hot or cold. The\ntemperature of a specific device may be needed to be monitored as well;\ne.g., a charger monitors battery temperature in order to stop charging\nif overheated.\n\n 2. Execute critical \"delayed work\" at suspend.\n A driver or a system/board may have a delayed work (or any similar\nthings) that it wants to execute at the requested time.\n For example, some chargers want to check the battery voltage some\ntime (e.g., 30 seconds) after the battery is fully charged and the\ncharger has stopped. Then, the charger restarts charging if the voltage\nhas dropped more than a threshold, which is smaller than \"restart-charger\"\nvoltage, which is a threshold to restart charging regardless of the\ntime passed.\n\nThis patch allows to add \"suspend_again\" callback at struct\nplatform_suspend_ops and let the \"suspend_again\" callback return true if\nthe system is required to enter suspend again after the current instance\nof wakeup. Device-wise suspend_again implemented at dev_pm_ops or\nsyscore is not done because: a) suspend_again feature is usually under\nplatform-wise decision and controls the behavior of the whole platform\nand b) There are very limited devices related to the usage cases of\nsuspend_again; chargers and temperature sensors are mentioned so far.\n\nWith suspend_again callback registered at struct platform_suspend_ops\nsuspend_ops in kernel/power/suspend.c with suspend_set_ops by the\nplatform, the suspend framework tries to enter suspend again by\nlooping suspend_enter() if suspend_again has returned true and there has\nbeen no errors in the suspending sequence or pending wakeups (by\npm_wakeup_pending).\n\nTested at Exynos4-NURI.\n\n[rjw: Fixed up kerneldoc comment for suspend_enter().]\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2dc98fd3206f8106520eced769781a21a20707ca",
      "tree": "857ed229510c30208202b9856c20434cf1f1c7cb",
      "parents": [
        "587360885c0e7aa403831c29be1984b746fd24fb"
      ],
      "author": {
        "name": "Michael Witten",
        "email": "mfwitten@gmail.com",
        "time": "Fri Jul 08 21:11:16 2011 +0000"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 11 14:20:07 2011 +0200"
      },
      "message": "doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n\nSigned-off-by: Michael Witten \u003cmfwitten@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "4d4cf23cdde2f8f9324f5684a7f349e182039529",
      "tree": "f84a26d15f1112cc7c452d1fdac3bd70857774e0",
      "parents": [
        "a2fa83faf47b514ab947cea916d3691b66525073"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 20:15:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 20:15:23 2011 +0200"
      },
      "message": "PM / Hibernate: Fix free_unnecessary_pages()\n\nThere is a bug in free_unnecessary_pages() that causes it to\nattempt to free too many pages in some cases, which triggers the\nBUG_ON() in memory_bm_clear_bit() for copy_bm.  Namely, if\ncount_data_pages() is initially greater than alloc_normal, we get\nto_free_normal equal to 0 and \"save\" greater from 0.  In that case,\nif the sum of \"save\" and count_highmem_pages() is greater than\nalloc_highmem, we subtract a positive number from to_free_normal.\nHence, since to_free_normal was 0 before the subtraction and is\nan unsigned int, the result is converted to a huge positive number\nthat is used as the number of pages to free.\n\nFix this bug by checking if to_free_normal is actually greater\nthan or equal to the number we\u0027re going to subtract from it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b7b95920aa2e89e655afe9913ee0e55855ceda90",
      "tree": "6f7f30252e2b4b518d76906706a745107288a701",
      "parents": [
        "d4f2d87a8b46c14c4307c690c92bd08229f66ecf"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:13:37 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:56 2011 +0200"
      },
      "message": "PM: Allow the clocks management code to be used during system suspend\n\nThe common clocks management code in drivers/base/power/clock_ops.c\nis going to be used during system-wide power transitions as well as\nfor runtime PM, so it shouldn\u0027t depend on CONFIG_PM_RUNTIME.\nHowever, the suspend/resume functions provided by it for\nCONFIG_PM_RUNTIME unset, to be used during system-wide power\ntransitions, should not behave in the same way as their counterparts\ndefined for CONFIG_PM_RUNTIME set, because in that case the clocks\nare managed differently at run time.\n\nThe names of the functions still contain the word \"runtime\" after\nthis change, but that is going to be modified by a separate patch\nlater.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "f721889ff65afa6243c463832c74dee3bed418d5",
      "tree": "350bcb4fd7964167189fce93d0a9352f2958b1a4",
      "parents": [
        "dc6e4e56e6ef473a696a1ab24f80b79b9aceb92d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:12:45 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:55 2011 +0200"
      },
      "message": "PM / Domains: Support for generic I/O PM domains (v8)\n\nIntroduce common headers, helper functions and callbacks allowing\nplatforms to use simple generic power domains for runtime power\nmanagement.\n\nIntroduce struct generic_pm_domain to be used for representing\npower domains that each contain a number of devices and may be\nparent domains or subdomains with respect to other power domains.\nAmong other things, this structure includes callbacks to be\nprovided by platforms for performing specific tasks related to\npower management (i.e. -\u003estop_device() may disable a device\u0027s\nclocks, while -\u003estart_device() may enable them, -\u003epower_off() is\nsupposed to remove power from the entire power domain\nand -\u003epower_on() is supposed to restore it).\n\nIntroduce functions that can be used as power domain runtime PM\ncallbacks, pm_genpd_runtime_suspend() and pm_genpd_runtime_resume(),\nas well as helper functions for the initialization of a power\ndomain represented by a struct generic_power_domain object,\nadding a device to or removing a device from it and adding or\nremoving subdomains.\n\nIntroduce configuration option CONFIG_PM_GENERIC_DOMAINS to be\nselected by the platforms that want to use the new code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "8440f4b19494467883f8541b7aa28c7bbf6ac92b",
      "tree": "3682e034553d8b9ac676e17b144fe5b15cbb0174",
      "parents": [
        "f76b168b6f117a49d36307053e1acbe30580ea5b"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Sat Jun 18 20:34:01 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:20:06 2011 +0200"
      },
      "message": "PM: Free memory bitmaps if opening /dev/snapshot fails\n\nWhen opening /dev/snapshot device, snapshot_open() creates memory\nbitmaps which are freed in snapshot_release(). But if any of the\ncallbacks called by pm_notifier_call_chain() returns NOTIFY_BAD, open()\nfails, snapshot_release() is never called and bitmaps are not freed.\nNext attempt to open /dev/snapshot then triggers BUG_ON() check in\ncreate_basic_memory_bitmaps(). This happens e.g. when vmwatchdog module\nis active on s390x.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f42a9813fbf930fea3bdd0524dcb43c7feb0c977",
      "tree": "9396a7cf0b18ff2ce04cbe4698466ad6196afc75",
      "parents": [
        "354258011e8e86961f7a72ad154ca8caf0c4c6f7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 24 23:36:06 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 24 23:36:06 2011 +0200"
      },
      "message": "PM / Hibernate: Update kerneldoc comments in hibernate.c\n\nSome of the kerneldoc comments in kernel/power/hibernate.c are\noutdated and some of them don\u0027t adhere to the kernel\u0027s standards.\nUpdate them and make them look in a consistent way.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "354258011e8e86961f7a72ad154ca8caf0c4c6f7",
      "tree": "e1c680e692a9cdddaabece1fe73dd85928bd1b23",
      "parents": [
        "4e2d9491a78929badcf774869b458486acb96365"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 24 23:35:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 24 23:35:55 2011 +0200"
      },
      "message": "PM / Hibernate: Remove arch_prepare_suspend()\n\nAll architectures supporting hibernation define\narch_prepare_suspend() as an empty function, so remove it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4e2d9491a78929badcf774869b458486acb96365",
      "tree": "772bf28990cec5c78747cbc3c99ba836d6c1737b",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 24 00:21:26 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 24 00:21:26 2011 +0200"
      },
      "message": "PM / Hibernate: Update some comments in core hibernate code\n\nSome comments in the core hibernate code are outdated, some aren\u0027t\nnecessary any more and at least one of them is plain wrong.  Remove\nthose comments or update them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "91e7c75ba93c48a82670d630b9daac92ff70095d",
      "tree": "b44ac3dca1d03cce99cccc3f4ce55d4b5475d373",
      "parents": [
        "c650da23d59d2c82307380414606774c6d49b8bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "message": "PM: Allow drivers to allocate memory from .prepare() callbacks safely\n\nIf device drivers allocate substantial amounts of memory (above 1 MB)\nin their hibernate .freeze() callbacks (or in their legacy suspend\ncallbcks during hibernation), the subsequent creation of hibernate\nimage may fail due to the lack of memory.  This is the case, because\nthe drivers\u0027 .freeze() callbacks are executed after the hibernate\nmemory preallocation has been carried out and the preallocated amount\nof memory may be too small to cover the new driver allocations.\nUnfortunately, the drivers\u0027 .prepare() callbacks also are executed\nafter the hibernate memory preallocation has completed, so they are\nnot suitable for allocating additional memory either.  Thus the only\nway a driver can safely allocate memory during hibernation is to use\na hibernate/suspend notifier.  However, the notifiers are called\nbefore the freezing of user space and the drivers wanting to use them\nfor allocating additional memory may not know how much memory needs\nto be allocated at that point.\n\nTo let device drivers overcome this difficulty rework the hibernation\nsequence so that the memory preallocation is carried out after the\ndrivers\u0027 .prepare() callbacks have been executed, so that the\n.prepare() callbacks can be used for allocating additional memory\nto be used by the drivers\u0027 .freeze() callbacks.  Update documentation\nto match the new behavior of the code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c650da23d59d2c82307380414606774c6d49b8bd",
      "tree": "b511dc2cda05ff910c745d49a309dc33445dc592",
      "parents": [
        "290c748725c170ed9a02522959ae67f528eefe98"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "message": "PM: Remove CONFIG_PM_VERBOSE\n\nNow that we have CONFIG_DYNAMIC_DEBUG there is no need for yet\nanother flag causing dev_dbg() and pr_debug() statements in the\ncore PM code to produce output.  Moreover, CONFIG_PM_VERBOSE\ncauses so much output to be generated that it\u0027s not really useful\nand almost no one sets it.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d23182\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "290c748725c170ed9a02522959ae67f528eefe98",
      "tree": "a920190b75c7e054af24d850e79cc54f5cf53263",
      "parents": [
        "2d2a9163bd4f3ba301f8138c32e4790edc30156c",
        "72874daa5e9064c4e8d689e6a04b1e96f687f872"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "message": "Merge branch \u0027power-domains\u0027 into for-linus\n\n* power-domains:\n  PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n  PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n  OMAP1 / PM: Use generic clock manipulation routines for runtime PM\n  PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)\n  PM / Runtime: Add subsystem data field to struct dev_pm_info\n  OMAP2+ / PM: move runtime PM implementation to use device power domains\n  PM / Platform: Use generic runtime PM callbacks directly\n  shmobile: Use power domains for platform runtime PM\n  PM: Export platform bus type\u0027s default PM callbacks\n  PM: Make power domain callbacks take precedence over subsystem ones\n"
    },
    {
      "commit": "2d2a9163bd4f3ba301f8138c32e4790edc30156c",
      "tree": "ac7d43e6c4f6a2f357454c42d762595cc358104d",
      "parents": [
        "1c1be3a949a61427a962771c85a347c822aeb991",
        "2e711c04dbbf7a7732a3f7073b1fc285d12b369d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:40 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:40 2011 +0200"
      },
      "message": "Merge branch \u0027syscore\u0027 into for-linus\n\n* syscore:\n  PM: Remove sysdev suspend, resume and shutdown operations\n  PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM\n  PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM\n  PM / AVR32: Use struct syscore_ops instead of sysdevs for PM\n  PM / Blackfin: Use struct syscore_ops instead of sysdevs for PM\n  ARM / Samsung: Use struct syscore_ops for \"core\" power management\n  ARM / PXA: Use struct syscore_ops for \"core\" power management\n  ARM / SA1100: Use struct syscore_ops for \"core\" power management\n  ARM / Integrator: Use struct syscore_ops for core PM\n  ARM / OMAP: Use struct syscore_ops for \"core\" power management\n  ARM: Use struct syscore_ops instead of sysdevs for PM in common code\n"
    },
    {
      "commit": "1c1be3a949a61427a962771c85a347c822aeb991",
      "tree": "f87ed0b7a008cfe5fb4bcb338352cc3febed18d5",
      "parents": [
        "ddeb648708108091a641adad0a438ec4fd8bf190"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 15 11:39:48 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:19 2011 +0200"
      },
      "message": "Revert \"PM / Hibernate: Reduce autotuned default image size\"\n\nThis reverts commit bea3864fb627d110933cfb8babe048b63c4fc76e\n(PM / Hibernate: Reduce autotuned default image size), because users\nare now able to resolve the issue this commit was supposed to address\nin a different way (i.e. by using the new /sys/power/reserved_size\ninterface).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ddeb648708108091a641adad0a438ec4fd8bf190",
      "tree": "722367ce903d362af29898db7c2bc2c1058d80c5",
      "parents": [
        "13e381365614855bf14c8ad68f9b65e3afd3dd2c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 15 11:38:48 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:19 2011 +0200"
      },
      "message": "PM / Hibernate: Add sysfs knob to control size of memory for drivers\n\nMartin reports that on his system hibernation occasionally fails due\nto the lack of memory, because the radeon driver apparently allocates\ntoo much of it during the device freeze stage.  It turns out that the\namount of memory allocated by radeon during hibernation (and\npresumably during system suspend too) depends on the utilization of\nthe GPU (e.g. hibernating while there are two KDE 4 sessions with\ncompositing enabled causes radeon to allocate more memory than for\none KDE 4 session).\n\nIn principle it should be possible to use image_size to make the\nmemory preallocation mechanism free enough memory for the radeon\ndriver, but in practice it is not easy to guess the right value\nbecause of the way the preallocation code uses image_size.  For this\nreason, it seems reasonable to allow users to control the amount of\nmemory reserved for driver allocations made after the hibernate\npreallocation, which currently is constant and amounts to 1 MB.\n\nIntroduce a new sysfs file, /sys/power/reserved_size, whose value\nwill be used as the amount of memory to reserve for the\npost-preallocation reservations made by device drivers, in bytes.\nFor backwards compatibility, set its default (and initial) value to\nthe currently used number (1 MB).\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d34102\nReported-and-tested-by: Martin Steigerwald \u003cMartin@Lichtvoll.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3c431936087e93d2219a184a8e19eaa68077e379",
      "tree": "65b9bd696100c808ae02d6c235990a2c4fbb7104",
      "parents": [
        "c1d10d18c542278b7fbc413c289d3cb6219da6b3"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Fri Apr 22 22:00:54 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:16 2011 +0200"
      },
      "message": "PM / Suspend: Do not ignore error codes returned by suspend_enter()\n\nThe current implementation of suspend-to-RAM returns 0 if there is an\nerror from suspend_enter(), because suspend_devices_and_enter() ignores\nthe return value from suspend_enter().  This patch addresses this issue\nand properly keep the error return from suspend_enter() and let\nsuspend_devices_and_enter relay the error return.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2e711c04dbbf7a7732a3f7073b1fc285d12b369d",
      "tree": "dbc06a3fff744144d7937a205a91fd8ce71585d4",
      "parents": [
        "f5a592f7d74e38c5007876c731e6bf5580072e63"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 19:15:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 11 21:37:15 2011 +0200"
      },
      "message": "PM: Remove sysdev suspend, resume and shutdown operations\n\nSince suspend, resume and shutdown operations in struct sysdev_class\nand struct sysdev_driver are not used any more, remove them.  Also\ndrop sysdev_suspend(), sysdev_resume() and sysdev_shutdown() used\nfor executing those operations and modify all of their users\naccordingly.  This reduces kernel code size quite a bit and reduces\nits complexity.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "36cb7035ea0c11ef2c7fa2bbe0cd181b23569b29",
      "tree": "d7d62149629bda6a916693232885b96ca34f30f3",
      "parents": [
        "9744997a8a2280e67984d4bffd87221d24f3b6b1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 10 21:10:13 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 11 21:10:58 2011 +0200"
      },
      "message": "PM / Hibernate: Fix ioctl SNAPSHOT_S2RAM\n\nThe SNAPSHOT_S2RAM ioctl used for implementing the feature allowing\none to suspend to RAM after creating a hibernation image is currently\nbroken, because it doesn\u0027t clear the \"ready\" flag in the struct\nsnapshot_data object handled by it.  As a result, the\nSNAPSHOT_UNFREEZE doesn\u0027t work correctly after SNAPSHOT_S2RAM has\nreturned and the user space hibernate task cannot thaw the other\nprocesses as appropriate.  Make SNAPSHOT_S2RAM clear data-\u003eready\nto fix this problem.\n\nTested-by: Alexandre Felipe Muller de Souza \u003calexandrefm@mandriva.com.br\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9744997a8a2280e67984d4bffd87221d24f3b6b1",
      "tree": "fde6744d42fcd742fb1cd1532609a1f13a1cc42d",
      "parents": [
        "87186475a402391a1ca7d42a675c9b35a18dc348"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 10 21:10:01 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 11 21:10:43 2011 +0200"
      },
      "message": "PM / Hibernate: Make snapshot_release() restore GFP mask\n\nIf the process using the hibernate user space interface closes\n/dev/snapshot after creating a hibernation image without thawing\ntasks, snapshot_release() should call pm_restore_gfp_mask() to\nrestore the GFP mask used before the creation of the image.  Make\nthat happen.\n\nTested-by: Alexandre Felipe Muller de Souza \u003calexandrefm@mandriva.com.br\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "87186475a402391a1ca7d42a675c9b35a18dc348",
      "tree": "01b52ab26eb3b4fed09ca7fb11da4fcc1dddb32a",
      "parents": [
        "54b333529df25b21da462c7dcc16c7dc779d9f26"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 10 21:09:53 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 11 21:10:14 2011 +0200"
      },
      "message": "PM: Fix warning in pm_restrict_gfp_mask() during SNAPSHOT_S2RAM ioctl\n\nA warning is printed by pm_restrict_gfp_mask() while the\nSNAPSHOT_S2RAM ioctl is being executed after creating a hibernation\nimage, because pm_restrict_gfp_mask() has been called once already\nbefore the image creation and suspend_devices_and_enter() calls it\nonce again.  This happens after commit 452aa6999e6703ffbddd7f6ea124d3\n(mm/pm: force GFP_NOIO during suspend/hibernation and resume).\n\nTo avoid this issue, move pm_restrict_gfp_mask() and\npm_restore_gfp_mask() from suspend_devices_and_enter() to its caller\nin kernel/power/suspend.c.\n\nReported-by: Alexandre Felipe Muller de Souza \u003calexandrefm@mandriva.com.br\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    }
  ],
  "next": "85eb8c8d0b0900c073b0e6f89979ac9c439ade1a"
}
