)]}'
{
  "log": [
    {
      "commit": "d2876d08d86f22ce1f276fc29f6baec8b53e32c6",
      "tree": "d9d059fad208001edb58d9dff3ed6ad64c8e7407",
      "parents": [
        "a9c5fff542544c8595bb12efeb278a96d99386fc"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Feb 04 22:28:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:12 2008 -0800"
      },
      "message": "gpiolib: add gpio provider infrastructure\n\nProvide new implementation infrastructure that platforms may choose to use\nwhen implementing the GPIO programming interface.  Platforms can update their\nGPIO support to use this.  In many cases the incremental cost to access a\nnon-inlined GPIO should be less than a dozen instructions, with the memory\ncost being about a page (total) of extra data and code.  The upside is:\n\n  * Providing two features which were \"want to have (but OK to defer)\" when\n    GPIO interfaces were first discussed in November 2006:\n\n    -\tA \"struct gpio_chip\" to plug in GPIOs that aren\u0027t directly supported\n\tby SOC platforms, but come from FPGAs or other multifunction devices\n\tusing conventional device registers (like UCB-1x00 or SM501 GPIOs,\n\tand southbridges in PCs with more open specs than usual).\n\n    -\tFull support for message-based GPIO expanders, where registers are\n\taccessed through sleeping I/O calls.  Previous support for these\n\t\"cansleep\" calls was just stubs.  (One example: the widely used\n\tpcf8574 I2C chips, with 8 GPIOs each.)\n\n  * Including a non-stub implementation of the gpio_{request,free}() calls,\n    making those calls much more useful.  The diagnostic labels are also\n    recorded given DEBUG_FS, so /sys/kernel/debug/gpio can show a snapshot\n    of all GPIOs known to this infrastructure.\n\nThe driver programming interfaces introduced in 2.6.21 do not change at all;\nthis infrastructure is entirely below those covers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ben Gardner \u003cbgardner@wabtec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c20386c8d0719b42503efe65abe47ad3fb3d711",
      "tree": "9ec169c4c8548a9c2ac5c258c15020c346b969e1",
      "parents": [
        "9794f33ddedd878dd92fcf8b4834391840366919"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Feb 12 00:53:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:34 2007 -0800"
      },
      "message": "[PATCH] GPIO core\n\nThis defines a simple and minimalist programming interface for GPIO APIs:\n\n  - Documentation/gpio.txt ... describes things (read it)\n\n  - include/asm-arm/gpio.h ... defines the ARM hook, which just punts\n    to \u003casm/arch/gpio.h\u003e for any implementation\n\n  - include/asm-generic/gpio.h ... implement \"can sleep\" variants as calling\n    the normal ones, for systems that don\u0027t handle i2c expanders.\n\nThe immediate need for such a cross-architecture API convention is to support\ndrivers that work the same on AT91 ARM and AVR32 AP7000 chips, which embed many\nof the same controllers but have different CPUs.  However, several other users\nhave been reported, including a driver for a hardware watchdog chip and some\nhandhelds.org multi-CPU button drivers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
