)]}'
{
  "commit": "8c17041815762b385631d3a680128dca5a9be31b",
  "tree": "07bf5fd51b4a60fb729592fadf33af78ae8579e8",
  "parents": [
    "88b67cb1f21cf5059bfbbc2bca7a597b9c58c312"
  ],
  "author": {
    "name": "Jon Hunter",
    "email": "jon-hunter@ti.com",
    "time": "Fri Jul 13 15:12:03 2012 -0500"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Fri Sep 14 10:00:04 2012 -0700"
  },
  "message": "ARM: OMAP2+: Fix dmtimer set source clock failure\n\ncommit 54f32a35f4d3a653a18a2c8c239f19ae060bd803 upstream.\n\nCalling the dmtimer function omap_dm_timer_set_source() fails if following a\ncall to pm_runtime_put() to disable the timer. For example the following\nsequence would fail to set the parent clock ...\n\n\tomap_dm_timer_stop(gptimer);\n\tomap_dm_timer_set_source(gptimer, OMAP_TIMER_SRC_32_KHZ);\n\nThe following error message would be seen ...\n\nomap_dm_timer_set_source: failed to set timer_32k_ck as parent\n\nThe problem is that, by design, pm_runtime_put() simply decrements the usage\ncount and returns before the timer has actually been disabled. Therefore,\nsetting the parent clock failed because the timer was still active when the\ntrying to set the parent clock. Setting a parent clock will fail if the clock\nyou are setting the parent of has a non-zero usage count. To ensure that this\ndoes not fail use pm_runtime_put_sync() when disabling the timer.\n\nNote that this will not be seen on OMAP1 devices, because these devices do\nnot use the clock framework for dmtimers.\n\nSigned-off-by: Jon Hunter \u003cjon-hunter@ti.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "652139c0339e2fe8fae6df508bbc3a548fd06172",
      "old_mode": 33188,
      "old_path": "arch/arm/plat-omap/dmtimer.c",
      "new_id": "7ac301ee283c3ef604c74c4bfef03b1bfba3f84f",
      "new_mode": 33188,
      "new_path": "arch/arm/plat-omap/dmtimer.c"
    }
  ]
}
