)]}'
{
  "commit": "752ad5e82dfd83851e44a2b9da8761994cd7e61c",
  "tree": "de338b98720ac3a37f18b2db868a85e2b8cfe726",
  "parents": [
    "d62b98f305a6b0d32fbdc72ac6ba3d4f4768adeb"
  ],
  "author": {
    "name": "Peter Korsgaard",
    "email": "jacmet@sunsite.dk",
    "time": "Fri Jul 15 10:25:32 2011 +0200"
  },
  "committer": {
    "name": "Grant Likely",
    "email": "grant.likely@secretlab.ca",
    "time": "Fri Jul 15 13:54:18 2011 -0600"
  },
  "message": "mcp23s08: add i2c support\n\nAdd i2c bindings for the mcp230xx devices. This is quite a lot simpler\nthan the spi one as there\u0027s no funky sub addressing done (one struct\ni2c_client per struct gpio_chip).\n\nThe mcp23s08_platform_data structure is reused for i2c, even though\nonly a single mcp23s08_chip_info structure is needed.\n\nTo use, simply fill out a platform_data structure and pass it in\ni2c_board_info, E.G.:\n\nstatic const struct mcp23s08_platform_data mcp23017_data \u003d {\n\t.chip[0] \u003d {\n\t\t.pullups \u003d 0x00ff,\n\t},\n\t.base \u003d 240,\n};\n\nstatic struct i2c_board_info __initdata i2c_devs[] \u003d {\n\t{ I2C_BOARD_INFO(\"mcp23017\", 0x20),\n\t  .platform_data \u003d \u0026smartview_mcp23017_data, },\n\t...\n};\n\nSigned-off-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "47eae6ea5dd207335e345ab86fcc4b3f7622f6f9",
      "old_mode": 33188,
      "old_path": "drivers/gpio/Kconfig",
      "new_id": "363498697c2c15d2f7fa4fec367ff75a1bfa090a",
      "new_mode": 33188,
      "new_path": "drivers/gpio/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "7b78f940868e48dc1311a2624ffb9a378dda790e",
      "old_mode": 33188,
      "old_path": "drivers/gpio/gpio-mcp23s08.c",
      "new_id": "1ef46e6c2a2a715e01c8e5f3ebfff3dfc67abe3a",
      "new_mode": 33188,
      "new_path": "drivers/gpio/gpio-mcp23s08.c"
    }
  ]
}
