)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "41cc7b30d7ddaff700a198b590eb91047d90d0d0",
      "old_mode": 33188,
      "old_path": "Documentation/power/runtime_pm.txt",
      "new_id": "ffe55ffa540a1b59a6e37979e86b842022cc2b56",
      "new_mode": 33188,
      "new_path": "Documentation/power/runtime_pm.txt"
    },
    {
      "type": "modify",
      "old_id": "02c652be83e72ce09f5c1316cc3c8415a5894556",
      "old_mode": 33188,
      "old_path": "drivers/base/power/runtime.c",
      "new_id": "656493a5e073262dc88efc646d254abd5c3646c7",
      "new_mode": 33188,
      "new_path": "drivers/base/power/runtime.c"
    },
    {
      "type": "modify",
      "old_id": "40f3f45702bac82a8e454812b67a4419b7d36362",
      "old_mode": 33188,
      "old_path": "include/linux/pm.h",
      "new_id": "61f2066e685253a979d2ab9abe35a9658f816085",
      "new_mode": 33188,
      "new_path": "include/linux/pm.h"
    },
    {
      "type": "modify",
      "old_id": "d19f1cca7f740a9150f516c98e5c9deecfd271ae",
      "old_mode": 33188,
      "old_path": "include/linux/pm_runtime.h",
      "new_id": "e9cc049ccb624e144e8ecff8c9b86161eaded442",
      "new_mode": 33188,
      "new_path": "include/linux/pm_runtime.h"
    }
  ]
}
