)]}'
{
  "log": [
    {
      "commit": "872b86be0a285b11b03614456b67fdaf78e86f3d",
      "tree": "1bd709cf5e71997b290e3eaf9a4aa8dd16dc49a9",
      "parents": [
        "5ba736311bf6fea25c97e868b7de6d3de8800aba"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuahkhan@gmail.com",
        "time": "Tue May 29 15:07:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "leds: simple_strtoul() cleanup\n\nled-class.c and ledtrig-timer.c still use simple_strtoul().  Change them\nto use kstrtoul() instead of obsolete simple_strtoul().\n\nAlso fix the existing int ret declaration to be ssize_t to match the\nreturn type for _store functions in ledtrig-timer.c.\n\nSigned-off-by: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a403d930c58eb8448f81fa90c125ac36dc8ef89d",
      "tree": "83ad260d905d7e057ae05d380224da107cceb9ac",
      "parents": [
        "cea694ca3d0894ee97482be1f22b822dc948c66f"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@canonical.com",
        "time": "Fri Mar 23 15:02:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:35 2012 -0700"
      },
      "message": "led-class: change back LEDS_CLASS to tristate instead of bool\n\nAfter moving some core functions to led-core.c, led-class.c can be built\nas module again.\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nAcked-by: Richard Purdie \u003crichard.purdie@linuxfoundation.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df",
      "tree": "d851c923f85566572112d4c0f884cff388a3cc05",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610",
        "ea04018e6bc5ddb2f0466c0e5b986bd4901b7e8e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 11:42:52 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 11:42:52 2012 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 into Linux 3.2\n\nThis resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,\nand it fixes the build error in the arch/x86/kernel/microcode_core.c\nfile, that the merge did not catch.\n\nThe microcode_core.c patch was provided by Stephen Rothwell\n\u003csfr@canb.auug.org.au\u003e who was invaluable in the merge issues involved\nwith the large sysdev removal process in the driver-core tree.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "edbaa603eb801655e80808a9cf3d3b622e8ac66b",
      "tree": "a0a0091fc1d17fea32d6d21e3ce13d228fba6325",
      "parents": [
        "7239f65cf364180cdb100a4ed211b2a9f9a72119"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 21 16:26:03 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 16:26:03 2011 -0800"
      },
      "message": "driver-core: remove sysdev.h usage.\n\nThe sysdev.h file should not be needed by any in-kernel code, so remove\nthe .h file from these random files that seem to still want to include\nit.\n\nThe sysdev code will be going away soon, so this include needs to be\nremoved no matter what.\n\nCc: Jiandong Zheng \u003cjdzheng@broadcom.com\u003e\nCc: Scott Branden \u003csbranden@broadcom.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\nCc: David Brown \u003cdavidb@codeaurora.org\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nCc: Bryan Huntsman \u003cbryanh@codeaurora.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Wan ZongShun \u003cmcuos.com@gmail.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: \"Venkatesh Pallipadi\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "cb871513f656bdfc48b185b55f37857b5c750c40",
      "tree": "fad12a6487fd0e699c914df364e758262ab0e033",
      "parents": [
        "9f35a33b8d06263a165efe3541d9aa0cdbd70b3b"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Nov 15 14:35:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 15 22:41:50 2011 -0200"
      },
      "message": "Revert \"leds: save the delay values after a successful call to blink_set()\"\n\nRevert commit 6123b0e274503a0d3588e84fbe07c9aa01bfaf5d.\n\nThe problem this patch intends to solve has alreadqy been fixed by\ncommit 7a5caabd090b (\"drivers/leds/ledtrig-timer.c: fix broken sysfs\ndelay handling\").\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nCc: Antonio Ospite \u003cospite@studenti.unina.it\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\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": "488bc35bf40df89d37486c1826b178a2fba36ce7",
      "tree": "68c665e8b0387b0abbb3c381f3e5ee7293a79f44",
      "parents": [
        "6123b0e274503a0d3588e84fbe07c9aa01bfaf5d"
      ],
      "author": {
        "name": "Antonio Ospite",
        "email": "ospite@studenti.unina.it",
        "time": "Mon Oct 31 17:12:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:55 2011 -0700"
      },
      "message": "leds: turn the blink_timer off before starting to blink\n\nDepending on the implementation of the hardware blinking function in\nblink_set(), the led can support hardware blinking for some values of\ndelay_on and delay_off and fall-back to software blinking for some other\nvalues.\n\nTurning off the blink_timer unconditionally before starting to blink\nmake sure that a sequence like:\n\n  OFF\n  hardware blinking\n  software blinking\n  hardware blinking\n\ndoes not leave the software blinking timer active.\n\nSigned-off-by: Antonio Ospite \u003cospite@studenti.unina.it\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: \u003cstable@kernel.org\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": "6123b0e274503a0d3588e84fbe07c9aa01bfaf5d",
      "tree": "c4e47bb84136b2586c17be1a541f49898d2c9fcc",
      "parents": [
        "dabc69c24271bd6ac126e3dda4f2d72234da81df"
      ],
      "author": {
        "name": "Antonio Ospite",
        "email": "ospite@studenti.unina.it",
        "time": "Mon Oct 31 17:12:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:55 2011 -0700"
      },
      "message": "leds: save the delay values after a successful call to blink_set()\n\nWhen calling the hardware blinking function implemented by blink_set(),\nthe delay_on and delay_off values are not preserved across calls.\n\nFix that and make the \"timer\" trigger work as expected when hardware\nblinking is available.\n\nBEFORE the fix:\n  $ cd /sys/class/leds/someled\n  $ echo timer \u003e trigger\n  $ cat delay_on delay_off\n  0\n  0\n  $ echo 100 \u003e delay_on\n  $ cat delay_on delay_off\n  0\n  0\n  $ echo 100 \u003e delay_off\n  $ cat delay_on delay_off\n  0\n  0\n\nAFTER the fix:\n  $ cd /sys/class/leds/someled\n  $ echo timer \u003e trigger\n  $ cat delay_on delay_off\n  0\n  0\n  $ echo 100 \u003e delay_on\n  $ cat delay_on delay_off\n  100\n  0\n  $ echo 100 \u003e delay_off\n  $ cat delay_on delay_off\n  100\n  100\n\nSigned-off-by: Antonio Ospite \u003cospite@studenti.unina.it\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: \u003cstable@kernel.org\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": "fff26f8141145e01eae8f4d6e642ac8a0d500158",
      "tree": "4da2d503bbb242118fdde980e045779846864a14",
      "parents": [
        "5ff77428e55c152ef75a6967f3266db79926fbde"
      ],
      "author": {
        "name": "Esben Haabendal",
        "email": "eha@doredevelopment.dk",
        "time": "Tue May 24 17:13:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:49 2011 -0700"
      },
      "message": "leds: support automatic start of blinking with ledtrig-timer\n\nBy setting initial values blink_delay_on and blink_delay_off in a\nled_classdev struct, this change starts the blinking when the led is\ninitialized.\n\nWith this patch, you can initialize blink_delay_on and blink_delay_off in\nled_classdev with default_trigger set to \"timer\", and the led will start\nup blinking.  The current ledtrig-timer implementation ignores any initial\nblink_delay_on/blink_delay_off settings, and requires setting\nblink_delay_on/blink_delay_off (typically from userspace) before the led\nblinks.\n\nSigned-off-by: Esben Haabendal \u003ceha@doredevelopment.dk\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91facc22dec964683aef88f5620a790a6e46b98a",
      "tree": "0bd60c77f6efc174ae99209b4e8b008d241d53ac",
      "parents": [
        "5a2d6e31c683b361b5012aec1768c994fea3f25a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 21 17:24:28 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 22 19:43:34 2010 -0800"
      },
      "message": "led_class: fix typo in blink API\n\nWhen I added led_blink_set I had a typo: the return value of the hw\noffload is a regular error code that is zero when succesful, and in that\ncase software emulation should not be used, rather than the other way\naround.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nCc: Richard Purdie \u003crpurdie@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ada28bf76752e33dce3d807bf0dfbe6d1b943ad",
      "tree": "03ce703dce3c5f5afad16a81556608700849d6c5",
      "parents": [
        "52ca0e84b05595cf74f1ff772b3f9807256b1b27"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 11 14:05:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "led-class: always implement blinking\n\nCurrently, blinking LEDs can be awkward because it is not guaranteed that\nall LEDs implement blinking.  The trigger that wants it to blink then\nneeds to implement its own timer solution.\n\nRather than require that, add led_blink_set() API that triggers can use.\nThis function will attempt to use hw blinking, but if that fails\nimplements a timer for it.  To stop blinking again, brightness_set() also\nneeds to be wrapped into API that will stop the software blink.\n\nAs a result of this, the timer trigger becomes a very trivial one, and\nhopefully we can finally see triggers using blinking as well because it\u0027s\nalways easy to use.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "569762ef3dcf8fc5aecdb059d8c0741b90fe1d17",
      "tree": "a8727ffae90156823faf2f43edb7bf478020e63e",
      "parents": [
        "2146325df2c2640059a9e064890c30c6e259b458"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Mon May 17 08:48:28 2010 +0800"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Wed May 26 13:07:55 2010 +0100"
      },
      "message": "leds: led-class: set permissions on max_brightness file to 0444\n\nmax_brightness is not writable, thus set permissions to 0444.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\n"
    },
    {
      "commit": "14b5d6dd40b3091cb5f566568baa4a74dc619286",
      "tree": "a7373270c8a0c90e03addbd1df7f3d849f8a7e52",
      "parents": [
        "0493a4ff10959ff4c8e0d65efee25b7ffd4fa5db"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "ffainelli@freebox.fr",
        "time": "Wed Mar 10 18:32:18 2010 +0100"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Tue Mar 16 20:27:25 2010 +0000"
      },
      "message": "leds: Fix race between LED device uevent and actual attributes creation\n\nIf we were to dynamically register/unregister leds and have udev or other\ndaemons handle the leds class uevents, we would be notified of the adding of a\nnew LED and if the daemon immediately tries to open one of the attributes of\nthe led device, it would fail with a \"no such file or directory\" error since\nthis the attributes are not yet created. Fix this by switching attributes to be\nclass-wide, such that the driver core will register these attributes with\ndevice_add_attrs and then emit the kobject_uevent ADD signal.\n\nSigned-off-by:  Fainelli \u003cffainelli@freebox.fr\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\n"
    },
    {
      "commit": "bb9b6ef70f08f256ab4b8ec127c17ee629b85350",
      "tree": "ce1abece2081cfffd14ef5ff3f479daf3481802b",
      "parents": [
        "5e89a3484dea8a3d962f83fe497d064fbcde4e55"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Wed Jan 06 15:34:55 2010 -0700"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Tue Mar 16 19:49:21 2010 +0000"
      },
      "message": "leds: led-class.c - Quiet boot messages\n\nAs each led device gets registered a kernel message gets printed. In\nan embedded system with a number of leds this can produce a lot\nof output that just looks like noise.\n\nChange the message type to KERN_DEBUG since it might be useful\nin the dmesg output \"after\" booting.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\n"
    },
    {
      "commit": "e7d2860b690d4f3bed6824757c540579638e3d1e",
      "tree": "84268ee28893256fd6a6a7e1d4474f61dbee74e7",
      "parents": [
        "84c95c9acf088c99d8793d78036b67faa5d0b851"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "tree-wide: convert open calls to remove spaces to skip_spaces() lib function\n\nMakes use of skip_spaces() defined in lib/string.c for removing leading\nspaces from strings all over the tree.\n\nIt decreases lib.a code size by 47 bytes and reuses the function tree-wide:\n   text    data     bss     dec     hex filename\n  64688     584     592   65864   10148 (TOTALS-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-AFTER)\n\nAlso, while at it, if we see (*str \u0026\u0026 isspace(*str)), we can be sure to\nremove the first condition (*str) as the second one (isspace(*str)) also\nevaluates to 0 whenever *str \u003d\u003d 0, making it redundant. In other words,\n\"a char equals zero is never a space\".\n\nJulia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,\nand found occurrences of this pattern on 3 more files:\n    drivers/leds/led-class.c\n    drivers/leds/ledtrig-timer.c\n    drivers/video/output.c\n\n@@\nexpression str;\n@@\n\n( // ignore skip_spaces cases\nwhile (*str \u0026\u0026  isspace(*str)) { \\(str++;\\|++str;\\) }\n|\n- *str \u0026\u0026\nisspace(*str)\n)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bd465e6b0e2b559db47420fea686507a01cfab0",
      "tree": "623c7a906e4ce117873a33f5b1717e150d5f9e59",
      "parents": [
        "a7d878af94b223013a48078e0c8c0a654c24a057"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "lg@denx.de",
        "time": "Sat Jan 10 18:54:39 2009 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Mon Apr 06 16:06:25 2009 +0100"
      },
      "message": "leds: allow led-drivers to use a variable range of brightness values\n\nThis patch allows drivers to override the default maximum brightness value\nof 255.  We take care to preserve backwards-compatibility as much as\npossible, so that user-space ABI doesn\u0027t change for existing drivers.\nLED trigger code has also been updated to use the per-LED maximum.\n\nSigned-off-by: Guennadi Liakhovetski \u003clg@denx.de\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\n"
    },
    {
      "commit": "859cb7f2a4244ea6da206d3fe9cc8a6810947a68",
      "tree": "3389fe6c191418d6acc30d84e11a0760608f7431",
      "parents": [
        "0081e8020ebd814a99e45720a10e869a54ee08a6"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Thu Jan 08 17:55:03 2009 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Thu Jan 08 17:55:03 2009 +0000"
      },
      "message": "leds: Add suspend/resume to the core class\n\nAdd suspend/resume to the core class and remove all the now unneeded\ncode from various drivers. Originally the class code couldn\u0027t support\nsuspend/resume but since class_device can there is no reason for\neach driver doing its own suspend/resume anymore.\n"
    },
    {
      "commit": "ff8649affc10a86e41d9ba1d91a643d4654dae5b",
      "tree": "8fa140d7a4a4f8dced8b7c2415b9d1bff027d329",
      "parents": [
        "e2387d6c20752ccdb2895ba5de664fa39652f4cc"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Dec 03 08:04:57 2008 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Thu Jan 08 12:38:57 2009 +0000"
      },
      "message": "leds: Fixup kdoc comment to match parameter names\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@intel.linux.com\u003e\n"
    },
    {
      "commit": "270c3957dbc5bedf093dc864840be0cc6dbda1f6",
      "tree": "c9caca471a647c3bd58b260ebef9840289533453",
      "parents": [
        "0266a45896a53b1261e9657aa3fbf9ca3d2fd07b"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Mon Oct 20 23:16:17 2008 +0100"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Mon Oct 20 23:21:08 2008 +0100"
      },
      "message": "leds: Fix trigger registration race\n\nFix a race during trigger registration where we could try and use a lock\nbefore it was initialised.\n\nSigned-off-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\n"
    },
    {
      "commit": "0266a45896a53b1261e9657aa3fbf9ca3d2fd07b",
      "tree": "7ddd42996e4a5315e67da8a9934629ecb3bf927d",
      "parents": [
        "9c78ff6e65cad9f9fcf0bbde2bfbbf3a544fb704"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Mon Oct 20 23:04:36 2008 +0100"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Mon Oct 20 23:04:36 2008 +0100"
      },
      "message": "leds: Fix leds-class.c comment\n\nled_classdev_unregister() has no \"__\" prefix, remove it.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\n"
    },
    {
      "commit": "dd8e5a2039607e0f79c33549726a2415d977c938",
      "tree": "942cfaf23b21797dd8d8be4a22c4d2a8107a2545",
      "parents": [
        "6af4f55c31764c2d97ddf59ae2149cd1769e2e25"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Oct 13 10:41:39 2008 +0100"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@linux.intel.com",
        "time": "Mon Oct 20 22:37:04 2008 +0100"
      },
      "message": "leds: Remove uneeded strlen calls\n\nThere\u0027s no need for the additional call to strlen(), we can directly\nreturn the value returned by sprintf().  We now return a length value\nthat doesn\u0027t include the final \u0027\\0\u0027, but user space shouldn\u0027t bother\nabout it anyway.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\n"
    },
    {
      "commit": "a9b12619f7b6f19c871437ec24a088787a04b1de",
      "tree": "ff1b11e7affedccfd69fc20e14876d0821f6e555",
      "parents": [
        "91bd418fdc8526ee70a0e8f7970b584c8870ae10"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 20:03:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:43 2008 -0700"
      },
      "message": "device create: misc: convert device_create_drvdata to device_create\n\nNow that device_create() has been audited, rename things back to the\noriginal call to be sane.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0b00fc5851551781e8a30153af2c94cee9fa84af",
      "tree": "5a169f44047d2a6c864dfc518e5808bdf5a1ae51",
      "parents": [
        "6c06aec2487f7568cf57471a20f422568f25d551"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 16 17:55:12 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 20 13:31:55 2008 -0700"
      },
      "message": "LEDS: fix race in device_create\n\nThere is a race from when a device is created with device_create() and\nthen the drvdata is set with a call to dev_set_drvdata() in which a\nsysfs file could be open, yet the drvdata will be NULL, causing all\nsorts of bad things to happen.\n\nThis patch fixes the problem by using the new function,\ndevice_create_drvdata().\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "801678c5a3b4c79236970bcca27c733f5559e0d1",
      "tree": "5ad4761f539525077895f261b64fccda4d1303c4",
      "parents": [
        "9a6f70bbed4e8b72dd340812d7c606bfd5e00b47"
      ],
      "author": {
        "name": "Hirofumi Nakagawa",
        "email": "hnakagawa@miraclelinux.com",
        "time": "Tue Apr 29 01:03:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "Remove duplicated unlikely() in IS_ERR()\n\nSome drivers have duplicated unlikely() macros.  IS_ERR() already has\nunlikely() in itself.\n\nThis patch cleans up such pointless code.\n\nSigned-off-by: Hirofumi Nakagawa \u003chnakagawa@miraclelinux.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29d76dfa29fe22583aefddccda0bc56aa81035dc",
      "tree": "fbae9207af63cb270b715a29ee7dc053d7b8a037",
      "parents": [
        "ca3259b3603539e72faacc6821050ee889a52103"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Tue Mar 18 09:47:48 2008 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Thu Apr 24 23:37:42 2008 +0100"
      },
      "message": "leds: Add support to leds with readable status\n\nSome led hardware allows drivers to query the led state, and this patch\nadds a hook to let the led class take advantage of that information when\navailable.\n\nWithout this functionality, when access to the led hardware is not\nexclusive (i.e. firmware or hardware might change its state behind the\nkernel\u0027s back), reality goes out of sync with the led class\u0027 idea of what\nthe led is doing, which is annoying at best.\n\nBehaviour for drivers that do not or cannot read the led status is\nunchanged.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\n"
    },
    {
      "commit": "0013b23d66a2768f5babbb0ea9f03ab067a990d8",
      "tree": "14d60a50bb68e422767a268cd737f70ef4e6e19d",
      "parents": [
        "b3ba31f84ea041c0945b5904d4c407ce14b2b72c"
      ],
      "author": {
        "name": "Németh Márton",
        "email": "nm127@freemail.hu",
        "time": "Sun Mar 09 20:54:37 2008 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Thu Apr 24 23:34:18 2008 +0100"
      },
      "message": "leds: disable triggers on brightness set\n\nDisable any active triggers when the brightness attribute is\nset to zero.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\n"
    },
    {
      "commit": "b844eba292b477cda14582bfc6f535deed57a82d",
      "tree": "b2418a9a4fc672654f4592ae0a3e2853d82271c3",
      "parents": [
        "138fe4e069798d9aa948a5402ff15e58f483ee4e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 23 20:28:24 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:28 2008 -0700"
      },
      "message": "PM: Remove destroy_suspended_device()\n\nAfter 2.6.24 there was a plan to make the PM core acquire all device\nsemaphores during a suspend/hibernation to protect itself from\nconcurrent operations involving device objects.  That proved to be\ntoo heavy-handed and we found a better way to achieve the goal, but\nbefore it happened, we had introduced the functions\ndevice_pm_schedule_removal() and destroy_suspended_device() to allow\ndrivers to \"safely\" destroy a suspended device and we had adapted some\ndrivers to use them.  Now that these functions are no longer necessary,\nit seems reasonable to remove them and modify their users to use the\nnormal device unregistration instead.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fa23f5cce8cda2095013afc837ccf74b352f9f7b",
      "tree": "bdb22c6966b9e60eb90c97086f3ceed453223f97",
      "parents": [
        "a41e3dc4060cca2599afa14fbd4c745763746ba8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 04 22:30:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:23 2008 -0800"
      },
      "message": "leds: add possibility to remove leds classdevs during suspend/resume\n\nMake it possible to unregister a led classdev object in a safe way during a\nsuspend/resume cycle.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72f8da329e07ad8a72c1f0e96b8955cfeb7c7329",
      "tree": "7440f70caf2fb70e987f814cebcdf233a17b425c",
      "parents": [
        "e697789d64f8748cb219d7f5c413c512953802cc"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Mon Dec 31 23:09:44 2007 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Mon Dec 31 23:09:44 2007 +0000"
      },
      "message": "leds: Fix leds_list_lock locking issues\n\nCovert leds_list_lock to a rw_sempahore to match previous LED trigger\nlocking fixes, fixing lock ordering.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\n"
    },
    {
      "commit": "dc47206e552c0850ad11f7e9a1fca0a3c92f5d65",
      "tree": "01188f5ca89d295009a618e1be6c5cea2926a522",
      "parents": [
        "f194d132e4971111f85c18c96067acffb13cee6d"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Sat Nov 10 13:29:04 2007 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Dec 07 09:06:53 2007 +0000"
      },
      "message": "leds: Fix led trigger locking bugs\n\nConvert part of the led trigger core from rw spinlocks to rw\nsemaphores. We\u0027re calling functions which can sleep from invalid\ncontexts otherwise. Fixes bug #9264.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\n"
    },
    {
      "commit": "f8a7c6fe14f556ca8eeddce258cb21392d0c3a2f",
      "tree": "517e178330a46186e6bbd09ba60e453ce32ca485",
      "parents": [
        "f9f451d9cac24b9bd49947d1c6971f3d689381fa"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Sun Jul 08 23:19:31 2007 +0100"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Mon Jul 16 01:15:51 2007 +0100"
      },
      "message": "leds: Convert from struct class_device to struct device\n\nConvert the LEDs class from struct class_device to struct device\nsince class_device is scheduled for removal.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "12fda16814bba05a84a49a1da25a069d6c249758",
      "tree": "05cb63f14784190d75e98d6ac3f9b2e5949a5539",
      "parents": [
        "58ff407bee5a55f9c1188a3f9d70ffc79485183c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 17 00:10:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:46 2006 -0700"
      },
      "message": "[PATCH] drivers/led: handle sysfs errors\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70d63ccc71fe1a413ce82b88aa175b1dcf28654e",
      "tree": "d1b7db46b6c55bb6626d05cb0ed45c17fb9ad7c3",
      "parents": [
        "5a65980ec5edfb3acee293c541b392e4146a30f6"
      ],
      "author": {
        "name": "Henrik Kretzschmar",
        "email": "henne@nachtwindheim.de",
        "time": "Tue Oct 03 23:31:30 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:31:30 2006 +0200"
      },
      "message": "kerneldoc-typo in led-class.c\n\nFixes a typo in led-class.c kerneldoc.\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "3dc7b82ea7649356bf027fba50c16ca50cec31e2",
      "tree": "52bb14b8021c851d6cbd765f74aafa6c33ea631e",
      "parents": [
        "263de9b582b0f9b6ad5a0651b7df884fe80d6c3c"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Mon May 15 09:44:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:56 2006 -0700"
      },
      "message": "[PATCH] LED: Fix sysfs store function error handling\n\nFix the error handling of some LED _store functions.  This corrects them to\nreturn -EINVAL if the value is not numeric with an optional byte of trailing\nwhitespace.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3bc9956ec52fb2c70f29aa894d8eec766116584",
      "tree": "c93aa56e6793cfa283d13a28cfa6c02a30f6c794",
      "parents": [
        "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED trigger tupport\n\nAdd support for LED triggers to the LED subsystem.  \"Triggers\" are events\nwhich change the state of an LED.  Two kinds of trigger are available, simple\nones which can be added to exising code with minimum disruption and complex\nones for implementing new or more complex functionality.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\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": "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0",
      "tree": "56715f0e0af8a9c33725f3db2f14cf7f870ad46d",
      "parents": [
        "75c1d31d9ea71025b73430c696b727e8aa15872d"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED class\n\nAdd the foundations of a new LEDs subsystem.  This patch adds a class which\npresents LED devices within sysfs and allows their brightness to be\ncontrolled.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
