)]}'
{
  "commit": "438d8908b379b6322fc3b28d45c9ebdddf58bc20",
  "tree": "ce9439dc8c7e5d9e80f514751fb3b4ce4e414233",
  "parents": [
    "73fcdc9e15c27bb92595c611c8938a36645ea20d"
  ],
  "author": {
    "name": "Guennadi Liakhovetski",
    "email": "g.liakhovetski@pengutronix.de",
    "time": "Mon Apr 28 02:14:44 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Apr 28 08:58:34 2008 -0700"
  },
  "message": "gpiolib: better rmmod infrastructure\n\nAs long as one or more GPIOs on a gpio chip are used its driver should not be\nunloaded.  The existing mechanism (gpiochip_remove failure) doesn\u0027t address\nthat, since rmmod can no longer be made to fail by having the cleanup code\nreport errors.  Module usecounts are the solution.\n\nAssuming standard \"initialize struct to zero\" policies, this change won\u0027t\naffect SOC platform drivers.  However, drivers for external chips (on I2C and\nSPI busses) should be updated if they can be built as modules.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n[ gpio_ensure_requested() needs to update module usecounts too ]\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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d8db2f8ee41139a04248aaaf3767d8b947927817",
      "old_mode": 33188,
      "old_path": "drivers/gpio/gpiolib.c",
      "new_id": "eb75d12e83b7a67fe95cdc18022a4f257d0ecc2d",
      "new_mode": 33188,
      "new_path": "drivers/gpio/gpiolib.c"
    },
    {
      "type": "modify",
      "old_id": "f29a502f4a6c3d1a656ae5142f52b98fe6421408",
      "old_mode": 33188,
      "old_path": "include/asm-generic/gpio.h",
      "new_id": "7e77b6ff45bb2243f9e6cf0bb79e45664fe1777d",
      "new_mode": 33188,
      "new_path": "include/asm-generic/gpio.h"
    }
  ]
}
