)]}'
{
  "log": [
    {
      "commit": "4d1518f5668ef1b3dff6c3b30fa761fe5573cdaa",
      "tree": "9e9c6d6b4c8d241ce392d31c2fb8ca07f9c9b753",
      "parents": [
        "6d0e0e84f66d32c33511984dd3badd32364b863c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:24:33 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:24:33 2011 +0200"
      },
      "message": "PM / Runtime: Handle clocks correctly if CONFIG_PM_RUNTIME is unset\n\nCommit 85eb8c8d0b0900c073b0e6f89979ac9c439ade1a (PM / Runtime:\nGeneric clock manipulation rountines for runtime PM (v6)) converted\nthe shmobile platform to using generic code for runtime PM clock\nmanagement, but it changed the behavior for CONFIG_PM_RUNTIME unset\nincorrectly.\n\nSpecifically, for CONFIG_PM_RUNTIME unset pm_runtime_clk_notify()\nshould enable clocks for action equal to BUS_NOTIFY_BIND_DRIVER and\nit should disable them for action equal to BUS_NOTIFY_UNBOUND_DRIVER\n(instead of BUS_NOTIFY_ADD_DEVICE and BUS_NOTIFY_DEL_DEVICE,\nrespectively).  Make this function behave as appropriate.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@opensource.se\u003e\n"
    },
    {
      "commit": "6d0e0e84f66d32c33511984dd3badd32364b863c",
      "tree": "215916af1632fbaff9d46676d14dafd52143d578",
      "parents": [
        "8440f4b19494467883f8541b7aa28c7bbf6ac92b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Jun 18 22:42:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:20:20 2011 +0200"
      },
      "message": "PM: Fix async resume following suspend failure\n\nThe PM core doesn\u0027t handle suspend failures correctly when it comes to\nasynchronously suspended devices.  These devices are moved onto the\ndpm_suspended_list as soon as the corresponding async thread is\nstarted up, and they remain on the list even if they fail to suspend\nor the sleep transition is cancelled before they get suspended.  As a\nresult, when the PM core unwinds the transition, it tries to resume\nthe devices even though they were never suspended.\n\nThis patch (as1474) fixes the problem by adding a new \"is_suspended\"\nflag to dev_pm_info.  Devices are resumed only if the flag is set.\n\n[rjw:\n * Moved the dev-\u003epower.is_suspended check into device_resume(),\n   because we need to complete dev-\u003epower.completion and clear\n   dev-\u003epower.is_prepared too for devices whose\n   dev-\u003epower.is_suspended flags are unset.\n * Fixed __device_suspend() to avoid setting dev-\u003epower.is_suspended\n   if async_error is different from zero.]\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f76b168b6f117a49d36307053e1acbe30580ea5b",
      "tree": "2aa0cc19b27764d8eb55ce85eaf226a60ce27756",
      "parents": [
        "78420884e680da8fbc3240de2d3106437042381e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Jun 18 20:22:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:19:50 2011 +0200"
      },
      "message": "PM: Rename dev_pm_info.in_suspend to is_prepared\n\nThis patch (as1473) renames the \"in_suspend\" field in struct\ndev_pm_info to \"is_prepared\", in preparation for an upcoming change.\nThe new name is more descriptive of what the field really means.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "3b3eca3116861113ccc0e1ca3b98cb43598f46a7",
      "tree": "958427e5260ec95b04faaef18b5c08249ce8dfda",
      "parents": [
        "99592ba4a80edb84938e7e0cf71fdecff1ce67fd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 07 23:34:58 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 07 23:34:58 2011 +0200"
      },
      "message": "PM / Runtime: Fix loops in pm_runtime_clk_notify()\n\nThe loops over connection ID strings in pm_runtime_clk_notify()\nshould actually iterate over the strings and not over the elements\nof the first of them, so make them behave as appropriate.\n\nThis fixes a regression introduced by commit 600b776eb39a13a28b090\n(OMAP1 / PM: Use generic clock manipulation routines for runtime PM).\n\nReported-and-tested-by: Janusz Krzysztofik \u003cjkrzyszt@tis.icnet.pl\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6538df80194e305f1b78cafb556f4bb442f808b3",
      "tree": "72927d33d82f0e9502811abfc10d722a7423fff2",
      "parents": [
        "91e7c75ba93c48a82670d630b9daac92ff70095d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:21 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:21 2011 +0200"
      },
      "message": "PM: Introduce generic prepare and complete callbacks for subsystems\n\nIntroduce generic .prepare() and .complete() power management\ncallbacks, currently missing, that can be used by subsystems and\npower domains and export them.  Provide NULL definitions of all\nthe generic system sleep callbacks for CONFIG_PM_SLEEP unset.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "91e7c75ba93c48a82670d630b9daac92ff70095d",
      "tree": "b44ac3dca1d03cce99cccc3f4ce55d4b5475d373",
      "parents": [
        "c650da23d59d2c82307380414606774c6d49b8bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "message": "PM: Allow drivers to allocate memory from .prepare() callbacks safely\n\nIf device drivers allocate substantial amounts of memory (above 1 MB)\nin their hibernate .freeze() callbacks (or in their legacy suspend\ncallbcks during hibernation), the subsequent creation of hibernate\nimage may fail due to the lack of memory.  This is the case, because\nthe drivers\u0027 .freeze() callbacks are executed after the hibernate\nmemory preallocation has been carried out and the preallocated amount\nof memory may be too small to cover the new driver allocations.\nUnfortunately, the drivers\u0027 .prepare() callbacks also are executed\nafter the hibernate memory preallocation has completed, so they are\nnot suitable for allocating additional memory either.  Thus the only\nway a driver can safely allocate memory during hibernation is to use\na hibernate/suspend notifier.  However, the notifiers are called\nbefore the freezing of user space and the drivers wanting to use them\nfor allocating additional memory may not know how much memory needs\nto be allocated at that point.\n\nTo let device drivers overcome this difficulty rework the hibernation\nsequence so that the memory preallocation is carried out after the\ndrivers\u0027 .prepare() callbacks have been executed, so that the\n.prepare() callbacks can be used for allocating additional memory\nto be used by the drivers\u0027 .freeze() callbacks.  Update documentation\nto match the new behavior of the code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c650da23d59d2c82307380414606774c6d49b8bd",
      "tree": "b511dc2cda05ff910c745d49a309dc33445dc592",
      "parents": [
        "290c748725c170ed9a02522959ae67f528eefe98"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "message": "PM: Remove CONFIG_PM_VERBOSE\n\nNow that we have CONFIG_DYNAMIC_DEBUG there is no need for yet\nanother flag causing dev_dbg() and pr_debug() statements in the\ncore PM code to produce output.  Moreover, CONFIG_PM_VERBOSE\ncauses so much output to be generated that it\u0027s not really useful\nand almost no one sets it.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d23182\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "290c748725c170ed9a02522959ae67f528eefe98",
      "tree": "a920190b75c7e054af24d850e79cc54f5cf53263",
      "parents": [
        "2d2a9163bd4f3ba301f8138c32e4790edc30156c",
        "72874daa5e9064c4e8d689e6a04b1e96f687f872"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "message": "Merge branch \u0027power-domains\u0027 into for-linus\n\n* power-domains:\n  PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n  PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n  OMAP1 / PM: Use generic clock manipulation routines for runtime PM\n  PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)\n  PM / Runtime: Add subsystem data field to struct dev_pm_info\n  OMAP2+ / PM: move runtime PM implementation to use device power domains\n  PM / Platform: Use generic runtime PM callbacks directly\n  shmobile: Use power domains for platform runtime PM\n  PM: Export platform bus type\u0027s default PM callbacks\n  PM: Make power domain callbacks take precedence over subsystem ones\n"
    },
    {
      "commit": "13e381365614855bf14c8ad68f9b65e3afd3dd2c",
      "tree": "b51f9b4eda56b768f2cc8f5646dd02a8d49d900c",
      "parents": [
        "13d53f8775c6a00b070a3eef6833795412eb7fcd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 11 22:40:45 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:19 2011 +0200"
      },
      "message": "PM / Wakeup: Remove useless synchronize_rcu() call\n\nwakeup_source_add() adds an item into wakeup_sources list.\n\nThere is no need to call synchronize_rcu() at this point.\n\nIts only needed in wakeup_source_remove()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e762318baae3002944d68220910aef7caffcd065",
      "tree": "01da9af1ae09f6723a3a5da06e452aba4c364817",
      "parents": [
        "a144c6a6c924aa1da04dd77fb84b89927354fdff"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat May 07 18:11:52 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:18 2011 +0200"
      },
      "message": "PM / Wakeup: Fix build warning related to the \"wakeup\" sysfs file\n\nThe \"wakeup\" device sysfs file is only created if CONFIG_PM_SLEEP\nis set, so put it under CONFIG_PM_SLEEP and make a build warning\nrelated to it go away.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "72874daa5e9064c4e8d689e6a04b1e96f687f872",
      "tree": "dd6b6926f8349845144a82ae5318d516431edfbd",
      "parents": [
        "2064af917b3ba7589070064ca4ed12cecd99a63c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 03 19:45:32 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 16 20:17:48 2011 +0200"
      },
      "message": "PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n\nFix a build issue in drivers/base/power/clock_ops.c occuring when\nCONFIG_PM_RUNTIME is not set.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "85eb8c8d0b0900c073b0e6f89979ac9c439ade1a",
      "tree": "ff3486424b60bb8de28ef76655d65cd0c1180449",
      "parents": [
        "1d2b71f61b6a10216274e27b717becf9ae101fc7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 30 00:25:44 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 30 00:25:44 2011 +0200"
      },
      "message": "PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)\n\nMany different platforms and subsystems may want to disable device\nclocks during suspend and enable them during resume which is going to\nbe done in a very similar way in all those cases.  For this reason,\nprovide generic routines for the manipulation of device clocks during\nsuspend and resume.\n\nConvert the ARM shmobile platform to using the new routines.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4d27e9dcff00a6425d779b065ec8892e4f391661",
      "tree": "6602f1dcfad3e3065a1c081cf89f2d020976600d",
      "parents": [
        "fafc9929c668f8bae6dd1f109f33a86d2cb3c460"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:35:50 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:35:50 2011 +0200"
      },
      "message": "PM: Make power domain callbacks take precedence over subsystem ones\n\nChange the PM core\u0027s behavior related to power domains in such a way\nthat, if a power domain is defined for a given device, its callbacks\nwill be executed instead of and not in addition to the device\nsubsystem\u0027s PM callbacks.\n\nThe idea behind the initial implementation of power domains handling\nby the PM core was that power domain callbacks would be executed in\naddition to subsystem callbacks, so that it would be possible to\nextend the subsystem callbacks by using power domains.  It turns out,\nhowever, that this wouldn\u0027t be really convenient in some important\nsituations.\n\nFor example, there are systems in which power can only be removed\nfrom entire power domains.  On those systems it is not desirable to\nexecute device drivers\u0027 PM callbacks until it is known that power is\ngoing to be removed from the devices in question, which means that\nthey should be executed by power domain callbacks rather then by\nsubsystem (e.g. bus type) PM callbacks, because subsystems generally\nhave no information about what devices belong to which power domain.\nThus, for instance, if the bus type in question is the platform bus\ntype, its PM callbacks generally should not be called in addition to\npower domain callbacks, because they run device drivers\u0027 callbacks\nunconditionally if defined.\n\nWhile in principle the default subsystem PM callbacks, or a subset of\nthem, may be replaced with different functions, it doesn\u0027t seem\ncorrect to do so, because that would change the subsystem\u0027s behavior\nwith respect to all devices in the system, regardless of whether or\nnot they belong to any power domains.  Thus, the only remaining\noption is to make power domain callbacks take precedence over\nsubsystem callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "22110faf8c8e980013790e6a5214de32b3303730",
      "tree": "fb8239c3e4969cd43981eb10846802ca89b09224",
      "parents": [
        "5dd12af05ca6b7d052c06a9ca4ff755fdfa25ae4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 11:33:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 11:33:09 2011 +0200"
      },
      "message": "PM / Wakeup: Fix initialization of wakeup-related device sysfs files\n\nIt turns out that some PCI devices are only found to be\nwakeup-capable during registration, in which case, when\ndevice_set_wakeup_capable() is called, device_is_registered() already\nreturns \u0027true\u0027 for the given device, but dpm_sysfs_add() hasn\u0027t been\ncalled for it yet.  This leads to situations in which the device\u0027s\npower.can_wakeup flag is not set as requested because of failing\nwakeup_sysfs_add() and its wakeup-related sysfs files are not\ncreated, although they should be present.  This is a post-2.6.38\nregression introduced by commit cb8f51bdadb7969139c2e39c2defd4cde98c1\n(PM: Do not create wakeup sysfs files for devices that cannot wake\nup).\n\nTo work around this problem initialize the device\u0027s power.entry\nfield to an empty list head and make device_set_wakeup_capable()\ncheck if it is still empty before attempting to add the devices\nwakeup-related sysfs files with wakeup_sysfs_add().  Namely, if\npower.entry is still empty at this point, device_pm_add() hasn\u0027t been\ncalled yet for the device and its wakeup-related files will be\ncreated later, so device_set_wakeup_capable() doesn\u0027t have to create\nthem.\n\nReported-and-tested-by: Tino Keitel \u003ctino.keitel@tikei.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1f112cee07b314e244ee9e71d9c1e6950dc13327",
      "tree": "e089e646c78701e37b4ebe00db36082e47cab2d5",
      "parents": [
        "b42282e5a05018ecdc0d63a4ad530b0999785912"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "message": "PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS\n\nXen save/restore is going to use hibernate device callbacks for\nquiescing devices and putting them back to normal operations and it\nwould need to select CONFIG_HIBERNATION for this purpose.  However,\nthat also would cause the hibernate interfaces for user space to be\nenabled, which might confuse user space, because the Xen kernels\ndon\u0027t support hibernation.  Moreover, it would be wasteful, as it\nwould make the Xen kernels include a substantial amount of code that\nthey would never use.\n\nTo address this issue introduce new power management Kconfig option\nCONFIG_HIBERNATE_CALLBACKS, such that it will only select the code\nthat is necessary for the hibernate device callbacks to work and make\nCONFIG_HIBERNATION select it.  Then, Xen save/restore will be able to\nselect CONFIG_HIBERNATE_CALLBACKS without dragging the entire\nhibernate code along with it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "7ae496187876d264c712d7c102c45edb8eb41363",
      "tree": "b444c78a2104467259bb6ec34cc4a7815fa68185",
      "parents": [
        "a8b7228cdce9937ebc302a28db8599035e7b3c86"
      ],
      "author": {
        "name": "Nishanth Menon",
        "email": "nm@ti.com",
        "time": "Fri Feb 25 23:46:18 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:17 2011 +0100"
      },
      "message": "PM / OPP: opp_find_freq_exact() documentation fix\n\nopp_find_freq_exact() documentation has is_available instead\nof available. This also fixes warning with the kernel-doc:\nscripts/kernel-doc drivers/base/power/opp.c \u003e/dev/null\nWarning(drivers/base/power/opp.c:246): No description found for parameter \u0027available\u0027\nWarning(drivers/base/power/opp.c:246): Excess function parameter \u0027is_available\u0027 description in \u0027opp_find_freq_exact\u0027\n\nSigned-off-by: Nishanth Menon \u003cnm@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "9659cc0678b954f187290c6e8b247a673c5d37e1",
      "tree": "b9b391d2397b0583757dd1529a85d714dbb81697",
      "parents": [
        "cf4fb80ca3d591cae366ae8364e3c3f7a68bd249"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 18 23:20:21 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:17 2011 +0100"
      },
      "message": "PM: Make system-wide PM and runtime PM treat subsystems consistently\n\nThe code handling system-wide power transitions (eg. suspend-to-RAM)\ncan in theory execute callbacks provided by the device\u0027s bus type,\ndevice type and class in each phase of the power transition.  In\nturn, the runtime PM core code only calls one of those callbacks at\na time, preferring bus type callbacks to device type or class\ncallbacks and device type callbacks to class callbacks.\n\nIt seems reasonable to make them both behave in the same way in that\nrespect.  Moreover, even though a device may belong to two subsystems\n(eg. bus type and device class) simultaneously, in practice power\nmanagement callbacks for system-wide power transitions are always\nprovided by only one of them (ie. if the bus type callbacks are\ndefined, the device class ones are not and vice versa).  Thus it is\npossible to modify the code handling system-wide power transitions\nso that it follows the core runtime PM code (ie. treats the\nsubsystem callbacks as mutually exclusive).\n\nOn the other hand, the core runtime PM code will choose to execute,\nfor example, a runtime suspend callback provided by the device type\neven if the bus type\u0027s struct dev_pm_ops object exists, but the\nruntime_suspend pointer in it happens to be NULL.  This is confusing,\nbecause it may lead to the execution of callbacks from different\nsubsystems during different operations (eg. the bus type suspend\ncallback may be executed during runtime suspend of the device, while\nthe device type callback will be executed during system suspend).\n\nMake all of the power management code treat subsystem callbacks in\na consistent way, such that:\n(1) If the device\u0027s type is defined (eg. dev-\u003etype is not NULL)\n    and its pm pointer is not NULL, the callbacks from dev-\u003etype-\u003epm\n    will be used.\n(2) If dev-\u003etype is NULL or dev-\u003etype-\u003epm is NULL, but the device\u0027s\n    class is defined (eg. dev-\u003eclass is not NULL) and its pm pointer\n    is not NULL, the callbacks from dev-\u003eclass-\u003epm will be used.\n(3) If dev-\u003etype is NULL or dev-\u003etype-\u003epm is NULL and dev-\u003eclass is\n    NULL or dev-\u003eclass-\u003epm is NULL, the callbacks from dev-\u003ebus-\u003epm\n    will be used provided that both dev-\u003ebus and dev-\u003ebus-\u003epm are\n    not NULL.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nReasoning-sounds-sane-to: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7538e3db6e015e890825fbd9f8659952896ddd5b",
      "tree": "01a6d8c97599474d9c5fc1ed0eb6f0addaec5652",
      "parents": [
        "6831c6edc7b272a08dd2a6c71bb183a48fe98ae6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 16 21:53:17 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Add support for device power domains\n\nThe platform bus type is often used to handle Systems-on-a-Chip (SoC)\nwhere all devices are represented by objects of type struct\nplatform_device.  In those cases the same \"platform\" device driver\nmay be used with multiple different system configurations, but the\nactions needed to put the devices it handles into a low-power state\nand back into the full-power state may depend on the design of the\ngiven SoC.  The driver, however, cannot possibly include all the\ninformation necessary for the power management of its device on all\nthe systems it is used with.  Moreover, the device hierarchy in its\ncurrent form also is not suitable for representing this kind of\ninformation.\n\nThe patch below attempts to address this problem by introducing\nobjects of type struct dev_power_domain that can be used for\nrepresenting power domains within a SoC.  Every struct\ndev_power_domain object provides a sets of device power\nmanagement callbacks that can be used to perform what\u0027s needed for\ndevice power management in addition to the operations carried out by\nthe device\u0027s driver and subsystem.\n\nNamely, if a struct dev_power_domain object is pointed to by the\npwr_domain field in a struct device, the callbacks provided by its\nops member will be executed in addition to the corresponding\ncallbacks provided by the device\u0027s subsystem and driver during all\npower transitions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-and-acked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "e8665002477f0278f84f898145b1f141ba26ee26",
      "tree": "f22348cc3c0cf341216d422e01d2ac033973a0a5",
      "parents": [
        "88a6f33e4d7143f94f8e787fa4065ac873507984"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 12 01:42:41 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Allow pm_runtime_suspend() to succeed during system suspend\n\nThe dpm_prepare() function increments the runtime PM reference\ncounters of all devices to prevent pm_runtime_suspend() from\nexecuting subsystem-level callbacks.  However, this was supposed to\nguard against a specific race condition that cannot happen, because\nthe power management workqueue is freezable, so pm_runtime_suspend()\ncan only be called synchronously during system suspend and we can\nrely on subsystems and device drivers to avoid doing that\nunnecessarily.\n\nMake dpm_prepare() drop the runtime PM reference to each device\nafter making sure that runtime resume is not pending for it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "aa33860158114d0df3c7997bc1dd41c0168e1c2a",
      "tree": "a1ae98c42232835780618b0a5dea78c5478ed58c",
      "parents": [
        "196ec243224bb38fc5c41d9fa4050f70708b7fb4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 11 00:06:54 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:15 2011 +0100"
      },
      "message": "PM: Remove CONFIG_PM_OPS\n\nAfter redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP ||\nCONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be\nreplaced with CONFIG_PM.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "cb8f51bdadb7969139c2e39c2defd4cde98c1ea8",
      "tree": "a6d6e20878460d50b8f61d5fe3237818c54065eb",
      "parents": [
        "4681b17154b3fd81f898802262985f662344e6ed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 08 23:26:02 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:14 2011 +0100"
      },
      "message": "PM: Do not create wakeup sysfs files for devices that cannot wake up\n\nCurrently, wakeup sysfs attributes are created for all devices,\nregardless of whether or not they are wakeup-capable.  This is\nexcessive and complicates wakeup device identification from user\nspace (i.e. to identify wakeup-capable devices user space has to read\n/sys/devices/.../power/wakeup for all devices and see if they are not\nempty).\n\nFix this issue by avoiding to create wakeup sysfs files for devices\nthat cannot wake up the system from sleep states (i.e. whose\npower.can_wakeup flags are unset during registration) and modify\ndevice_set_wakeup_capable() so that it adds (or removes) the relevant\nsysfs attributes if a device\u0027s wakeup capability status is changed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0295a34d61f14522fddb26856191520d2e1d7e77",
      "tree": "6ad5f6f7c467f512d36f3955f629aef1fa667c11",
      "parents": [
        "790c7885a4b2105e41f7a80b035fdb78e406154f"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Mon Jan 31 11:07:14 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:14 2011 +0100"
      },
      "message": "PM: Use appropriate printk() priority level in trace.c\n\nprintk()s without a priority level default to KERN_WARNING. To reduce\nnoise at KERN_WARNING, this patch sets the priority level appriopriately\nfor unleveled printks()s. This should be useful to folks that look at\ndmesg warnings closely.\n\nChanged these messages to pr_info().\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "790c7885a4b2105e41f7a80b035fdb78e406154f",
      "tree": "dd0e725335ffe47ebd940f04cbd44db88a39759d",
      "parents": [
        "378eef99ad45700aabfba2bd962516e5608b259a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 31 11:07:01 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:14 2011 +0100"
      },
      "message": "PM / Wakeup: Don\u0027t update events_check_enabled in pm_get_wakeup_count()\n\nSince pm_save_wakeup_count() has just been changed to clear\nevents_check_enabled unconditionally before checking if there are\nany new wakeup events registered since the last read from\n/sys/power/wakeup_count, the detection of wakeup events during\nsuspend may be disabled, after it\u0027s been enabled, by writing a\n\"wrong\" value back to /sys/power/wakeup_count.  For this reason,\nit is not necessary to update events_check_enabled in\npm_get_wakeup_count() any more.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "378eef99ad45700aabfba2bd962516e5608b259a",
      "tree": "d9a0d584495e5b6ee764b6d740cece46f3b5ed1d",
      "parents": [
        "023d3779145ec6b7a0f38f19672a347b92feb74e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 31 11:06:50 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:13 2011 +0100"
      },
      "message": "PM / Wakeup: Make pm_save_wakeup_count() work as documented\n\nAccording to Documentation/ABI/testing/sysfs-power, the\n/sys/power/wakeup_count interface should only make the kernel react\nto wakeup events during suspend if the last write to it has been\nsuccessful.  However, if /sys/power/wakeup_count is written to two\ntimes in a row, where the first write is successful and the second\nis not, the kernel will still react to wakeup events during suspend\ndue to a bug in pm_save_wakeup_count().\n\nFix the bug by making pm_save_wakeup_count() clear\nevents_check_enabled unconditionally before checking if there are\nany new wakeup events registered since the previous read from\n/sys/power/wakeup_count.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "023d3779145ec6b7a0f38f19672a347b92feb74e",
      "tree": "1ec78dc731dad2b8155faf6625617284f1b3b76d",
      "parents": [
        "dc1b83ab08f1954335692cdcd499f78c94f4c42a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 31 11:06:39 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:13 2011 +0100"
      },
      "message": "PM / Wakeup: Combine atomic counters to avoid reordering issues\n\nThe memory barrier in wakeup_source_deactivate() is supposed to\nprevent the callers of pm_wakeup_pending() and pm_get_wakeup_count()\nfrom seeing the new value of events_in_progress (0, in particular)\nand the old value of event_count at the same time.  However, if\nwakeup_source_deactivate() is executed by CPU0 and, for instance,\npm_wakeup_pending() is executed by CPU1, where both processors can\nreorder operations, the memory barrier in wakeup_source_deactivate()\ndoesn\u0027t affect CPU1 which can reorder reads.  In that case CPU1 may\nvery well decide to fetch event_count before it\u0027s modified and\nevents_in_progress after it\u0027s been updated, so pm_wakeup_pending()\nmay fail to detect a wakeup event.  This issue can be addressed by\nusing a single atomic variable to store both events_in_progress\nand event_count, so that they can be updated together in a single\natomic operation.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c3810c88788d505d4ffd786addd111b745e42161",
      "tree": "cc70c4e1ec62adb4f51cf7e1f45ed296a0475f04",
      "parents": [
        "c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jan 25 20:50:07 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 25 20:50:07 2011 +0100"
      },
      "message": "PM / Runtime: Don\u0027t enable interrupts while running in_interrupt\n\nThis patch (as1445) fixes a bug in the runtime PM core left over from\nthe addition of the no_callbacks flag.  If this flag is set then it is\npossible for rpm_suspend() to be called in_interrupt, so when\nreleasing spinlocks it\u0027s important not to re-enable interrupts.\n\nTo avoid an unnecessary save-and-restore of the interrupt flag, the\npatch also inlines a pm_request_idle() call.\n\nThis fixes Bugzilla #27482.\n\n(The offending code was added in 2.6.37, so it\u0027s not necessary to apply\nthis to any earlier stable kernels.)\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nReported-by: tim blechmann \u003ctim@klingt.org\u003e\nCC: \u003cstable@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "4b31db8a16fa0d4d6a0fa42d044e7a4f4dad3641",
      "tree": "4075d84f26fdd8e70ec62c9b541caa1ea23cebda",
      "parents": [
        "5c1a07ab3e78ef68fc9ccf419c969e8ed88d7cb6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:04:06 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:04:06 2010 +0100"
      },
      "message": "PM / Runtime: Generic resume shouldn\u0027t set RPM_ACTIVE unconditionally\n\nThe __pm_generic_resume() function changes the given device\u0027s runtime\nPM status to RPM_ACTIVE if its driver\u0027s callback returns 0, but it\nonly should do that if the rumtime PM is enabled for the device.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5c1a07ab3e78ef68fc9ccf419c969e8ed88d7cb6",
      "tree": "4c3866f747a5947ed7f687d625059381944304e5",
      "parents": [
        "b64959e6158d6dcb640fc22d7f43b94ad1c91135"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:03:34 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:03:34 2010 +0100"
      },
      "message": "PM: Use dev_name() in core device suspend and resume routines\n\nUse dev_name() wherever applicable in drivers/base/power/main.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b64959e6158d6dcb640fc22d7f43b94ad1c91135",
      "tree": "51208ab0468472bd2e8a33ed44a5eaa69d8247ed",
      "parents": [
        "b8c76f6aed0ab7df73a6410f3f82de2c831bb144"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 16 17:11:45 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:44 2010 +0100"
      },
      "message": "PM: Permit registration of parentless devices during system suspend\n\nThe registration of a new parentless device during system suspend\nwill not lead to any complications affecting the PM core (the device\nwill be effectively seen after the subsequent resume has completed),\nso remove the code used for detection of such events.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b8c76f6aed0ab7df73a6410f3f82de2c831bb144",
      "tree": "1194ded4c23f62ab253a2e0712cfdd436aa2365b",
      "parents": [
        "5b219a51fdceaf76e0e18da57c7efb9e5586e567"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 16 00:51:21 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:44 2010 +0100"
      },
      "message": "PM: Replace the device power.status field with a bit field\n\nThe device power.status field is too complicated for its purpose\n(storing the information about whether or not the device is in the\n\"active\" state from the PM core\u0027s point of view), so replace it with\na bit field and modify all of its users accordingly.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5b219a51fdceaf76e0e18da57c7efb9e5586e567",
      "tree": "de72cbfa6c47170a1118716ffafc5a876d4ebfbc",
      "parents": [
        "8a43a9ab7b329aa8590f8a064df9bf8c80987507"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 16 00:51:08 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:43 2010 +0100"
      },
      "message": "PM: Remove redundant checks from core device resume routines\n\nSince a separate list of devices is used to link devices that have\ncompleted each stage of suspend (or resume), it is not necessary to\ncheck dev-\u003epower.status in the core device resume routines any more.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8a43a9ab7b329aa8590f8a064df9bf8c80987507",
      "tree": "7e60bb0dd5f4dcf6531aa3aad196930f02553166",
      "parents": [
        "2cbb3ce1ad19e66858a4284dd6c4bb958162c483"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 16 00:50:30 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:43 2010 +0100"
      },
      "message": "PM: Use a different list of devices for each stage of device suspend\n\nInstead of keeping all devices in the same list during system suspend\nand resume, regardless of what suspend-resume callbacks have been\nexecuted for them already, use separate lists of devices that have\nhad their -\u003eprepare(), -\u003esuspend() and -\u003esuspend_noirq() callbacks\nexecuted.  This will allow us to simplify the core device suspend and\nresume routines.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2cbb3ce1ad19e66858a4284dd6c4bb958162c483",
      "tree": "ae1fd63072a8f57813a98c589680d1f41e08f919",
      "parents": [
        "d83f905e126f8cbc5e4addc5d1a64aea785b732e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 15 00:17:29 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:42 2010 +0100"
      },
      "message": "PM: Avoid compiler warning in pm_noirq_op()\n\nThe compiler complains that calltime may be uninitialized in\npm_noirq_op(), so add extra initialization for that variable to\navoid the warning.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d83f905e126f8cbc5e4addc5d1a64aea785b732e",
      "tree": "45778fff5807b9e844f5290d4f0674433d157102",
      "parents": [
        "a2867e08c8e3bdbc00caf56bc3bdde19ccc058e3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 03 23:14:26 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:42 2010 +0100"
      },
      "message": "PM: Use pm_wakeup_pending() in __device_suspend()\n\nBefore starting to suspend a device in __device_suspend() check if\nthere\u0027s a request to abort the power transition and return -EBUSY\nin that case.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a2867e08c8e3bdbc00caf56bc3bdde19ccc058e3",
      "tree": "34cee3dede448f30bb100d8301c422f481678bcc",
      "parents": [
        "1e75227ef0571031cd18536ab768ee35667ec5b9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 03 22:58:31 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:42 2010 +0100"
      },
      "message": "PM / Wakeup: Replace pm_check_wakeup_events() with pm_wakeup_pending()\n\nTo avoid confusion with the meaning and return value of\npm_check_wakeup_events() replace it with pm_wakeup_pending() that\nwill work the other way around (ie. return true when system-wide\npower transition should be aborted).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1e75227ef0571031cd18536ab768ee35667ec5b9",
      "tree": "13535aa717c401d390f6ab3cbd87e030aa2a75ef",
      "parents": [
        "7ac4dcabdb482d4e74c9d36782d00bc6c4c01619"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 03 22:58:05 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:41 2010 +0100"
      },
      "message": "PM: Prevent dpm_prepare() from returning errors unnecessarily\n\nCurrently dpm_prepare() returns error code if it finds that a device\nbeing suspended has a pending runtime resume request.  However, it\nshould not do that if the checking for wakeup events is not enabled.\nOn the other hand, if the checking for wakeup events is enabled, it\ncan return error when a wakeup event is detected, regardless of its\nsource.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c7b61de5b7b17f0df34dc7d2f8b9576f8bd36fce",
      "tree": "d8cf6be1aab175839973d2c76060bd41d65b2ed5",
      "parents": [
        "5262a47502adcfc3a64403120768f528418a3b79"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Dec 01 00:14:42 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:41 2010 +0100"
      },
      "message": "PM / Runtime: Add synchronous runtime interface for interrupt handlers (v3)\n\nThis patch (as1431c) makes the synchronous runtime-PM interface\nsuitable for use in interrupt handlers.  Subsystems can call the new\npm_runtime_irq_safe() function to tell the PM core that a device\u0027s\nruntime_suspend and runtime_resume callbacks should be invoked with\ninterrupts disabled and the spinlock held.  This permits the\npm_runtime_get_sync() and the new pm_runtime_put_sync_suspend()\nroutines to be called from within interrupt handlers.\n\nWhen a device is declared irq-safe in this way, the PM core increments\nthe parent\u0027s usage count, so the parent will never be runtime\nsuspended.  This prevents difficult situations in which an irq-safe\ndevice can\u0027t resume because it is forced to wait for its non-irq-safe\nparent.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6675bc056790b403d198a173498d377187754142",
      "tree": "2e792c4871a5e900b49b2ad4fa5f2e027d6ee121",
      "parents": [
        "eda4b716ea1f2a647a39cebae66b3fae4c4b80e4"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Thu Nov 25 23:41:19 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:39 2010 +0100"
      },
      "message": "PM / Runtime: Fix comments to match runtime callback code\n\nCommit 05aa55dddb9ee4045c320661068bea78dad6a6e5 changed routines to\nsucceed if the driver handler is not defined. Comments were not updated.\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "d08a5ace18dce9b18d8eb56bb6c0feef082b1b33",
      "tree": "401e2aa7312a2ae682433e6b320fee9feab071bd",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Nov 11 01:50:53 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Nov 11 01:50:53 2010 +0100"
      },
      "message": "PM: Allow devices to be removed during late suspend and early resume\n\nHolding dpm_list_mtx across late suspend and early resume of devices\nis problematic for the PCMCIA subsystem and doesn\u0027t allow device\nobjects to be removed by late suspend and early resume driver\ncallbacks.  This appears to be overly restrictive, as drivers are\ngenerally allowed to remove device objects in other phases of suspend\nand resume.  Therefore rework dpm_{suspend|resume}_noirq() so that\nthey don\u0027t have to hold dpm_list_mtx all the time.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "78ca7c37efaa541006269aa3d3e560ea7926e245",
      "tree": "1d54636da21626f281864a777ee7607891c436f4",
      "parents": [
        "18cb657ca1bafe635f368346a1676fb04c512edf"
      ],
      "author": {
        "name": "Kevin Winchester",
        "email": "kjwinchester@gmail.com",
        "time": "Fri Oct 29 15:29:55 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 29 15:29:55 2010 +0200"
      },
      "message": "PM / Runtime: Fix typo in status comparison causing warning\n\nGCC version 4.5.1 gives the following warning:\n\ndrivers/base/power/runtime.c: In function ‘rpm_check_suspend_allowed’:\ndrivers/base/power/runtime.c:146:25: warning: comparison between ‘enum dpm_state’ and ‘enum rpm_status’\n\nwhich seems to be a typo in that dev-\u003epower.runtime_status\nshould be compared instead of dev-\u003epower.status.\n\nSigned-off-by: Kevin Winchester \u003ckjwinchester@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d63be5f924cf054e7ac18bb2761f9533039fb076",
      "tree": "6db8b10599ad992de452f7b6193e02c75c9296e3",
      "parents": [
        "9c034392533f3e9f00656d5c58478cff2560ef81"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Fri Oct 22 23:48:14 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 22 23:48:14 2010 +0200"
      },
      "message": "PM / Runtime: fix recursive locking warning of lockdep from rpm_resume()\n\nFor device with no_callbacks flag set, its power lock and its parent\u0027s\npower lock may be held nestedly in rpm_resume, so we should take\nspin_lock_nested(lock, SINGLE_DEPTH_NESTING) to acquire parent power lock\nto avoid lockdep warning.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "9c034392533f3e9f00656d5c58478cff2560ef81",
      "tree": "c7b46ef72affbd412961f82a46697b606a69ae1c",
      "parents": [
        "e1f60b292ffd61151403327aa19ff7a1871820bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Oct 19 23:42:49 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Oct 19 23:42:49 2010 +0200"
      },
      "message": "PM / Wakeup: Show wakeup sources statistics in debugfs\n\nThere may be wakeup sources that aren\u0027t associated with any devices\nand their statistics information won\u0027t be available from sysfs. Also,\nfor debugging purposes it is convenient to have all of the wakeup\nsources statistics available from one place.  For these reasons,\nintroduce new file \"wakeup_sources\" in debugfs containing those\nstatistics.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e1f60b292ffd61151403327aa19ff7a1871820bd",
      "tree": "63a01a1ab04e54b1ed859728b594e40123c80fc3",
      "parents": [
        "d33ac60beaf2c7dee5cd90aba7c1eb385dd70937"
      ],
      "author": {
        "name": "Nishanth Menon",
        "email": "nm@ti.com",
        "time": "Wed Oct 13 00:13:10 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:50 2010 +0200"
      },
      "message": "PM: Introduce library for device-specific OPPs (v7)\n\nSoCs have a standard set of tuples consisting of frequency and\nvoltage pairs that the device will support per voltage domain. These\nare called Operating Performance Points or OPPs. The actual\ndefinitions of OPP varies over silicon versions. For a specific domain,\nwe can have a set of {frequency, voltage} pairs. As the kernel boots\nand more information is available, a default set of these are activated\nbased on the precise nature of device. Further on operation, based on\nconditions prevailing in the system (such as temperature), some OPP\navailability may be temporarily controlled by the SoC frameworks.\n\nTo implement an OPP, some sort of power management support is necessary\nhence this library depends on CONFIG_PM.\n\nContributions include:\nSanjeev Premi for the initial concept:\n\thttp://patchwork.kernel.org/patch/50998/\nKevin Hilman for converting original design to device-based.\nKevin Hilman and Paul Walmsey for cleaning up many of the function\nabstractions, improvements and data structure handling.\nRomit Dasgupta for using enums instead of opp pointers.\nThara Gopinath, Eduardo Valentin and Vishwanath BS for fixes and\ncleanups.\nLinus Walleij for recommending this layer be made generic for usage\nin other architectures beyond OMAP and ARM.\nMark Brown, Andrew Morton, Rafael J. Wysocki, Paul E. McKenney for\nvaluable improvements.\n\nDiscussions and comments from:\nhttp://marc.info/?l\u003dlinux-omap\u0026m\u003d126033945313269\u0026w\u003d2\nhttp://marc.info/?l\u003dlinux-omap\u0026m\u003d125482970102327\u0026w\u003d2\nhttp://marc.info/?t\u003d125809247500002\u0026r\u003d1\u0026w\u003d2\nhttp://marc.info/?l\u003dlinux-omap\u0026m\u003d126025973426007\u0026w\u003d2\nhttp://marc.info/?t\u003d128152609200064\u0026r\u003d1\u0026w\u003d2\nhttp://marc.info/?t\u003d128468723000002\u0026r\u003d1\u0026w\u003d2\nincorporated.\n\nv1: http://marc.info/?t\u003d128468723000002\u0026r\u003d1\u0026w\u003d2\n\nSigned-off-by: Nishanth Menon \u003cnm@ti.com\u003e\nSigned-off-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d33ac60beaf2c7dee5cd90aba7c1eb385dd70937",
      "tree": "7393c5f323433f39d2c64e7d9990aa7565397214",
      "parents": [
        "2ac21c6bc4249ee6d922f18dbec7266377592c32"
      ],
      "author": {
        "name": "James Hogan",
        "email": "james@albanarts.com",
        "time": "Tue Oct 12 00:00:25 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:50 2010 +0200"
      },
      "message": "PM: Add sysfs attr for rechecking dev hash from PM trace\n\nIf the device which fails to resume is part of a loadable kernel module\nit won\u0027t be checked at startup against the magic number stored in the\nRTC.\n\nAdd a read-only sysfs attribute /sys/power/pm_trace_dev_match which\ncontains a list of newline separated devices (usually just the one)\nwhich currently match the last magic number. This allows the device\nwhich is failing to resume to be found after the modules are loaded\nagain.\n\nSigned-off-by: James Hogan \u003cjames@albanarts.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2ac21c6bc4249ee6d922f18dbec7266377592c32",
      "tree": "6ef49d2222cf3591bcd427c5721411bdf95e1f12",
      "parents": [
        "f71648d73c1650b8b4aceb3856bebbde6daa3b86"
      ],
      "author": {
        "name": "James Hogan",
        "email": "james@albanarts.com",
        "time": "Mon Oct 11 23:59:58 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:50 2010 +0200"
      },
      "message": "PM: Lock PM device list mutex in show_dev_hash()\n\nLock the PM device list mutex using device_pm_lock() and\ndevice_pm_unlock() around the list iteration in show_dev_hash().\n\nshow_dev_hash() was reverse iterating dpm_list without first locking the\nmutex that the functions in drivers/base/power/main.c lock. I assume\nthis was unintentional since there is no comment suggesting why the lock\nmight not be necessary.\n\nSigned-off-by: James Hogan \u003cjames@albanarts.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f71648d73c1650b8b4aceb3856bebbde6daa3b86",
      "tree": "de47bd189c730d82781a43cc638452aef37facfe",
      "parents": [
        "3624eb04c24861ab296842414f9752a393e68372"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Oct 11 01:02:27 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:49 2010 +0200"
      },
      "message": "PM / Runtime: Remove idle notification after failing suspend\n\nIf runtime suspend of a device fails returning -EAGAIN or -EBUSY,\nwhich means that it\u0027s safe to try to suspend it again, the PM core\nruns the runtime idle helper function for it.  Unfortunately this may\nlead to problems, for example for PCI devices whose drivers don\u0027t\nimplement the -\u003eruntime_idle() callback, because in that case the\nPCI bus type\u0027s -\u003eruntime_idle() always calls pm_runtime_suspend()\nfor the given device.  Then, if there\u0027s an automatic idle\nnotification after the driver\u0027s -\u003eruntime_suspend() returning -EAGAIN\nor -EBUSY, it will make the suspend happen again possibly causing a\nbusy loop to appear.  To avoid that, remove the idle notification\nafter failing runtime suspend of a device altogether and let the\ncallers of pm_runtime_suspend() repeat the operation if need be.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "71c63122c4609a917f14a79c32067a68909fc487",
      "tree": "03a8e884b838e85ee02482ddea22dd47d32e3dd2",
      "parents": [
        "dbeeec5fe868f2e2e92fe94daa2c5a047240fdc4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Oct 04 22:08:01 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:49 2010 +0200"
      },
      "message": "PM / Runtime: Reduce code duplication in core helper functions\n\nReduce code duplication in rpm_idle(), rpm_suspend() and rpm_resume()\nby using local pointers to store callback addresses and moving some\nduplicated code into a separate function.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "15bcb91d7e607d8a2e060f01f7784a7454668da4",
      "tree": "6d59964cb78ab4b7c93a3c4d06f0dad256b99140",
      "parents": [
        "7490e44239e60293bca0c2663229050c36c660c2"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:35:21 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:48 2010 +0200"
      },
      "message": "PM / Runtime: Implement autosuspend support\n\nThis patch (as1427) implements the \"autosuspend\" facility for runtime\nPM.  A few new fields are added to the dev_pm_info structure and\nseveral new PM helper functions are defined, for telling the PM core\nwhether or not a device uses autosuspend, for setting the autosuspend\ndelay, and for marking periods of device activity.\n\nDrivers that do not want to use autosuspend can continue using the\nsame helper functions as before; their behavior will not change.  In\naddition, drivers supporting autosuspend can also call the old helper\nfunctions to get the old behavior.\n\nThe details are all explained in Documentation/power/runtime_pm.txt\nand Documentation/ABI/testing/sysfs-devices-power.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "7490e44239e60293bca0c2663229050c36c660c2",
      "tree": "938cd1cafba133f2d47c648ac01242de841d6d1b",
      "parents": [
        "140a6c945211ee911dec776fafa52e03a7d7bb9a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:35:15 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:47 2010 +0200"
      },
      "message": "PM / Runtime: Add no_callbacks flag\n\nSome devices, such as USB interfaces, cannot be power-managed\nindependently of their parents, i.e., they cannot be put in low power\nwhile the parent remains at full power.  This patch (as1425) creates a\nnew \"no_callbacks\" flag, which tells the PM core not to invoke the\nruntime-PM callback routines for the such devices but instead to\nassume that the callbacks always succeed.  In addition, the\nnon-debugging runtime-PM sysfs attributes for the devices are removed,\nsince they are pretty much meaningless.\n\nThe advantage of this scheme comes not so much from avoiding the\ncallbacks themselves, but rather from the fact that without the need\nfor a process context in which to run the callbacks, more work can be\ndone in interrupt context.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "140a6c945211ee911dec776fafa52e03a7d7bb9a",
      "tree": "22b5d4bf530d95a890daef41d92051fca043ca26",
      "parents": [
        "1bfee5bc86fdaecc912e06080583eddab7263df2"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:35:07 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:47 2010 +0200"
      },
      "message": "PM / Runtime: Combine runtime PM entry points\n\nThis patch (as1424) combines the various public entry points for the\nruntime PM routines into three simple functions: one for idle, one for\nsuspend, and one for resume.  A new bitflag specifies whether or not\nto increment or decrement the usage_count field.\n\nThe new entry points are named __pm_runtime_idle,\n__pm_runtime_suspend, and __pm_runtime_resume, to reflect that they\nare trampolines.  Simultaneously, the corresponding internal routines\nare renamed to rpm_idle, rpm_suspend, and rpm_resume.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1bfee5bc86fdaecc912e06080583eddab7263df2",
      "tree": "1f1b0f5ff1b9b7a5eed1ccd62de1d8ffb37f2ea3",
      "parents": [
        "3f9af0513ae5b1f185302c2d0ba656640926d970"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:35:00 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:46 2010 +0200"
      },
      "message": "PM / Runtime: Merge synchronous and async runtime routines\n\nThis patch (as1423) merges the asynchronous routines\n__pm_request_idle(), __pm_request_suspend(), and __pm_request_resume()\nwith their synchronous counterparts.  The RPM_ASYNC bitflag argument\nserves to indicate what sort of operation to perform.\n\nIn the course of performing this merger, it became apparent that the\nvarious functions don\u0027t all behave consistenly with regard to error\nreporting and cancellation of outstanding requests.  A new routine,\nrpm_check_suspend_allowed(), was written to centralize much of the\ntesting, and the other functions were revised to follow a simple\nalgorithm:\n\n\tIf the operation is disallowed because of the device\u0027s\n\tsettings or current state, return an error.\n\n\tCancel pending or scheduled requests of lower priority.\n\n\tSchedule, queue, or perform the desired operation.\n\nA few special cases and exceptions are noted in comments.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3f9af0513ae5b1f185302c2d0ba656640926d970",
      "tree": "5f99b98aca875a812f444721a88a3fc3de842538",
      "parents": [
        "4769373ca2c8d0b999749a070c48fd8648888831"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:34:54 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:44 2010 +0200"
      },
      "message": "PM / Runtime: Replace boolean arguments with bitflags\n\nThe \"from_wq\" argument in __pm_runtime_suspend() and\n__pm_runtime_resume() supposedly indicates whether or not the function\nwas called by the PM workqueue thread, but in fact it isn\u0027t always\nused this way.  It really indicates whether or not the function should\nreturn early if the requested operation is already in progress.\n\nAlong with this badly-named boolean argument, later patches in this\nseries will add several other boolean arguments to these functions and\nothers.  Therefore this patch (as1422) begins the conversion process\nby replacing from_wq with a bitflag argument.  The same bitflags are\nalso used in __pm_runtime_get() and __pm_runtime_put(), where they\nindicate whether or not the operation should be asynchronous.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4769373ca2c8d0b999749a070c48fd8648888831",
      "tree": "62ec8eed1390d3fd9f9eb6cf979037ca316bf625",
      "parents": [
        "69d44ffbd772bede8c2a6d182e6e14f94826520b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:34:46 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:44 2010 +0200"
      },
      "message": "PM / Runtime: Move code in drivers/base/power/runtime.c\n\nThis patch (as1421) moves the PM runtime accounting subroutines up to\nthe beginning of runtime.c, taking them out of the middle of the\nfunctions that do the actual work.  No operational changes.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "098dff738abbeaea15fc95c4f4fdaee1e9bbea75",
      "tree": "b2282f59358b4f1e8bbf9949ff1eec4c8016ca5f",
      "parents": [
        "074037ec79bea73edf1b1ec72fef1010e83e3cc5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Sep 22 22:10:57 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:43 2010 +0200"
      },
      "message": "PM: Fix potential issue with failing asynchronous suspend\n\nThere is a potential issue with the asynchronous suspend code that\na device driver suspending asynchronously may not notice that it\nshould back off.  There are two failing scenarions, (1) when the\ndriver is waiting for a driver suspending synchronously to complete\nand that second driver returns error code, in which case async_error\nwon\u0027t be set and the waiting driver will continue suspending and (2)\nafter the driver has called device_pm_wait_for_dev() and the waited\nfor driver returns error code, in which case the caller of\ndevice_pm_wait_for_dev() will not know that there was an error and\nwill continue suspending.\n\nTo fix this issue make __device_suspend() set async_error, so\nasync_suspend() doesn\u0027t need to set it any more, and make\ndevice_pm_wait_for_dev() return async_error, so that its callers\ncan check whether or not they should continue suspending.\n\nNo more changes are necessary, since device_pm_wait_for_dev() is\nnot used by any drivers\u0027 suspend routines.\n\nReported-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "074037ec79bea73edf1b1ec72fef1010e83e3cc5",
      "tree": "1876caa07f755e680da5ea102d985efe4b508d56",
      "parents": [
        "0702d9ee0f1dcb6258789032f03b3208bfafaffc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Sep 22 22:09:10 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:43 2010 +0200"
      },
      "message": "PM / Wakeup: Introduce wakeup source objects and event statistics (v3)\n\nIntroduce struct wakeup_source for representing system wakeup sources\nwithin the kernel and for collecting statistics related to them.\nMake the recently introduced helper functions pm_wakeup_event(),\npm_stay_awake() and pm_relax() use struct wakeup_source objects\ninternally, so that wakeup statistics associated with wakeup devices\ncan be collected and reported in a consistent way (the definition of\npm_relax() is changed, which is harmless, because this function is\nnot called directly by anyone yet).  Introduce new wakeup-related\nsysfs device attributes in /sys/devices/.../power for reporting the\ndevice wakeup statistics.\n\nChange the global wakeup events counters event_count and\nevents_in_progress into atomic variables, so that it is not necessary\nto acquire a global spinlock in pm_wakeup_event(), pm_stay_awake()\nand pm_relax(), which should allow us to avoid lock contention in\nthese functions on SMP systems with many wakeup devices.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0702d9ee0f1dcb6258789032f03b3208bfafaffc",
      "tree": "a5bf807f25f1d72b2577e1a37f8b125ac5a1cd21",
      "parents": [
        "ac5c24ec1e983313ef0015258fba6f630e54e7cf"
      ],
      "author": {
        "name": "Kevin Cernekee",
        "email": "cernekee@gmail.com",
        "time": "Mon Sep 20 22:32:10 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:43 2010 +0200"
      },
      "message": "PM: Fix signed/unsigned warning in dpm_show_time()\n\nSeen on MIPS32, gcc 4.4.3, 2.6.36-rc4:\n\ndrivers/base/power/main.c: In function \u0027dpm_show_time\u0027:\ndrivers/base/power/main.c:415: warning: comparison of distinct pointer types lacks a cast\n\ndo_div() takes unsigned parameters:\n\nuint32_t do_div(uint64_t *n, uint32_t base);\n\nUsing an unsigned variable for usecs64 should not cause any problems,\nbecause calltime \u003e\u003d starttime .\n\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "05aa55dddb9ee4045c320661068bea78dad6a6e5",
      "tree": "a1e814aebe12a2b560b505a3763dfdbf8ad90d8a",
      "parents": [
        "2d019713b7acbc01d769a1e512ca1f9a04c30bd0"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Thu Sep 09 00:46:16 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:41 2010 +0200"
      },
      "message": "PM / Runtime: Lenient generic runtime pm callbacks\n\nAllow drivers, that belong to subsystems which use the generic\nruntime pm callbacks, not to define runtime pm suspend/resume handlers,\nby implicitly assuming success in such cases.\n\nThis is needed to eliminate nop handlers that would otherwise be\nnecessary by drivers which enable runtime pm, but don\u0027t need\nto do anything when their devices are runtime-suspended/resumed.\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "152e1d592071c8b312bb898bc1118b64e4aea535",
      "tree": "4e26f4a54914543c42b08b5e553ed2d671ba3fe0",
      "parents": [
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 03 01:24:07 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Sep 09 00:49:43 2010 +0200"
      },
      "message": "PM: Prevent waiting forever on asynchronous resume after failing suspend\n\nDuring suspend, the power.completion is expected to be set when a\ndevice has not yet started suspending.  Set it on init to fix a\ncorner case where a device is resumed when its parent has never\nsuspended.\n\nConsider three drivers, A, B, and C.  The parent of A is C, and C\nhas async_suspend set.  On boot, C-\u003epower.completion is initialized\nto 0.\n\nDuring the first suspend:\nsuspend_devices_and_enter(...)\n dpm_resume(...)\n  device_suspend(A)\n  device_suspend(B) returns error, aborts suspend\n dpm_resume_end(...)\n   dpm_resume(...)\n    device_resume(A)\n     dpm_wait(A-\u003eparent \u003d\u003d C)\n      wait_for_completion(C-\u003epower.completion)\n\nThe wait_for_completion will never complete, because\ncomplete_all(C-\u003epower.completion) will only be called from\ndevice_suspend(C) or device_resume(C), neither of which is called\nif suspend is aborted before C.\n\nAfter a successful suspend-\u003eresume cycle, where B doesn\u0027t abort\nsuspend, C-\u003epower.completion is left in the completed state by the\ncall to device_resume(C), and the same call path will work if B\naborts suspend.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8d4b9d1bfef117862a2889dec4dac227068544c9",
      "tree": "a17f69a64b97759452988047058666ae51f70304",
      "parents": [
        "0fcb4eef8294492c8f1de8236b1ed81f09e42922"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 19 02:01:06 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 19 02:01:06 2010 +0200"
      },
      "message": "PM / Runtime: Add runtime PM statistics (v3)\n\nIn order for PowerTOP to be able to report how well the new runtime PM is\nworking for the various drivers, the kernel needs to export some basic\nstatistics in sysfs.\n\nThis patch adds two sysfs files in the runtime PM domain that expose the\ntotal time a device has been active, and the time a device has been\nsuspended.\n\nWith this PowerTOP can compute the activity percentage\n\nActive %age \u003d 100 * (delta active) / (delta active + delta suspended)\n\nand present the information to the user.\n\nI\u0027ve written the PowerTOP code (slated for version 1.12) already, and the\noutput looks like this:\n\nRuntime Device Power Management statistics\nActive  Device name\n 10.0%\t06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller\n\n[version 2: fix stat update bugs noticed by Alan Stern]\n[version 3: rebase to -next and move the sysfs declaration]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0fcb4eef8294492c8f1de8236b1ed81f09e42922",
      "tree": "23c96ecfc5a85c1870d85c5db9421b6c09763fa8",
      "parents": [
        "4eb241e5691363c391aac8a5051d0d013188ec84"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jul 08 00:05:37 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 19 02:00:36 2010 +0200"
      },
      "message": "PM / Runtime: Make runtime_status attribute not debug-only (v. 2)\n\nThis patch (as1404b) makes the runtime_status sysfs attribute available\neven in the absence of CONFIG_PM_ADVANCED_DEBUG, and it changes the\nroutine to display \"unsupported\" when runtime PM is disabled for a\ndevice.  Although not strictly 100% accurate, this will almost always\nbe correct.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4eb241e5691363c391aac8a5051d0d013188ec84",
      "tree": "4692a93a29f4aa556a2a54173e5f6d7f4bdb7ae6",
      "parents": [
        "ce4410116c5debfb0e049f5db4b5cd6211e05b80"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 07 23:43:51 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 19 02:00:35 2010 +0200"
      },
      "message": "PM: Do not use dynamically allocated objects in pm_wakeup_event()\n\nOriginally, pm_wakeup_event() uses struct delayed_work objects,\nallocated with GFP_ATOMIC, to schedule the execution of pm_relax()\nin future.  However, as noted by Alan Stern, it is not necessary to\ndo that, because all pm_wakeup_event() calls can use one static timer\nthat will always be set to expire at the latest time passed to\npm_wakeup_event().\n\nThe modifications are based on the example code posted by Alan.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c125e96f044427f38d106fab7bc5e4a5e6a18262",
      "tree": "d9bbd40cc933fe522dbdf8ca2f7edf7b6f2f7ca4",
      "parents": [
        "b14e033e17d0ea0ba12668d0d2f371cd31586994"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 05 22:43:53 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 19 01:58:48 2010 +0200"
      },
      "message": "PM: Make it possible to avoid races between wakeup and system sleep\n\nOne of the arguments during the suspend blockers discussion was that\nthe mainline kernel didn\u0027t contain any mechanisms making it possible\nto avoid races between wakeup and system suspend.\n\nGenerally, there are two problems in that area.  First, if a wakeup\nevent occurs exactly when /sys/power/state is being written to, it\nmay be delivered to user space right before the freezer kicks in, so\nthe user space consumer of the event may not be able to process it\nbefore the system is suspended.  Second, if a wakeup event occurs\nafter user space has been frozen, it is not generally guaranteed that\nthe ongoing transition of the system into a sleep state will be\naborted.\n\nTo address these issues introduce a new global sysfs attribute,\n/sys/power/wakeup_count, associated with a running counter of wakeup\nevents and three helper functions, pm_stay_awake(), pm_relax(), and\npm_wakeup_event(), that may be used by kernel subsystems to control\nthe behavior of this attribute and to request the PM core to abort\nsystem transitions into a sleep state already in progress.\n\nThe /sys/power/wakeup_count file may be read from or written to by\nuser space.  Reads will always succeed (unless interrupted by a\nsignal) and return the current value of the wakeup events counter.\nWrites, however, will only succeed if the written number is equal to\nthe current value of the wakeup events counter.  If a write is\nsuccessful, it will cause the kernel to save the current value of the\nwakeup events counter and to abort the subsequent system transition\ninto a sleep state if any wakeup events are reported after the write\nhas returned.\n\n[The assumption is that before writing to /sys/power/state user space\nwill first read from /sys/power/wakeup_count.  Next, user space\nconsumers of wakeup events will have a chance to acknowledge or\nveto the upcoming system transition to a sleep state.  Finally, if\nthe transition is allowed to proceed, /sys/power/wakeup_count will\nbe written to and if that succeeds, /sys/power/state will be written\nto as well.  Still, if any wakeup events are reported to the PM core\nby kernel subsystems after that point, the transition will be\naborted.]\n\nAdditionally, put a wakeup events counter into struct dev_pm_info and\nmake these per-device wakeup event counters available via sysfs,\nso that it\u0027s possible to check the activity of various wakeup event\nsources within the kernel.\n\nTo illustrate how subsystems can use pm_wakeup_event(), make the\nlow-level PCI runtime PM wakeup-handling code use it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nReviewed-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "c92445fadb9179d811b5cb044947ad4712403541",
      "tree": "7e314fd096afdd220169068a281a1e8e0a8b1e7d",
      "parents": [
        "d6f9cda1fd241bc7a1d896da94950fd972eca9b7"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Fri Apr 23 20:32:23 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 10 23:08:17 2010 +0200"
      },
      "message": "PM / Runtime: Add sysfs debug files\n\nAdd a few sysfs files relating to runtime power management for\nadvanced debug purposes:\n\nruntime_enabled: is runtime PM enabled for this device? States\n\tare \"enabled\", \"disabled\", \"forbidden\" or a combination\n\tof the latter two.\n\nruntime_status:\twhat state is the device in currently? E.g., it\n\treports \"suspended\" for runtime-suspended devices, and\n        \"active\" for active devices. NOTE: if runtime_enabled\n\treturns \"disabled\", the value of this file may not\n\treflect its physical state.\n\nruntime_usage: the runtime PM usage count of a device\n\nruntime_active_kids: the runtime PM children usage count of a device, or\n\t0 if the ignore_children flag is set.\n\nAlso, CONFIG_PM_SLEEP_ADVANCED_DEBUG is not defined in any Kconfig\nfile, so replace it with CONFIG_PM_ADVANCED_DEBUG.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "240c7337a4cd3d91b196c5ef97ad461b3a22fa09",
      "tree": "252a5938fa8c9f75925653876c32bef1a2ed899b",
      "parents": [
        "228c54ef7a028d5a4b6606eb0c8035874d9b6788"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Mar 23 00:50:07 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 10 23:08:16 2010 +0200"
      },
      "message": "PM: Allow runtime_suspend methods to call pm_schedule_suspend()\n\nThis patch (as1361) changes the runtime PM interface slightly; it\nallows suspend requests to be scheduled while the runtime_suspend\nmethod is running.  If the method succeeds then the scheduled request\nis cancelled, whereas if the method fails then an idle notification is\nsent only if no request was scheduled.\n\nBeing able to schedule suspend requests from within a runtime_suspend\nmethod is useful for drivers that need to test for idleness and\nsuspend the device all while holding a single spinlock, or for drivers\nthat want to check for idleness by polling.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e7176a37d436a214f6a7727ea7986c654cbee8f0",
      "tree": "6efc0a74883b326ff7575a36793120027018195c",
      "parents": [
        "7d7ba8d31eb293016bc91a5c8fc36b21fd917265"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Mon Mar 15 21:43:11 2010 +0100"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Wed Mar 24 11:00:02 2010 +0100"
      },
      "message": "power: support _noirq actions on device types and classes\n\nThe new-style dev_pm_ops provide callbacks for both IRQs enabled\nand disabled. However, the _noirq variants were only called for\nbuses registered with a device, not for classes and types.\n\nIn order to properly use dev_pm_ops in class pcmcia_socket_class,\nsupport _noirq actions also on classes and types.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8e9394ce2412254ec69fd2a4f3e44a66eade2297",
      "tree": "355f25148b4ce3f5cfebeaf0939d71cb6beaf88b",
      "parents": [
        "62e877b893e6350c900d381f353aa62ed48dcc97"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 17 10:57:05 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "Driver core: create lock/unlock functions for struct device\n\nIn the future, we are going to be changing the lock type for struct\ndevice (once we get the lockdep infrastructure properly worked out)  To\nmake that changeover easier, and to possibly burry the lock in a\ndifferent part of struct device, let\u0027s create some functions to lock and\nunlock a device so that no out-of-core code needs to be changed in the\nfuture.\n\nThis patch creates the device_lock/unlock/trylock() functions, and\nconverts all in-tree users to them.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nCc: Yu Zhao \u003cyu.zhao@intel.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: CHENG Renquan \u003crqcheng@smu.edu.sg\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d690b2cd222afc75320b9b8e9da7df02e9e630ca",
      "tree": "41b7f13c7176bc74d7836a7ec585a5a456302ea9",
      "parents": [
        "87d1b3e60b55ef65f10054ccc319e5d67cf010e9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Mar 06 21:28:37 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Mar 06 21:28:37 2010 +0100"
      },
      "message": "PM: Provide generic subsystem-level callbacks\n\nThere are subsystems whose power management callbacks only need to\ninvoke the callbacks provided by device drivers.  Still, their system\nsleep PM callbacks should play well with the runtime PM callbacks,\nso that devices suspended at run time can be left in that state for\na system sleep transition.\n\nProvide a set of generic PM callbacks for such subsystems and\ndefine convenience macros for populating dev_pm_ops structures.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f8824cee405c62ba465b85365201166d9cf86a14",
      "tree": "90020be3264ff98bad2f14759127a2d9693673d8",
      "parents": [
        "97df8c12995c5bac73e3bfeea4c5be155c1f4401"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 27 23:47:38 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:11 2010 +0100"
      },
      "message": "PM: Allow device drivers to use dpm_wait()\n\nThere are some dependencies between devices (in particular, between\nEHCI USB controllers and their OHCI/UHCI siblings) which are not\nreflected by the structure of the device tree.  With synchronous\nsuspend and resume these dependencies are taken into accout\nautomatically, because the devices in question are always registered\nin the right order, but to meet these constraints with asynchronous\nsuspend and resume the drivers of these devices will need to use\ndpm_wait() in their suspend/resume routines, so introduce a helper\nfunction allowing them to do that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "97df8c12995c5bac73e3bfeea4c5be155c1f4401",
      "tree": "74de2a645bbdfc28048892f4964172a3e2cde781",
      "parents": [
        "5a2eb8585f3b38e01e30aacaa8b985a1520a993d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:31 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:11 2010 +0100"
      },
      "message": "PM: Start asynchronous resume threads upfront\n\nIt has been shown by testing that total device resume time can be\nreduced significantly (by as much as 50% or more) if the async\nthreads executing some devices\u0027 resume routines are all started\nbefore the main resume thread starts to handle the \"synchronous\"\ndevices.\n\nThis is a consequence of the fact that the slowest devices tend to be\nlocated at the end of dpm_list, so their resume routines are started\nvery late.  Consequently, they have to wait for all the preceding\n\"synchronous\" devices before their resume routines can be started\nby the main resume thread, even if they are \"asynchronous\".  By\nstarting their async threads upfront we effectively move those\ndevices towards the beginning of dpm_list, without breaking their\nordering with respect to their parents and children.  As a result,\ntheir resume routines are started much earlier and we are able to\nsave much more device resume time this way.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5a2eb8585f3b38e01e30aacaa8b985a1520a993d",
      "tree": "471b33cc48cf48ed491e8b3f2934bfb3fa9e81e1",
      "parents": [
        "0e06b4a891c6a108412fe24b4500f499da2cf8a1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:23 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:10 2010 +0100"
      },
      "message": "PM: Add facility for advanced testing of async suspend/resume\n\nAdd configuration switch CONFIG_PM_ADVANCED_DEBUG for compiling in\nextra PM debugging/testing code allowing one to access some\nPM-related attributes of devices from the user space via sysfs.\n\nIf CONFIG_PM_ADVANCED_DEBUG is set, add sysfs attribute power/async\nfor every device allowing the user space to access the device\u0027s\npower.async_suspend flag and modify it, if desired.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0e06b4a891c6a108412fe24b4500f499da2cf8a1",
      "tree": "ed254631bdc24e676b95b633d310b284a2df9c45",
      "parents": [
        "5af84b82701a96be4b033aaa51d86c72e2ded061"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:15 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:10 2010 +0100"
      },
      "message": "PM: Add a switch for disabling/enabling asynchronous suspend/resume\n\nAdd sysfs attribute /sys/power/pm_async allowing the user space to\ndisable/enable asynchronous suspend/resume of devices.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5af84b82701a96be4b033aaa51d86c72e2ded061",
      "tree": "ac5751c7d2e9c17bf41dabdbeba964a05f09af18",
      "parents": [
        "8cc6b39ff36b4bbce2d7471da088df122b0e9033"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:23:32 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:09 2010 +0100"
      },
      "message": "PM: Asynchronous suspend and resume of devices\n\nTheoretically, the total time of system sleep transitions (suspend\nto RAM, hibernation) can be reduced by running suspend and resume\ncallbacks of device drivers in parallel with each other.  However,\nthere are dependencies between devices such that we\u0027re not allowed\nto suspend the parent of a device before suspending the device\nitself.  Analogously, we\u0027re not allowed to resume a device before\nresuming its parent.\n\nThe most straightforward way to take these dependencies into accout\nis to start the async threads used for suspending and resuming\ndevices at the core level, so that async_schedule() is called for\neach suspend and resume callback supposed to be executed\nasynchronously.\n\nFor this purpose, introduce a new device flag, power.async_suspend,\nused to mark the devices whose suspend and resume callbacks are to be\nexecuted asynchronously (ie. in parallel with the main suspend/resume\nthread and possibly in parallel with each other) and helper function\ndevice_enable_async_suspend() allowing one to set power.async_suspend\nfor given device (power.async_suspend is unset by default for all\ndevices).  For each device with the power.async_suspend flag set the\nPM core will use async_schedule() to execute its suspend and resume\ncallbacks.\n\nThe async threads started for different devices as a result of\ncalling async_schedule() are synchronized with each other and with\nthe main suspend/resume thread with the help of completions, in the\nfollowing way:\n(1) There is a completion, power.completion, for each device object.\n(2) Each device\u0027s completion is reset before calling async_schedule()\n    for the device or, in the case of devices with the\n    power.async_suspend flags unset, before executing the device\u0027s\n    suspend and resume callbacks.\n(3) During suspend, right before running the bus type, device type\n    and device class suspend callbacks for the device, the PM core\n    waits for the completions of all the device\u0027s children to be\n    completed.\n(4) During resume, right before running the bus type, device type and\n    device class resume callbacks for the device, the PM core waits\n    for the completion of the device\u0027s parent to be completed.\n(5) The PM core completes power.completion for each device right\n    after the bus type, device type and device class suspend (or\n    resume) callbacks executed for the device have returned.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8cc6b39ff36b4bbce2d7471da088df122b0e9033",
      "tree": "e4abc6059ecf560f8fb363226a35fb981b0f0313",
      "parents": [
        "971cb7fba0c84dd74c39020f4596b08398f58199"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:03:29 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:09 2010 +0100"
      },
      "message": "PM: Add parent information to timing messages\n\nAdd parent information to the messages printed by the suspend/resume\ncore when initcall_debug is set.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "53823639173cc9e9a261f68f4abefe62364b86c6",
      "tree": "a4af3a12edea5cf24d23ddece703ec85bacffb42",
      "parents": [
        "68c6b859846bd078b37c6ca5f3882032f129e72d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:02:51 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:08 2010 +0100"
      },
      "message": "PM / Runtime: Add sysfs switch for disabling device run-time PM\n\nAdd new device sysfs attribute, power/control, allowing the user\nspace to block the run-time power management of the devices.  If this\nattribute is set to \"on\", the driver of the device won\u0027t be able to power\nmanage it at run time (without breaking the rules) and the device will\nalways be in the full power state (except when the entire system goes\ninto a sleep state).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "0a88422312f5bf7b9e3450e27d8ddc385af38789",
      "tree": "6980d6971b0fbd9a0444e89beb1b2e61e4ec243c",
      "parents": [
        "1306d603fcf1f6682f8575d1ff23631a24184b21"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jan 08 14:42:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "power: fix kernel-doc notation\n\nWarning(drivers/base/power/main.c:453): No description found for parameter \u0027dev\u0027\nWarning(drivers/base/power/main.c:453): No description found for parameter \u0027cb\u0027\nWarning(drivers/base/power/main.c:719): No description found for parameter \u0027dev\u0027\nWarning(drivers/base/power/main.c:719): No description found for parameter \u0027state\u0027\nWarning(drivers/base/power/main.c:719): No description found for parameter \u0027cb\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6ab7aa9f432f722808c6fea5a8b7f5f229de031",
      "tree": "94cc8cddba15a02c4dd3989fbcebb0be1542d586",
      "parents": [
        "aa0baaef97c89de2ef216fcc017215ee01662a10"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 22 20:43:17 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 22 20:43:17 2009 +0100"
      },
      "message": "PM / Runtime: Use device type and device class callbacks\n\nThe power management of some devices is handled through device types\nand device classes rather than through bus types.  Since these\ndevices may also benefit from using the run-time power management\ncore, extend it so that the device type and device class run-time PM\ncallbacks can be taken into consideration by it if the bus type\ncallback is not defined.\n\nUpdate the run-time PM core documentation to reflect this change.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "aa0baaef97c89de2ef216fcc017215ee01662a10",
      "tree": "522e5cbe200ba5ddcaf905a826b2a58159a441eb",
      "parents": [
        "ecf762b2581e12ac761d12a6e4e297c2224aa899"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Dec 21 02:46:11 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Dec 21 02:46:11 2009 +0100"
      },
      "message": "PM: Use pm_runtime_put_sync in system resume\n\nThis patch (as1317) fixes a bug in the PM core.  When a device is\nresumed following a system sleep, the core decrements the device\u0027s\nruntime PM usage counter but doesn\u0027t issue an idle notification if the\ncounter reaches 0.  This could prevent an otherwise unused device from\nbeing runtime-suspended again after the system sleep.\n\nThe fix is to call pm_runtime_put_sync() instead of\npm_runtime_put_noidle().\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ecf762b2581e12ac761d12a6e4e297c2224aa899",
      "tree": "272bcdc3576d64d6b0f3131c245770a7137a77e7",
      "parents": [
        "875ab0b74e85d6801a49392447d26e0b28688d86"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:47 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:47 2009 +0100"
      },
      "message": "PM: Measure device suspend and resume times\n\nMeasure and print the time of suspending and resuming all devices.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "875ab0b74e85d6801a49392447d26e0b28688d86",
      "tree": "03762971d57d0657a12a99f1a73473878c2c7ada",
      "parents": [
        "b8a7f3cd7e8212e5c572178ff3b5a514861036a5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:31 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:31 2009 +0100"
      },
      "message": "PM: Make the initcall_debug style timing for suspend/resume complete\n\nCommit f2511774863487e61b56a97da07ebf8dd61d7836\n(PM: Add initcall_debug style timing for suspend/resume) introduced\nbasic timing instrumentation, needed for a scritps/bootgraph.pl\nequivalent or humans, but it missed the fact that bus types and\ndevice classes which haven\u0027t been switched to using struct dev_pm_ops\nobjects yet need special handling.  As a result, the suspend/resume\ntiming information is only available for devices whose bus types or\ndevice classes use struct dev_pm_ops objects, so the majority of\ndevices is not covered.\n\nFix this by adding basic suspend/resume timing instrumentation for\ndevices whose bus types and device classes still don\u0027t use struct\ndev_pm_ops objects for power management.  To reduce code duplication\nmove the timing code to helper functions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d8bed5a4f343d1826153ecf8e7932126c757a21d",
      "tree": "6fab621d5005ed847b24962eb2ca707225ac870b",
      "parents": [
        "33c3374031facf7599c30a1548dfa4c83da87da3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 13 20:48:54 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: rwsem.h need not be included into main.c\n\nIt is not necessary to include \u003clinux/rwsem.h\u003e into\ndrivers/base/power/main.c, so don\u0027t do that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "33c3374031facf7599c30a1548dfa4c83da87da3",
      "tree": "a13c07cf40f4a6d26236c4ec97420f4854f91fca",
      "parents": [
        "f2511774863487e61b56a97da07ebf8dd61d7836"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 13 20:31:12 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: Remove unnecessary goto from device_resume_noirq()\n\nIn device_resume_noirq() there is the \u0027End\u0027 label and the associated\ngoto statement that aren\u0027t strictly necessary, so rework the code to\nget rid of them.  Also modify device_suspend_noirq() so that it looks\ncompletely analogous to device_resume_noirq().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f2511774863487e61b56a97da07ebf8dd61d7836",
      "tree": "892a238299f4e69e120b037310623e4bae5b690f",
      "parents": [
        "1d531c14d2ed4b24472a4d773f00ed6d1cd34ee7"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sun Dec 13 20:29:01 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: Add initcall_debug style timing for suspend/resume\n\nIn order to diagnose overall suspend/resume times, we need\nbasic instrumentation to break down the total time into per\ndevice timing, similar to initcall_debug.\n\nThis patch adds the basic timing instrumentation, needed\nfor a scritps/bootgraph.pl equivalent or humans.\nThe bootgraph.pl program is still a work in progress, but\nis far enough along to know that this patch is sufficient.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1d531c14d2ed4b24472a4d773f00ed6d1cd34ee7",
      "tree": "a61fd40d1104c9a02e15baa4496c11e148f20804",
      "parents": [
        "8bea8672edfca7ec5f661cafb218f1205863b343"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun Dec 13 20:28:30 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: allow for usage_count \u003e 0 in pm_runtime_get()\n\nThis patch (as1308c) fixes __pm_runtime_get().  Currently the routine\nwill resume a device if the prior usage count was 0.  But this isn\u0027t\nright; thanks to pm_runtime_get_noresume() the usage count can be\npositive even while the device is suspended.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "965c4ac0613b071d6f035334c5d9d942013df4f9",
      "tree": "6108441b938fe0c309a09e96784edcc91d9b8b3f",
      "parents": [
        "e1b1903eee71c5fa6063bbf713cfc947e76c4e04"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 21:04:41 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:57 2009 +0100"
      },
      "message": "PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status()\n\nSome braces in __pm_runtime_set_status() are not necessary, so\nremove them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0ddf0ed1d47e2d4170fa2989273886a1df66a862",
      "tree": "179d0f0de4ef726209c068ea9616f5ccd6a73173",
      "parents": [
        "63c94801701abfea21570d3302687ec027ed33e8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 21:03:57 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:56 2009 +0100"
      },
      "message": "PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend()\n\nThe runtime PM core code assumes that dev-\u003epower.timer_expires is\nnonzero when the timer is scheduled, but it may become zero\nincidentally in pm_schedule_suspend().  Prevent this from happening\nby bumping dev-\u003epower.timer_expires up to 1 if it\u0027s 0 before calling\nmod_timer().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "63c94801701abfea21570d3302687ec027ed33e8",
      "tree": "4806596c35a8c92640e26fe66394b775dca2208c",
      "parents": [
        "7b199ca2025f4756daceec8802f07da636c524c9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Dec 03 20:22:34 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:56 2009 +0100"
      },
      "message": "PM / Runtime: Use deferred_resume flag in pm_request_resume\n\nThis patch (as1307) adds a small optimization to\n__pm_request_resume().  If the device is currently being suspended,\nthere\u0027s no need to queue a work routine to resume it.  Setting the\ndeferred_resume flag will suffice.  (There\u0027s also a minor improvement\nto the function\u0027s code layout: An unnecessary \"else\" is removed.)\n\nAlso, the patch clarifies the usage of the deferred_resume flag.  It\nis meaningful only while a suspend is in progress, so it should be\ncleared just before a suspend starts, not just after one ends.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "bab636b921017f0db6e0c2979438f50b898a9808",
      "tree": "c220981cad0f886c0a7e34f54735e7bf384ff462",
      "parents": [
        "66d0ae4d6ffa45b8e6d8bdbf85f8f1b285c8152d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 20:21:21 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:56 2009 +0100"
      },
      "message": "PM / Runtime: Fix lockdep warning in __pm_runtime_set_status()\n\nLockdep complains about taking the parent lock in\n__pm_runtime_set_status(), so mark it as nested.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "862f89b3d4c6bf3caab7fc69661fc6e725edd00a",
      "tree": "65d29f636f8c0f488524220b5accea674b5101cf",
      "parents": [
        "a8a8a669ea13d792296737505adc43ccacf3a648"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Nov 25 01:06:37 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Nov 29 16:51:27 2009 +0100"
      },
      "message": "PM: fix irq enable/disable in runtime PM code\n\nThis patch (as1305) fixes a bug in the irq-enable settings and removes\nsome related overhead in the runtime PM code.\n\n\tIn __pm_runtime_resume(), within the scope of the original\n\tspin_lock_irq(), we know that irqs are disabled.  There\u0027s no\n\treason to go through a pair of enable/disable cycles when\n\tacquiring and releasing the parent\u0027s lock.\n\n\tIn __pm_runtime_set_status(), irqs are already disabled when\n\tthe parent\u0027s lock is acquired, and they must remain disabled\n\twhen it is released.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2ddac2a6a8f13e95664fe7ad1b728ac84fb1bd07",
      "tree": "c6634784c63a0c11b50c60fba24f288b684fe159",
      "parents": [
        "e528e876897217465d5cd7cb28130d8489596e34"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Oct 28 22:56:10 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:18:18 2009 +0100"
      },
      "message": "PM: Remove some debug messages producing too much noise\n\npm_runtime_idle() is somewhat noisy. Remove debug prints.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e528e876897217465d5cd7cb28130d8489596e34",
      "tree": "23426f3bfa55e9cf046087e28bed83d9ce678027",
      "parents": [
        "bf9fd67a0328d56eff6022f80d4eb88ba6614119"
      ],
      "author": {
        "name": "Romit Dasgupta",
        "email": "romit@ti.com",
        "time": "Wed Oct 28 22:56:02 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:03:33 2009 +0100"
      },
      "message": "PM: Fix warning on suspend errors\n\nFixes the point where we need to complete the power transition when\ndevice suspend fails, so that we don\u0027t print warnings about devices\nadded to the device hierarchy after a failing suspend.\n\n[rjw: Modified changelog.]\n\nSigned-off-by: Romit Dasgupta \u003cromit@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3eb132c986f04f64b9c360abd67a1e0d18d6d5b4",
      "tree": "d51e8e2d3d9de0ad365f1f0c4cdcc02aa72b1aaa",
      "parents": [
        "20d652d7d1c2f202215ecf0306ccecc3569df9ba"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Thu Aug 20 20:28:33 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:27:00 2009 +0200"
      },
      "message": "PM: Reset transition_started at dpm_resume_noirq\n\ntransition_started should be set once the preparation of devices for\na PM has started, reset before starting to resume devices. When\nresuming devices, kernel calls dpm_resume_noirq then\ndpm_resume_end(dpm_resume).  Thus we should reset transition_started\nat dpm_resume_noirq.\n\nThis patch fixes ACPI warning when resuming from suspend/hibernate:\n\nACPI: \\_SB_.PCI0.IDE1.PRI1.MAS1 - docking\n------------[ cut here ]------------\nWARNING: at drivers/base/power/main.c:87 device_pm_add+0x8b/0xcc()\nHardware name: OptiPlex 760\nDevice: acpi\nParentless device registered during a PM transaction\n\n[rjw: Fixed up the changelog.]\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "20d652d7d1c2f202215ecf0306ccecc3569df9ba",
      "tree": "f08619cec4964478d764477ca45931f7d49401a3",
      "parents": [
        "9d62ec6ca71d71c8a0d2cb1004f476d33f668955"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 20 20:25:52 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:27:00 2009 +0200"
      },
      "message": "PM: Update kerneldoc comments in drivers/base/power/main.c\n\nThe kerneldoc comments in drivers/base/power/main.c are generally\noutdated and some of them don\u0027t describe the functions very\naccurately.  Update them and standardize the format to use spaces\ninstead of tabs.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "5e928f77a09a07f9dd595bb8a489965d69a83458",
      "tree": "ef53ec90fa3214fd22e36b07c11c06b09e373d8d",
      "parents": [
        "8400146d0dc03590bba051399e4bb7e1cbf1c010"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 18 23:38:32 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 23 00:04:44 2009 +0200"
      },
      "message": "PM: Introduce core framework for run-time PM of I/O devices (rev. 17)\n\nIntroduce a core framework for run-time power management of I/O\ndevices.  Add device run-time PM fields to \u0027struct dev_pm_info\u0027\nand device run-time PM callbacks to \u0027struct dev_pm_ops\u0027.  Introduce\na run-time PM workqueue and define some device run-time PM helper\nfunctions at the core level.  Document all these things.\n\nSpecial thanks to Alan Stern for his help with the design and\nmultiple detailed reviews of the pereceding versions of this patch\nand to Magnus Damm for testing feedback.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\n"
    },
    {
      "commit": "d9ab77161d811ffb0bccf396f7155cc905c1b9e1",
      "tree": "6d055acd69351a56b7014388e24d33199139d79c",
      "parents": [
        "511647ff58fd0f1c1f415d2c757d841650edac91"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Jul 22 00:37:25 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 24 00:17:28 2009 +0200"
      },
      "message": "Driver Core: Make PM operations a const pointer\n\nThey are not supposed to be modified by drivers, so make them const.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "886a7a3371da8ee46a13f8e598a536bd8765b837",
      "tree": "5b6b9fb297cc3f59cd1777548e2fa82d4e1bb5f9",
      "parents": [
        "00024be9689963c55cf2ab10ce3fb4502016c09a"
      ],
      "author": {
        "name": "Sebastian Ott",
        "email": "sebott@linux.vnet.ibm.com",
        "time": "Wed Jul 08 13:26:05 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 08 13:26:05 2009 +0200"
      },
      "message": "PM: Clear -EAGAIN in dpm_prepare\n\nWhen the last device in the dpm list is unregistered directly after its\nprepare() callback returned with -EAGAIN, the return code is passed to\nthe calling function, resulting in a suspend failure. Prevent this by\nclearing the return code after -EAGAIN.\n\nSigned-off-by: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "00725787511e20dbd1fdc1fb233606120ae5c8cf",
      "tree": "82fa3c48aca074a993a122751a2333000e1668a3",
      "parents": [
        "fe419535d82724314bbf1244a0e740e4ea1bd3ae"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Thu Jun 04 22:13:25 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "PM: Remove device_type suspend()/resume()\n\nThis patch removes the legacy callbacks -\u003esuspend() and\n-\u003eresume() from struct device_type. These callbacks seem\nunused, and new code should instead make use of struct\ndev_pm_ops.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    }
  ],
  "next": "e240b58c79144708530138e05f17c6d0d8d744a8"
}
