)]}'
{
  "log": [
    {
      "commit": "e5248a111bf4048a9f3fab1a9c94c4630a10592a",
      "tree": "8d69fdd878f0c78e87bdd9c5d561b1e241bc6527",
      "parents": [
        "aae760ed21cd690fe8a6db9f3a177ad55d7e12ab"
      ],
      "author": {
        "name": "Liu ShuoX",
        "email": "shuox.liu@intel.com",
        "time": "Thu Jul 11 16:03:45 2013 +0800"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Mon Jul 15 01:31:37 2013 +0200"
      },
      "message": "PM / Sleep: avoid \u0027autosleep\u0027 in shutdown progress\n\nPrevent automatic system suspend from happening during system\nshutdown by making try_to_suspend() check system_state and return\nimmediately if it is not SYSTEM_RUNNING.\n\nThis prevents the following breakage from happening (scenario from\nZhang Yanmin):\n\n Kernel starts shutdown and calls all device driver\u0027s shutdown\n callback.  When a driver\u0027s shutdown is called, the last wakelock is\n released and suspend-to-ram starts.  However, as some driver\u0027s shut\n down callbacks already shut down devices and disabled runtime pm,\n the suspend-to-ram calls driver\u0027s suspend callback without noticing\n that device is already off and causes crash.\n\n[rjw: Changelog]\nSigned-off-by: Liu ShuoX \u003cshuox.liu@intel.com\u003e\nCc: 3.5+ \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "7f0ef0267e20d62d45d527911a993b1e998f4968",
      "tree": "de51abc7da5903f59d83e23937f22420164c9477",
      "parents": [
        "862f0012549110d6f2586bf54b52ed4540cbff3a",
        "9307c29524502c21f0e8a6d96d850b2f5bc0bd9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 17:12:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 17:12:13 2013 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (updates from Andrew Morton)\n\nMerge first patch-bomb from Andrew Morton:\n - various misc bits\n - I\u0027m been patchmonkeying ocfs2 for a while, as Joel and Mark have been\n   distracted.  There has been quite a bit of activity.\n - About half the MM queue\n - Some backlight bits\n - Various lib/ updates\n - checkpatch updates\n - zillions more little rtc patches\n - ptrace\n - signals\n - exec\n - procfs\n - rapidio\n - nbd\n - aoe\n - pps\n - memstick\n - tools/testing/selftests updates\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (445 commits)\n  tools/testing/selftests: don\u0027t assume the x bit is set on scripts\n  selftests: add .gitignore for kcmp\n  selftests: fix clean target in kcmp Makefile\n  selftests: add .gitignore for vm\n  selftests: add hugetlbfstest\n  self-test: fix make clean\n  selftests: exit 1 on failure\n  kernel/resource.c: remove the unneeded assignment in function __find_resource\n  aio: fix wrong comment in aio_complete()\n  drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode\n  drivers/memstick/host/r592.c: convert to module_pci_driver\n  drivers/memstick/host/jmb38x_ms: convert to module_pci_driver\n  pps-gpio: add device-tree binding and support\n  drivers/pps/clients/pps-gpio.c: convert to module_platform_driver\n  drivers/pps/clients/pps-gpio.c: convert to devm_* helpers\n  drivers/parport/share.c: use kzalloc\n  Documentation/accounting/getdelays.c: avoid strncpy in accounting tool\n  aoe: update internal version number to v83\n  aoe: update copyright date\n  aoe: perform I/O completions in parallel\n  ...\n"
    },
    {
      "commit": "0ed5fd138539940a493dc69359cb2f49de70ad89",
      "tree": "0c2efcb37db83a6fc4f11382d3c52492606cc377",
      "parents": [
        "7ee3d4e8cd560500192d80ca84d7f15d6dee0807"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Wed Jul 03 15:03:43 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 16:07:35 2013 -0700"
      },
      "message": "mm: use totalram_pages instead of num_physpages at runtime\n\nThe global variable num_physpages is scheduled to be removed, so use\ntotalram_pages instead of num_physpages at runtime.\n\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f991fae5c6d42dfc5029150b05a78cf3f6c18cc9",
      "tree": "d140deb437bde0631778b4984eeb72c1f4ee0c1d",
      "parents": [
        "d4141531f63a29bb2a980092b6f2828c385e6edd",
        "2c843bd92ec276ecb68504b3b5ffa7066183f032"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 14:35:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 14:35:40 2013 -0700"
      },
      "message": "Merge tag \u0027pm+acpi-3.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management and ACPI updates from Rafael Wysocki:\n \"This time the total number of ACPI commits is slightly greater than\n  the number of cpufreq commits, but Viresh Kumar (who works on cpufreq)\n  remains the most active patch submitter.\n\n  To me, the most significant change is the addition of offline/online\n  device operations to the driver core (with the Greg\u0027s blessing) and\n  the related modifications of the ACPI core hotplug code.  Next are the\n  freezer updates from Colin Cross that should make the freezing of\n  tasks a bit less heavy weight.\n\n  We also have a couple of regression fixes, a number of fixes for\n  issues that have not been identified as regressions, two new drivers\n  and a bunch of cleanups all over.\n\n  Highlights:\n\n   - Hotplug changes to support graceful hot-removal failures.\n\n     It sometimes is necessary to fail device hot-removal operations\n     gracefully if they cannot be carried out completely.  For example,\n     if memory from a memory module being hot-removed has been allocated\n     for the kernel\u0027s own use and cannot be moved elsewhere, it\u0027s\n     desirable to fail the hot-removal operation in a graceful way\n     rather than to crash the kernel, but currenty a success or a kernel\n     crash are the only possible outcomes of an attempted memory\n     hot-removal.  Needless to say, that is not a very attractive\n     alternative and it had to be addressed.\n\n     However, in order to make it work for memory, I first had to make\n     it work for CPUs and for this purpose I needed to modify the ACPI\n     processor driver.  It\u0027s been split into two parts, a resident one\n     handling the low-level initialization/cleanup and a modular one\n     playing the actual driver\u0027s role (but it binds to the CPU system\n     device objects rather than to the ACPI device objects representing\n     processors).  That\u0027s been sort of like a live brain surgery on a\n     patient who\u0027s riding a bike.\n\n     So this is a little scary, but since we found and fixed a couple of\n     regressions it caused to happen during the early linux-next testing\n     (a month ago), nobody has complained.\n\n     As a bonus we remove some duplicated ACPI hotplug code, because the\n     ACPI-based CPU hotplug is now going to use the common ACPI hotplug\n     code.\n\n   - Lighter weight freezing of tasks.\n\n     These changes from Colin Cross and Mandeep Singh Baines are\n     targeted at making the freezing of tasks a bit less heavy weight\n     operation.  They reduce the number of tasks woken up every time\n     during the freezing, by using the observation that the freezer\n     simply doesn\u0027t need to wake up some of them and wait for them all\n     to call refrigerator().  The time needed for the freezer to decide\n     to report a failure is reduced too.\n\n     Also reintroduced is the check causing a lockdep warining to\n     trigger when try_to_freeze() is called with locks held (which is\n     generally unsafe and shouldn\u0027t happen).\n\n   - cpufreq updates\n\n     First off, a commit from Srivatsa S Bhat fixes a resume regression\n     introduced during the 3.10 cycle causing some cpufreq sysfs\n     attributes to return wrong values to user space after resume.  The\n     fix is kind of fresh, but also it\u0027s pretty obvious once Srivatsa\n     has identified the root cause.\n\n     Second, we have a new freqdomain_cpus sysfs attribute for the\n     acpi-cpufreq driver to provide information previously available via\n     related_cpus.  From Lan Tianyu.\n\n     Finally, we fix a number of issues, mostly related to the\n     CPUFREQ_POSTCHANGE notifier and cpufreq Kconfig options and clean\n     up some code.  The majority of changes from Viresh Kumar with bits\n     from Jacob Shin, Heiko Stübner, Xiaoguang Chen, Ezequiel Garcia,\n     Arnd Bergmann, and Tang Yuantian.\n\n   - ACPICA update\n\n     A usual bunch of updates from the ACPICA upstream.\n\n     During the 3.4 cycle we introduced support for ACPI 5 extended\n     sleep registers, but they are only supposed to be used if the\n     HW-reduced mode bit is set in the FADT flags and the code attempted\n     to use them without checking that bit.  That caused suspend/resume\n     regressions to happen on some systems.  Fix from Lv Zheng causes\n     those registers to be used only if the HW-reduced mode bit is set.\n\n     Apart from this some other ACPICA bugs are fixed and code cleanups\n     are made by Bob Moore, Tomasz Nowicki, Lv Zheng, Chao Guan, and\n     Zhang Rui.\n\n   - cpuidle updates\n\n     New driver for Xilinx Zynq processors is added by Michal Simek.\n\n     Multidriver support simplification, addition of some missing\n     kerneldoc comments and Kconfig-related fixes come from Daniel\n     Lezcano.\n\n   - ACPI power management updates\n\n     Changes to make suspend/resume work correctly in Xen guests from\n     Konrad Rzeszutek Wilk, sparse warning fix from Fengguang Wu and\n     cleanups and fixes of the ACPI device power state selection\n     routine.\n\n   - ACPI documentation updates\n\n     Some previously missing pieces of ACPI documentation are added by\n     Lv Zheng and Aaron Lu (hopefully, that will help people to\n     uderstand how the ACPI subsystem works) and one outdated doc is\n     updated by Hanjun Guo.\n\n   - Assorted ACPI updates\n\n     We finally nailed down the IA-64 issue that was the reason for\n     reverting commit 9f29ab11ddbf (\"ACPI / scan: do not match drivers\n     against objects having scan handlers\"), so we can fix it and move\n     the ACPI scan handler check added to the ACPI video driver back to\n     the core.\n\n     A mechanism for adding CMOS RTC address space handlers is\n     introduced by Lan Tianyu to allow some EC-related breakage to be\n     fixed on some systems.\n\n     A spec-compliant implementation of acpi_os_get_timer() is added by\n     Mika Westerberg.\n\n     The evaluation of _STA is added to do_acpi_find_child() to avoid\n     situations in which a pointer to a disabled device object is\n     returned instead of an enabled one with the same _ADR value.  From\n     Jeff Wu.\n\n     Intel BayTrail PCH (Platform Controller Hub) support is added to\n     the ACPI driver for Intel Low-Power Subsystems (LPSS) and that\n     driver is modified to work around a couple of known BIOS issues.\n     Changes from Mika Westerberg and Heikki Krogerus.\n\n     The EC driver is fixed by Vasiliy Kulikov to use get_user() and\n     put_user() instead of dereferencing user space pointers blindly.\n\n     Code cleanups are made by Bjorn Helgaas, Nicholas Mazzuca and Toshi\n     Kani.\n\n   - Assorted power management updates\n\n     The \"runtime idle\" helper routine is changed to take the return\n     values of the callbacks executed by it into account and to call\n     rpm_suspend() if they return 0, which allows us to reduce the\n     overall code bloat a bit (by dropping some code that\u0027s not\n     necessary any more after that modification).\n\n     The runtime PM documentation is updated by Alan Stern (to reflect\n     the \"runtime idle\" behavior change).\n\n     New trace points for PM QoS are added by Sahara\n     (\u003ckeun-o.park@windriver.com\u003e).\n\n     PM QoS documentation is updated by Lan Tianyu.\n\n     Code cleanups are made and minor issues are addressed by Bernie\n     Thompson, Bjorn Helgaas, Julius Werner, and Shuah Khan.\n\n   - devfreq updates\n\n     New driver for the Exynos5-bus device from Abhilash Kesavan.\n\n     Minor cleanups, fixes and MAINTAINERS update from MyungJoo Ham,\n     Abhilash Kesavan, Paul Bolle, Rajagopal Venkat, and Wei Yongjun.\n\n   - OMAP power management updates\n\n     Adaptive Voltage Scaling (AVS) SmartReflex voltage control driver\n     updates from Andrii Tseglytskyi and Nishanth Menon.\"\n\n* tag \u0027pm+acpi-3.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (162 commits)\n  cpufreq: Fix cpufreq regression after suspend/resume\n  ACPI / PM: Fix possible NULL pointer deref in acpi_pm_device_sleep_state()\n  PM / Sleep: Warn about system time after resume with pm_trace\n  cpufreq: don\u0027t leave stale policy pointer in cdbs-\u003ecur_policy\n  acpi-cpufreq: Add new sysfs attribute freqdomain_cpus\n  cpufreq: make sure frequency transitions are serialized\n  ACPI: implement acpi_os_get_timer() according the spec\n  ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan\n  ACPI: Add CMOS RTC Operation Region handler support\n  ACPI / processor: Drop unused variable from processor_perflib.c\n  cpufreq: tegra: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: s3c64xx: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: omap: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: imx6q: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: exynos: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: dbx500: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: davinci: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: arm-big-little: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: powernow-k8: call CPUFREQ_POSTCHANGE notfier in error cases\n  cpufreq: pcc: call CPUFREQ_POSTCHANGE notfier in error cases\n  ...\n"
    },
    {
      "commit": "f317ff9eed763e99bd226a447f93d42509434f43",
      "tree": "d77edfcdb1e7c32c30327f50dce04bcff8ec1531",
      "parents": [
        "13cc56013842a847a0f6ff805d9ed9181e753ef8",
        "a85f1a41f020bc2c97611060bcfae6f48a1db28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 19:53:30 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 19:53:30 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"Surprisingly, Lai and I didn\u0027t break too many things implementing\n  custom pools and stuff last time around and there aren\u0027t any follow-up\n  changes necessary at this point.\n\n  The only change in this pull request is Viresh\u0027s patches to make some\n  per-cpu workqueues to behave as unbound workqueues dependent on a boot\n  param whose default can be configured via a config option.  This leads\n  to higher processing overhead / lower bandwidth as more work items are\n  bounced across CPUs; however, it can lead to noticeable powersave in\n  certain configurations - ~10% w/ idlish constant workload on a\n  big.LITTLE configuration according to Viresh.\n\n  This is because per-cpu workqueues interfere with how the scheduler\n  perceives whether or not each CPU is idle by forcing pinned tasks on\n  them, which makes the scheduler\u0027s power-aware scheduling decisions\n  less effective.\n\n  Its effectiveness is likely less pronounced on homogenous\n  configurations and this type of optimization can probably be made\n  automatic; however, the changes are pretty minimal and the affected\n  workqueues are clearly marked, so it\u0027s an easy gain for some\n  configurations for the time being with pretty unintrusive changes.\"\n\n* \u0027for-3.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  fbcon: queue work on power efficient wq\n  block: queue work on power efficient wq\n  PHYLIB: queue work on system_power_efficient_wq\n  workqueue: Add system wide power_efficient workqueues\n  workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues\n"
    },
    {
      "commit": "867a420b222b25e9608f4430bea3af50835b56b5",
      "tree": "d251c69f5a29721e6d4966ccd0d0cb45f9114b30",
      "parents": [
        "5c0b1b2003362c9015ee3324816c0966efaa0f88",
        "9dceefe483d7640ba0bbf3e53d1db880e7469aba"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Sat Jun 29 15:03:51 2013 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Sat Jun 29 15:03:51 2013 +0200"
      },
      "message": "Merge branch \u0027pm-assorted\u0027\n\n* pm-assorted:\n  PM / Sleep: Warn about system time after resume with pm_trace\n"
    },
    {
      "commit": "e52cff8bdd4a30c40a7f65c7ea8f1f425f8a15eb",
      "tree": "1729332ebab51bb560ca64effe46cdab38ab537f",
      "parents": [
        "405a1086bdd091d2d55db0ac905cd6332b35cec1",
        "f5ce1572109049b90484e2bb44927cb6034c5eb1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Fri Jun 28 13:01:40 2013 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Fri Jun 28 13:01:40 2013 +0200"
      },
      "message": "Merge branch \u0027pm-assorted\u0027\n\n* pm-assorted:\n  PM / QoS: Add pm_qos and dev_pm_qos to events-power.txt\n  PM / QoS: Add dev_pm_qos_request tracepoints\n  PM / QoS: Add pm_qos_request tracepoints\n  PM / QoS: Add pm_qos_update_target/flags tracepoints\n  PM / QoS: Update Documentation/power/pm_qos_interface.txt\n  PM / Sleep: Print last wakeup source on failed wakeup_count write\n  PM / QoS: correct the valid range of pm_qos_class\n  PM / wakeup: Adjust messaging for wake events during suspend\n  PM / Runtime: Update .runtime_idle() callback documentation\n  PM / Runtime: Rework the \"runtime idle\" helper routine\n  PM / Hibernate: print physical addresses consistently with other parts of kernel\n"
    },
    {
      "commit": "9dceefe483d7640ba0bbf3e53d1db880e7469aba",
      "tree": "eab1027aa00fd0dae67a01314f1789dce7fa57c7",
      "parents": [
        "f5ce1572109049b90484e2bb44927cb6034c5eb1"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuah.kh@samsung.com",
        "time": "Wed Jun 26 16:27:35 2013 -0600"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Thu Jun 27 22:14:46 2013 +0200"
      },
      "message": "PM / Sleep: Warn about system time after resume with pm_trace\n\npm_trace uses the system\u0027s Real Time Clock (RTC) to save the magic\nnumber.  The reason for this is that the RTC is the only reliably\navailable piece of hardware during resume operations where a value\ncan be set that will survive a reboot.\n\nConsequence is that after a resume (even if it is successful) your\nsystem clock will have a value corresponding to the magic number\ninstead of the correct date/time!  It is therefore advisable to use\na program like ntp-date or rdate to reset the correct date/time from\nan external time source when using this trace option.\n\nThere is no run-time message to warn users of the consequences of\nenabling pm_trace.  Adding a warning message to pm_trace_store()\nwill serve as a reminder to users to set the system date and time\nafter resume.\n\nSigned-off-by: Shuah Khan \u003cshuah.kh@samsung.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "ae8822b842e229fa4459fca2d979b630d812311d",
      "tree": "b95b7c91426f15617cc370c874858e2d25b6fd9c",
      "parents": [
        "247e9ee034b0448a585afa16e292cbb9dc0aef68"
      ],
      "author": {
        "name": "Sahara",
        "email": "keun-o.park@windriver.com",
        "time": "Fri Jun 21 11:12:29 2013 +0900"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Mon Jun 24 13:09:03 2013 +0200"
      },
      "message": "PM / QoS: Add pm_qos_request tracepoints\n\nAdds tracepoints to pm_qos_add_request, pm_qos_update_request,\npm_qos_remove_request, and pm_qos_update_request_timeout.\nIt\u0027s useful for checking pm_qos_class, value, and timeout_us.\n\nSigned-off-by: Sahara \u003ckeun-o.park@windriver.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "247e9ee034b0448a585afa16e292cbb9dc0aef68",
      "tree": "a6feaff9bd5bf5116e79432b96ae3cb6f0345381",
      "parents": [
        "d30b82a46942cda5c0af3744142a650db0732a7c"
      ],
      "author": {
        "name": "Sahara",
        "email": "keun-o.park@windriver.com",
        "time": "Fri Jun 21 11:12:28 2013 +0900"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Mon Jun 24 13:09:03 2013 +0200"
      },
      "message": "PM / QoS: Add pm_qos_update_target/flags tracepoints\n\nThis patch adds tracepoints to pm_qos_update_target and\npm_qos_update_flags. It\u0027s useful for checking pm qos action,\nprevious value and current value.\n\nSigned-off-by: Sahara \u003ckeun-o.park@windriver.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "bb177fedd348c92c2bea6adc9a2163ebff15272e",
      "tree": "85a9ea53b0a15f56bbb0427adbdd85002b0a3265",
      "parents": [
        "d24c2a4f919d17bd1ae4f4010a38ab07ece99cf7"
      ],
      "author": {
        "name": "Julius Werner",
        "email": "jwerner@chromium.org",
        "time": "Wed Jun 12 12:55:22 2013 -0700"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Fri Jun 21 00:35:12 2013 +0200"
      },
      "message": "PM / Sleep: Print last wakeup source on failed wakeup_count write\n\nCommit a938da06 introduced a useful little log message to tell\nusers/debuggers which wakeup source aborted a suspend.  However,\nthis message is only printed if the abort happens during the\nin-kernel suspend path (after writing /sys/power/state).\n\nThe full specification of the /sys/power/wakeup_count facility\nallows user-space power managers to double-check if wakeups have\nalready happened before it actually tries to suspend (e.g. while it\nwas running user-space pre-suspend hooks), by writing the last known\nwakeup_count value to /sys/power/wakeup_count.  This patch changes\nthe sysfs handler for that node to also print said log message if\nthat write fails, so that we can figure out the offending wakeup\nsource for both kinds of suspend aborts.\n\nSigned-off-by: Julius Werner \u003cjwerner@chromium.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "d24c2a4f919d17bd1ae4f4010a38ab07ece99cf7",
      "tree": "78ab757e2b4143ef5cc6a7488802634f7378fcda",
      "parents": [
        "9350de06be45a5a8b927ac6577c9d35de61c90ca"
      ],
      "author": {
        "name": "Sahara",
        "email": "keun-o.park@windriver.com",
        "time": "Thu Jun 20 11:33:57 2013 +0900"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Fri Jun 21 00:24:01 2013 +0200"
      },
      "message": "PM / QoS: correct the valid range of pm_qos_class\n\nThe valid start index for pm_qos_array is not 0, but\nPM_QOS_CPU_DMA_LATENCY. There is a null_pm_qos at index 0 of\npm_qos_array.  However, null_pm_qos is not created as misc device so\nthat inclusion of 0 index for checking pm_qos_class especially for\nfile operations is not proper here.\n\n[rjw: Changelog, a bit]\nSigned-off-by: Sahara \u003ckeun-o.park@windriver.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "9350de06be45a5a8b927ac6577c9d35de61c90ca",
      "tree": "ad2b68e1cfc2796fb355937a9347b4d6b3acdeb6",
      "parents": [
        "43d51af489126305dbacc1b8ebd1ce4797d277ea"
      ],
      "author": {
        "name": "Bernie Thompson",
        "email": "bhthompson@chromium.org",
        "time": "Sat Jun 01 00:47:43 2013 +0000"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Jun 11 23:53:37 2013 +0200"
      },
      "message": "PM / wakeup: Adjust messaging for wake events during suspend\n\nThis adds in a new message to the wakeup code which adds an\nindication to the log that suspend was cancelled due to a wake event\noccouring during the suspend sequence. It also adjusts the message\nprinted in suspend.c to reflect the potential that a suspend was\naborted, as opposed to a device failing to suspend.\n\nWithout these message adjustments one can end up with a kernel log\nthat says that a device failed to suspend with no actual device\nsuspend failures, which can be confusing to the log examiner.\n\nSigned-off-by: Bernie Thompson \u003cbhthompson@chromium.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "40b313608ad4ea655addd2ec6cdd106477ae8e15",
      "tree": "371f6ad524c7d85901bc9002ff2960ea10cb5154",
      "parents": [
        "af5bc11e9aa19f72a2d5ccd44611cb6268a60a34"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue May 21 13:49:35 2013 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 03 14:20:18 2013 -0700"
      },
      "message": "Finally eradicate CONFIG_HOTPLUG\n\nEver since commit 45f035ab9b8f (\"CONFIG_HOTPLUG should be always on\"),\nit has been basically impossible to build a kernel with CONFIG_HOTPLUG\nturned off.  Remove all the remaining references to it.\n\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "cd38ca854de15b26eb91009137cbe157d8a8e773",
      "tree": "dc7b478f70e2b7c050c141a0d499a7e15c2df1c2",
      "parents": [
        "d683b96b072dc4680fc74964eca77e6a23d1fa6e"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Mon Jun 03 18:20:29 2013 +0000"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Mon Jun 03 21:48:18 2013 +0200"
      },
      "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\nused elsewhere in the kernel.\n\nCommit 69f1d475cc did this for a similar printk in this file, but I\nmust have missed this one.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "cee22a15052faa817e3ec8985a28154d3fabc7aa",
      "tree": "506028de7bd3bf7de08a7933b5601355f27c5262",
      "parents": [
        "f722406faae2d073cc1d01063d1123c35425939e"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Mon Apr 08 16:45:40 2013 +0530"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue May 14 10:50:06 2013 -0700"
      },
      "message": "workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues\n\nWorkqueues can be performance or power-oriented. Currently, most workqueues are\nbound to the CPU they were created on. This gives good performance (due to cache\neffects) at the cost of potentially waking up otherwise idle cores (Idle from\nscheduler\u0027s perspective. Which may or may not be physically idle) just to\nprocess some work. To save power, we can allow the work to be rescheduled on a\ncore that is already awake.\n\nWorkqueues created with the WQ_UNBOUND flag will allow some power savings.\nHowever, we don\u0027t change the default behaviour of the system.  To enable\npower-saving behaviour, a new config option CONFIG_WQ_POWER_EFFICIENT needs to\nbe turned on. This option can also be overridden by the\nworkqueue.power_efficient boot parameter.\n\ntj: Updated config description and comments.  Renamed\n    CONFIG_WQ_POWER_EFFICIENT to CONFIG_WQ_POWER_EFFICIENT_DEFAULT.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nReviewed-by: Amit Kucheria \u003camit.kucheria@linaro.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "18ad0c6297df1d671ecea83b608cd9e432642a05",
      "tree": "58970dae7d585d0a6ba9d0a596fa757affea0567",
      "parents": [
        "0f9548ca10916dec166eaf74c816bded7d8e611d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 06 23:50:10 2013 +0000"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Sun May 12 14:16:22 2013 +0200"
      },
      "message": "freezer: shorten freezer sleep time using exponential backoff\n\nAll tasks can easily be frozen in under 10 ms, switch to using\nan initial 1 ms sleep followed by exponential backoff until\n8 ms.  Also convert the printed time to ms instead of centiseconds.\n\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "20a2078ce7705a6e0722ef5184336eb8657a58d8",
      "tree": "5b927c96516380aa0ecd68d8a609f7cd72120ad5",
      "parents": [
        "0279b3c0ada1d78882f24acf94ac4595bd657a89",
        "307b9c022720f9de90d58e51743e01e9a42aec59"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 19:40:34 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 19:40:34 2013 -0700"
      },
      "message": "Merge branch \u0027drm-next\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull drm updates from Dave Airlie:\n \"This is the main drm pull request for 3.10.\n\n  Wierd bits:\n   - OMAP drm changes required OMAP dss changes, in drivers/video, so I\n     took them in here.\n   - one more fbcon fix for font handover\n   - VT switch avoidance in pm code\n   - scatterlist helpers for gpu drivers - have acks from akpm\n\n  Highlights:\n   - qxl kms driver - driver for the spice qxl virtual GPU\n\n  Nouveau:\n   - fermi/kepler VRAM compression\n   - GK110/nvf0 modesetting support.\n\n  Tegra:\n   - host1x core merged with 2D engine support\n\n  i915:\n   - vt switchless resume\n   - more valleyview support\n   - vblank fixes\n   - modesetting pipe config rework\n\n  radeon:\n   - UVD engine support\n   - SI chip tiling support\n   - GPU registers initialisation from golden values.\n\n  exynos:\n   - device tree changes\n   - fimc block support\n\n  Otherwise:\n   - bunches of fixes all over the place.\"\n\n* \u0027drm-next\u0027 of git://people.freedesktop.org/~airlied/linux: (513 commits)\n  qxl: update to new idr interfaces.\n  drm/nouveau: fix build with nv50-\u003envc0\n  drm/radeon: fix handling of v6 power tables\n  drm/radeon: clarify family checks in pm table parsing\n  drm/radeon: consolidate UVD clock programming\n  drm/radeon: fix UPLL_REF_DIV_MASK definition\n  radeon: add bo tracking debugfs\n  drm/radeon: add new richland pci ids\n  drm/radeon: add some new SI PCI ids\n  drm/radeon: fix scratch reg handling for UVD fence\n  drm/radeon: allocate SA bo in the requested domain\n  drm/radeon: fix possible segfault when parsing pm tables\n  drm/radeon: fix endian bugs in atom_allocate_fb_scratch()\n  OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found\n  OMAPDSS: VENC: Add error handling for venc_probe_pdata\n  OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata\n  OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata\n  OMAPDSS: DSI: Add error handling for dsi_probe_pdata\n  OMAPDSS: SDI: Add error handling for sdi_probe_pdata\n  OMAPDSS: DPI: Add error handling for dpi_probe_pdata\n  ...\n"
    },
    {
      "commit": "5f56886521d6ddd3648777fae44d82382dd8c87f",
      "tree": "aa0db6331cdb01c23f1884439840aadd31bbcca4",
      "parents": [
        "f1e9a236e5ddab6c349611ee86f54291916f226c",
        "e2a8b0a779787314eca1061308a8182e6c5bfabd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:37:43 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:37:43 2013 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (incoming from Andrew)\n\nMerge third batch of fixes from Andrew Morton:\n \"Most of the rest.  I still have two large patchsets against AIO and\n  IPC, but they\u0027re a bit stuck behind other trees and I\u0027m about to\n  vanish for six days.\n\n   - random fixlets\n   - inotify\n   - more of the MM queue\n   - show_stack() cleanups\n   - DMI update\n   - kthread/workqueue things\n   - compat cleanups\n   - epoll udpates\n   - binfmt updates\n   - nilfs2\n   - hfs\n   - hfsplus\n   - ptrace\n   - kmod\n   - coredump\n   - kexec\n   - rbtree\n   - pids\n   - pidns\n   - pps\n   - semaphore tweaks\n   - some w1 patches\n   - relay updates\n   - core Kconfig changes\n   - sysrq tweaks\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (109 commits)\n  Documentation/sysrq: fix inconstistent help message of sysrq key\n  ethernet/emac/sysrq: fix inconstistent help message of sysrq key\n  sparc/sysrq: fix inconstistent help message of sysrq key\n  powerpc/xmon/sysrq: fix inconstistent help message of sysrq key\n  ARM/etm/sysrq: fix inconstistent help message of sysrq key\n  power/sysrq: fix inconstistent help message of sysrq key\n  kgdb/sysrq: fix inconstistent help message of sysrq key\n  lib/decompress.c: fix initconst\n  notifier-error-inject: fix module names in Kconfig\n  kernel/sys.c: make prctl(PR_SET_MM) generally available\n  UAPI: remove empty Kbuild files\n  menuconfig: print more info for symbol without prompts\n  init/Kconfig: re-order CONFIG_EXPERT options to fix menuconfig display\n  kconfig menu: move Virtualization drivers near other virtualization options\n  Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS\n  relay: use macro PAGE_ALIGN instead of FIX_SIZE\n  kernel/relay.c: move FIX_SIZE macro into relay.c\n  kernel/relay.c: remove unused function argument actor\n  drivers/w1/slaves/w1_ds2760.c: fix the error handling in w1_ds2760_add_slave()\n  drivers/w1/slaves/w1_ds2781.c: fix the error handling in w1_ds2781_add_slave()\n  ...\n"
    },
    {
      "commit": "28ad585e352ff892bd7b17ffdc2355dc51a17be5",
      "tree": "9b6e51d577b3d58ffa98f71c2b1ab351a1c12f44",
      "parents": [
        "f345650964936395307d9d6bdee0168cf7d926e7"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Tue Apr 30 15:28:52 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:10 2013 -0700"
      },
      "message": "power/sysrq: fix inconstistent help message of sysrq key\n\nCurrently help message of /proc/sysrq-trigger highlight its\nupper-case characters, like below:\n\n      SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E)\n      memory-full-oom-kill(F) kill-all-tasks(I) ...\n\nthis would confuse user trigger sysrq by upper-case character, which is\ninconsistent with the real lower-case character registed key.\n\nThis inconsistent help message will also lead more confused when\n26 upper-case letters put into use in future.\n\nThis patch fix power off sysrq key: \"poweroff(o)\"\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c26b78a2d826a89cd689527493a2bea22af46133",
      "tree": "313eef7849770d228a76b28abad16c55def1ea26",
      "parents": [
        "08605acc7e3b7974e309d73ddf39ee9464d95e51"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Wed Mar 27 03:36:11 2013 +0000"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Fri Apr 05 14:18:25 2013 +0200"
      },
      "message": "PM / sleep: invalidate TEST_CPUS and TEST_CORE support for freeze state\n\nfreeze state is a software suspend state that does not run into\nlow-level platform callbacks which may interact with BIOS.\nAnd freeze state does not need to disable the processors.\n\nBut the current pm_test support misleads users because users\ncan enter freeze state with pm_test set to TEST_CPUS/TEST_CORE,\nwhile this pm_test setting never takes actions.\n\nSo, invalidate TEST_CPUS/TEST_CORE for freeze state in this patch.\nThen users will get an error instead, when trying to\nenter freeze state with pm_test mode set to TEST_CPUS/TEST_CORE.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "08605acc7e3b7974e309d73ddf39ee9464d95e51",
      "tree": "e187c794901d5a477a31bb632d74c63774cac88a",
      "parents": [
        "d08d528dc1848fb369a0b27cdb0749d8f6f38063"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Wed Mar 27 03:36:10 2013 +0000"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Fri Apr 05 14:18:25 2013 +0200"
      },
      "message": "PM / sleep: add TEST_PLATFORM support for freeze state\n\nInvoke freeze_enter() after suspend_test(TEST_PLATFORM) being invoked.\n\nSo when setting /sys/power/pm_test to \"platform\", it can be used to\ncheck if freeze state is working well after all devices are suspended\nand before processors are blocked,\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "0d4a42f6bd298e826620585e766a154ab460617a",
      "tree": "406d8f7778691d858dbe3e48e4bbb10e99c0a58a",
      "parents": [
        "d62b4892f3d9f7dd2002e5309be10719d6805b0f",
        "a937536b868b8369b98967929045f1df54234323"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Mar 19 09:47:30 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Mar 19 09:47:30 2013 +0100"
      },
      "message": "Merge tag \u0027v3.9-rc3\u0027 into drm-intel-next-queued\n\nBackmerge so that I can merge Imre Deak\u0027s coalesced sg entries fixes,\nwhich depend upon the new for_each_sg_page introduce in\n\ncommit a321e91b6d73ed011ffceed384c40d2785cf723b\nAuthor: Imre Deak \u003cimre.deak@intel.com\u003e\nDate:   Wed Feb 27 17:02:56 2013 -0800\n\n    lib/scatterlist: add simple page iterator\n\nThe merge itself is just two trivial conflicts:\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "06991c28f37ad68e5c03777f5c3b679b56e3dac1",
      "tree": "4be75788e21c3c644fe6d39abf47693a171cf4f8",
      "parents": [
        "460dc1eecf37263c8e3b17685ef236f0d236facb",
        "74fef7a8fd1d2bd94f925d6638bb4c3049e7c381"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 12:05:51 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 12:05:51 2013 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.9-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core patches from Greg Kroah-Hartman:\n \"Here is the big driver core merge for 3.9-rc1\n\n  There are two major series here, both of which touch lots of drivers\n  all over the kernel, and will cause you some merge conflicts:\n\n   - add a new function called devm_ioremap_resource() to properly be\n     able to check return values.\n\n   - remove CONFIG_EXPERIMENTAL\n\n  Other than those patches, there\u0027s not much here, some minor fixes and\n  updates\"\n\nFix up trivial conflicts\n\n* tag \u0027driver-core-3.9-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)\n  base: memory: fix soft/hard_offline_page permissions\n  drivercore: Fix ordering between deferred_probe and exiting initcalls\n  backlight: fix class_find_device() arguments\n  TTY: mark tty_get_device call with the proper const values\n  driver-core: constify data for class_find_device()\n  firmware: Ignore abort check when no user-helper is used\n  firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER\n  firmware: Make user-mode helper optional\n  firmware: Refactoring for splitting user-mode helper code\n  Driver core: treat unregistered bus_types as having no devices\n  watchdog: Convert to devm_ioremap_resource()\n  thermal: Convert to devm_ioremap_resource()\n  spi: Convert to devm_ioremap_resource()\n  power: Convert to devm_ioremap_resource()\n  mtd: Convert to devm_ioremap_resource()\n  mmc: Convert to devm_ioremap_resource()\n  mfd: Convert to devm_ioremap_resource()\n  media: Convert to devm_ioremap_resource()\n  iommu: Convert to devm_ioremap_resource()\n  drm: Convert to devm_ioremap_resource()\n  ...\n"
    },
    {
      "commit": "f43f627d2f17e95c78647eeddf968d12f5c286b1",
      "tree": "6422cc20ed378f976a7ef4408921c712e5299dc8",
      "parents": [
        "210561ffd72d00eccf12c0131b8024d5436bae95"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 04 13:37:20 2013 +0000"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Feb 20 01:33:41 2013 +0100"
      },
      "message": "PM: make VT switching to the suspend console optional v3\n\nKMS drivers can potentially restore the display configuration without\nuserspace help.  Such drivers can can call a new funciton,\npm_vt_switch_required(false) if they support this feature.  In that\ncase, the PM layer won\u0027t VT switch to the suspend console at suspend\ntime and then back to the original VT on resume, but rather leave things\nalone for a nicer looking suspend and resume sequence.\n\nv2: make a function so we can handle multiple drivers (Alan)\nv3: use a list to track device requests (Rafael)\nv4: Squash in build fix from Jesse for CONFIG_VT_CONSOLE_SLEEP\u003dn\nv5: Squash in patch from Wu Fengguang to add a few missing static\nqualifiers.\nv6: Add missing EXPORT_SYMBOL.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nReviewed-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e (v3)\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "957d1282bb8c07e682e142b9237cd9fcb8348a0b",
      "tree": "a9b5690066c3268e7971c363b34f1a5deb664e2e",
      "parents": [
        "89a22dadb8810983868f5bbbc5530b27bf714a60"
      ],
      "author": {
        "name": "Li Fei",
        "email": "fei.li@intel.com",
        "time": "Fri Feb 01 08:56:03 2013 +0000"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Sat Feb 09 22:32:48 2013 +0100"
      },
      "message": "suspend: enable freeze timeout configuration through sys\n\nAt present, the value of timeout for freezing is 20s, which is\nmeaningless in case that one thread is frozen with mutex locked\nand another thread is trying to lock the mutex, as this time of\nfreezing will fail unavoidably.\nAnd if there is no new wakeup event registered, the system will\nwaste at most 20s for such meaningless trying of freezing.\n\nWith this patch, the value of timeout can be configured to smaller\nvalue, so such meaningless trying of freezing will be aborted in\nearlier time, and later freezing can be also triggered in earlier\ntime. And more power will be saved.\nIn normal case on mobile phone, it costs real little time to freeze\nprocesses. On some platform, it only costs about 20ms to freeze\nuser space processes and 10ms to freeze kernel freezable threads.\n\nSigned-off-by: Liu Chuansheng \u003cchuansheng.liu@intel.com\u003e\nSigned-off-by: Li Fei \u003cfei.li@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "7e73c5ae6e7991a6c01f6d096ff8afaef4458c36",
      "tree": "cd2df301d9ccda6d18f6cbe09f481f38cb78271a",
      "parents": [
        "fbadc58dd3a52c330c8f3926aa93011bf9d91fa0"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Wed Feb 06 13:00:36 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Sat Feb 09 22:30:44 2013 +0100"
      },
      "message": "PM: Introduce suspend state PM_SUSPEND_FREEZE\n\nPM_SUSPEND_FREEZE state is a general state that\ndoes not need any platform specific support, it equals\nfrozen processes + suspended devices + idle processors.\n\nCompared with PM_SUSPEND_MEMORY,\nPM_SUSPEND_FREEZE saves less power\nbecause the system is still in a running state.\nPM_SUSPEND_FREEZE has less resume latency because it does not\ntouch BIOS, and the processors are in idle state.\n\nCompared with RTPM/idle,\nPM_SUSPEND_FREEZE saves more power as\n1. the processor has longer sleep time because processes are frozen.\n   The deeper c-state the processor supports, more power saving we can get.\n2. PM_SUSPEND_FREEZE uses system suspend code path, thus we can get\n   more power saving from the devices that does not have good RTPM support.\n\nThis state is useful for\n1) platforms that do not have STR, or have a broken STR.\n2) platforms that have an extremely low power idle state,\n   which can be used to replace STR.\n\nThe following describes how PM_SUSPEND_FREEZE state works.\n1. echo freeze \u003e /sys/power/state\n2. the processes are frozen.\n3. all the devices are suspended.\n4. all the processors are blocked by a wait queue\n5. all the processors idles and enters (Deep) c-state.\n6. an interrupt fires.\n7. a processor is woken up and handles the irq.\n8. if it is a general event,\n   a) the irq handler runs and quites.\n   b) goto step 4.\n9. if it is a real wake event, say, power button pressing, keyboard touch, mouse moving,\n   a) the irq handler runs and activate the wakeup source\n   b) wakeup_source_activate() notifies the wait queue.\n   c) system starts resuming from PM_SUSPEND_FREEZE\n10. all the devices are resumed.\n11. all the processes are unfrozen.\n12. system is back to working.\n\nKnown Issue:\nThe wakeup of this new PM_SUSPEND_FREEZE state may behave differently\nfrom the previous suspend state.\nTake ACPI platform for example, there are some GPEs that only enabled\nwhen the system is in sleep state, to wake the system backk from S3/S4.\nBut we are not touching these GPEs during transition to PM_SUSPEND_FREEZE.\nThis means we may lose some wake event.\nBut on the other hand, as we do not disable all the Interrupts during\nPM_SUSPEND_FREEZE, we may get some extra \"wakeup\" Interrupts, that are\nnot available for S3/S4.\n\nThe patches has been tested on an old Sony laptop, and here are the results:\n\nAverage Power:\n1. RPTM/idle for half an hour:\n   14.8W, 12.6W, 14.1W, 12.5W, 14.4W, 13.2W, 12.9W\n2. Freeze for half an hour:\n   11W, 10.4W, 9.4W, 11.3W 10.5W\n3. RTPM/idle for three hours:\n   11.6W\n4. Freeze for three hours:\n   10W\n5. Suspend to Memory:\n   0.5~0.9W\n\nAverage Resume Latency:\n1. RTPM/idle with a black screen: (From pressing keyboard to screen back)\n   Less than 0.2s\n2. Freeze: (From pressing power button to screen back)\n   2.50s\n3. Suspend to Memory: (From pressing power button to screen back)\n   4.33s\n\n\u003eFrom the results, we can see that all the platforms should benefit from\nthis patch, even if it does not have Low Power S0.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "9f3b795a626ee79574595e06d1437fe0c7d51d29",
      "tree": "1952cb2ac880c0e66f291916815c2a36b4ceb300",
      "parents": [
        "807be03cae191cb88e2f267adcd49aba785c658b"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Fri Feb 01 20:40:17 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Feb 06 12:18:56 2013 -0800"
      },
      "message": "driver-core: constify data for class_find_device()\n\nAll in-kernel users of class_find_device() don\u0027t really need mutable\ndata for match callback.\n\nIn two places (kernel/power/suspend_test.c, drivers/scsi/osd/osd_uld.c)\nthis patch changes match callbacks to use const search data.\n\nThe const is propagated to rtc_class_open() and power_supply_get_by_name()\nparameters.\n\nNote that there\u0027s a dev reference leak in suspend_test.c that\u0027s not\ntouched in this patch.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ed1ac6e91a3ff7c561008ba57747cd6cbc49385e",
      "tree": "52598ded2a8bea2486170169b4687ad8aadf8a67",
      "parents": [
        "a4ca26a43e39d521b3913f09faf82dfbbbca5f6a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 11 13:37:33 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Sat Jan 26 00:39:11 2013 +0100"
      },
      "message": "PM: don\u0027t use [delayed_]work_pending()\n\nThere\u0027s no need to test whether a (delayed) work item is pending\nbefore queueing, flushing or cancelling it, so remove work_pending()\ntests used in those cases.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "d206e09036d6201f90b2719484c8a59526c46125",
      "tree": "84b9057919bcb8cfd1cff47baa5fc74457e77d6d",
      "parents": [
        "fef3ff2eb777e76cfa5ae67591982d902c17139c",
        "15ef4ffaa797034d5ff82844daf8f595d7c6d53c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 08:18:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 08:18:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"A lot of activities on cgroup side.  The big changes are focused on\n  making cgroup hierarchy handling saner.\n\n   - cgroup_rmdir() had peculiar semantics - it allowed cgroup\n     destruction to be vetoed by individual controllers and tried to\n     drain refcnt synchronously.  The vetoing never worked properly and\n     caused good deal of contortions in cgroup.  memcg was the last\n     reamining user.  Michal Hocko removed the usage and cgroup_rmdir()\n     path has been simplified significantly.  This was done in a\n     separate branch so that the memcg people can base further memcg\n     changes on top.\n\n   - The above allowed cleaning up cgroup lifecycle management and\n     implementation of generic cgroup iterators which are used to\n     improve hierarchy support.\n\n   - cgroup_freezer updated to allow migration in and out of a frozen\n     cgroup and handle hierarchy.  If a cgroup is frozen, all descendant\n     cgroups are frozen.\n\n   - netcls_cgroup and netprio_cgroup updated to handle hierarchy\n     properly.\n\n   - Various fixes and cleanups.\n\n   - Two merge commits.  One to pull in memcg and rmdir cleanups (needed\n     to build iterators).  The other pulled in cgroup/for-3.7-fixes for\n     device_cgroup fixes so that further device_cgroup patches can be\n     stacked on top.\"\n\nFixed up a trivial conflict in mm/memcontrol.c as per Tejun (due to\ncommit bea8c150a7 (\"memcg: fix hotplugged memory zone oops\") in master\ntouching code close to commit 2ef37d3fe4 (\"memcg: Simplify\nmem_cgroup_force_empty_list error handling\") in for-3.8)\n\n* \u0027for-3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (65 commits)\n  cgroup: update Documentation/cgroups/00-INDEX\n  cgroup_rm_file: don\u0027t delete the uncreated files\n  cgroup: remove subsystem files when remounting cgroup\n  cgroup: use cgroup_addrm_files() in cgroup_clear_directory()\n  cgroup: warn about broken hierarchies only after css_online\n  cgroup: list_del_init() on removed events\n  cgroup: fix lockdep warning for event_control\n  cgroup: move list add after list head initilization\n  netprio_cgroup: allow nesting and inherit config on cgroup creation\n  netprio_cgroup: implement netprio[_set]_prio() helpers\n  netprio_cgroup: use cgroup-\u003eid instead of cgroup_netprio_state-\u003eprioidx\n  netprio_cgroup: reimplement priomap expansion\n  netprio_cgroup: shorten variable names in extend_netdev_table()\n  netprio_cgroup: simplify write_priomap()\n  netcls_cgroup: move config inheritance to -\u003ecss_online() and remove .broken_hierarchy marking\n  cgroup: remove obsolete guarantee from cgroup_task_migrate.\n  cgroup: add cgroup-\u003eid\n  cgroup, cpuset: remove cgroup_subsys-\u003epost_clone()\n  cgroup: s/CGRP_CLONE_CHILDREN/CGRP_CPUSET_CLONE_CHILDREN/\n  cgroup: rename -\u003ecreate/post_create/pre_destroy/destroy() to -\u003ecss_alloc/online/offline/free()\n  ...\n"
    },
    {
      "commit": "170bb4c800d2b65df52f37400fb20276273650d8",
      "tree": "86ff97efaeeac6e8533feb4899ec674ddbc0a065",
      "parents": [
        "64adb0192ff309051492b34139bb842024ebb119",
        "e5f5762177be52fde50ccba88938d66b5103c8e0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Thu Nov 29 21:46:48 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Thu Nov 29 21:46:48 2012 +0100"
      },
      "message": "Merge branch \u0027pm-sleep\u0027\n\n* pm-sleep:\n  PM / Freezer: Fixup compile error of try_to_freeze_nowarn()\n  driver core / PM: move the calling to device_pm_remove behind the calling to bus_remove_device\n  PM / Hibernate: use rb_entry\n  PM / sysfs: replace strict_str* with kstrto*\n"
    },
    {
      "commit": "8316bd72c0248adbb9572abf2dd045a95f682bcd",
      "tree": "ad2c06325c8ac48109c04055fe6375293d5d98ca",
      "parents": [
        "883ee4f79d636d13f24c2479c66d42cb652b0239"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "dave@gnu.org",
        "time": "Tue Oct 23 01:21:09 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Thu Nov 15 00:37:08 2012 +0100"
      },
      "message": "PM / Hibernate: use rb_entry\n\nSince the software suspend extents are organized in an rbtree, use rb_entry\ninstead of container_of, as it is semantically more appropriate in order to\nget a node as it is iterated.\n\nSigned-off-by: Davidlohr Bueso \u003cdave@gnu.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "883ee4f79d636d13f24c2479c66d42cb652b0239",
      "tree": "4fb2bf51ac968f6ee1118d3cb4da4ece79a6fafb",
      "parents": [
        "77b67063bb6bce6d475e910d3b886a606d0d91f7"
      ],
      "author": {
        "name": "Daniel Walter",
        "email": "sahne@0x90.at",
        "time": "Tue Oct 23 01:20:35 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Thu Nov 15 00:37:08 2012 +0100"
      },
      "message": "PM / sysfs: replace strict_str* with kstrto*\n\nReplace strict_strtoul() with kstrtoul() in pm_async_store() and\npm_qos_power_write().\n\n[rjw: Modified subject and changelog.]\n\nSigned-off-by: Daniel Walter \u003csahne@0x90.at\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "5d8f72b55c275677865de670fa147ed318191d81",
      "tree": "58f4f571440f412861a232ed0c5753771e5a6e58",
      "parents": [
        "ead5c473712eb26db792b18a4dc98fdb312883fe"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Oct 26 19:46:06 2012 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Oct 26 14:27:49 2012 -0700"
      },
      "message": "freezer: change ptrace_stop/do_signal_stop to use freezable_schedule()\n\ntry_to_freeze_tasks() and cgroup_freezer rely on scheduler locks\nto ensure that a task doing STOPPED/TRACED -\u003e RUNNING transition\ncan\u0027t escape freezing. This mostly works, but ptrace_stop() does\nnot necessarily call schedule(), it can change task-\u003estate back to\nRUNNING and check freezing() without any lock/barrier in between.\n\nWe could add the necessary barrier, but this patch changes\nptrace_stop() and do_signal_stop() to use freezable_schedule().\nThis fixes the race, freezer_count() and freezer_should_skip()\ncarefully avoid the race.\n\nAnd this simplifies the code, try_to_freeze_tasks/update_if_frozen\nno longer need to use task_is_stopped_or_traced() checks with the\nnon trivial assumptions. We can rely on the mechanism which was\nspecially designed to mark the sleeping task as \"frozen enough\".\n\nv2: As Tejun pointed out, we can also change get_signal_to_deliver()\nand move try_to_freeze() up before \u0027relock\u0027 label.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "5efbe4279f959a3f5ed26adf5f05cb78dd1ffa7e",
      "tree": "ebc9bc44e7ac33b11c187850291114f30c39455a",
      "parents": [
        "5f986c590fcf4284924fcda991cf14ab32bff49f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Oct 23 01:07:46 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Oct 23 01:07:46 2012 +0200"
      },
      "message": "PM / QoS: Introduce request and constraint data types for PM QoS flags\n\nIntroduce struct pm_qos_flags_request and struct pm_qos_flags\nrepresenting PM QoS flags request type and PM QoS flags constraint\ntype, respectively.  With these definitions the data structures\nwill be arranged so that the list member of a struct pm_qos_flags\nobject will contain the head of a list of struct pm_qos_flags_request\nobjects representing all of the \"flags\" requests present for the\ngiven device.  Then, the effective_flags member of a struct\npm_qos_flags object will contain the bitwise OR of the flags members\nof all the struct pm_qos_flags_request objects in the list.\n\nAdditionally, introduce helper function pm_qos_update_flags()\nallowing the caller to manage the list of struct pm_qos_flags_request\npointed to by the list member of struct pm_qos_flags.\n\nThe flags are of type s32 so that the request\u0027s \"value\" field\nis always of the same type regardless of what kind of request it\nis (latency requests already have value fields of type s32).\n\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\nReviewed-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: mark gross \u003cmarkgross@thegnar.org\u003e\n"
    },
    {
      "commit": "87a2337abdd752d711724d7654a6db1b5b4c0d4d",
      "tree": "bd59e6a86d5b623f065ab162a465af7ceed7466d",
      "parents": [
        "cf899680feb87af09ea18eea87aa03ea56afd9ba",
        "c6a57bfffea5b673e5b4f9aeff85a00607e59077"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 17 20:25:51 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 17 20:25:51 2012 +0200"
      },
      "message": "Merge branch \u0027pm-qos\u0027\n\n* pm-qos:\n  PM / QoS: Add return code to pm_qos_get_value function.\n"
    },
    {
      "commit": "d6a56ae7ac6121ef99500b3380e98f83a3d9e102",
      "tree": "372217920c4cbbf11eb7e332ddfa54e63eaa9d25",
      "parents": [
        "079d364b042afbe811c4bb0cb57fcbf4f1cfab6d",
        "bbdc18a3fb6740619f0d037241c85dc6cd4517aa"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 17 20:25:38 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 17 20:25:38 2012 +0200"
      },
      "message": "Merge branch \u0027pm-sleep\u0027\n\n* pm-sleep:\n  properly __init-annotate pm_sysrq_init()\n  PM / wakeup: Use irqsave/irqrestore for events_lock\n  PM / Freezer: Fix small typo \"regrigerator\"\n  PM / Sleep: Print name of wakeup source that aborts suspend\n"
    },
    {
      "commit": "bbdc18a3fb6740619f0d037241c85dc6cd4517aa",
      "tree": "a8374d4b123525916e4138bd902f8e36fe4be5c6",
      "parents": [
        "4955070974ecfa0b1ae9d2506f529460fd3a4b0b"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Mon Sep 10 12:05:18 2012 +0000"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 10 21:21:58 2012 +0200"
      },
      "message": "properly __init-annotate pm_sysrq_init()\n\nThis is used only as argument to subsys_initcall().\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c6a57bfffea5b673e5b4f9aeff85a00607e59077",
      "tree": "d896e9fcd61dccd27f253c794e2f742c6f59907d",
      "parents": [
        "4cbe5a555fa58a79b6ecbb6c531b8bab0650778d"
      ],
      "author": {
        "name": "Luis Gonzalez Fernandez",
        "email": "luisgf@gmail.com",
        "time": "Fri Sep 07 21:35:21 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Sep 07 21:35:21 2012 +0200"
      },
      "message": "PM / QoS: Add return code to pm_qos_get_value function.\n\npm_qos_get_value don\u0027t return a return code in all cases. It\u0027s sure that\nanything interesting happend after BUG() but this prevent any compilation\nwarning.\n\n[rjw: Chaneged the new return value to PM_QOS_DEFAULT_VALUE.]\n\nSigned-off-by: Luis Gonzalez Fernandez \u003cluisgf@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "77f827de07432a74821cf0f831d699544b2d474f",
      "tree": "c7abd8f50c25b43ff32ba5a4200cf5e4fcd31f89",
      "parents": [
        "802d8b49a7705298b62ac35a59b867f1288caaf3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Aug 06 01:39:57 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Sep 04 01:36:01 2012 +0200"
      },
      "message": "PM / Domains: Add power off/on function for system core suspend stage\n\nIntroduce function pm_genpd_syscore_switch() and two wrappers around\nit, pm_genpd_syscore_poweroff() and pm_genpd_syscore_poweron(),\nallowing the callers to let the generic PM domains framework know\nthat the given device is not necessary any more and its PM domain\ncan be turned off (the former) or that the given device will be\nrequired immediately, so its PM domain has to be turned on (the\nlatter) during the system core (syscore) stage of system suspend\n(or hibernation) and resume.\n\nThese functions will be used for handling devices registered as\nclock sources and clock event devices that belong to PM domains.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5834ec3aea8a84b70efeb52ee91a8f8b1042cd2a",
      "tree": "9f5a9b59346d1ebd878346e3fe00666dae3e06ab",
      "parents": [
        "a938da0682c2487f6aafc9a7c3caa8d675acdb38"
      ],
      "author": {
        "name": "Sedat Dilek",
        "email": "sedat.dilek@gmail.com",
        "time": "Thu Aug 23 02:47:13 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 23 02:47:13 2012 +0200"
      },
      "message": "PM / Freezer: Fix small typo \"regrigerator\"\n\nNoticed when digging into a suspend issue in linux-next (next-20120821).\n\nFor more details see \u003chttp://marc.info/?t\u003d134554708000002\u0026r\u003d1\u0026w\u003d2\u003e.\n\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "300d3739e873d50d4c6e3656f89007a217fb1d29",
      "tree": "05ed9e06da5920926e0048ee0591a724ee487968",
      "parents": [
        "77254950bb174d637cd88d1a74e137ecf3185a65"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 07 13:50:22 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Aug 08 20:49:45 2012 +0200"
      },
      "message": "Revert \"NMI watchdog: fix for lockup detector breakage on resume\"\n\nRevert commit 45226e9 (NMI watchdog: fix for lockup detector breakage\non resume) which breaks resume from system suspend on my SH7372\nMackerel board (by causing a NULL pointer dereference to happen) and\nis generally wrong, because it abuses the CPU hotplug functionality\nin a shamelessly blatant way.\n\nThe original issue should be addressed through appropriate syscore\nresume callback instead.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "45226e944ce071d0231949f2fea90969437cd2dc",
      "tree": "6f323df1f61d028f77175525ae54948820cd09a1",
      "parents": [
        "190320c3b6640d4104650f55ff69611e050ea06b"
      ],
      "author": {
        "name": "Sameer Nanda",
        "email": "snanda@chromium.org",
        "time": "Mon Jul 30 14:40:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "NMI watchdog: fix for lockup detector breakage on resume\n\nOn the suspend/resume path the boot CPU does not go though an\noffline-\u003eonline transition.  This breaks the NMI detector post-resume\nsince it depends on PMU state that is lost when the system gets\nsuspended.\n\nFix this by forcing a CPU offline-\u003eonline transition for the lockup\ndetector on the boot CPU during resume.\n\nTo provide more context, we enable NMI watchdog on Chrome OS.  We have\nseen several reports of systems freezing up completely which indicated\nthat the NMI watchdog was not firing for some reason.\n\nDebugging further, we found a simple way of repro\u0027ing system freezes --\nissuing the command \u0027tasket 1 sh -c \"echo nmilockup \u003e /proc/breakme\"\u0027\nafter the system has been suspended/resumed one or more times.\n\nWith this patch in place, the system freeze result in panics, as\nexpected.\n\nThese panics provide a nice stack trace for us to debug the actual issue\ncausing the freeze.\n\n[akpm@linux-foundation.org: fiddle with code comment]\n[akpm@linux-foundation.org: make lockup_detector_bootcpu_resume() conditional on CONFIG_SUSPEND]\n[akpm@linux-foundation.org: fix section errors]\nSigned-off-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Anshuman Khandual \u003ckhandual@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7100e505b76b4e2efd88b2459d1a932214e29f8a",
      "tree": "a8eae8687dc1511c89463b1eb93c8349a7471ab3",
      "parents": [
        "cb47c1831fa406c964468b259f2082c16cc3f757",
        "75a4161a58dd157a2bd2dc8e9986e45b62ac46cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 13:36:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 13:36:52 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates from Rafael Wysocki:\n\n - ACPI conversion to PM handling based on struct dev_pm_ops.\n - Conversion of a number of platform drivers to PM handling based on\n   struct dev_pm_ops and removal of empty legacy PM callbacks from a\n   couple of PCI drivers.\n - Suspend-to-both for in-kernel hibernation from Bojan Smojver.\n - cpuidle fixes and cleanups from ShuoX Liu, Daniel Lezcano and Preeti\n   Murthy.\n - cpufreq bug fixes from Jonghwa Lee and Stephen Boyd.\n - Suspend and hibernate fixes from Srivatsa Bhat and Colin Cross.\n - Generic PM domains framework updates.\n - RTC CMOS wakeup signaling update from Paul Fox.\n - sparse warnings fixes from Sachin Kamat.\n - Build warnings fixes for the generic PM domains framework and PM\n   sysfs code.\n - sysfs switch for printing device suspend times from Sameer Nanda.\n - Documentation fix from Oskar Schirmer.\n\n* tag \u0027pm-for-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (70 commits)\n  cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch\n  EXYNOS: bugfix on retrieving old_index from freqs.old\n  PM / Sleep: call early resume handlers when suspend_noirq fails\n  PM / QoS: Use NULL pointer instead of plain integer in qos.c\n  PM / QoS: Use NULL pointer instead of plain integer in pm_qos.h\n  PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock\n  PM / Sleep: Add missing static storage class specifiers in main.c\n  cpuilde / ACPI: remove time from acpi_processor_cx structure\n  cpuidle / ACPI: remove usage from acpi_processor_cx structure\n  cpuidle / ACPI : remove latency_ticks from acpi_processor_cx structure\n  rtc-cmos: report wakeups from interrupt handler\n  PM / Sleep: Fix build warning in sysfs.c for CONFIG_PM_SLEEP unset\n  PM / Domains: Fix build warning for CONFIG_PM_RUNTIME unset\n  olpc-xo15-sci: Use struct dev_pm_ops for power management\n  PM / Domains: Replace plain integer with NULL pointer in domain.c file\n  PM / Domains: Add missing static storage class specifier in domain.c file\n  PM / crypto / ux500: Use struct dev_pm_ops for power management\n  PM / IPMI: Remove empty legacy PCI PM callbacks\n  tpm_nsc: Use struct dev_pm_ops for power management\n  tpm_tis: Use struct dev_pm_ops for power management\n  ...\n"
    },
    {
      "commit": "eea03c20ae38a55405c0865ed9adfccc400e4c8e",
      "tree": "09800af230cd1ef6d9d83ac5e057d8085feca601",
      "parents": [
        "e2f3b78557ff11f58d836e016900c3210f4fb1c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 18 18:15:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 18 18:15:46 2012 -0700"
      },
      "message": "Make wait_for_device_probe() also do scsi_complete_async_scans()\n\nCommit a7a20d103994 (\"sd: limit the scope of the async probe domain\")\nmake the SCSI device probing run device discovery in it\u0027s own async\ndomain.\n\nHowever, as a result, the partition detection was no longer synchronized\nby async_synchronize_full() (which, despite the name, only synchronizes\nthe global async space, not all of them).  Which in turn meant that\n\"wait_for_device_probe()\" would not wait for the SCSI partitions to be\nparsed.\n\nAnd \"wait_for_device_probe()\" was what the boot time init code relied on\nfor mounting the root filesystem.\n\nNow, most people never noticed this, because not only is it\ntiming-dependent, but modern distributions all use initrd.  So the root\nfilesystem isn\u0027t actually on a disk at all.  And then before they\nactually mount the final disk filesystem, they will have loaded the\nscsi-wait-scan module, which not only does the expected\nwait_for_device_probe(), but also does scsi_complete_async_scans().\n\n[ Side note: scsi_complete_async_scans() had also been partially broken,\n  but that was fixed in commit 43a8d39d0137 (\"fix async probe\n  regression\"), so that same commit a7a20d103994 had actually broken\n  setups even if you used scsi-wait-scan explicitly ]\n\nSolve this problem by just moving the scsi_complete_async_scans() call\ninto wait_for_device_probe().  Everybody who wants to wait for device\nprobing to finish really wants the SCSI probing to complete, so there\u0027s\nno reason not to do this.\n\nSo now \"wait_for_device_probe()\" really does what the name implies, and\nproperly waits for device probing to finish.  This also removes the now\nunnecessary extra calls to scsi_complete_async_scans().\n\nReported-and-tested-by: Artem S. Tashkinov \u003ct.artem@mailcity.com\u003e\nCc: Dan Williams \u003cdan.j.williams@gmail.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: James Bottomley \u003cjbottomley@parallels.com\u003e\nCc: Borislav Petkov \u003cbp@amd64.org\u003e\nCc: linux-scsi \u003clinux-scsi@vger.kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11388c87d2abca1f01975ced28ce9eacea239104",
      "tree": "60e338e5ab817de96a461b08892e0663a316d67c",
      "parents": [
        "823d93640927d739f7c918b73fe5ec494fb27e17"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 00:00:58 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 00:00:58 2012 +0200"
      },
      "message": "PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock\n\nRequire processes wanting to use the wake_lock/wake_unlock sysfs\nfiles to have the CAP_BLOCK_SUSPEND capability, which also is\nrequired for the eventpoll EPOLLWAKEUP flag to be effective, so that\nall interfaces related to blocking autosleep depend on the same\ncapability.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@vger.kernel.org\nAcked-by: Michael Kerrisk \u003cmtk.man-pages@gmail.com\u003e\n"
    },
    {
      "commit": "d8150d350408de6fb2b9ee7b7625ae8e2bb7aa4a",
      "tree": "4bc399c1850a08b8b2573f01a23146e2fa2adeea",
      "parents": [
        "b2df1d4f8b95d9d1e3f064cef02fc5c5116b05cf"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Thu Jun 21 22:27:24 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 01 13:31:23 2012 +0200"
      },
      "message": "PM / Hibernate: Print hibernation/thaw progress indicator one line at a time.\n\nWith the introduction of suspend to both into in-kernel hibernation\ncode, dmesg was getting polluted with backspace characters printed as\npart of image saving progress indicator. This patch introduces printing\nof progress indicator on image save/load every 10% and one line at a\ntime. As an additional benefit, all other messages emitted by the kernel\nduring hibernation/thaw should now print cleanly as well.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b2df1d4f8b95d9d1e3f064cef02fc5c5116b05cf",
      "tree": "6e891ad6ad748ea737ab5774983f90d9be720446",
      "parents": [
        "4b7760ba0dd3319f66886ab2335a0fbecdbc808a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 21 00:19:33 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 01 13:31:23 2012 +0200"
      },
      "message": "PM / Sleep: Separate printing suspend times from initcall_debug\n\nChange the behavior of the newly introduced\n/sys/power/pm_print_times attribute so that its initial value\ndepends on initcall_debug, but setting it to 0 will cause device\nsuspend/resume times not to be printed, even if initcall_debug has\nbeen set.  This way, the people who use initcall_debug for reasons\nother than PM debugging will be able to switch the suspend/resume\ntimes printing off, if need be.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4b7760ba0dd3319f66886ab2335a0fbecdbc808a",
      "tree": "f619ead7186c286a5f8c786091af8c46de0decf3",
      "parents": [
        "443772d408a25af62498793f6f805ce3c559309a"
      ],
      "author": {
        "name": "Sameer Nanda",
        "email": "snanda@chromium.org",
        "time": "Tue Jun 19 22:23:33 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 01 13:31:22 2012 +0200"
      },
      "message": "PM / Sleep: add knob for printing device resume times\n\nAdded a new knob called /sys/power/pm_print_times. Setting it to 1\nenables printing of time taken by devices to suspend and resume.\nSetting it to 0 disables this printing (unless overridden by\ninitcall_debug kernel command line option).\n\nSigned-off-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nAcked-by: Greg KH \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "443772d408a25af62498793f6f805ce3c559309a",
      "tree": "f89e50547524bbb275d38b8a39b1e4d82a18c22d",
      "parents": [
        "62c552ccc3eda1198632a4f344aa32623d226bab"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Jun 16 15:30:45 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 01 13:31:22 2012 +0200"
      },
      "message": "ftrace: Disable function tracing during suspend/resume and hibernation, again\n\nIf function tracing is enabled for some of the low-level suspend/resume\nfunctions, it leads to triple fault during resume from suspend, ultimately\nending up in a reboot instead of a resume (or a total refusal to come out\nof suspended state, on some machines).\n\nThis issue was explained in more detail in commit f42ac38c59e0a03d (ftrace:\ndisable tracing for suspend to ram). However, the changes made by that commit\ngot reverted by commit cbe2f5a6e84eebb (tracing: allow tracing of\nsuspend/resume \u0026 hibernation code again). So, unfortunately since things are\nnot yet robust enough to allow tracing of low-level suspend/resume functions,\nsuspend/resume is still broken when ftrace is enabled.\n\nSo fix this by disabling function tracing during suspend/resume \u0026 hibernation.\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": "62c552ccc3eda1198632a4f344aa32623d226bab",
      "tree": "fbd85e76542a715a8e988dddb59e3df859939fb5",
      "parents": [
        "6887a4131da3adaab011613776d865f4bcfb5678"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Sat Jun 16 00:09:58 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 01 13:31:22 2012 +0200"
      },
      "message": "PM / Hibernate: Enable suspend to both for in-kernel hibernation.\n\nIt is often useful to suspend to memory after hibernation image has been\nwritten to disk. If the battery runs out or power is otherwise lost, the\ncomputer will resume from the hibernated image. If not, it will resume\nfrom memory and hibernation image will be discarded.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2df83fa4bce421f8176932142f1004adfba0f9dd",
      "tree": "edd5051c5b388e82d8954ec09643873be9bc414c",
      "parents": [
        "4e585d25e120f1eae0a3a8bf8f6ebc7692afec18"
      ],
      "author": {
        "name": "Minho Ban",
        "email": "mhban@samsung.com",
        "time": "Mon May 14 21:45:31 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 18 20:44:59 2012 +0200"
      },
      "message": "PM / Hibernate: Use get_gendisk to verify partition if resume_file is integer format\n\nSometimes resume\u003d parameter comes in integer style (e.g. major:minor)\nand then name_to_dev_t can not detect partition properly. (especially\nasync device like usb, mmc).\n\nThis patch calls get_gendisk() if resumewait is true and resume_file\nis in integer format to work around this problem.\n\nSigned-off-by: Minho Ban \u003cmhban@samsung.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4e585d25e120f1eae0a3a8bf8f6ebc7692afec18",
      "tree": "9385b0ca4d8de60c08896193a0187f5074b55496",
      "parents": [
        "c73893e2ca731b4a81ae59246ab57979aa188777"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat May 05 21:57:28 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 11 21:11:16 2012 +0200"
      },
      "message": "PM / Sleep: User space wakeup sources garbage collector Kconfig option\n\nMake it possible to configure out the user space wakeup sources\ngarbage collector for debugging and default Android builds.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "c73893e2ca731b4a81ae59246ab57979aa188777",
      "tree": "bec6c0253b848ea658acb72de6bfd86e707bc798",
      "parents": [
        "6237dd132d4eb408ffa80830fe395448e5657ab0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat May 05 21:57:20 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 11 21:11:02 2012 +0200"
      },
      "message": "PM / Sleep: Make the limit of user space wakeup sources configurable\n\nMake it possible to configure out the check against the limit of\nuser space wakeup sources for debugging and default Android builds.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "040e5bf65e1ee66266bc314c5965518a7c21ff36",
      "tree": "ce2dce378ae0f765b6534a7cec0a5529ee09930b",
      "parents": [
        "4d7e30d98939a0340022ccd49325a3d70f7e0238"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Fri May 04 00:14:21 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat May 05 21:50:58 2012 +0200"
      },
      "message": "PM / Sleep: Fix a mistake in a conditional in autosleep_store()\n\nThe condition check in autosleep_store() is incorrect and prevents\n/sys/power/autosleep from working as advertised.  Fix that.\n\n[rjw: Added the changelog.]\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b86ff9820fd5df69295273b9aa68e58786ffc23f",
      "tree": "e8af5745652c926b9a82b3b7531dc455564efdfb",
      "parents": [
        "55850945e872531644f31fefd217d61dd15dcab8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 29 22:53:42 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 01 21:26:05 2012 +0200"
      },
      "message": "PM / Sleep: Add user space interface for manipulating wakeup sources, v3\n\nAndroid allows user space to manipulate wakelocks using two\nsysfs file located in /sys/power/, wake_lock and wake_unlock.\nWriting a wakelock name and optionally a timeout to the wake_lock\nfile causes the wakelock whose name was written to be acquired (it\nis created before is necessary), optionally with the given timeout.\nWriting the name of a wakelock to wake_unlock causes that wakelock\nto be released.\n\nImplement an analogous interface for user space using wakeup sources.\nAdd the /sys/power/wake_lock and /sys/power/wake_unlock files\nallowing user space to create, activate and deactivate wakeup\nsources, such that writing a name and optionally a timeout to\nwake_lock causes the wakeup source of that name to be activated,\noptionally with the given timeout.  If that wakeup source doesn\u0027t\nexist, it will be created and then activated.  Writing a name to\nwake_unlock causes the wakeup source of that name, if there is one,\nto be deactivated.  Wakeup sources created with the help of\nwake_lock that haven\u0027t been used for more than 5 minutes are garbage\ncollected and destroyed.  Moreover, there can be only WL_NUMBER_LIMIT\nwakeup sources created with the help of wake_lock present at a time.\n\nThe data type used to track wakeup sources created by user space is\ncalled \"struct wakelock\" to indicate the origins of this feature.\n\nThis version of the patch includes an rbtree manipulation fix from John Stultz.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "55850945e872531644f31fefd217d61dd15dcab8",
      "tree": "412ee1338d0b69e4d6e2a5e518e30e6660704921",
      "parents": [
        "7483b4a4d9abf9dcf1ffe6e805ead2847ec3264e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 29 22:53:32 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 01 21:25:49 2012 +0200"
      },
      "message": "PM / Sleep: Add \"prevent autosleep time\" statistics to wakeup sources\n\nAndroid uses one wakelock statistics that is only necessary for\nopportunistic sleep.  Namely, the prevent_suspend_time field\naccumulates the total time the given wakelock has been locked\nwhile \"automatic suspend\" was enabled.  Add an analogous field,\nprevent_sleep_time, to wakeup sources and make it behave in a similar\nway.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7483b4a4d9abf9dcf1ffe6e805ead2847ec3264e",
      "tree": "d03af746dc3be6480580ec569e0c2d708031f0bd",
      "parents": [
        "6791e36c4a40e8930e08669e60077eea6770c429"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 29 22:53:22 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 01 21:25:38 2012 +0200"
      },
      "message": "PM / Sleep: Implement opportunistic sleep, v2\n\nIntroduce a mechanism by which the kernel can trigger global\ntransitions to a sleep state chosen by user space if there are no\nactive wakeup sources.\n\nIt consists of a new sysfs attribute, /sys/power/autosleep, that\ncan be written one of the strings returned by reads from\n/sys/power/state, an ordered workqueue and a work item carrying out\nthe \"suspend\" operations.  If a string representing the system\u0027s\nsleep state is written to /sys/power/autosleep, the work item\ntriggering transitions to that state is queued up and it requeues\nitself after every execution until user space writes \"off\" to\n/sys/power/autosleep.\n\nThat work item enables the detection of wakeup events using the\nfunctions already defined in drivers/base/power/wakeup.c (with one\nsmall modification) and calls either pm_suspend(), or hibernate() to\nput the system into a sleep state.  If a wakeup event is reported\nwhile the transition is in progress, it will abort the transition and\nthe \"system suspend\" work item will be queued up again.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "5a21d489fd9541a4a66b9a500659abaca1b19a51",
      "tree": "0751e0cc65cd1ed56d7583c14355718191e667cb",
      "parents": [
        "69964ea4c7b68c9399f7977aa5b9aa6539a6a98a"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Sun Apr 29 22:42:06 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 01 21:24:15 2012 +0200"
      },
      "message": "PM / Hibernate: Hibernate/thaw fixes/improvements\n\n 1. Do not allocate memory for buffers from emergency pools, unless\n    absolutely required. Do not warn about and do not retry non-essential\n    failed allocations.\n\n 2. Do not check the amount of free pages left on every single page\n    write, but wait until one map is completely populated and then check.\n\n 3. Set maximum number of pages for read buffering consistently, instead\n    of inadvertently depending on the size of the sector type.\n\n 4. Fix copyright line, which I missed when I submitted the hibernation\n    threading patch.\n\n 5. Dispense with bit shifting arithmetic to improve readability.\n\n 6. Really recalculate the number of pages required to be free after all\n    allocations have been done.\n\n 7. Fix calculation of pages required for read buffering. Only count in\n    pages that do not belong to high memory.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f8262d476823a7ea1eb497ff9676d1eab2393c75",
      "tree": "dfe76c8ef2b3fc700d9550b85b69e414ef415de6",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Tue Apr 24 23:53:28 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 24 23:53:28 2012 +0200"
      },
      "message": "PM / Hibernate: fix the number of pages used for hibernate/thaw buffering\n\nHibernation regression fix, since 3.2.\n\nCalculate the number of required free pages based on non-high memory\npages only, because that is where the buffers will come from.\n\nCommit 081a9d043c983f161b78fdc4671324d1342b86bc introduced a new buffer\npage allocation logic during hibernation, in order to improve the\nperformance. The amount of pages allocated was calculated based on total\namount of pages available, although only non-high memory pages are\nusable for this purpose. This caused hibernation code to attempt to over\nallocate pages on platforms that have high memory, which led to hangs.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@suse.de\u003e\n"
    },
    {
      "commit": "c4772d192c70b61d52262b0db76f7abd8aeb51c6",
      "tree": "843ed935b04ed2e2ea8abbafa04f65132f47ba5a",
      "parents": [
        "a36cf844c543c6193445a7b1492d16e5a8cf376e"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Wed Mar 28 23:31:24 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:31:24 2012 +0200"
      },
      "message": "PM / QoS: add pm_qos_update_request_timeout() API\n\nThe new API, pm_qos_update_request_timeout() is to provide a timeout\nwith pm_qos_update_request.\n\nFor example, pm_qos_update_request_timeout(req, 100, 1000), means that\nQoS request on req with value 100 will be active for 1000 microseconds.\nAfter 1000 microseconds, the QoS request thru req is reset. If there\nwere another pm_qos_update_request(req, x) during the 1000 us, this\nnew request with value x will override as this is another request on the\nsame req handle. A new request on the same req handle will always\noverride the previous request whether it is the conventional request or\nit is the new timeout request.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Mark Gross \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "247bc03742545fec2f79939a3b9f738392a0f7b4",
      "tree": "ea07ff0b82da841ba89968d360d7c2560ae740b4",
      "parents": [
        "1e73203cd1157a03facc41ffb54050f5b28e55bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:28 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:28 2012 +0200"
      },
      "message": "PM / Sleep: Mitigate race between the freezer and request_firmware()\n\nThere is a race condition between the freezer and request_firmware()\nsuch that if request_firmware() is run on one CPU and\nfreeze_processes() is run on another CPU and usermodehelper_disable()\ncalled by it succeeds to grab umhelper_sem for writing before\nusermodehelper_read_trylock() called from request_firmware()\nacquires it for reading, the request_firmware() will fail and\ntrigger a WARN_ON() complaining that it was called at a wrong time.\nHowever, in fact, it wasn\u0027t called at a wrong time and\nfreeze_processes() simply happened to be executed simultaneously.\n\nTo avoid this race, at least in some cases, modify\nusermodehelper_read_trylock() so that it doesn\u0027t fail if the\nfreezing of tasks has just started and hasn\u0027t been completed yet.\nInstead, during the freezing of tasks, it will try to freeze the\ntask that has called it so that it can wait until user space is\nthawed without triggering the scary warning.\n\nFor this purpose, change usermodehelper_disabled so that it can\ntake three different values, UMH_ENABLED (0), UMH_FREEZING and\nUMH_DISABLED.  The first one means that usermode helpers are\nenabled, the last one means \"hard disable\" (i.e. the system is not\nready for usermode helpers to be used) and the second one\nis reserved for the freezer.  Namely, when freeze_processes() is\nstarted, it sets usermodehelper_disabled to UMH_FREEZING which\ntells usermodehelper_read_trylock() that it shouldn\u0027t fail just\nyet and should call try_to_freeze() if woken up and cannot\nreturn immediately.  This way all freezable tasks that happen\nto call request_firmware() right before freeze_processes() is\nstarted and lose the race for umhelper_sem with it will be\nfrozen and will sleep until thaw_processes() unsets\nusermodehelper_disabled.  [For the non-freezable callers of\nrequest_firmware() the race for umhelper_sem against\nfreeze_processes() is unfortunately unavoidable.]\n\nReported-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "1e73203cd1157a03facc41ffb54050f5b28e55bd",
      "tree": "12781ea69aa706291949bb1a10141a8a043e09d9",
      "parents": [
        "7b5179ac14dbad945647ac9e76bbbf14ed9e0dbe"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:21 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:21 2012 +0200"
      },
      "message": "PM / Sleep: Move disabling of usermode helpers to the freezer\n\nThe core suspend/hibernation code calls usermodehelper_disable() to\navoid race conditions between the freezer and the starting of\nusermode helpers and each code path has to do that on its own.\nHowever, it is always called right before freeze_processes()\nand usermodehelper_enable() is always called right after\nthaw_processes().  For this reason, to avoid code duplication and\nto make the connection between usermodehelper_disable() and the\nfreezer more visible, make freeze_processes() call it and remove the\ndirect usermodehelper_disable() and usermodehelper_enable() calls\nfrom all suspend/hibernation code paths.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "7b5179ac14dbad945647ac9e76bbbf14ed9e0dbe",
      "tree": "39213e51f3a19f3198929456f8ab4210a906674d",
      "parents": [
        "9b78c1da60b3c62ccdd1509f0902ad19ceaf776b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:14 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:14 2012 +0200"
      },
      "message": "PM / Hibernate: Disable usermode helpers right before freezing tasks\n\nThere is no reason to call usermodehelper_disable() before creating\nmemory bitmaps in hibernate() and software_resume(), so call it right\nbefore freeze_processes(), in accordance with the other suspend and\nhibernation code.  Consequently, call usermodehelper_enable() right\nafter the thawing of tasks rather than after freeing the memory\nbitmaps.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "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"
    }
  ],
  "next": "341d4166175e9b7911444f5a33b1c9efb8f15c85"
}
