)]}'
{
  "log": [
    {
      "commit": "4523f6ada86853750565c68e17126af2e3df9b8a",
      "tree": "cf43d425a52ef79b73abbeff07524b77cee48364",
      "parents": [
        "9fb60336253edf73dedc527b2aa2bf32eae0d6da"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 14 10:54:29 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 14 10:54:29 2011 +0200"
      },
      "message": "alarmtimers: Fix error handling\n\ncommit 8bc0daf (alarmtimers: Rework RTC device selection using class\ninterface) did not implement required error checks. Add them.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8bc0dafb5cf38a19484dfb16e2c6d29e85820046",
      "tree": "af2f0000b9cc95567cc4bab5966ef6fd887c6f1f",
      "parents": [
        "9082c465a5403f4a98734193e078552991a2e283"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jul 14 18:35:13 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:30 2011 -0700"
      },
      "message": "alarmtimers: Rework RTC device selection using class interface\n\nThis allows cleaner detection of the RTC device being registered, rather\nthen probing any time someone calls alarmtimer_get_rtcdev.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "9082c465a5403f4a98734193e078552991a2e283",
      "tree": "387e564f326488abe9ee84b0c723294ea573de1e",
      "parents": [
        "a28cde81ab13cc251748a4c4ef06883dd09a10ea"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 12:41:36 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:29 2011 -0700"
      },
      "message": "alarmtimers: Add try_to_cancel functionality\n\nThere\u0027s a number of edge cases when cancelling a alarm, so\nto be sure we accurately do so, introduce try_to_cancel, which\nreturns proper failure errors if it cannot. Also modify cancel\nto spin until the alarm is properly disabled.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a28cde81ab13cc251748a4c4ef06883dd09a10ea",
      "tree": "b38ce180912957731cfe736d1d3f978342d099e1",
      "parents": [
        "9e26476243e438f4534a562660c1296a15a9e202"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 12:30:21 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:27 2011 -0700"
      },
      "message": "alarmtimers: Add more refined alarm state tracking\n\nIn order to allow for functionality like try_to_cancel, add\nmore refined  state tracking (similar to hrtimers).\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "9e26476243e438f4534a562660c1296a15a9e202",
      "tree": "d70609d91f0aab85ad9768500b7e57623d9e3eae",
      "parents": [
        "d77e23accec56bf2ba12187fe77a2f500a511282"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 12:09:24 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:26 2011 -0700"
      },
      "message": "alarmtimers: Remove period from alarm structure\n\nNow that periodic alarmtimers are managed by the handler function,\nremove the period value from the alarm structure and let the handlers\nmanage the interval on their own.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "d77e23accec56bf2ba12187fe77a2f500a511282",
      "tree": "f6d875739df0e4c9b48628ce2eaad8581eb736b1",
      "parents": [
        "dce75a8c71819ed4c7efdcd53c9b6f6356dc8cb5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 11:40:23 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:24 2011 -0700"
      },
      "message": "alarmtimers: Remove interval cap limit hack\n\nNow that the alarmtimers code has been refactored, the interval\ncap limit can be removed.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "dce75a8c71819ed4c7efdcd53c9b6f6356dc8cb5",
      "tree": "76d25888bb83814fc1f9d5f8838483730ca59882",
      "parents": [
        "54da23b720d5d612f8f1669f9ed3744008fb7382"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 11:31:03 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:23 2011 -0700"
      },
      "message": "alarmtimers: Add alarm_forward functionality\n\nIn order to avoid wasting time expiring and re-adding very high freq\nperiodic alarmtimers, introduce alarm_forward() which is similar to\nhrtimer_forward and moves the timer to the next future expiration time\nand returns the number of overruns.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "54da23b720d5d612f8f1669f9ed3744008fb7382",
      "tree": "52bfd90a34c4ad9de858ecb30d212104d0176845",
      "parents": [
        "4b41308d2d0398409620613c7eaaaf52c738b042"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 11:08:07 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:22 2011 -0700"
      },
      "message": "alarmtimers: Push rearming peroidic timers down into alamrtimer handler\n\nThis patch pushes the periodic alarmtimer re-arming down into the alarmtimer\nhandler, mimicking how hrtimers handle this.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "4b41308d2d0398409620613c7eaaaf52c738b042",
      "tree": "47a6becae6272eb9c06e57a0a9d1698b8f1811c8",
      "parents": [
        "6af7e471e5a7746b8024d70b4363d3dfe41d36b8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 10:37:59 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 14:55:20 2011 -0700"
      },
      "message": "alarmtimers: Change alarmtimer functions to return alarmtimer_restart values\n\nIn order to properly fix the denial of service issue with high freq\nperiodic alarm timers, we need to push the re-arming logic into the\nalarm timer handler, much as the hrtimer code does.\n\nThis patch introduces alarmtimer_restart enum and changes the\nalarmtimer handler declarations to use it as a return value. Further,\nto ease following changes, it extends the alarmtimer handler functions\nto also take the time at expiration. No logic is yet modified.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "6af7e471e5a7746b8024d70b4363d3dfe41d36b8",
      "tree": "33b1af81dfadefcc367307939acbb0d28c07c7c1",
      "parents": [
        "ea7802f630d356acaf66b3c0b28c00a945fc35dc"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 10:26:09 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 10:26:09 2011 -0700"
      },
      "message": "alarmtimers: Avoid possible denial of service with high freq periodic timers\n\nIts possible to jam up the alarm timers by setting very small interval\ntimers, which will cause the alarmtimer subsystem to spend all of its time\nfiring and restarting timers. This can effectivly lock up a box.\n\nA deeper fix is needed, closely mimicking the hrtimer code, but for now\njust cap the interval to 100us to avoid userland hanging the system.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: stable@kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ea7802f630d356acaf66b3c0b28c00a945fc35dc",
      "tree": "9eb23fe08c124bfab7af964c3a4c614ac61c93aa",
      "parents": [
        "971c90bfa2f0b4fe52d6d9002178d547706f1343"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Aug 04 07:51:56 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 07:10:09 2011 -0700"
      },
      "message": "alarmtimers: Memset itimerspec passed into alarm_timer_get\n\nFollowing common_timer_get, zero out the itimerspec passed in.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: stable@kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "971c90bfa2f0b4fe52d6d9002178d547706f1343",
      "tree": "f3075f495780a0ffc5d433ae7cb93aca8a40cf8e",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Aug 04 07:25:35 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 07:09:53 2011 -0700"
      },
      "message": "alarmtimers: Avoid possible null pointer traversal\n\nWe don\u0027t check if old_setting is non null before assigning it, so\ncorrect this.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: stable@kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1c6b39ad3f01514fd8dd84b5b412bafb75c19388",
      "tree": "bd31cf5d3e67acc9ef23c97ddd92c961b73f40c7",
      "parents": [
        "c008ba58af24dc5d0d8e9fe6e59d876910254761"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jun 16 18:47:37 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jun 21 16:32:28 2011 -0700"
      },
      "message": "alarmtimers: Return -ENOTSUPP if no RTC device is present\n\nToralf Förster and Richard Weinberger noted that if there is\nno RTC device, the alarm timers core prints out an annoying\n\"ALARM timers will not wake from suspend\" message.\n\nThis warning has been removed in a previous patch, however\nthe issue still remains:  The original idea was to support\nalarm timers even if there was no rtc device, as long as the\nsystem didn\u0027t go into suspend.\n\nHowever, after further consideration, communicating to the application\nthat alarmtimers are not fully functional seems like the better\nsolution.\n\nSo this patch makes it so we return -ENOTSUPP to any posix _ALARM\nclockid calls if there is no backing RTC device on the system.\n\nFurther this changes the behavior where when there is no rtc device\nwe will check for one on clock_getres, clock_gettime, timer_create,\nand timer_nsleep instead of on suspend.\n\nCC: Toralf Förster \u003ctoralf.foerster@gmx.de\u003e\nCC: Richard Weinberger \u003crichard@nod.at\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Toralf Förster \u003ctoralf.foerster@gmx.de\u003e\nReported by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "c008ba58af24dc5d0d8e9fe6e59d876910254761",
      "tree": "0e718ce49992b6a7dfde619cd6ebf05afe06ae12",
      "parents": [
        "e08f6d4131ab964420f0bcabecc68d75fb49df79"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jun 16 18:27:09 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jun 21 15:38:33 2011 -0700"
      },
      "message": "alarmtimers: Handle late rtc module loading\n\nThe alarmtimers code currently picks a rtc device to use at\nlate init time. However, if your rtc driver is loaded as a module,\nit may be registered after the alarmtimers late init code, leaving\nthe alarmtimers nonfunctional.\n\nThis patch moves the the rtcdevice selection to when we actually try\nto use it, allowing us to make use of rtc modules that may have been\nloaded at any point since bootup.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Meelis Roos \u003cmroos@ut.ee\u003e\nReported-by: Meelis Roos \u003cmroos@ut.ee\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ab8177bc53e8ae3a3ba6d200ce2c2dae263f7ee5",
      "tree": "c8b370496497b4f96d6a17da906bdd9314e9a090",
      "parents": [
        "f24444b01bf6c51c300fd3ffc73423383d747882"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 13:05:15 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 23 13:59:54 2011 +0200"
      },
      "message": "hrtimers: Avoid touching inactive timer bases\n\nInstead of iterating over all possible timer bases avoid it by marking\nthe active bases in the cpu base.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "179eb03268aa1da03d90f1566ea85dc1478d3ae3",
      "tree": "fda7d48258075bf84f12ce143ab7cd260bbc92e8",
      "parents": [
        "ce788f930b0cdf821de7ee8f84cfe8cf7fcb6311"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:18:34 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:18:34 2011 +0200"
      },
      "message": "alarmtimer: Drop device refcount after rtc_open()\n\nclass_find_device() takes a refcount on the rtc device. rtc_open()\ntakes another one, so we can drop it after the rtc_open() call.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ce788f930b0cdf821de7ee8f84cfe8cf7fcb6311",
      "tree": "4f4d451b4e81d6693199fcfb405f6133e6cae61c",
      "parents": [
        "99ee5315dac6211e972fa3f23bcc9a0343ff58c4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:00:47 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:18:17 2011 +0200"
      },
      "message": "alarmtimer: Check return value of class_find_device()\n\nalarmtimer_late_init() uses class_find_device() to find a alarm\ncapable rtc device. The match callback stores a pointer to the name in\nthe char pointer handed in from the call site. alarmtimer_late_init()\nchecks the char pointer for NULL, but the pointer is on the stack and\nnot initialized to NULL before the call. So it can have random content\nwhen the match function did not identify a device, which leads to\nrandom access in the following rtc_open() call where the pointer is\ndereferenced\n\nInstead of relying on the char pointer, check the return value of\nclass_find_device. If a device is found then the name pointer is valid\nas well.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "472647dcd7e351dbeda750e5ab3e8f7b06d1199a",
      "tree": "536842fa33d135d4b18e6d1dd5cf573a5b53719c",
      "parents": [
        "7068b7a16270f1e85a8893d74b0f3c58d7826883"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Apr 29 15:03:10 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 21:36:57 2011 +0200"
      },
      "message": "timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS\u003dn\n\nIngo pointed out that the alarmtimers won\u0027t build if CONFIG_RTC_CLASS\u003dn.\nThis patch adds proper ifdefs to the alarmtimer code to disable the rtc\nusage if it is not built in.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7068b7a16270f1e85a8893d74b0f3c58d7826883",
      "tree": "114143f4724543c89d93e95bbb7d3f03f1abb5d6",
      "parents": [
        "180bf812ceaf01eb8ac69b86f3be0bd57f697668"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 13:29:18 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 13:39:18 2011 -0700"
      },
      "message": "timers: Remove delayed irqwork from alarmtimers implementation\n\nThomas asked about the delayed irq work in the alarmtimers code,\nand I realized that it was a legacy from when the alarmtimer base\nlock was a mutex (due to concerns that we\u0027d be interacting with\nthe RTC device, which is protected by mutexes).\n\nSince the alarmtimer base is now protected by a spinlock, we can\nsimply execute alarmtimer functions directly from the hrtimer\ncallback. Should any future alarmtimer functions sleep, they can\nsimply manage scheduling any delayed work themselves.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "180bf812ceaf01eb8ac69b86f3be0bd57f697668",
      "tree": "e61166d1267a15115dc602875ec03835afc1afe7",
      "parents": [
        "9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 12:58:11 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 13:39:17 2011 -0700"
      },
      "message": "timers: Improve alarmtimer comments and minor fixes\n\nThis patch addresses a number of minor comment improvements and\nother minor issues from Thomas\u0027 review of the alarmtimers code.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337",
      "tree": "151f7fbb135053945fc6eae99c9175e860ad343c",
      "parents": [
        "ff3ead96d17f47ee70c294a5cc2cce9b61e82f0f"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 11 09:54:33 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Apr 26 14:01:46 2011 -0700"
      },
      "message": "timers: Posix interface for alarm-timers\n\nThis patch exposes alarm-timers to userland via the posix clock\nand timers interface, using two new clockids: CLOCK_REALTIME_ALARM\nand CLOCK_BOOTTIME_ALARM. Both clockids behave identically to\nCLOCK_REALTIME and CLOCK_BOOTTIME, respectively, but timers\nset against the _ALARM suffixed clockids will wake the system if\nit is suspended.\n\nSome background can be found here:\n\thttps://lwn.net/Articles/429925/\n\nThe concept for Alarm-timers was inspired by the Android Alarm\ndriver (by Arve Hjønnevåg) found in the Android kernel tree.\n\nSee: http://android.git.kernel.org/?p\u003dkernel/common.git;a\u003dblob;f\u003ddrivers/rtc/alarm.c;h\u003d1250edfbdf3302f5e4ea6194847c6ef4bb7beb1c;hb\u003dandroid-2.6.36\n\nWhile the in-kernel interface is pretty similar between\nalarm-timers and Android alarm driver, the user-space interface\nfor the Android alarm driver is via ioctls to a new char device.\nAs mentioned above, I\u0027ve instead chosen to export this functionality\nvia the posix interface, as it seemed a little simpler and avoids\ncreating duplicate interfaces to things like CLOCK_REALTIME and\nCLOCK_MONOTONIC under alternate names (ie:ANDROID_ALARM_RTC and\nANDROID_ALARM_SYSTEMTIME).\n\nThe semantics of the Android alarm driver are different from what\nthis posix interface provides. For instance, threads other then\nthe thread waiting on the Android alarm driver are able to modify\nthe alarm being waited on. Also this interface does not allow\nthe same wakelock semantics that the Android driver provides\n(ie: kernel takes a wakelock on RTC alarm-interupt, and holds it\nthrough process wakeup, and while the process runs, until the\nprocess either closes the char device or calls back in to wait\non a new alarm).\n\nOne potential way to implement similar semantics may be via\nthe timerfd infrastructure, but this needs more research.\n\nThere may also need to be some sort of sysfs system level policy\nhooks that allow alarm timers to be disabled to keep them\nfrom firing at inappropriate times (ie: laptop in a well insulated\nbag, mid-flight).\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ff3ead96d17f47ee70c294a5cc2cce9b61e82f0f",
      "tree": "e87fc16e1fc4a80b9591c2b1d02c99459254aa95",
      "parents": [
        "88d19cf37952a7e1e38b2bf87a00f0e857e63180"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 11 09:42:13 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Apr 26 14:01:44 2011 -0700"
      },
      "message": "timers: Introduce in-kernel alarm-timer interface\n\nThis provides the in kernel interface and infrastructure for\nalarm-timers.\n\nAlarm-timers are a hybrid style timer, similar to hrtimers,\nbut when the system is suspended, the RTC device is set to\nfire and wake the system for when the soonest alarm-timer\nexpires.\n\nThe concept for Alarm-timers was inspired by the Android Alarm\ndriver (by Arve Hjønnevåg) found in the Android kernel tree.\n\nSee: http://android.git.kernel.org/?p\u003dkernel/common.git;a\u003dblob;f\u003ddrivers/rtc/alarm.c;h\u003d1250edfbdf3302f5e4ea6194847c6ef4bb7beb1c;hb\u003dandroid-2.6.36\n\nThis in-kernel interface should be fairly compatible with the\nAndroid alarm driver in-kernel interface, but has the advantage\nof utilizing the new RTC timerqueue code instead of doing direct\nRTC manipulation.\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    }
  ]
}
