)]}'
{
  "commit": "e1a85b2c519551d4792180cdab4074d7e99bf2c9",
  "tree": "ee53aed254043d06a7e30151af6500eab3bf0407",
  "parents": [
    "f3c6ea1b06c71b43f751b36bd99345369fe911af"
  ],
  "author": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Wed Mar 23 22:16:04 2011 +0100"
  },
  "committer": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Wed Mar 23 22:16:04 2011 +0100"
  },
  "message": "timekeeping: Use syscore_ops instead of sysdev class and sysdev\n\nThe timekeeping subsystem uses a sysdev class and a sysdev for\nexecuting timekeeping_suspend() after interrupts have been turned off\non the boot CPU (during system suspend) and for executing\ntimekeeping_resume() before turning on interrupts on the boot CPU\n(during system resume).  However, since both of these functions\nignore their arguments, the entire mechanism may be replaced with a\nstruct syscore_ops object which is simpler.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3bd7e3d5c6325a82563f03b8124b847ae6432623",
      "old_mode": 33188,
      "old_path": "kernel/time/timekeeping.c",
      "new_id": "8ad5d576755ea82021749dc0dcfc686720c57d59",
      "new_mode": 33188,
      "new_path": "kernel/time/timekeeping.c"
    }
  ]
}
