)]}'
{
  "log": [
    {
      "commit": "a7402deb324f62106566f5a95199a54c41e200ef",
      "tree": "0eafe76a936eaa9f5391988d2a0021b3d0907dbb",
      "parents": [
        "938f97bcf1bdd1b681d5d14d1d7117a2e22d4434"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Fri Aug 12 21:04:30 2011 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Aug 26 17:26:35 2011 -0700"
      },
      "message": "rtc: Initialized rtc_time-\u003etm_isdst\n\nEven though the Linux kernel does not use the tm_isdst field, it is\nexposed as part of the ABI.  This field can accidentally be left\ninitialized, which is why we currently memset buffers returned to\nuserland in rtc_read_time.\n\nThere is a case however where the field can return garbage from the\nstack though when using the RTC_ALM_READ ioctl on the rtc device.  This\nioctl invokes rtc_read_alarm, which is careful to memset the rtc_wkalrm\nbuffer that is copied to userland, but it then uses a struct copy to\nassign to alarm-\u003etime given the return value from rtc_ktime_to_tm().\n\nrtc_ktime_to_tm() is implemented by calling rtc_time_to_tm using a\nderivative seconds counds from ktime, but rtc_time_to_tm does not assign\na value to -\u003etm_isdst.  This results in garbage from rtc_ktime_to_tm()\u0027s\nframe ending up being copied out to userland as part of the returned\nrtc_wkalrm.\n\nFix this by initializing rtc_time-\u003etm_isdst to 0 in rtc_time_to_tm.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\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": "78d89ef40c2ff7265df077e20c4d76be7d415204",
      "tree": "68503b0252682a496495b7adb46f6aa278db88ae",
      "parents": [
        "47367a3ba425d70467af0009782098235ddbf204"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 31 15:24:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:24 2009 -0700"
      },
      "message": "rtc: convert LEAP_YEAR into an inline\n\n- the LEAP_YEAR macro is buggy - it references its arg multiple times.\n  Fix this by turning it into a C function.\n\n- give it a more approriate name\n\n- Move it to rtc.h so that other .c files can use it, instead of copying it.\n\nCc: dann frazier \u003cdannf@hp.com\u003e\nAcked-by: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\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": "73442daf2ea85e2a779396b76b1a39b10188ecb5",
      "tree": "5705d69476b29890cd39ea3efdc8de68f38daebc",
      "parents": [
        "b4a49b12e879ce79f495cc318c4b33caec6922e8"
      ],
      "author": {
        "name": "Jan Altenberg",
        "email": "jan.altenberg@linutronix.de",
        "time": "Tue Sep 02 14:36:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 19:21:40 2008 -0700"
      },
      "message": "rtc_time_to_tm: fix signed/unsigned arithmetic\n\ncommit 945185a69daa457c4c5e46e47f4afad7dcea734f (\"rtc: rtc_time_to_tm: use\nunsigned arithmetic\") changed the some types in rtc_time_to_tm() to\nunsigned:\n\n void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)\n {\n-       register int days, month, year;\n+       unsigned int days, month, year;\n\nThis doesn\u0027t work for all cases, because days is checked for \u003c 0 later\non:\n\nif (days \u003c 0) {\n\tyear -\u003d 1;\n\tdays +\u003d 365 + LEAP_YEAR(year);\n}\n\nI think the correct fix would be to keep days signed and do an appropriate\ncast later on.\n\nSigned-off-by: Jan Altenberg \u003cjan.altenberg@linutronix.de\u003e\nCc: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Dmitri Vorobiev \u003cdmitri.vorobiev@gmail.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": "945185a69daa457c4c5e46e47f4afad7dcea734f",
      "tree": "688be6d624632b5538c925ac278511ea2aa79f02",
      "parents": [
        "f38c84312748de9d04562c12af57080c6901f931"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Mon May 12 14:02:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:25 2008 -0700"
      },
      "message": "rtc: rtc_time_to_tm: use unsigned arithmetic\n\nThe input argument to rtc_time_to_tm() is unsigned as well as are members of\nthe output structure.  However signed arithmetic is used within for\ncalculations leading to incorrect results for input values outside the signed\npositive range.  If this happens the time of day returned is out of range.\n\nFound the problem when fiddling with the RTC and the driver where year was set\nto an unexpectedly large value like 2070, e.g.:\n\nrtc0: setting system clock to 2070-01-01 1193046:71582832:26 UTC (3155760954)\n\nwhile it should be:\n\nrtc0: setting system clock to 2070-01-01 00:15:54 UTC (3155760954)\n\nChanging types to unsigned fixes the problem.\n\n[akpm@linux-foundation.org: remove old-fashioned `register\u0027 keyword]\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Dmitri Vorobiev \u003cdmitri.vorobiev@gmail.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": "416ce32e704d778c283f2f86cadd836cd5d3696c",
      "tree": "ede7fe08271e40367d228ef4b7a79eba68030ad4",
      "parents": [
        "19bfe37caa8184768ecc15269302f42036625259"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 08 00:34:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "revert \"rtc: Add rtc_merge_alarm()\"\n\nDavid says \"884b4aaaa242a2db8c8252796f0118164a680ab5 should be reverted.  It\nadded an rtc_merge_alarm() call to the 2.6.20 kernel, which hasn\u0027t yet been\nused by any in-tree driver; this patch obviates the need for that call, and\nuses a more robust approach.\"\n\nCc: Scott Wood \u003cscottwood@freescale.com\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": "884b4aaaa242a2db8c8252796f0118164a680ab5",
      "tree": "eea898cb8df58cace0a04025b5efdb8b2a2fd3d2",
      "parents": [
        "9080d0ae0fd16628d688ce7d03d02ccf7011c6f0"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Sun Dec 10 02:19:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:40 2006 -0800"
      },
      "message": "[PATCH] rtc: Add rtc_merge_alarm()\n\nAdd rtc_merge_alarm(), which can be used by rtc drivers to turn a partially\nspecified alarm expiry (i.e.  most significant fields set to -1, as with the\nRTC_ALM_SET ioctl()) into a fully specified expiry.\n\nIf the most significant specified field is earlier than the current time, the\nleast significant unspecified field is incremented.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\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": "db621f174d2c017d960089ea8cbc91c0763f1069",
      "tree": "68a6ab944fdd30b2e6a7a0fb5a06629a4f4a6af9",
      "parents": [
        "818a8674b0388d90e33a5d1b13946b40dda7032a"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sat Sep 30 23:28:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:25 2006 -0700"
      },
      "message": "[PATCH] RTC class: error checks\n\nThe rtc_is_valid_tm() routine needs to treat some of the fields it checks as\nunsigned, to prevent wrongly accepting invalid rtc_time structs; this is the\nsame approach used elsewhere in the RTC code for such tests.\n\nConversely, rtc_proc_show() is missing one invalid-day-of-month test that\nrtc_is_valid_tm() makes: there is no day zero.\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@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8232212e0b4ee4eb3e407f5a9b098f6377820164",
      "tree": "427b2c0a935e880d0a949f22072af207ade1e793",
      "parents": [
        "362600fe60fd18a25b4de8ec544b9e24e77e1484"
      ],
      "author": {
        "name": "Andrew Victor",
        "email": "andrew@sanpeople.com",
        "time": "Sun Jun 25 05:48:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:14 2006 -0700"
      },
      "message": "[PATCH] RTC: Add rtc_year_days() to calculate tm_yday\n\nRTC: Add exported function rtc_year_days() to calculate the tm_yday value.\n\nSigned-off-by: Andrew Victor \u003candrew@sanpeople.com\u003e\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c58411e95d7f5062dedd1a3064af4d359da1e633",
      "tree": "8816ec8e20ae8b1d622b41bc1e7e74c2bbd1f34d",
      "parents": [
        "d23ee8fe6e2176a9d4dbfdd18edfa1b5bc3c79a5"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Mar 27 01:16:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] RTC Subsystem: library functions\n\nRTC and date/time related functions.\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"
    }
  ]
}
