)]}'
{
  "log": [
    {
      "commit": "1e8a52e18cfb381bc9cc1f0b720540364d2a6edd",
      "tree": "c10c014afe3e7cab09773b8af214a0c2e85aac2e",
      "parents": [
        "71422f9e68d43f3fbc6c8939ca8d1b80aa2e4d1a"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 23:42:08 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 23:42:08 2012 -0600"
      },
      "message": "spi: By default setup spi_masters with 1 chipselect and dynamics bus number\n\nTrivial simplification.  Instead of requiring spi master drivers to\nalways set the bus number (even when a dynamic number is desired),\nthis patch modifies spi_alloc_master() to initialize num_chipselect to\n1 (because there will always be at least one CS) and bus_num to -1 for\ndynamic allocation.  This simplifies the code needed to be written for\ndrivers.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "7dfd2bd70228d1f8d468d58cb3d12ecd618479ed",
      "tree": "5388c3c8ba4907ed86e7401da969e917a4f30586",
      "parents": [
        "6d6467ee58b4cddd34b01d642d282a353dd57ce9"
      ],
      "author": {
        "name": "Shubhrajyoti D",
        "email": "shubhrajyoti@ti.com",
        "time": "Thu May 10 19:20:41 2012 +0530"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu May 10 21:23:58 2012 -0600"
      },
      "message": "spi: Dont call prepare/unprepare transfer if not populated\n\nCurrently the prepare/unprepare transfer are called unconditionally.\nThe assumption is that every driver using the spi core queue infrastructure\nhas to populate the prepare and unprepare functions. This encourages\ndrivers to populate empty functions to prevent crashing.\nThis patch prevents the call to prepare/unprepare if not populated.\n\nSigned-off-by: Shubhrajyoti D \u003cshubhrajyoti@ti.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n[grant.likely: fix whitespace defect]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "d57a4282d04810417c4ed2a49cbbeda8b3569b18",
      "tree": "40fbd959e4a72c7c2635f8488bbd43d0ff353b80",
      "parents": [
        "8ebb35fd7ad07ab9a88a35eedd4f89a1e2a8fa55"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Apr 07 14:16:53 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Apr 13 10:21:39 2012 -0600"
      },
      "message": "spi/devicetree: Move devicetree support code into spi directory\n\nThe SPI device tree support code isn\u0027t shared by any other subsystem.  It can\nbe moved into the core drivers/spi directory and the exported symbol can be\nremoved.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "a66590de86483eeefc3074ab1ba1a7f45a89308e",
      "tree": "151530ed05b96b955ae138e150ed58a33acc47b3",
      "parents": [
        "9af4acc096eeb1ddd6f507d291c7c901949224a6"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed Mar 14 18:37:15 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Mar 15 03:30:33 2012 -0600"
      },
      "message": "spi: remove redundant variable assignment\n\nThe status variable is guaranteed to be 0 at that location anyway.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "9af4acc096eeb1ddd6f507d291c7c901949224a6",
      "tree": "509791441d7d6c46dfc67412ce7451f658a1bd37",
      "parents": [
        "054ebcc4a88509e2488f341e8f0400045258f2a1"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sat Mar 10 11:57:29 2012 +0300"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Mar 10 19:43:37 2012 -0700"
      },
      "message": "spi: release lock on error path in spi_pump_messages()\n\nWe should release the lock here and enable IRQs before returning.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\n[grant.likely: move unlock above dev_err() call]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "690fb11be34cc908ef895d16c6c1673df1b4667a",
      "tree": "6cad6252fae54f90fa4abb4c791d403f39f2b51e",
      "parents": [
        "ad2a99af0d7242726723575efaffa1625664b384"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 17 16:23:29 2012 -0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Mar 09 14:41:49 2012 -0700"
      },
      "message": "spi: Mark spi_register_board_info() __devinit\n\nSome systems have SPI devices located on plugin modules which are\nenumerated at runtime as devices. The drivers for these plugin modules\nneed to register their SPI devices at probe() time so want to be able\nto call spi_register_board_info() but that function is currently marked\nas __init rather than __devinit so this usage isn\u0027t legal. Change the\nannotation to __devinit to handle this.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "eb4af0f5349235df2e4a5057a72fc8962d00308a",
      "tree": "2e794dc71d95c885b6d6a90bf795ba63e9a972d8",
      "parents": [
        "8f53602be555e500cfcd957955bb40fac19f2a6b"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Feb 23 10:40:14 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Mar 09 14:37:49 2012 -0700"
      },
      "message": "spi/doc: spi_master_put must be followed up by kfree\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ffbbdd21329f3e15eeca6df2d4bc11c04d9d91c0",
      "tree": "964ce05f044aa6917b4a1ed58ed055ed2e899dcc",
      "parents": [
        "0b2182ddac4b8837bbba996d03b7b28f4346db0a"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Feb 22 10:05:38 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Mar 07 19:19:48 2012 -0700"
      },
      "message": "spi: create a message queueing infrastructure\n\nThis rips the message queue in the PL022 driver out and pushes\nit into (optional) common infrastructure. Drivers that want to\nuse the message pumping thread will need to define the new\nper-messags transfer methods and leave the deprecated transfer()\nmethod as NULL.\n\nMost of the design is described in the documentation changes that\nare included in this patch.\n\nSince there is a queue that need to be stopped when the system\nis suspending/resuming, two new calls are implemented for the\ndevice drivers to call in their suspend()/resume() functions:\nspi_master_suspend() and spi_master_resume().\n\nChangeLog v1-\u003ev2:\n- Remove Kconfig entry and do not make the queue support optional\n  at all, instead be more agressive and have it as part of the\n  compulsory infrastructure.\n- If the .transfer() method is implemented, delete print a small\n  deprecation notice and do not start the transfer pump.\n- Fix a bitrotted comment.\nChangeLog v2-\u003ev3:\n- Fix up a problematic sequence courtesy of Chris Blair.\n- Stop rather than destroy the queue on suspend() courtesy of\n  Chris Blair.\n\nSigned-off-by: Chris Blair \u003cchris.blair@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nTested-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "178db7d30f94707efca1a189753c105ef69942ed",
      "tree": "088865bdd59288f626984e4191b636cabec8c439",
      "parents": [
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Mon Dec 12 01:15:06 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Dec 13 16:45:35 2011 -0700"
      },
      "message": "spi: Fix device unregistration when unregistering the bus master\n\nDevice are added as children of the bus master\u0027s parent device, but\nspi_unregister_master() looks for devices to unregister in the bus\nmaster\u0027s children. This results in the child devices not being\nunregistered.\n\nFix this by registering devices as direct children of the bus master.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "025ed130608766bf2a18523a1ac11a860746a4e4",
      "tree": "cdf522b2a4b370a500e1bc15f417eb24ba03d0fc",
      "parents": [
        "d7614de422c0b55db0c1013a6c72330187536004"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 10 12:57:55 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:17 2011 -0400"
      },
      "message": "spi: Add export.h for THIS_MODULE/EXPORT_SYMBOL to spi.c\n\nThis uses both EXPORT_SYMBOL and THIS_MODULE, both which come from\nthe export.h file now.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "ca632f556697d45d67ed5cada7cedf3ddfe0db4b",
      "tree": "f393534b929abb32813ea5c495f1ac6d93a10d1d",
      "parents": [
        "8c99268431a117207a89be5167ecd69429fd4bda"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Jun 06 01:16:30 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Jun 06 01:16:30 2011 -0600"
      },
      "message": "spi: reorganize drivers\n\nSort the SPI makefile and enforce the naming convention spi_*.c for\nspi drivers.\n\nThis change also rolls the contents of atmel_spi.h into the .c file\nsince there is only one user of that particular include file.\n\nv2: - Use \u0027spi-\u0027 prefix instead of \u0027spi_\u0027 to match what seems to be\n      be the predominant pattern for subsystem prefixes.\n    - Clean up filenames in Kconfig and header comment blocks\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "0c4a1590189b426814748d2e03b95541852b3af6",
      "tree": "b4b1d2eee1ea2b5d1700df4519e182cca816607b",
      "parents": [
        "521999bd4a8c47a86136b9d8223a9480f5906db8"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed May 11 00:09:30 2011 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri May 20 00:43:07 2011 -0600"
      },
      "message": "spi: Use void pointers for data in simple SPI I/O operations\n\nCurrently the simple SPI I/O operations all take pointers to u8 * buffers\nto operate on. This creates needless type compatibility issues and the\nunderlying spi_transfer structure uses void pointers anyway so convert the\nAPI over to take void pointers too.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "3ae22e8c8ac39daf88ae32f047fb23825be7c646",
      "tree": "20e7ed1005b39e65d99ac351776e74a9c925a6aa",
      "parents": [
        "62bcb91573425975d6ad2389d7ab1d8feca88ab4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Dec 25 15:32:27 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 25 15:32:27 2010 +0100"
      },
      "message": "spi / PM: Support dev_pm_ops\n\nAllow SPI drivers to use runtime PM and other dev_pm_ops features by\nimplementing dev_pm_ops for the bus. The existing bus specific suspend\nand resume functions will be called if a driver does not provide dev_pm_ops\nallowing for transition to the new model.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "97dbf37d89b6d387a5fe79ffe3b72c37ec12db43",
      "tree": "419432149109484c8f10123ac7e96fa4d245569f",
      "parents": [
        "4be2c95d1f7706ca0e74499f2bd118e1cee19669"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Dec 21 17:24:31 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 22 19:43:34 2010 -0800"
      },
      "message": "drivers/spi/spi.c: don\u0027t release the spi device twice\n\nThis was fixed by David Lamparter in v2.6.36-rc5 3486008 (\"spi: free\nchildren in spi_unregister_master, not siblings\") and broken again in\nv2.6.37-rc1~2^2~4 during the merge of 2b9603a0 (\"spi: enable\nspi_board_info to be registered after spi_master\").\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: David Lamparter \u003cequinox@diac24.net\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb288a1f45e2aa903ac8edf67dc6d59df0369fe1",
      "tree": "f43886e9b374065dd29d930116f58d5ef47524fc",
      "parents": [
        "73e1ac16258fe7e55cce4691e32c0b44d4579e08"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Thu Oct 21 21:06:44 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Oct 22 09:51:05 2010 -0600"
      },
      "message": "spi: fixed odd static string conventions in core code\n\nThis patch removes convention of passing a static string as a\nparameter to another static string.  The convention is intended to\nreduce text usage by sharing the common bits of the string, but the\nimplementation is inherently fragile (a change to one format string\nbut not the other will nullify any possible advantage), it isn\u0027t\nnecessarily a net win depending on what this compiler does, and it\nit reduces code readability.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\n[grant.likely@secretlab.ca: removed dev_dbg-\u003edev_err hunk]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "2b9603a0d7e395fb844af90fba71448bc8019077",
      "tree": "b828ff7c6819766e92dd304eb5e63e12527e516a",
      "parents": [
        "d4429f608abde89e8bc1e24b43cd503feb95c496"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Mon Aug 02 15:52:15 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Oct 21 23:52:16 2010 -0600"
      },
      "message": "spi: enable spi_board_info to be registered after spi_master\n\nCurrently spi_register_board_info() has to be called before its related\nspi_master be registered, otherwise these board info will be just ignored.\n\nThis patch will remove this order limit, it adds a global spi master list\nlike the existing global board info listr. Whenever a board info or a\nspi_master is registered, the spi master list or board info list\nwill be scanned, and a new spi device will be created if there is a\nmaster-board info match.\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "2b7a32f7ecb24d01bd0b2d5097d7c7ebe7082ba7",
      "tree": "e46d95355ecae82f6646684b83269a2dda09036c",
      "parents": [
        "23699f98f84f20195fddd0263d05a8ccb8694676"
      ],
      "author": {
        "name": "Sinan Akman",
        "email": "sinan@writeme.com",
        "time": "Sat Oct 02 21:28:29 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Oct 02 21:28:29 2010 -0600"
      },
      "message": "of/spi: Fix OF-style driver binding of spi devices\n\nThis patch adds the OF hook to the spi core so that devices\ncan automatically be registered based on device tree data.  This fixes\na problem with spi devices not binding to drivers after the cleanup of\nthe spi \u0026 i2c binding code.\n\nSigned-off-by: Sinan Akman \u003csinan@writeme.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "34860089c9e8abcc77428d29743b37ff756197e7",
      "tree": "c52ff089b36289ee4792d850acf0af9eb246b135",
      "parents": [
        "4e4438b86527e8bf1f49503a30d487e401e64f9c"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Mon Aug 30 23:54:17 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 01 09:15:24 2010 -0600"
      },
      "message": "spi: free children in spi_unregister_master, not siblings\n\nintroduced by 49dce689 (\"spi doesn\u0027t need class_device\") and bad-fixed\nby 350d0076 (\"spi: fix double-free on spi_unregister_master\"),\nspi_unregister_master would previously device_unregister all of the spi\nmaster\u0027s siblings (instead of its children). hilarity ensues.\n\nfix it to unregister children.\n\nSigned-off-by: David Lamparter \u003cequinox@diac24.net\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b171aa27700c78511086a759383b033949c9d7f0",
      "tree": "2775b0682ea342dd49c5b997de248da73ec83049",
      "parents": [
        "11ac552477e32835cb6970bf0a70c210807f5673",
        "b4225885deb569f7afcf1f3a9f069f74cc9db591"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 14 11:54:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 14 11:54:09 2010 -0700"
      },
      "message": "Merge branch \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi/amba_pl022: Fix probe and remove hook section annotations.\n  spi/mpc5121: change annotations for probe and remove functions\n  spi/bitbang: reinitialize transfer parameters for every message\n  spi/spi-gpio: add support for controllers without MISO or MOSI pin\n  spi/bitbang: add support for SPI_MASTER_NO_{TX, RX} modes\n  SPI100k: Fix 8-bit and RX-only transfers\n  spi/mmc_spi: mmc_spi adaptations for SPI bus locking API\n  spi/mmc_spi: SPI bus locking API, using mutex\n\nFix trivial conflict in drivers/spi/mpc512x_psc_spi.c due to \u0027struct\nof_device\u0027 \u003d\u003e \u0027struct platform_device\u0027 rename and __init/__exit to\n__devinit/__devexit fix.\n"
    },
    {
      "commit": "12b15e83289bc7cf2ec9a342412e0c955beeb395",
      "tree": "da1560511f56a9c63246be0ff449229c7adf36b1",
      "parents": [
        "559e2b7ee7a1c7753d534abcb2742a4775339293"
      ],
      "author": {
        "name": "Anatolij Gustschin",
        "email": "agust@denx.de",
        "time": "Tue Jul 27 22:35:58 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jul 30 00:03:59 2010 -0600"
      },
      "message": "of/spi: call of_register_spi_devices() from spi core code\n\nMove of_register_spi_devices() call from drivers to\nspi_register_master(). Also change the function to use\nthe struct device_node pointer from master spi device\ninstead of passing it as function argument.\n\nSigned-off-by: Anatolij Gustschin \u003cagust@denx.de\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "cf32b71e981ca63e8f349d8585ca2a3583b556e0",
      "tree": "e704942f6843114446c73478a79e615a57d2eb49",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Ernst Schwab",
        "email": "eschwab@online.de",
        "time": "Mon Jun 28 17:49:29 2010 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Jun 28 17:49:29 2010 -0700"
      },
      "message": "spi/mmc_spi: SPI bus locking API, using mutex\n\nSPI bus locking API to allow exclusive access to the SPI bus, especially, but\nnot limited to, for the mmc_spi driver.\n\nCoded according to an outline from Grant Likely; here is his\nspecification (accidentally swapped function names corrected):\n\nIt requires 3 things to be added to struct spi_master.\n- 1 Mutex\n- 1 spin lock\n- 1 flag.\n\nThe mutex protects spi_sync, and provides sleeping \"for free\"\nThe spinlock protects the atomic spi_async call.\nThe flag is set when the lock is obtained, and checked while holding\nthe spinlock in spi_async().  If the flag is checked, then spi_async()\nmust fail immediately.\n\nThe current runtime API looks like this:\nspi_async(struct spi_device*, struct spi_message*);\nspi_sync(struct spi_device*, struct spi_message*);\n\nThe API needs to be extended to this:\nspi_async(struct spi_device*, struct spi_message*)\nspi_sync(struct spi_device*, struct spi_message*)\nspi_bus_lock(struct spi_master*)  /* although struct spi_device* might\nbe easier */\nspi_bus_unlock(struct spi_master*)\nspi_async_locked(struct spi_device*, struct spi_message*)\nspi_sync_locked(struct spi_device*, struct spi_message*)\n\nDrivers can only call the last two if they already hold the spi_master_lock().\n\nspi_bus_lock() obtains the mutex, obtains the spin lock, sets the\nflag, and releases the spin lock before returning.  It doesn\u0027t even\nneed to sleep while waiting for \"in-flight\" spi_transactions to\ncomplete because its purpose is to guarantee no additional\ntransactions are added.  It does not guarantee that the bus is idle.\n\nspi_bus_unlock() clears the flag and releases the mutex, which will\nwake up any waiters.\n\nThe difference between spi_async() and spi_async_locked() is that the\nlocked version bypasses the check of the lock flag.  Both versions\nneed to obtain the spinlock.\n\nThe difference between spi_sync() and spi_sync_locked() is that\nspi_sync() must hold the mutex while enqueuing a new transfer.\nspi_sync_locked() doesn\u0027t because the mutex is already held.  Note\nhowever that spi_sync must *not* continue to hold the mutex while\nwaiting for the transfer to complete, otherwise only one transfer\ncould be queued up at a time!\n\nAlmost no code needs to be written.  The current spi_async() and\nspi_sync() can probably be renamed to __spi_async() and __spi_sync()\nso that spi_async(), spi_sync(), spi_async_locked() and\nspi_sync_locked() can just become wrappers around the common code.\n\nspi_sync() is protected by a mutex because it can sleep\nspi_async() needs to be protected with a flag and a spinlock because\nit can be called atomically and must not sleep\n\nSigned-off-by: Ernst Schwab \u003ceschwab@online.de\u003e\n[grant.likely@secretlab.ca: use spin_lock_irqsave()]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nTested-by: Antonio Ospite \u003cospite@studenti.unina.it\u003e\n"
    },
    {
      "commit": "07a389feefd79d41c8542cf31ce1cf25a1466e2c",
      "tree": "2ec9e6a6a9ea2aabfe38ac8109bbf6b381abf90e",
      "parents": [
        "8ec130a017ebd8b931344edde7013ffb18fa1965"
      ],
      "author": {
        "name": "Roman Tereshonkov",
        "email": "roman.tereshonkov@nokia.com",
        "time": "Mon Apr 12 09:56:35 2010 +0000"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 28 01:17:58 2010 -0600"
      },
      "message": "spi: spi_device memory should be released instead of device.\n\nThe memory for dev variable is allocated as a part of\nspi_device structure memory which the dev belongs to.\nThus when the memory is released the right pointer is used.\n\nSigned-off-by: Roman Tereshonkov \u003croman.tereshonkov@nokia.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "8ec130a017ebd8b931344edde7013ffb18fa1965",
      "tree": "183138a6db30ce3f002c65cae7304c27927edaa9",
      "parents": [
        "9bd73715a1f83f640937c121d22fa8dbaab73002"
      ],
      "author": {
        "name": "Roman Tereshonkov",
        "email": "roman.tereshonkov@nokia.com",
        "time": "Fri Apr 16 09:52:59 2010 +0000"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 28 01:14:05 2010 -0600"
      },
      "message": "spi: release device claimed by bus_find_device_by_name\n\nIn success case the function bus_find_device_by_name calls\nget_device. In our context put_device should be called to\ndecrease the device count usage.\n\nSigned-off-by: Roman Tereshonkov \u003croman.tereshonkov@nokia.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "568d0697f42771425ae9f1e9a3db769fef7e10b6",
      "tree": "8f4d1178b88481e3d3daba3e049c700a3cef72e4",
      "parents": [
        "7869c0b9ed44404bbc675ef76f8ccb3be5496f39"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Sep 22 16:46:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:44 2009 -0700"
      },
      "message": "spi: handle TX-only/RX-only\n\nSupport two new half-duplex SPI implementation restrictions, for links\nthat talk to TX-only or RX-only devices.  (Existing half-duplex flavors\nsupport both transfer directions, just not at the same time.)\n\nMove spi_async() into the spi.c core, and stop inlining it.  Then make\nthat function perform error checks and reject messages that demand more\nthan the underlying controller can support.\n\nBased on a patch from Marek Szyprowski which did this only for the\nbitbanged GPIO driver.\n\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\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": "e0626e3844e8f430fc1a4417f523a00797df7ca6",
      "tree": "15e62abad725200b3c6ad2462f268c3df09ed711",
      "parents": [
        "8cec03eee4a771f949c70cff07775c9bb21d4642"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Sep 22 16:46:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi: prefix modalias with \"spi:\"\n\nThis makes it consistent with other buses (platform, i2c, vio, ...).  I\u0027m\nnot sure why we use the prefixes, but there must be a reason.\n\nThis was easy enough to do it, and I did it.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Samuel Ortiz \u003csameo@openedhand.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nAcked-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75368bf6c2876d8f33abfe77aa3864869a3893eb",
      "tree": "97a543508a8aeb45646d059f8cdd561ae0a76ef2",
      "parents": [
        "b5f3294f0be5496aec01e5aa709a5fab8bb2f225"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Sep 22 16:46:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi: add support for device table matching\n\nWith this patch spi drivers can use standard spi_driver.id_table and\nMODULE_DEVICE_TABLE() mechanisms to bind against the devices.  Just like\nwe do with I2C drivers.\n\nThis is useful when a single driver supports several variants of devices\nbut it is not possible to detect them in run-time (like non-JEDEC chips\nprobing in drivers/mtd/devices/m25p80.c), and when platform_data usage is\noverkill.\n\nThis patch also makes life a lot easier on OpenFirmware platforms, since\nwith OF we extensively use proper device IDs in modaliases.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "275704970c76c2453b656967586de9c35d247eae",
      "tree": "ab3c10b2dce7a81a0ebf9abf0e62deec0b3e5827",
      "parents": [
        "50e0a7bd02f95be95ac03299b0356ba6400d1c6d"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Jun 17 16:26:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:42 2009 -0700"
      },
      "message": "spi: fix spi_write_then_read() comment\n\nBuffer needs not be dma-safe, not rx data length.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7db06b5d5afcef15c4c3e61c3a7441ed7ad1407",
      "tree": "c0d1e01d49fdb3f288da28ffc3b349810c4e1b61",
      "parents": [
        "7d0771970c51e736758525dd71fb82dd036b823a"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jun 17 16:26:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:42 2009 -0700"
      },
      "message": "spi: move more spi_setup() functionality into core\n\nMove some common spi_setup() error checks into the SPI framework from the\nspi_master controller drivers:\n\n - Add a new \"mode_bits\" field to spi_master\n\n - Use that in spi_setup to validate the spi-\u003emode value being\n   requested.  Setting this new field is now mandatory for any\n   controller supporting more than vanilla SPI_MODE_0.\n\n - Update all spi_master drivers to:\n\n     * Initialize that field\n     * Remove current spi_setup() checks using that value.\n\nThis is a net minor code shrink.\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": "7d0771970c51e736758525dd71fb82dd036b823a",
      "tree": "9ff72b89cd06cd67e0db681859606dd77f5cba80",
      "parents": [
        "b4bd2ababd20b6ecdd49cf96e39c875fbedd53af"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jun 17 16:26:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:42 2009 -0700"
      },
      "message": "spi: move common spi_setup() functionality into core\n\nStart moving some spi_setup() functionality into the SPI core from the\nvarious spi_master controller drivers:\n\n - Make that function stop being an inline;\n\n - Move two common idioms from drivers into that new function:\n    * Default bits_per_word to 8 if that field isn\u0027t set\n    * Issue a standardized dev_dbg() message\n\nThis is a net minor source code shrink, and supports enhancments found in\nsome follow-up patches.\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": "bdff549ebeff92b1a6952e5501caf16a6f8898c8",
      "tree": "3cebe8c0f7b26433e42832a6feb50fd6e4de75b7",
      "parents": [
        "0769c2981495c3d05429840d6fc7a1b5e26accaa"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Apr 13 14:39:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 15:04:30 2009 -0700"
      },
      "message": "spi: spi_write_then_read() bugfixes\n\nThe \"simplify spi_write_then_read()\" patch included two regressions from\nthe 2.6.27 behaviors:\n\n - The data it wrote out during the (full duplex) read side\n   of the transfer was not zeroed.\n\n - It fails completely on half duplex hardware, such as\n   Microwire and most \"3-wire\" SPI variants.\n\nSo, revert that patch.  A revised version should be submitted at some\npoint, which can get the speedup on standard hardware (full duplex)\nwithout breaking on less-capable half-duplex stuff.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x, 2.6.29.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35f74fcab1228be03eab5f4d21ddc89fca1bc5b8",
      "tree": "90accbaacafe47adc265c8fd414d4a1a058ca593",
      "parents": [
        "94b324864ef2a8e461f3933ab99638255299e9f0"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:37 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:37 2009 -0800"
      },
      "message": "spi: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "673c0c00382ed807f09d94e806f3519ddeeb4f70",
      "tree": "005bccdee7f27660fd2c738fbe26635f019aae96",
      "parents": [
        "2bec19feabd53cba75e9dab0e79afbe868a37113"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Oct 15 22:02:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:38 2008 -0700"
      },
      "message": "spi: core and gpio expanders use subsys_init\n\nMake the SPI external GPIO expander drivers register themselves at\nsubsys_initcall() time when they\u0027re statically linked, and make the SPI\ncore do its driver model initialization earlier so that\u0027s safe.\n\nSOC-integrated GPIOs are available starting very early -- often before\ninitcalls start to run, or earily in arch_initcall() at latest -- so this\nimproves consistency, letting more subsystems rely on GPIOs being usable\nby their own subsys_initcall() code.\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": "f9b90e39cbc5c4d6ef60022fd1f25d541df0aad1",
      "tree": "af043fc4e24a12447c7312ef9b246f24d619f6f7",
      "parents": [
        "62f9e8f15a95822e0a793090ff69b277690c6aa6"
      ],
      "author": {
        "name": "Vernon Sauder",
        "email": "vernoninhand@gmail.com",
        "time": "Wed Oct 15 22:02:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:38 2008 -0700"
      },
      "message": "spi: simplify spi_write_then_read()\n\nModify spi_write_then_read() to use one transfer.  This speeds up all\ncallers, and is a minor code shrink.\n\nSigned-off-by: Vernon Sauder \u003cVernon.Sauder@gmail.com\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": "e48880e02e7e7ead9daa47fe3a20486f550668d3",
      "tree": "e46cb1788109caf59fcb77453dffd43fec6e305e",
      "parents": [
        "7d455e0030eeab820773e7786605be4d9e56a04b"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Aug 15 00:40:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:44 2008 -0700"
      },
      "message": "spi: bugfix spi_add_device() with duplicate chipselects\n\nWhen reviewing a recent patch I noticed a potential trouble spot in the\nregistration of new SPI devices.  The SPI master driver is told to set\nthe device up before adding it to the driver model, so that it\u0027s always\nproperly set up when probe() is called.  (This is important, because in\nthe case of inverted chipselects, this device can make the bus misbehave\nuntil it\u0027s properly deselected.  It\u0027s got to be set up even if no driver\nbinds to the device.)\n\nThe trouble spot is that it doesn\u0027t first verify that no other device\nhas been added using that chipselect.  If such a device has been added,\nits configuration gets trashed.  (Fortunately this has not been a common\nerror!)\n\nThe fix here adds an explicit check, and a mutex to protect the relevant\ncritical region.\n\n[akpm@linux-foundation.org: make the lock local to spi_add_device()]\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": "dc87c98e8f635a718f1abb2c3e15fc77c0001651",
      "tree": "283a50fb43f798fe9871fe3ba038221f78c3fd6b",
      "parents": [
        "3f07af494dfa6de43137dae430431c9fbf929c0c"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu May 15 16:50:22 2008 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jul 25 22:34:29 2008 -0400"
      },
      "message": "spi: split up spi_new_device() to allow two stage registration.\n\nspi_new_device() allocates and registers an spi device all in one swoop.\nIf the driver needs to add extra data to the spi_device before it is\nregistered, then this causes problems.  This is needed for OF device\ntree support so that the SPI device tree helper can add a pointer to\nthe device node after the device is allocated, but before the device\nis registered.  OF aware SPI devices can then retrieve data out of the\ndevice node to populate a platform data structure.\n\nThis patch splits the allocation and registration portions of code out\nof spi_new_device() and creates two new functions; spi_alloc_device()\nand spi_register_device().  spi_new_device() is modified to use the new\nfunctions for allocation and registration.  None of the existing users\nof spi_new_device() should be affected by this change.\n\nDrivers using the new API can forego the use of spi_board_info\nstructure to describe the device layout and populate data into the\nspi_device structure directly.\n\nThis change is in preparation for adding an OF device tree parser to\ngenerate spi_devices based on data in the device tree.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "102eb97564c73ea73645b38599c5cbe6f54b030c",
      "tree": "c054ffd980f35d14c569204fc4dcd995544817d3",
      "parents": [
        "6291fe2abce4689d6ee7cbaea16692c79bf0d01b"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 23 21:29:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:30 2008 -0700"
      },
      "message": "spi: make spi_board_info.modalias a char array\n\nCurrently, \u0027modalias\u0027 in the spi_device structure is a \u0027const char *\u0027.\nThe spi_new_device() function fills in the modalias value from a passed in\nspi_board_info data block.  Since it is a pointer copy, the new spi_device\nremains dependent on the spi_board_info structure after the new spi_device\nis registered (no other fields in spi_device directly depend on the\nspi_board_info structure; all of the other data is copied).\n\nThis causes a problem when dynamically propulating the list of attached\nSPI devices.  For example, in arch/powerpc, the list of SPI devices can be\npopulated from data in the device tree.  With the current code, the device\ntree adapter must kmalloc() a new spi_board_info structure for each new\nSPI device it finds in the device tree, and there is no simple mechanism\nin place for keeping track of these allocations.\n\nThis patch changes modalias from a \u0027const char *\u0027 to a fixed char array.\nBy copying the modalias string instead of referencing it, the dependency\non the spi_board_info structure is eliminated and an outside caller does\nnot need to maintain a separate spi_board_info allocation for each device.\n\nIf searched through the code to the best of my ability for any references\nto modalias which may be affected by this change and haven\u0027t found\nanything.  It has been tested with the lite5200b platform in arch/powerpc.\n\n[dbrownell@users.sourceforge.net: cope with linux-next changes: KOBJ_NAME_LEN obliterated, etc]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\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": "695794ae0c5bdd9bd06e35b118801e2e9be04f9e",
      "tree": "71011d17230e67798c6e474ffac10cb93d72919e",
      "parents": [
        "93562b537659fc0f63920fd4d9d24f54e434f4c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "Driver Core: add ability for class_find_device to start in middle of list\n\nThis mirrors the functionality that driver_find_device has as well.\n\nWe add a start variable, and all callers of the function are fixed up at\nthe same time.\n\nThe block layer will be using this new functionality in a follow-on\npatch.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3c72426f0539c1abce17918d1456f7a6a5a11f90",
      "tree": "70f53c62825fc68b613b62f6ed0dcdd0bab736dd",
      "parents": [
        "5ceadd2a2a9cf2768a9baf808abf1ffeedcc4cc4"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Feb 06 01:38:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:10 2008 -0800"
      },
      "message": "spi core: stop updating dev-\u003epower.power_state\n\nDon\u0027t update dev-\u003epower.power_state any more in the SPI core.  The only\nreason to update this scheduled-to-be-removed field was to make the\nalready-removed /sys/devices/.../power/state files work better.\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": "911f21501f50b16ce77f37b01e90b5b73c8c80bf",
      "tree": "b8a237b56d8361170f91f95b9072a0b5ea91f056",
      "parents": [
        "4e701482d1d7b90c358e2bd244bb71623f767120"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Feb 06 01:36:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:00 2008 -0800"
      },
      "message": "Remove inclusions of \u003clinux/autoconf.h\u003e\n\nNothing should ever include this file.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: \"Mike Frysinger\" \u003cvapier.adi@gmail.com\u003e\nAcked-by: \"Bryan Wu\" \u003ccooloney.lkml@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ed2c832ed256b18d90c2462369c62fd79312e6c",
      "tree": "3afce805114d8a580e66f9101ca36256d8c4c2dd",
      "parents": [
        "9c7701088a61cc0cf8a6e1c68d1e74e3cc2ee0b7"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Jan 22 15:14:18 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:45 2008 -0800"
      },
      "message": "spi: use class iteration api\n\nConvert to use the class iteration api.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9b938b749065d6a94172ac24d9748bd66a03da4c",
      "tree": "d5f3540224235751a492c8be8003c331263fe51a",
      "parents": [
        "3f86f14c0fc9fdb0984e64209df2f47895a07151"
      ],
      "author": {
        "name": "Marc Pignat",
        "email": "marc.pignat@hevs.ch",
        "time": "Tue Dec 04 23:45:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "spi: simplify spi_sync() calling convention\n\nSimplify spi_sync calling convention, eliminating the need to check both\nthe return value AND the message-\u003estatus.  In consequence, this corrects\nmisbehaviours of spi_read and spi_write (which only checked the former) and\ntheir callers.\n\nSigned-off-by: Marc Pignat \u003cmarc.pignat@hevs.ch\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": "068f4070868c801c7d7aa1ae1193c1c854193545",
      "tree": "17167c675c5115653e3f28f8977bdfd43b22ce6a",
      "parents": [
        "f8fcc93319faa09272185af100fb24e71b02ab03"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Dec 04 23:45:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "SPI: use mutex not semaphore\n\nMake spi_write_then_read() use a mutex not a binary semaphore.\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": "350d0076c5763ca2b88ca05e3889bfa7c1905f21",
      "tree": "94221d457f4f7424e9ff10789f9289181ecc5066",
      "parents": [
        "cbff2fbf55c21f50298b1aef1263b11bf510e35f"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Wed Nov 14 16:59:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:39 2007 -0800"
      },
      "message": "spi: fix double-free on spi_unregister_master\n\nAfter 49dce689ad4ef0fd1f970ef762168e4bd46f69a3, device_for_each_child\niteration hits the master device itself.  Do not call spi_unregister_device()\nfor the master device.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nAcked-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: \u003cstable@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": "49dce689ad4ef0fd1f970ef762168e4bd46f69a3",
      "tree": "e9e6d07c704118d82a638ae1f01a7ef5b59dd68b",
      "parents": [
        "cd58310d775fc10cc820b27c10f619187b8c4133"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Tue Oct 16 01:27:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:10 2007 -0700"
      },
      "message": "spi doesn\u0027t need class_device\n\nMake the SPI framework and drivers stop using class_device.  Update docs\naccordingly ...  highlighting just which sysfs paths should be\n\"safe\"/stable.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7eff2e7a8b65c25920207324e56611150eb1cd9a",
      "tree": "02a0eeba9d25d996233e30c18f258dfae0ae2139",
      "parents": [
        "8380770c842faef3001e44662953d64ad9a93663"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Aug 14 15:15:12 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:01 2007 -0700"
      },
      "message": "Driver core: change add_uevent_var to use a struct\n\nThis changes the uevent buffer functions to use a struct instead of a\nlong list of parameters. It does no longer require the caller to do the\nproper buffer termination and size accounting, which is currently wrong\nin some places. It fixes a known bug where parts of the uevent\nenvironment are overwritten because of wrong index calculations.\n\nMany thanks to Mathieu Desnoyers for finding bugs and improving the\nerror handling.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "082c8cb4e5e68c0fd29cc10c59db94d2284fd2b0",
      "tree": "5f4ec8042b29272f0fd0c28b2cc2c0bb63f38dc0",
      "parents": [
        "2604288f45605d1b2844f001dc3141149667b3d1"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Jul 31 00:39:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:44 2007 -0700"
      },
      "message": "spi device setup gets better error checking\n\nThis updates some error reporting paths in SPI device setup:\n\n - Move validation logic for SPI chipselects to spi_new_device(),\n   which is where it should always have been.\n\n - In spi_new_device(), emit error messages if the device can\u0027t\n   be created.  This is LOTS better than a silent failure; though\n   eventually, the calling convention should probably change to\n   use the \u003clinux/err.h\u003e conventions.\n\n - Includes one previously-missing check:  SPI masters must always\n   have at least one chipselect, even for dedicated busses which\n   always keep it selected!\n\nIt also adds a FIXME (IDR for dynamic ID allocation) so the issue doesn\u0027t live\npurely in my mailbox.\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": "149a6501f90df457d75a1954dd5a29434a182e6a",
      "tree": "1ca514a7d42c2db0e500722d6ffc950743935be5",
      "parents": [
        "8b6f50ef1d5cc86b278eb42bc91630fad455fb10"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jul 21 04:37:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:16 2007 -0700"
      },
      "message": "spi.c:scan_boardinfo() mustn\u0027t be __init_or_module\n\nWARNING: drivers/built-in.o(.text+0x889735): Section mismatch: reference to .init.text:scan_boardinfo (between \u0027spi_register_master\u0027 and \u0027__unregister\u0027)\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-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": "940408289842677cfe9e053a6c423bf3fb922560",
      "tree": "5648e2dc2ae121395e33e596fbf6d252f7c51cbd",
      "parents": [
        "f2cac67dd36626128e06e79fc7ca95d544dcdc67"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Tue Jul 17 04:04:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:05 2007 -0700"
      },
      "message": "use mutex instead of semaphore in SPI core/init code\n\nThe SPI core/init code uses a semaphore as mutex.  Use the mutex API instead\nof the (binary) semaphore.\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nAcked-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e44a45ae7b7f7c7a4ebd6aa39b703bf2b97fe848",
      "tree": "883ba41f63b5c001d28b57ce8fc592a9bb2fa3c7",
      "parents": [
        "c1a13ff57ab1ce52a0aae9984594dbfcfbaf68c0"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jun 03 13:50:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jun 04 13:25:09 2007 -0700"
      },
      "message": "SPI dynamic busid generation bugfix\n\nFix SPI dynamic bus ID assignment to start at 2^15-1 rather than a negative\nnumber.  Valid bus ids are supposed to be positive, and are (now) stored in\nan \u0027s16\u0027 value.\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": "33e34dc6ee2cb2cf2d50e65c5b825d9ebb8b9e66",
      "tree": "965e5feaaa7c7802129205bff03ec5e0982a75ba",
      "parents": [
        "814a8d50eb1d88cedcef97567be53ee0d4512631"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:32:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:16 2007 -0700"
      },
      "message": "SPI kerneldoc\n\nVarious documentation updates for the SPI infrastructure, to clarify things\nthat may not have been clear, to cope with lack of editing, and fix\nomissions.\n\nAlso, plug SPI into the kernel-api DocBook template, and fix all the\nresulting glitches in document generation.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.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": "e9d5a461157c1244475bc400fcac7f871608715e",
      "tree": "7907f69e7c9b9d2c768b44ef2db98500d8239292",
      "parents": [
        "78d832f62643ac6209beccbfb29228314423935e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Mar 26 21:32:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:15 2007 -0700"
      },
      "message": "[PATCH] drivers/spi/: fix section mismatches\n\n  WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_register_master from .text between \u0027spi_bitbang_start\u0027 (at offset 0x84e11a) and \u0027bitbang_work\u0027\n  WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_alloc_master from .text between \u0027butterfly_attach\u0027 (at offset 0x84e681) and \u0027at25_remove\u0027\n  WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_new_device from .text between \u0027butterfly_attach\u0027 (at offset 0x84e7e4) and \u0027at25_remove\u0027\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "0ffa0285052607513a29f529ddb5061c907fd8a6",
      "tree": "d7072494d6d8005c60d42c1c841628c7d486dd9a",
      "parents": [
        "7f8c7619ea1ff5ab8e0b08c8120d629834ef4253"
      ],
      "author": {
        "name": "Hans-Peter Nilsson",
        "email": "hans-peter.nilsson@axis.com",
        "time": "Mon Feb 12 00:52:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:31 2007 -0800"
      },
      "message": "[PATCH] SPI cleanup() method param becomes non-const\n\nI\u0027d like to assign NULL to kfree()d members of a structure.  I can\u0027t do\nthat without ugly casting (see the PXA patch) when the structure pointed to\nis const-qualified.  I don\u0027t really see a reason why the cleanup method\nisn\u0027t allowed to alter the object it should clean up.  :-)\n\nNo, I didn\u0027t test the PXA patch, but I verified that the NULL-assignment\ndoesn\u0027t stop me from doing rmmod/insmodding my own spi_bitbang-based\ndriver.\n\nSigned-off-by: Hans-Peter Nilsson \u003chp@axis.com\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": "07b2463046247ce580ff9b37e91394f2f6424768",
      "tree": "6f6e79f132a2580c455a533f864492f0b34e54e2",
      "parents": [
        "c4184f117af7441fb83bc413d2214d92920e0289"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 21:34:08 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 21:34:08 2007 -0800"
      },
      "message": "Revert \"Driver core: convert SPI code to use struct device\"\n\nThis reverts commit 2943ecf2ed32632473c06f1975db47a7aa98c10f.\n\nThis should go through the SPI maintainer, it was my fault that it did\nnot.  Especially as it conflicts with other patches he has pending.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2943ecf2ed32632473c06f1975db47a7aa98c10f",
      "tree": "94bbae37d42f3e03fd8fc4a86767f5815a1318fb",
      "parents": [
        "873733188a019acdb7fa253011cbdc0a8afd97f3"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jan 22 13:45:38 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:11 2007 -0800"
      },
      "message": "Driver core: convert SPI code to use struct device\n\nConverts from using struct \"class_device\" to \"struct device\" making\neverything show up properly in /sys/devices/ with symlinks from the\n/sys/class directory.\n\nCc: \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1e9a51dca19dc1d8807c63cb3bd4413d3f95aaf5",
      "tree": "941d5039c0dfb5aeb8a499e9cbebda0a1e80d8a8",
      "parents": [
        "863c47028eb469c9e6c4e4287b01bea2bbf78766"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Fri Jan 26 00:56:54 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:58 2007 -0800"
      },
      "message": "[PATCH] SPI: alternative fix for spi_busnum_to_master\n\nIf a SPI master device exists, udev (udevtrigger) causes kernel crash, due\nto wrong kobj pointer in kobject_uevent_env().  This problem was not in\n2.6.19.\n\nThe backtrace (on MIPS) was:\n[\u003c8024db6c\u003e] kobject_uevent_env+0x54c/0x5e8\n[\u003c802a8264\u003e] store_uevent+0x1c/0x3c  (in drivers/class.c)\n[\u003c801cb14c\u003e] subsys_attr_store+0x2c/0x50\n[\u003c801cb80c\u003e] flush_write_buffer+0x38/0x5c\n[\u003c801cb900\u003e] sysfs_write_file+0xd0/0x190\n[\u003c80181444\u003e] vfs_write+0xc4/0x1a0\n[\u003c80181cdc\u003e] sys_write+0x54/0xa0\n[\u003c8010dae4\u003e] stack_done+0x20/0x3c\n\nflush_write_buffer() passes kobject of spi_master_class.subsys to\nsubsys_addr_store(), then subsys_addr_store() passes a pointer to a struct\nsubsystem to store_uevent() which expects a pointer to a struct\nclass_device.  The problem seems subsys_attr_store() called instead of\nclass_device_attr_store().\n\nThis mismatch was caused by commit\n3bd0f6943520e459659d10f3282285e43d3990f1, which overrides kset of master\nclass.  This made spi_master_class.subsys.kset.ktype NULL so\nsubsys_sysfs_ops is used instead of class_dev_sysfs_ops.\n\nThe commit was to fix spi_busnum_to_master().  Here is a patch fixes\nthis function in other way, just searching children list of\nclass_device.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3bd0f6943520e459659d10f3282285e43d3990f1",
      "tree": "dc1d30d6cbaea0202126467d71e606d2e8c78e11",
      "parents": [
        "4740d387f3cb9e63f48f2488815b38a2c92755c8"
      ],
      "author": {
        "name": "Hans-Christian Egtvedt",
        "email": "hcegtvedt@atmel.com",
        "time": "Wed Dec 06 20:36:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:33 2006 -0800"
      },
      "message": "[PATCH] spi: set kset of master class dev explicitly\n\n\u003cquote Imre Deak from Thu, 12 Jan 2006 21:18:54 +0200\u003e\n  In order for spi_busnum_to_master to work spi master devices must be linked\n  into the spi_master_class.subsys.kset list.  At the moment the default\n  class_obj_subsys.kset is used and we can\u0027t enumerate the master devices.\n\u003c/quote\u003e\n\nSigned-off-by: Hans-Christian Egtvedt \u003chcegtvedt@atmel.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4740d387f3cb9e63f48f2488815b38a2c92755c8",
      "tree": "bc4da709250cfe0b18a5d5dc040e5af3ed57e94d",
      "parents": [
        "ed2908f31398049c4371de9b100700e80704e95f"
      ],
      "author": {
        "name": "Hans-Christian Egtvedt",
        "email": "hcegtvedt@atmel.com",
        "time": "Wed Dec 06 20:36:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:32 2006 -0800"
      },
      "message": "[PATCH] spi: correct bus_num and buffer bug in spi core\n\nCorrect the following in driver/spi/spi.c in function spi_busnum_to_master:\n\n * must allow bus_num 0, the if is really not needed.\n * correct the name buffer which is too small for bus_num \u003e\u003d 10000. It\n\nshould be 9 bytes big, not 8.\n\nSigned-off-by: Hans-Christian Egtvedt \u003chcegtvedt@atmel.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89fc9a1a79725c3e5c3b66cb6bd2c7d9eeab29fa",
      "tree": "6909cae5517b03ef7446ee958f27ff5a94bc7955",
      "parents": [
        "e45f4676108d19ae93918f06cb6731c86108341a"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Dec 06 20:35:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:31 2006 -0800"
      },
      "message": "[PATCH] SPI: improve sysfs compiler complaint handling\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3e5a938e7ed718f6d191e8b6b176fcfeb88a294",
      "tree": "fe47bcfa52e985e48af5e3e7628fb2210a90fe93",
      "parents": [
        "b918f6e62cd46774f9fc0a3fbba6bd10ad85ee14"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Nov 02 22:07:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:58 2006 -0800"
      },
      "message": "[PATCH] spi section fix\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:spi_register_board_info from __ksymtab_gpl between \u0027__ksymtab_spi_register_board_info\u0027 (at offset 0xc032f7d0) and \u0027__ksymtab_spi_alloc_master\u0027\n\nFix this by removing the export.\n\nAcked-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "60be6b9a41cb0da0df7a9f11486da56baebf04cd",
      "tree": "26cb558d0d57183fdbf9136ad54b581328d6f016",
      "parents": [
        "366c7f554e888e51b8395f9b07b273fe775c7ff3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:09 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate on-stack completions\n\nlockdep needs to have the waitqueue lock initialized for on-stack waitqueues\nimplicitly initialized by DECLARE_COMPLETION().  Annotate on-stack completions\naccordingly.\n\nHas no effect on non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "980a01c9bfb090cb8a991e39e56ac379c30c61b8",
      "tree": "8d14aa685d81abe410ce1842a6498878daf8a04d",
      "parents": [
        "8f7c58814eb75bf97b8bc18d107b2e26f28b6585"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Jun 28 07:47:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 15:51:01 2006 -0700"
      },
      "message": "[PATCH] SPI: infrastructure to initialize spi_device.mode early\n\nThis patch adds earlier initialization of spi_device.mode, as needed\non boards using nondefault chipselect polarity.  An example would be\nones using the RS5C348 RTC without an external signal inverter between\nthe RTC chipselect and the SPI controller.\n\nWithout this mechanism, the first setup() call for that chip would\nwrongly enable chips, corrupting transfers to/from other chips sharing\nthat SPI bus.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba1a051319dc2bec9f43b7cef11c6e5270107fd6",
      "tree": "f50d5141dceccda33cd5bb0f01f8c25a0108d51d",
      "parents": [
        "ae0718f8e3fcfa3e4863f63db90d24bbec6b14a2"
      ],
      "author": {
        "name": "dmitry pervushin",
        "email": "dpervushin@ru.mvista.com",
        "time": "Sat May 20 15:00:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:19 2006 -0700"
      },
      "message": "[PATCH] minor SPI doc fix\n\nBecause several developers asked me about referenced but missing\nspi_add_master(), I think that this patch should be applied ...  it\ncorrects comments so they refer to spi_register_master() instead.\n\nSigned-off-by: dmitry pervushin \u003cdpervushin@ru.mvista.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a020ed7521a9737bcf3e34eb880867c60c3c68d0",
      "tree": "52941e00b05df6c1bfe228fd193fdb09cf963d15",
      "parents": [
        "ccf77cc4af5b048e20cfd9327fcc286cb69c34cc"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Apr 03 15:49:04 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 16 14:33:57 2006 -0700"
      },
      "message": "[PATCH] SPI: busnum \u003d\u003d 0 needs to work\n\nWe need to be able to have a \"SPI bus 0\" matching chip numbering; but\nthat number was wrongly used to flag dynamic allocation of a bus number.\n\nThis patch resolves that issue; now negative numbers trigger dynamic alloc.\n\nIt also updates the how-to-write-a-controller-driver overview to mention\nthis stuff.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a9948b6194b46e489aa3b4d111d6dfd786c39c4b",
      "tree": "28f4984be0547c773ad24ef6ed882f1ae9cbede8",
      "parents": [
        "747d844ee9a183ff3067bb1181f2a25c50649538"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Apr 02 10:37:40 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 16 14:33:57 2006 -0700"
      },
      "message": "[PATCH] SPI: spi bounce buffer has a minimum length\n\nMake sure that spi_write_then_read() can always handle at least 32 bytes\nof transfer (total, both directions), minimizing one portability issue.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d2799f083dcad0413ad1a396e9bc32d9afb70535",
      "tree": "e3ff753888f2e03437b9ab951269d213fe522e20",
      "parents": [
        "d86d43706a27bb87c2873de369f94a10f8758063"
      ],
      "author": {
        "name": "Stephen Street",
        "email": "stephen@streetfiresound.com",
        "time": "Mon Feb 20 18:27:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Feb 20 20:00:09 2006 -0800"
      },
      "message": "[PATCH] spi: Fix modular master driver remove and device suspend/remove\n\nFix two problems in the spi subsystem:\n\n1) spi subsystem core dumps when modular spi master is unloaded.\n2) spi subsystem core dumps when spi slave device is suspended/resumed and\n   module slave driver is not loaded.\n\nSigned-off-by: Stephen Street \u003cstephen@streetfiresound.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.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": "5d870c8e216f121307445c71caa72e7e10a20061",
      "tree": "d1d73cf5e520a10086f9a50a00fecb6041def89d",
      "parents": [
        "7111763d391b0c5a949a4f2575aa88cd585f0ff6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jan 11 11:23:49 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 13 16:29:56 2006 -0800"
      },
      "message": "[PATCH] spi: remove fastcall crap\n\ngcc4 generates warnings when a non-FASTCALL function pointer is assigned to a\nFASTCALL one.  Perhaps it has taste.\n\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8275c642ccdce09a2146d0a9eb022e3698ee927e",
      "tree": "ea330810f665fcbdf36d31b0da1643db528ad83f",
      "parents": [
        "2f9f762879015d738a5ec2ac8a16be94b3a4a06d"
      ],
      "author": {
        "name": "Vitaly Wool",
        "email": "vwool@ru.mvista.com",
        "time": "Sun Jan 08 13:34:28 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 13 16:29:56 2006 -0800"
      },
      "message": "[PATCH] spi: use linked lists rather than an array\n\nThis makes the SPI core and its users access transfers in the SPI message\nstructure as linked list not as an array, as discussed on LKML.\n\nFrom: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\n\n  Updates including doc, bugfixes to the list code, add\n  spi_message_add_tail().  Plus, initialize things _before_ grabbing the\n  locks in some cases (in case it grows more expensive).  This also merges\n  some bitbang updates of mine that didn\u0027t yet make it into the mm tree.\n\nSigned-off-by: Vitaly Wool \u003cvwool@ru.mvista.com\u003e\nSigned-off-by: Dmitry Pervushin \u003cdpervushin@gmail.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0c868461fcb8413cb9f691d68e5b99b0fd3c0737",
      "tree": "b43db6239f5d72a279b35b14de85cf34d8f6bc74",
      "parents": [
        "b885244eb2628e0b8206e7edaaa6a314da78e9a4"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jan 08 13:34:25 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 13 16:29:55 2006 -0800"
      },
      "message": "[PATCH] SPI core tweaks, bugfix\n\nThis includes various updates to the SPI core:\n\n  - Fixes a driver model refcount bug in spi_unregister_master() paths.\n\n  - The spi_master structures now have wrappers which help keep drivers\n    from needing class-level get/put for device data or for refcounts.\n\n  - Check for a few setup errors that would cause oopsing later.\n\n  - Docs say more about memory management.  Highlights the use of DMA-safe\n    i/o buffers, and zero-initializing spi_message and such metadata.\n\n  - Provide a simple alloc/free for spi_message and its spi_transfer;\n    this is only one of the possible memory management policies.\n\nNothing to break code that already works.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b885244eb2628e0b8206e7edaaa6a314da78e9a4",
      "tree": "e548fb3a94603c4a5406920c97246a78fe16b64a",
      "parents": [
        "1d6432fe10c3e724e307dd7137cd293a0edcae80"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jan 08 13:34:23 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 13 16:29:54 2006 -0800"
      },
      "message": "[PATCH] spi: add spi_driver to SPI framework\n\nThis is a refresh of the \"Simple SPI Framework\" found in 2.6.15-rc3-mm1\nwhich makes the following changes:\n\n  * There\u0027s now a \"struct spi_driver\".  This increase the footprint\n    of the core a bit, since it now includes code to do what the driver\n    core was previously handling directly.  Documentation and comments\n    were updated to match.\n\n  * spi_alloc_master() now does class_device_initialize(), so it can\n    at least be refcounted before spi_register_master().  To match,\n    spi_register_master() switched over to class_device_add().\n\n  * States explicitly that after transfer errors, spi_devices will be\n    deselected.  We want fault recovery procedures to work the same\n    for all controller drivers.\n\n  * Minor tweaks:  controller_data no longer points to readonly data;\n    prevent some potential cast-from-null bugs with container_of calls;\n    clarifies some existing kerneldoc,\n\nAnd a few small cleanups.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ae12a0d85987dc138f8c944cb78a92bf466cea0",
      "tree": "ca032f25bb26f88cc35d68c6f8065143ce64a6a8",
      "parents": [
        "67daf5f11f06b9b15f8320de1d237ccc2e74fe43"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jan 08 13:34:19 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 13 16:29:54 2006 -0800"
      },
      "message": "[PATCH] spi: simple SPI framework\n\nThis is the core of a small SPI framework, implementing the model of a\nqueue of messages which complete asynchronously (with thin synchronous\nwrappers on top).\n\n  - It\u0027s still less than 2KB of \".text\" (ARM).  If there\u0027s got to be a\n    mid-layer for something so simple, that\u0027s the right size budget.  :)\n\n  - The guts use board-specific SPI device tables to build the driver\n    model tree.  (Hardware probing is rarely an option.)\n\n  - This version of Kconfig includes no drivers.  At this writing there\n    are two known master controller drivers (PXA/SSP, OMAP MicroWire)\n    and three protocol drivers (CS8415a, ADS7846, DataFlash) with LKML\n    mentions of other drivers in development.\n\n  - No userspace API.  There are several implementations to compare.\n    Implement them like any other driver, and bind them with sysfs.\n\nThe changes from last version posted to LKML (on 11-Nov-2005) are minor,\nand include:\n\n  - One bugfix (removes a FIXME), with the visible effect of making device\n    names be \"spiB.C\" where B is the bus number and C is the chipselect.\n\n  - The \"caller provides DMA mappings\" mechanism now has kerneldoc, for\n    DMA drivers that want to be fancy.\n\n  - Hey, the framework init can be subsys_init.  Even though board init\n    logic fires earlier, at arch_init ... since the framework init is\n    for driver support, and the board init support uses static init.\n\n  - Various additional spec/doc clarifications based on discussions\n    with other folk.  It adds a brief \"thank you\" at the end, for folk\n    who\u0027ve helped nudge this framework into existence.\n\nAs I\u0027ve said before, I think that \"protocol tweaking\" is the main support\nthat this driver framework will need to evolve.\n\nFrom: Mark Underwood \u003cbasicmark@yahoo.com\u003e\n\n  Update the SPI framework to remove a potential priority inversion case by\n  reverting to kmalloc if the pre-allocated DMA-safe buffer isn\u0027t available.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ]
}
