)]}'
{
  "log": [
    {
      "commit": "8f1cc3b10e6ee0c5c7c8ed27f8771c4f252b4862",
      "tree": "a64611af44cf46aea2e2b145fad85042bb647a3d",
      "parents": [
        "d8f388d8dc8d4f36539dd37c1fff62cc404ea0fc"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri Jul 25 01:46:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpio: mcp23s08 handles multiple chips per chipselect\n\nTeach the mcp23s08 driver about a curious feature of these chips: up to\nfour of them can share the same chipselect, with the SPI signals wired in\nparallel, by matching two bits in the first protocol byte against two\naddress lines on the chip.\n\nThis is handled by three software changes:\n\n  * Platform data now holds an array of per-chip structs, not\n    just one chip\u0027s address and pullup configuration.\n\n  * Probe() and remove() now use another level of structure,\n    wrapping an instance of the original structure for each\n    mcp23s08 chip sharing that chipselect.\n\n  * The HAEN bit is set, so that the hardware address bits can no\n    longer be ignored (boot firmware may not have enabled them).\n\nThe \"one struct per chip\" preserves the guts of the current code,\nbut platform_data will need minor changes.\n\n    OLD:\n\t/* incorrect \"slave\" ID may not have mattered */\n\t.slave \u003d 3,\n\t.pullups \u003d BIT(3) | BIT(1) | BIT(0),\n\n    NEW:\n\t/* slave address _must_ match chip\u0027s wiring */\n\t.chip[3] \u003d {\n\t\t.is_present \u003d true,\n\t\t.pullups \u003d BIT(3) | BIT(1) | BIT(0),\n\t},\n\nThere\u0027s no change in how things _behave_ for spi_device nodes with a\nsingle mcp23s08 chip.  New multi-chip configurations assign GPIOs in\nsequence, without holes.  The spi_device just resembles a bigger\ncontroller, but internally it has multiple gpio_chip instances.\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"
    },
    {
      "commit": "d8f388d8dc8d4f36539dd37c1fff62cc404ea0fc",
      "tree": "df8603775c889f29f8a03c77b9f7913bfd90d296",
      "parents": [
        "8b6dd986823a8d92ed9f54baa5cef8604d9d9d44"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jul 25 01:46:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpio: sysfs interface\n\nThis adds a simple sysfs interface for GPIOs.\n\n    /sys/class/gpio\n    \t/export ... asks the kernel to export a GPIO to userspace\n    \t/unexport ... to return a GPIO to the kernel\n        /gpioN ... for each exported GPIO #N\n\t    /value ... always readable, writes fail for input GPIOs\n\t    /direction ... r/w as: in, out (default low); write high, low\n\t/gpiochipN ... for each gpiochip; #N is its first GPIO\n\t    /base ... (r/o) same as N\n\t    /label ... (r/o) descriptive, not necessarily unique\n\t    /ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)\n\nGPIOs claimed by kernel code may be exported by its owner using a new\ngpio_export() call, which should be most useful for driver debugging.\nSuch exports may optionally be done without a \"direction\" attribute.\n\nUserspace may ask to take over a GPIO by writing to a sysfs control file,\nhelping to cope with incomplete board support or other \"one-off\"\nrequirements that don\u0027t merit full kernel support:\n\n  echo 23 \u003e /sys/class/gpio/export\n\t... will gpio_request(23, \"sysfs\") and gpio_export(23);\n\tuse /sys/class/gpio/gpio-23/direction to (re)configure it,\n\twhen that GPIO can be used as both input and output.\n  echo 23 \u003e /sys/class/gpio/unexport\n\t... will gpio_free(23), when it was exported as above\n\nThe extra D-space footprint is a few hundred bytes, except for the sysfs\nresources associated with each exported GPIO.  The additional I-space\nfootprint is about two thirds of the current size of gpiolib (!).  Since\nno /dev node creation is involved, no \"udev\" support is needed.\n\nRelated changes:\n\n  * This adds a device pointer to \"struct gpio_chip\".  When GPIO\n    providers initialize that, sysfs gpio class devices become children of\n    that device instead of being \"virtual\" devices.\n\n  * The (few) gpio_chip providers which have such a device node have\n    been updated.\n\n  * Some gpio_chip drivers also needed to update their module \"owner\"\n    field ...  for which missing kerneldoc was added.\n\n  * Some gpio_chips don\u0027t support input GPIOs.  Those GPIOs are now\n    flagged appropriately when the chip is registered.\n\nBased on previous patches, and discussion both on and off LKML.\n\nA Documentation/ABI/testing/sysfs-gpio update is ready to submit once this\nmerges to mainline.\n\n[akpm@linux-foundation.org: a few maintenance build fixes]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d1c1d9b557a12320174058d2d313ffb0f8611f4",
      "tree": "ba4d9c9c1a32ae0ccf85c6c1787a79f19856d150",
      "parents": [
        "69292b342193d4068f6435660368ff98713d8164"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Fri May 23 13:04:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:11 2008 -0700"
      },
      "message": "gpio: mcp23s08 debug fix\n\nThe return value of mcp23s08_read_regs() can only be evaluated when signed\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\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"
    },
    {
      "commit": "d72cbed0c486e3db8b56380635f8e845073ce63a",
      "tree": "8739c1078f970a2acdb24fd3f2b94c68c89dd3b5",
      "parents": [
        "438d8908b379b6322fc3b28d45c9ebdddf58bc20"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Mon Apr 28 02:14:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpiolib: i2c/spi drivers: handle rmmod better\n\nUse the newly introduced owner field in struct gpio_chip to protect the\ncurrent (small) set of non-SOC GPIO drivers from being unloaded while any of\ntheir GPIOs are in use.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n[ add mcp23s08 and pcf857x ]\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"
    },
    {
      "commit": "e58b9e2762a6ef99e20dba47aba21b911658541d",
      "tree": "0097fbe262bb4d1944bfb3c9a922ec36b90851c5",
      "parents": [
        "15fae37d9f5f21571a9618d8353164b6ddfea6f6"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Feb 04 22:28:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "mcp23s08 spi gpio expander support\n\nBasic driver for 8-bit SPI based MCP23S08 GPIO expander, without support for\nIRQs or the shared chipselect mechanism.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\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"
    }
  ]
}
