)]}'
{
  "log": [
    {
      "commit": "e74a8f2edb92cb690b467cea0ab652c509e9f624",
      "tree": "346aa7fc0b5d6ad1d52c8fc1de883fb085d94daa",
      "parents": [
        "948170f8944dfd29d13612fff48110a9814daeb1"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Jan 10 15:11:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n\nCommit f44f7f96a20a (\"RTC: Initialize kernel state from RTC\") introduced a\npotential infinite loop.  If an alarm time contains a wildcard month and\nan invalid day (\u003e 31), or a wildcard year and an invalid month (\u003e\u003d 12),\nthe loop searching for the next matching date will never terminate.  Treat\nthe invalid values as wildcards.\n\nFixes \u003chttp://bugs.debian.org/646429\u003e, \u003chttp://bugs.debian.org/653331\u003e\n\nReported-by: leo weppelman \u003cleoweppelman@googlemail.com\u003e\nReported-by: \"P. van Gaans\" \u003cmailme667@yahoo.co.uk\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f423fc627b05f47bc9305f9661630fce30f208f9",
      "tree": "f2d9589bc443e99c8843a8ca18c44956d61fcf28",
      "parents": [
        "157e8bf8b4823bfcdefa6c1548002374b61f61df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 04 07:57:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 04 07:57:22 2012 -0800"
      },
      "message": "Revert \"rtc: Expire alarms after the time is set.\"\n\nThis reverts commit 93b2ec0128c431148b216b8f7337c1a52131ef03.\n\nThe call to \"schedule_work()\" in rtc_initialize_alarm() happens too\nearly, and can cause oopses at bootup\n\nNeil Brown explains why we do it:\n\n  \"If you set an alarm in the future, then shutdown and boot again after\n   that time, then you will end up with a timer_queue node which is in\n   the past.\n\n   When this happens the queue gets stuck.  That entry-in-the-past won\u0027t\n   get removed until and interrupt happens and an interrupt won\u0027t happen\n   because the RTC only triggers an interrupt when the alarm is \"now\".\n\n   So you\u0027ll find that e.g.  \"hwclock\" will always tell you that\n   \u0027select\u0027 timed out.\n\n   So we force the interrupt work to happen at the start just in case.\"\n\nand has a patch that convert it to do things in-process rather than with\nthe worker thread, but right now it\u0027s too late to play around with this,\nso we just revert the patch that caused problems for now.\n\nReported-by: Sander Eikelenboom \u003clinux@eikelenboom.it\u003e\nRequested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nRequested-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "157e8bf8b4823bfcdefa6c1548002374b61f61df",
      "tree": "fb3918eeb8635b7ea6662ef2290dc834efc81b70",
      "parents": [
        "f9fab10bbd768b0e5254e53a4a8477a94bfc4b96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 03 17:32:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 03 17:32:13 2012 -0800"
      },
      "message": "Revert \"rtc: Disable the alarm in the hardware\"\n\nThis reverts commit c0afabd3d553c521e003779c127143ffde55a16f.\n\nIt causes failures on Toshiba laptops - instead of disabling the alarm,\nit actually seems to enable it on the affected laptops, resulting in\n(for example) the laptop powering on automatically five minutes after\nshutdown.\n\nThere\u0027s a patch for it that appears to work for at least some people,\nbut it\u0027s too late to play around with this, so revert for now and try\nagain in the next merge window.\n\nSee for example\n\n\thttp://bugs.debian.org/652869\n\nReported-and-bisected-by: Andreas Friedrich \u003cafrie@gmx.net\u003e (Toshiba Tecra)\nReported-by: Antonio-M. Corbi Bellot \u003cantonio.corbi@ua.es\u003e (Toshiba Portege R500)\nReported-by: Marco Santos \u003cmarco.santos@waynext.com\u003e (Toshiba Portege Z830)\nReported-by: Christophe Vu-Brugier \u003ccvubrugier@yahoo.fr\u003e  (Toshiba Portege R830)\nCc: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nRequested-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: stable@kernel.org  # for the versions that applied this\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93b2ec0128c431148b216b8f7337c1a52131ef03",
      "tree": "0782370c8c04c182e67b26414e3d4180616db94b",
      "parents": [
        "c9c024b3f3e07d087974db4c0dc46217fff3a6c0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Dec 09 09:39:15 2011 +1100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Dec 13 12:26:11 2011 -0800"
      },
      "message": "rtc: Expire alarms after the time is set.\n\nIf the alarm time programming in the rtc is ever in the past, it won\u0027t fire,\nand any other alarm will be queued after it so they won\u0027t fire either.\n\nSo any time that the alarm might be in the past, we need to trigger\nthe irq handler to ensure the old alarm is cleared and the timer queue\nis fully in the future.\n\nThis can happen:\n - when we first initialise the alarm\n - when we set the time in the rtc.\n\nso follow both of these by scheduling the timer work function.\n\nCC: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n[Also catch set_mmss case -jstultz]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "40c043b077c6e377c8440d71563c055d0c4f0f0a",
      "tree": "e0c1d672a1156d7840d3ef650ba1aa963c68e13a",
      "parents": [
        "f14aa871c7e1e58a01bf33a562ac314fae64517c",
        "de28f25e8244c7353abed8de0c7792f5f883588c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  clockevents: Set noop handler in clockevents_exchange_device()\n  tick-broadcast: Stop active broadcast device when replacing it\n  clocksource: Fix bug with max_deferment margin calculation\n  rtc: Fix some bugs that allowed accumulating time drift in suspend/resume\n  rtc: Disable the alarm in the hardware\n"
    },
    {
      "commit": "c0afabd3d553c521e003779c127143ffde55a16f",
      "tree": "5a4a93f244e2e9cbc87f24958de3e83397f978fb",
      "parents": [
        "27c9cd7e601632b3794e1c3344d37b86917ffb43"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Tue Nov 22 11:03:14 2011 +0100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Nov 22 19:25:43 2011 -0800"
      },
      "message": "rtc: Disable the alarm in the hardware\n\nCurrently, the RTC code does not disable the alarm in the hardware.\n\nThis means that after a sequence such as the one below (the files are in the\nRTC sysfs), the box will boot up after 2 minutes even though we\u0027ve\nasked for the alarm to be turned off.\n\n\t# echo $((`cat since_epoch`)+120) \u003e wakealarm\n\t# echo 0 \u003e wakealarm\n\t# poweroff\n\nFix this by disabling the alarm when there are no timers to run.\n\nCc: stable@kernel.org\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "2113852b239ed4a93d04135372162252f9342bb6",
      "tree": "fcbe8506e4832862d180b6b5aefeb6809dd9d705",
      "parents": [
        "0e648f42f24f89e24c4dcac534d8e7086c9fd559"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 09:57:25 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:28 2011 -0400"
      },
      "message": "rtc: Add module.h to implicit users in drivers/rtc\n\nThe module.h was implicitly everywhere, but when we clean\nthat up, the implicit users will compile fail; fix them up\nin advance.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b830ac1d9a2262093bb0f3f6a2fd2a1c8278daf5",
      "tree": "580f61a7a8a621792e8ac48d2ec4a9721165eecd",
      "parents": [
        "431e2bcc371016824f419baa745f82388258f3ee"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 16:08:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "rtc: fix hrtimer deadlock\n\nBen reported a lockup related to rtc. The lockup happens due to:\n\nCPU0                                        CPU1\n\nrtc_irq_set_state()\t\t\t    __run_hrtimer()\n  spin_lock_irqsave(\u0026rtc-\u003eirq_task_lock)    rtc_handle_legacy_irq();\n\t\t\t\t\t      spin_lock(\u0026rtc-\u003eirq_task_lock);\n  hrtimer_cancel()\n    while (callback_running);\n\nSo the running callback never finishes as it\u0027s blocked on\nrtc-\u003eirq_task_lock.\n\nUse hrtimer_try_to_cancel() instead and drop rtc-\u003eirq_task_lock while\nwaiting for the callback.  Fix this for both rtc_irq_set_state() and\nrtc_irq_set_freq().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "431e2bcc371016824f419baa745f82388258f3ee",
      "tree": "11ed612c73773e5e61160efa6ff5f0c3efe5c936",
      "parents": [
        "2c4f57d12df7696d65b0247bfd57fd082a7719e6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 16:08:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "rtc: limit frequency\n\nDue to the hrtimer self rearming mode a user can DoS the machine simply\nbecause it\u0027s starved by hrtimer events.\n\nThe RTC hrtimer is self rearming.  We really need to limit the frequency\nto something sensible.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c4f57d12df7696d65b0247bfd57fd082a7719e6",
      "tree": "920060fbbbc18643711e61526be4040e57118145",
      "parents": [
        "b45d59fb92f60c9c3cda01355d42b907b863e47a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 16:08:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:41 2011 -0700"
      },
      "message": "rtc: handle errors correctly in rtc_irq_set_state()\n\nThe code checks the correctness of the parameters, but unconditionally\narms/disarms the hrtimer.\n\nThe result is that a random task might arm/disarm rtc timer and surprise\nthe real owner by either generating events or by stopping them.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e7a333eaa522ef73be01caec7a01521490aaf00",
      "tree": "76e9ffac58da9bc22327a38ea5e40fc5aa18c530",
      "parents": [
        "3c8bb90efb6e3105206e4aaa9127395feeda5492"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 22 09:12:51 2011 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jul 26 14:50:01 2011 -0700"
      },
      "message": "rtc: Limit RTC PIE frequency\n\nThe RTC pie hrtimer is self rearming. We really need to limit the\nfrequency to something sensible. Thus limit it to the 8192Hz max\nvalue from the rtc man documentation\n\nCc: Willy Tarreau \u003cw@1wt.eu\u003e\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[jstultz: slightly reworked to use RTC_MAX_FREQ value]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "3c8bb90efb6e3105206e4aaa9127395feeda5492",
      "tree": "9ff9771503c219677671bea7f4b2740661d1c5e9",
      "parents": [
        "53cc2820acbdbcc768675bfaff321f3a8680a317"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 22 09:12:51 2011 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jul 26 14:49:59 2011 -0700"
      },
      "message": "rtc: Fix hrtimer deadlock\n\nBen reported a lockup related to rtc. The lockup happens due to:\n\nCPU0                                        CPU1\n\nrtc_irq_set_state()\t\t\t    __run_hrtimer()\n  spin_lock_irqsave(\u0026rtc-\u003eirq_task_lock)    rtc_handle_legacy_irq();\n\t\t\t\t\t      spin_lock(\u0026rtc-\u003eirq_task_lock);\n  hrtimer_cancel()\n    while (callback_running);\n\nSo the running callback never finishes as it\u0027s blocked on\nrtc-\u003eirq_task_lock.\n\nUse hrtimer_try_to_cancel() instead and drop rtc-\u003eirq_task_lock while\nwaiting for the callback. Fix this for both rtc_irq_set_state() and\nrtc_irq_set_freq().\n\nCc: stable@kernel.org\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "53cc2820acbdbcc768675bfaff321f3a8680a317",
      "tree": "b0070f1ace60aeed05a30000f277ac9cd29e222a",
      "parents": [
        "ef68c8f87ed13f65df867dddf36c0e185b27b942"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 22 09:12:50 2011 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jul 26 14:49:57 2011 -0700"
      },
      "message": "rtc: Handle errors correctly in rtc_irq_set_state()\n\nIn rtc_irq_set_state, the code checks the correctness of the parameters,\nbut then goes on to unconditionally arms/disarms the hrtimer. Thus a\nrandom task might arm/disarm rtc timer and surprise the real owner by\neither generating events or by stopping them.\n\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "d576fe49ca5c238e99d2d010a410480cb2aa29a0",
      "tree": "70d840793c3fe109e26ca74e7b4741f92ae6ca1e",
      "parents": [
        "e17fd4ba2a81f1d29875b20464e4899185a3c946"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jun 01 11:13:16 2011 +0100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Jun 01 19:29:40 2011 -0700"
      },
      "message": "rtc: Staticize non-exported __rtc_set_alarm()\n\nIt\u0027s not referenced outside this file so there\u0027s no need for it to be in\nthe global namespace and sparse warns about that.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "92f73a62a100d2068e8f327e573da01529184c18",
      "tree": "48a42be3879d8467c1860d3f14045feb6fccd64e",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df",
        "67c1b8c6aa354aad14aad85d36508fd73d1c6361"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 13 01:54:09 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 13 01:54:09 2011 +0200"
      },
      "message": "Merge branch \u0027fortglx/39/tip/timers/rtc\u0027 of git://git.linaro.org/people/jstultz/linux into timers/urgent\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": "f6d5b33125c4fa63c16f7f54c533338c9695d82c",
      "tree": "2aabfeb48759bf6122c100f6977c8d7ff80e0c0d",
      "parents": [
        "0ce790e7d736cedc563e1fb4e998babf5a4dbc3d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Mar 29 18:00:27 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Mar 29 18:44:05 2011 -0700"
      },
      "message": "RTC: Fix early irqs caused by calling rtc_set_alarm too early\n\nWhen we register an rtc device at boot, we read the alarm value\nin hardware and set the rtc device\u0027s aie_timer to that value.\n\nThe initial method to do this was to simply call rtc_set_alarm()\nwith the value read from hardware. However, this may cause problems\nas rtc_set_alarm may enable interupts, and the RTC alarm might fire,\nwhich can cause invalid pointer dereferencing since the RTC registration\nis not complete.\n\nThis patch solves the issue by initializing the rtc_device.aie_timer\ny hand via rtc_initialize_alarm(). This avoids any calls to the RTC\nhardware which might enable interrupts too early.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nReported-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nTested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "f44f7f96a20af16f6f12e1c995576d6becf5f57b",
      "tree": "bbe0b8bec5defed39fade13c79a1cb19b74fb6e3",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 22:58:51 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:22:50 2011 -0800"
      },
      "message": "RTC: Initialize kernel state from RTC\n\nMark Brown pointed out a corner case: that RTC alarms should\nbe allowed to be persistent across reboots if the hardware\nsupported it.\n\nThe rework of the generic layer to virtualize the RTC alarm\nvirtualized much of the alarm handling, and removed the\ncode used to read the alarm time from the hardware.\n\nMark noted if we want the alarm to be persistent across\nreboots, we need to re-read the alarm value into the\nvirtualized generic layer at boot up, so that the generic\nlayer properly exposes that value.\n\nThis patch restores much of the earlier removed\nrtc_read_alarm code and wires it in so that we\nset the kernel\u0027s alarm value to what we find in the\nhardware at boot time.\n\nNOTE: Not all hardware supports persistent RTC alarm state across\nsystem reset. rtc-cmos for example will keep the alarm time, but\ndisables the AIE mode irq. Applications should not expect the RTC\nalarm to be valid after a system reset. We will preserve what\nwe can, to represent the hardware state at boot, but its not\nguarenteed.\n\nFurther, in the future, with multiplexed RTC alarms, the\nsoonest alarm to fire may not be the one set via the /dev/rt\nioctls. So an application may set the alarm with RTC_ALM_SET,\nbut after a reset find that RTC_ALM_READ returns an earlier\ntime. Again, we preserve what we can, but applications should\nnot expect the RTC alarm state to persist across a system reset.\n\nBig thanks to Mark for pointing out the issue!\nThanks also to Marcelo for helping think through the solution.\n\nCC: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: rtc-linux@googlegroups.com\nReported-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "456d66ecd09e3bc326b93174745faafb6ac378d6",
      "tree": "24e0fb6f1c861204e2bf25abc2e27a1e3c3941ae",
      "parents": [
        "6e57b1d6a8d8ed1998229b71c102be1997e397c6"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Feb 11 18:15:23 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 17 14:59:42 2011 -0800"
      },
      "message": "RTC: Re-enable UIE timer/polling emulation\n\nThis patch re-enables UIE timer/polling emulation for rtc devices\nthat do not support alarm irqs.\n\nCC: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nTested-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "516373b8b60fa4152334b6b6f2ece0f178c540ce",
      "tree": "fdc88e327f0e7143354b1ea4c190bee21aff6c1f",
      "parents": [
        "d8ce1481ee8770ef2314eb7984a2228dbf64ad06"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Feb 14 11:33:17 2011 +0100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 17 14:59:22 2011 -0800"
      },
      "message": "RTC: Release mutex in error path of rtc_alarm_irq_enable\n\nOn hardware that doesn\u0027t support alarm interrupts, rtc_alarm_irq_enable\ncould return without releasing the ops_lock mutex.\n\nThis was introduced in\n\taa0be0f (RTC: Propagate error handling via rtc_timer_enqueue properly)\n\nThis patch corrects the issue by only returning once the mutex is\nreleased.\n\n[john.stultz: Reworded the commit log]\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "83a06bf50bdf2074b9404951ff60e142d159d93b",
      "tree": "ebb70cdc221d06529fd327e284f1b9191939f6aa",
      "parents": [
        "9118626a30f8a3f58674623bebd3c34961e558af"
      ],
      "author": {
        "name": "Marcelo Roberto Jimenez",
        "email": "mroberto@cpti.cetuc.puc-rio.br",
        "time": "Wed Feb 02 16:04:02 2011 -0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 03 12:59:50 2011 -0800"
      },
      "message": "RTC: Prevents a division by zero in kernel code.\n\nThis patch prevents a user space program from calling the RTC_IRQP_SET\nioctl with a negative value of frequency. Also, if this call is make\nwith a zero value of frequency, there would be a division by zero in the\nkernel code.\n\n[jstultz: Also initialize irq_freq to 1 to catch other divbyzero issues]\n\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "d5553a556165535337ece8592f066407c62eec2e",
      "tree": "2b9eaf6a5b9a4939f92cadedf6c797070107e7af",
      "parents": [
        "aa0be0f4659f91f31e45adc422b1788cb36ffddc"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 20 15:26:13 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:19 2011 +0100"
      },
      "message": "RTC: Properly handle rtc_read_alarm error propagation and fix bug\n\nIn reviewing cases where the virtualized interfaces didn\u0027t propagate\nerrors properly, I noticed rtc_read_alarm needed fixing. In doing\nso I noticed my RTC rework dropped a memset and that the behavior\nof rtc_read_alarm shouldn\u0027t be conditionalized on the alarm.enabled\nflag (as the alarm may be set, but the irqs may be disabled). So\nthose were corrected as well.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1295565973-14358-2-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa0be0f4659f91f31e45adc422b1788cb36ffddc",
      "tree": "02eed33d672f36e41e735c5060acb9d2446c23af",
      "parents": [
        "db6b175fa6ad1408cbb2fb62949a6d55cfece03e"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 20 15:26:12 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:19 2011 +0100"
      },
      "message": "RTC: Propagate error handling via rtc_timer_enqueue properly\n\nIn cases where RTC hardware does not support alarms, the virtualized\nRTC interfaces did not have a way to propagate the error up to userland.\n\nThis patch extends rtc_timer_enqueue so it catches errors from the hardware\nand returns them upwards to the virtualized interfaces. To simplify error\nhandling, it also internalizes the management of the timer-\u003eenabled bit\ninto rtc_timer_enqueue and rtc_timer_remove.\n\nAlso makes rtc_timer_enqueue and rtc_timer_remove static.\n\nReported-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nDiagnosed-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1295565973-14358-1-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "96c8f06a0fb359a9a89701a7afab6d837e466ab0",
      "tree": "038d92c31b95abfd5ab83428ab965de82548c4c9",
      "parents": [
        "042620a018afcfba1d678062b62e463b9e43a68d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 13 22:45:48 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 13 22:48:21 2010 +0100"
      },
      "message": "rtc: Namespace fixup\n\nrtctimer_* is already occupied by sound/core/rtctimer.c. Instead of\nfiddling with that, rename the new functions to rtc_timer_* which\nreads nicer anyway.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\n"
    },
    {
      "commit": "6610e0893b8bc6f59b14fed7f089c5997f035f88",
      "tree": "b13f4f516fe8fd31a6f6fbb68dd0c520c4c19df7",
      "parents": [
        "b007c389d3e09b823eccda1503390fa2a9adca0d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Sep 23 15:07:34 2010 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 22:24:24 2010 -0800"
      },
      "message": "RTC: Rework RTC code to use timerqueue for events\n\nThis patch reworks a large portion of the generic RTC code\nto in-effect virtualize the rtc interrupt code.\n\nThe current RTC interface is very much a raw hardware interface.\nVia the proc, /dev/, or sysfs interfaces, applciations can set\nthe hardware to trigger interrupts in one of three modes:\n\nAIE: Alarm interrupt\nUIE: Update interrupt (ie: once per second)\nPIE: Periodic interrupt (sub-second irqs)\n\nThe problem with this interface is that it limits the RTC hardware\nso it can only be used by one application at a time.\n\nThe purpose of this patch is to extend the RTC code so that we can\nmultiplex multiple applications event needs onto a single RTC device.\nThis is done by utilizing the timerqueue infrastructure to manage\na list of events, which cause the RTC hardware to be programmed\nto fire an interrupt for the next event in the list.\n\nIn order to preserve the functionality of the exsting proc,/dev/ and\nsysfs interfaces, we emulate the different interrupt modes as follows:\n\nAIE: We create a rtc_timer dedicated to AIE mode interrupts. There is\nonly one per device, so we don\u0027t change existing interface semantics.\n\nUIE: Again, a dedicated rtc_timer, set for periodic mode, is used\nto emulate UIE interrupts. Again, only one per device.\n\nPIE: Since PIE mode interrupts fire faster then the RTC\u0027s clock read\ngranularity, we emulate PIE mode interrupts using a hrtimer. Again,\none per device.\n\nWith this patch, the rtctest.c application in Documentation/rtc.txt\npasses fine on x86 hardware. However, there may very well still be\nbugs, so greatly I\u0027d appreciate any feedback or testing!\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML Reference: \u003c1290136329-18291-4-git-send-email-john.stultz@linaro.org\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "e6229bec25be4ba00f31dd26e25721cc96c22262",
      "tree": "a27e4c51dd8b9aaeb589a147a22bbd06bde77cf0",
      "parents": [
        "575c5807f6842422e9fe2432fd48dfcc1d7aef41"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Thu Jun 18 16:49:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 16:46:05 2009 -0700"
      },
      "message": "rtc: make rtc_update_irq callable with irqs enabled\n\nThe rtc_update_irq() might be called with irqs enabled, if a interrupt\nhandler was registered without IRQF_DISABLED.  Use\nspin_lock_irqsave/spin_unlock_irqrestore instead of spin_lock/spin_unlock.\n\nAlso update kerneldoc and drivers which do extra work to follow the\ncurrent interface spec, as suggestted by David Brownell.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbccf83f6c4e1a0de5bdf51ec9ec708d3a1ce933",
      "tree": "8c9797c7914b0f7fc78e5878ef33ae5f3219a202",
      "parents": [
        "f60091575d43e5a27b26f4d6fa4251cdd6b9ae8a"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Tue Jan 06 14:42:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:25 2009 -0800"
      },
      "message": "rtc: use set_mmss when set_time is not available\n\nDrivers should only need to implement either set_mmss (counter based RTCs)\nor set_time (most RTCs).  The RTC subsystem will handle them\nappropriately.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d2a50371ddf127afa782ad3147469be8e9bd69f",
      "tree": "bc7b7032512c17f493e5f656044c79c17952f517",
      "parents": [
        "2fac6674ddf3164da42a76d62f8912073d629a30"
      ],
      "author": {
        "name": "Jonathan Cameron",
        "email": "jic23@cam.ac.uk",
        "time": "Tue Jan 06 14:42:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:24 2009 -0800"
      },
      "message": "rtc: move power of 2 periodic frequency check down into drivers\n\nMove the power of 2 check on frequencies down into individual rtc drivers\n\nThis is to allow for non power of 2 real time clock periodic interrupts\nsuch as those on the pxa27x to be found in the new pxa27x-rtc driver\n\nSigned-off-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4afc76c0b59a37113e184004f8a9989cfc1ddd3",
      "tree": "92d36a41879749c0faa912f98476b7947b192825",
      "parents": [
        "103d6d9170e3ecd9cefee9406bf928e1fcc45cc5"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 14:42:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "rtc: struct device: replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-By: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "099e657625e801adf82054c8050dde5aceb68452",
      "tree": "d6c28df68ab390fa237b8339c6081e4db380aa5f",
      "parents": [
        "54566b2c1594c2326a645a3551f9d989f7ba3c5e"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Sun Jan 04 12:00:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "rtc: add alarm/update irq interfaces\n\nAdd standard interfaces for alarm/update irqs enabling.  Drivers are no\nmore required to implement equivalent ioctl code as rtc-dev will provide\nit.\n\nUIE emulation should now be handled correctly and will work even for those\nRTC drivers who cannot be configured to do both UIE and AIE.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e3a4afd5a66f9047e30ba225525e6ff01612dc4",
      "tree": "1f32bb96e97fb7ad4a0fc94b096cc30e308870ab",
      "parents": [
        "a564738c1c9c7b9ed696bf4116267789201ac8ac"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 06 12:53:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:17 2008 -0800"
      },
      "message": "rtc: fix handling of missing tm_year data when reading alarms\n\nWhen fixing up invalid years rtc_read_alarm() was calling rtc_valid_tm()\nas a boolean but rtc_valid_tm() returns zero on success or a negative\nnumber if the time is not valid so the test was inverted.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b68bb2632453a9ca7d10a00d79adf60968cb4c05",
      "tree": "3093bd33da75ce165d0f9b0af8931d7eb4d4488a",
      "parents": [
        "950d442ad053e660538cdaa6efc0e060c2a65062"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Jul 29 22:33:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:45 2008 -0700"
      },
      "message": "rtc: don\u0027t return -EBUSY when mutex_lock_interruptible() fails\n\nIt was pointed out that the RTC framework handles its mutex locks oddly\n...  returning -EBUSY when interrupted.  This fixes that by returning the\nvalue of mutex_lock_interruptible() (i.e.  -EINTR).\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "695794ae0c5bdd9bd06e35b118801e2e9be04f9e",
      "tree": "71011d17230e67798c6e474ffac10cb93d72919e",
      "parents": [
        "93562b537659fc0f63920fd4d9d24f54e434f4c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "Driver Core: add ability for class_find_device to start in middle of list\n\nThis mirrors the functionality that driver_find_device has as well.\n\nWe add a start variable, and all callers of the function are fixed up at\nthe same time.\n\nThe block layer will be using this new functionality in a follow-on\npatch.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a01cc6570326c01e70619bf6540fb32139947c33",
      "tree": "810c96598eebc23ca7e53a25b857a9143a17d7d6",
      "parents": [
        "251b97f552b1ad414cc5a9ccc8e4e94503edd5fc"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri Jul 04 09:59:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "rtc: rtc_read_alarm() handles wraparound\n\nWhile 0e36a9a4a788e4e92407774df76c545910810d35 (\"rtc: fix readback from\n/sys/class/rtc/rtc?/wakealarm\") made sure that active alarms were never\nreturned with invalid \"wildcard\" fields (negative), it can still report\n(wrongly) that the alarm triggers in the past.\n\nExample, if it\u0027s now 10am, an alarm firing at 5am will be triggered\nTOMORROW not today.  (Which may also be next month or next year...)\n\nThis updates that alarm handling in three ways:\n\n  * Handle alarm rollover in the common cases of RTCs that don\u0027t\n    support matching on all date fields.\n\n  * Skip the invalid-field logic when it\u0027s not needed.\n\n  * Minor bugfix ... tm_isdst should be ignored, it\u0027s one of the\n    fields Linux doesn\u0027t maintain.\n\nA warning is emitted for some of the unhandled rollover cases, but the\npossible combinations are a bit too numerous to handle every bit of\npotential hardware and firmware braindamage.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Mark Lord \u003clkml@rtr.ca\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71da890509fec13d54329485bf5e4ac16b992bb6",
      "tree": "dc9fd8cac1ad04454c8709b93d9f63bcdcc48750",
      "parents": [
        "443cad920a1c6894da3de917ce02a194cc6d80ea"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Jan 22 14:00:34 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:44 2008 -0800"
      },
      "message": "rtc: use class iteration api\n\nConvert to use the class iteration api.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "372a302e9a892229206aafca0352584a745bc5f3",
      "tree": "14cf4e06735d8dd9284e843f36a5abcfcc4cc476",
      "parents": [
        "5cd17569fd0eeca510735e63a6061291e3971bf6"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Dec 04 23:45:05 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "RTC: assure proper memory ordering with respect to RTC_DEV_BUSY flag\n\nWe must make sure that the RTC_DEV_BUSY flag has proper lock semantics,\ni.e.  that the RTC_DEV_BUSY stores clearing the flag don\u0027t get reordered\nbefore the preceeding stores and loads and vice versa.\n\nSpotted by Nick Piggin.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8853c202b4a91713dbfb4d9b6e1c87cc2aa12392",
      "tree": "a6c9621d3067eebc17c2ce53fa45e7513ee832a6",
      "parents": [
        "08b633070ad5fa17a837428a601c32cf3db6aafd"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Nov 28 16:22:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "RTC: convert mutex to bitfield\n\nRTC code is using mutex to assure exclusive access to /dev/rtc.  This is\nhowever wrong usage, as it leaves the mutex locked when returning into\nuserspace, which is unacceptable.\n\nConvert rtc-\u003echar_lock into bit operation.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e36a9a4a788e4e92407774df76c545910810d35",
      "tree": "a235d316c46a1951498d09d78719476b5c47470a",
      "parents": [
        "bf4994d781c69cc15844d63122320e46ddde6464"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "lkml@rtr.ca",
        "time": "Tue Oct 16 01:28:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:13 2007 -0700"
      },
      "message": "rtc: fix readback from /sys/class/rtc/rtc?/wakealarm\n\nFix readback of RTC alarms on platforms which return -1 in\nnon-hardware-supported RTC alarm fields.\n\nTo fill in the missing (-1) values, we grab an RTC timestamp along with the\nRTC alarm value, and use the timestamp fields to populate the missing alarm\nfields.\n\nTo counter field-wrap races (since the timestamp and alarm are not read\ntogether atomically), we read the RTC timestamp both before and after\nreading the RTC alarm value, and then check for wrapped fields --\u003e if any\nhave wrapped, we know we have a possible inconsistency, so we loop and\nreread the timestamp and alarm again.\n\nWrapped fields in the RTC timestamps are an issue because rtc-cmos.c, for\nexample, also gets/uses an RTC timestamp internally while fetching the RTC\nalarm.  If our timestamp here wasn\u0027t the same (minutes and higher) as what\nwas used internally there, then we might end up populating the -1 fields\nwith inconsistent values.\n\nThis fixes readbacks from /sys/class/rtc/rtc?/wakealarm, as well as other\ncode paths which call rtc_read_alarm().\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97144c67566241db46633727f2860e6428373fe4",
      "tree": "b3863ed198037668cb80df710678a6e249842654",
      "parents": [
        "d691eb901e044065de10756ea78a5758d457c7fd"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Oct 16 01:28:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:13 2007 -0700"
      },
      "message": "rtc_irq_set_freq() requires power-of-two and associated kerneldoc\n\nRTC periodic IRQs are only defined to work for 2^N Hz values.  This patch\nmoves that validity check into the infrastructure, so drivers don\u0027t need to\ncheck it; and adds kerneldoc for the two interface functions related to\nperiodic IRQs.  (One of which was quite mysterious until its first use was\nrecently checked in!)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d691eb901e044065de10756ea78a5758d457c7fd",
      "tree": "3b166f4d54bba5677a04b885d0da52c28db3a8a3",
      "parents": [
        "16a72c455a67bb23eed7292a31c6ba17729e78e6"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "alessandro.zummo@towertech.it",
        "time": "Tue Oct 16 01:28:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:13 2007 -0700"
      },
      "message": "RTC: periodic irq fix\n\nAdd kernel/kernel and kernel/user locking for the periodic irq feature of\nthe rtc class.\n\nPIE ioctls are also supported.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8245c26886c912627ebc49f714e4491261224c4",
      "tree": "132a34d1e482f96a5d4bba5f744658aea9a5fcc9",
      "parents": [
        "416ce32e704d778c283f2f86cadd836cd5d3696c"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:34:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "rtc: remove \"RTC_ALM_SET mode\" bugs\n\nThis fixes a common glitch in how RTC drivers handle two \"set alarm\" modes,\nby getting rid of the surprising/hidden one that was rarely implemented\ncorrectly (and which could expose nonportable hardware-specific behavior).\n\nThe glitch comes from the /dev/rtcX logic implementing the legacy\nRTC_ALM_SET (limited to 24 hours, needing RTC_AIE_ON) ioctl on top of the\nRTC driver call providing access to the newer RTC_WKALM_SET (without those\nlimitations) by initializing the day/month/year fields to be invalid ...\nthat second mode.\n\nNow, since few RTC drivers check those fields, and most hardware misbehaves\nwhen faced with invalid date fields, many RTC drivers will set bogus alarm\ntimes on those RTC_ALM_SET code paths.  (Several in-tree drivers have that\nissue, and I also noticed it with code reviews on several new RTC drivers.)\n\nThis patch ensures that RTC drivers never see such invalid alarm fields, by\nmoving some logic out of rtc-omap into the RTC_ALM_SET code and adding an\nexplicit check (which will prevent the issue on other code paths).\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Scott Wood \u003cscottwood@freescale.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd9662094edf4173e87f0452e57e4eacc228f8ff",
      "tree": "819d487aad05c7e61531bd25e3e7a0d4c08c6616",
      "parents": [
        "7d9f99eccc8f94ace31030a2a7ff73cf5f8c12a0"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:33:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "rtc: remove rest of class_device\n\nFinish converting the RTC framework so it no longer uses class_device.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-By: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab6a2d70d18edc7a716ef3127b9e13382faec98c",
      "tree": "6de624dfcbd0181e54e21f1730d2a52ae9822c47",
      "parents": [
        "5726fb2012f0d96153113ddb7f988a0daea587ce"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:33:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "rtc: rtc interfaces don\u0027t use class_device\n\nThis patch removes class_device from the programming interface that the RTC\nframework exposes to the rest of the kernel.  Now an rtc_device is passed,\nwhich is more type-safe and streamlines all the relevant code.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-By: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e109ebd1eed2b91e3c9bb3b42cc27961f0dc22b3",
      "tree": "402ca61d265c59d35282b0786363dfbe32659564",
      "parents": [
        "0478e62e8a04154b7bdc0dfd33ffbcabc5446e9c"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Feb 28 20:12:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:37 2007 -0800"
      },
      "message": "[PATCH] rtc_cmos oops fix\n\nFix an oops on the rtc_device_unregister() path by waiting until the last\nmoment before nulling the rtc-\u003eops vector.  Fix some potential oopses by\nhaving the rtc_class_open()/rtc_class_close() interface increase the RTC\u0027s\nreference count while an RTC handle is available outside the RTC framework.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d728b1e69fd5829ec2ab2434381e5a268d4f684a",
      "tree": "e11b3dea35247074628f04f5441e4a458bdbd86b",
      "parents": [
        "2601a46474db2dcbc08ee690e56f08a10abe65cb"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sat Nov 25 11:09:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Nov 25 13:28:33 2006 -0800"
      },
      "message": "[PATCH] rtc class locking bugfixes\n\nI got a lockdep warning when running \"rtctest\" so I though it\u0027d be good\nto see what was up.\n\n - The warning was for rtc-\u003eirq_task_lock, gotten from rtc_update_irq()\n   by irq handlerss ... but in a handful of other cases, grabbed without\n   blocking IRQs.\n\n - Some callers to rtc_update_irq() were not ensuring IRQs were blocked,\n   yet the routine expects that; make sure all callers block IRQs.\n\nIt would appear that RTC API tests haven\u0027t been part of anyone\u0027s kernel\nregression test suite recently, at least not with lockdep running.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2601a46474db2dcbc08ee690e56f08a10abe65cb",
      "tree": "3b6ffb34023a252599b08b045db100a6ca6bfff7",
      "parents": [
        "7531d8faa85f8880db433027bf2b04950e49baeb"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sat Nov 25 11:09:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Nov 25 13:28:33 2006 -0800"
      },
      "message": "[PATCH] rtc framework handles periodic irqs\n\nThe RTC framework has an irq_set_freq() method that should be used to manage\nthe periodic IRQ frequency, but the current ioctl logic doesn\u0027t know how to do\nthat.  This patch teaches it how.\n\nThis means that drivers implementing irq_set_freq() will automatically support\nRTC_IRQP_{READ,SET} ioctls; that logic doesn\u0027t need duplication within the\ndriver.\n\n[akpm@osdl.org: export rtc_irq_set_freq]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "56f10c634e145d75e45b56a73f59fb6dff1caa8e",
      "tree": "d8a845dccfaf16dc7ef59d1ad9192a6b6923e6ff",
      "parents": [
        "9c0c570576d02000063e28faadcce8c07396755d"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "alessandro.zummo@towertech.it",
        "time": "Sun Jun 25 05:48:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:13 2006 -0700"
      },
      "message": "[PATCH] rtc subsystem, fix capability checks in kernel interface\n\nRemove commented capability checks and add some others.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c86edc0d4970649f39748c4ce4f2895f728468f",
      "tree": "d4a4b0a45922fff8add243d14c8377eb902aa80a",
      "parents": [
        "4079c39aaab65022f4875609d76e62669ef94c29"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Mar 27 01:16:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:51 2006 -0800"
      },
      "message": "[PATCH] RTC subsystem: class\n\nAdd the basic RTC subsystem infrastructure to the kernel.\n\nrtc/class.c - registration facilities for RTC drivers\nrtc/interface.c - kernel/rtc interface functions\nrtc/hctosys.c - snippet of code that copies hw clock to sw clock\n\t\tat bootup, if configured to do so.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
