)]}'
{
  "log": [
    {
      "commit": "90ae83f7fc32733e5829d806306c0c590f1a383f",
      "tree": "5b4cd7290c70d9899ca7caa99998395218b15cab",
      "parents": [
        "47c5ba53bc5e5f88b5d1bbb97acd25afc27f74eb",
        "65289d6345d93abd860e43fd2119ac176d6cc697"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 01 07:50:43 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 01 07:50:43 2010 -0400"
      },
      "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/pl022: fix erroneous platform data in U300\n  spi: fixed odd static string conventions in core code\n  spi/bfin_spi: only request GPIO on first load\n  spi/bfin_spi: handle error/status changes after data interrupts\n  spi: enable spi_board_info to be registered after spi_master\n"
    },
    {
      "commit": "b18cae4224bde7e5a332c19bc99247b2098ea232",
      "tree": "2ffa750e6a043a1dcfccd71588b7d6cfdcad440a",
      "parents": [
        "4833c16dea61cb30d6f77dfec3067a08ba79b361",
        "f41649e040b1f63e809fb2adb78ed2f3c3ebbcd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 18:42:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 18:42:06 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://android.git.kernel.org/kernel/tegra\n\n* \u0027for-next\u0027 of git://android.git.kernel.org/kernel/tegra:\n  spi: tegra: fix error setting on timeout\n  spi: add spi_tegra driver\n  tegra: harmony: enable PCI Express\n  tegra: add PCI Express support\n  tegra: add PCI Express clocks\n  [ARM] tegra: Add APB DMA support\n  [ARM] tegra: Add cpufreq support\n  [ARM] tegra: common: Update common clock init table\n  [ARM] tegra: clock: Add dvfs support, bug fixes, and cleanups\n  [ARM] tegra: Add support for reading fuses\n  [ARM] tegra: gpio: Add suspend and wake support\n  [ARM] tegra: pinmux: add safe values, move tegra2, add suspend\n  [ARM] tegra: add suspend and mirror irqs to legacy controller\n  [ARM] tegra: Add legacy irq support\n  [ARM] tegra: update iomap\n"
    },
    {
      "commit": "f41649e040b1f63e809fb2adb78ed2f3c3ebbcd0",
      "tree": "1386191824282de175fa5453907ea1a8bb08bfa4",
      "parents": [
        "0c03a1dd5bd8a37932ae1d519156172affef22fd"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 08 18:16:45 2010 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Mon Oct 25 16:57:46 2010 -0700"
      },
      "message": "spi: tegra: fix error setting on timeout\n\navoids derefencing an uninitialized pointer\n\nChange-Id: Icf528441ae481e9f6f5ddc0be32c7c217fa49701\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\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": "73e1ac16258fe7e55cce4691e32c0b44d4579e08",
      "tree": "aaa8fe91c600c5c07fdc105ba65dee42192dc4cf",
      "parents": [
        "782a895693a52fd8b288c33bdd7e98357888fc1f"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Fri Oct 22 02:01:47 2010 -0400"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Oct 22 01:26:46 2010 -0600"
      },
      "message": "spi/bfin_spi: only request GPIO on first load\n\nThe gpiolib code does not allow people to do gpio_request() on a GPIO\nonce it has already been requested.  So make sure we only request the\npin on the first setup of a SPI device.  Otherwise, if you attempts to\nreconfigure a SPI device on the fly (like change bit sizes), the setup\nfunction incorrectly fails.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "782a895693a52fd8b288c33bdd7e98357888fc1f",
      "tree": "c1deb3d7b5e6555973cf06ee7ec58a3b839255bc",
      "parents": [
        "2b9603a0d7e395fb844af90fba71448bc8019077"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Fri Oct 22 02:01:48 2010 -0400"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Oct 22 01:26:46 2010 -0600"
      },
      "message": "spi/bfin_spi: handle error/status changes after data interrupts\n\nThe error interrupt on the BF537 SIC cannot be enabled on a\nper-peripheral basis.  Once the error interrupt is enabled\nfor one peripheral, it is automatically enabled for all.\n\nSo in the Blackfin on-chip SPI driver, we need to clear out\nthese known errors in the data interrupt once we\u0027ve successfully\nfinished processing all of the pending data.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\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": "0c03a1dd5bd8a37932ae1d519156172affef22fd",
      "tree": "dcdbf07d5e226664afdf8ca3d542a4523b0902c1",
      "parents": [
        "f2a443931e6c7616aa023f55ddfdbca8943ab0e9"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Apr 22 15:58:25 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 21 18:15:05 2010 -0700"
      },
      "message": "spi: add spi_tegra driver\n\nv2 changes:\n  from Thierry Reding:\n    * add \"select TEGRA_SYSTEM_DMA\" to Kconfig\n  from Grant Likely:\n    * add oneline description to header\n    * inline references to DRIVER_NAME\n    * inline references to BUSY_TIMEOUT\n    * open coded bytes_per_word()\n    * spi_readl/writel -\u003e spi_tegra_readl/writel\n    * move transfer validation to spi_tegra_transfer\n    * don\u0027t request_mem_region iomem as platform bus does that for us\n    * __exit -\u003e __devexit\n\nv3 changes:\n  from Russell King:\n    * put request_mem_region back int\n  from Grant Likely:\n    * remove #undef DEBUG\n    * add SLINK_ to register bit defines\n    * remove unused bytes_per_word\n    * make spi_tegra_readl/writel static linine\n    * various refactoring for clarity\n    * mark err if BSY bit is not cleared after 1000 retries\n    * move spinlock to protect setting of RDY bit\n    * subsys_initcall -\u003e module_init\n\nv3 changes:\n  from Grant Likely:\n    * update spi_tegra to use PTR_ERRless dma API\n\nv4 changes:\n  from Grant Likely:\n    * remove empty spi_tegra_cleanup fucntion\n    * allow device ids of -1\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Thierry Reding \u003cthierry.reding@avionic-design.de\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\n\nspi: tegra: cleanups from upstream review\n\nChange-Id: Icecf7e64efcb39de072a15234ba1faa4bad40d25\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "b5153163ed580e00c67bdfecb02b2e3843817b3e",
      "tree": "b8c878601f07f5df8f694435857a5f3dcfd75482",
      "parents": [
        "a8cbf22559ceefdcdfac00701e8e6da7518b7e8e",
        "6451d7783ba5ff24eb1a544eaa6665b890f30466"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 16:42:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 16:42:32 2010 -0700"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (278 commits)\n  arm: remove machine_desc.io_pg_offst and .phys_io\n  arm: use addruart macro to establish debug mappings\n  arm: return both physical and virtual addresses from addruart\n  arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC\n  ARM: make struct machine_desc definition coherent with its comment\n  eukrea_mbimxsd-baseboard: Pass the correct GPIO to gpio_free\n  cpuimx27: fix compile when ULPI is selected\n  mach-pcm037_eet: fix compile errors\n  Fixing ethernet driver compilation error for i.MX31 ADS board\n  cpuimx51: update board support\n  mx5: add cpuimx51sd module and its baseboard\n  iomux-mx51: fix GPIO_1_xx \u0027s IOMUX configuration\n  imx-esdhc: update devices registration\n  mx51: add resources for SD/MMC on i.MX51\n  iomux-mx51: fix SD1 and SD2\u0027s iomux configuration\n  clock-mx51: rename CLOCK1 to CLOCK_CCGR for better readability\n  clock-mx51: factorize clk_set_parent and clk_get_rate\n  eukrea_mbimxsd: add support for DVI displays\n  cpuimx25 \u0026 cpuimx35: fix OTG port registration in host mode\n  i.MX31 and i.MX35 : fix errate TLSbo65953 and ENGcm09472\n  ...\n"
    },
    {
      "commit": "2764c500be0c1f057349ee6c81557239de060f87",
      "tree": "c2d377ef63c95c824ba9c3415c3cbecdeb4cbe57",
      "parents": [
        "e1993ed6420afd4421336d75e73641f75da87a7f"
      ],
      "author": {
        "name": "Ilkka Koskinen",
        "email": "ilkka.koskinen@nokia.com",
        "time": "Tue Oct 19 17:07:31 2010 +0300"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Oct 20 10:43:24 2010 -0600"
      },
      "message": "spi/omap2_mcspi: Verify TX reg is empty after TX only xfer with DMA\n\nIn case of TX only with DMA, the driver assumes that the data\nhas been transferred once DMA callback in invoked. However,\nSPI\u0027s shift register may still contain data. Thus, the driver\nis supposed to verify that the register is empty and the end of\nthe SPI transfer has been reached.\n\nSigned-off-by: Ilkka Koskinen \u003cilkka.koskinen@nokia.com\u003e\nTested-by: Tuomas Katila \u003cext-tuomas.2.katila@nokia.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "e1993ed6420afd4421336d75e73641f75da87a7f",
      "tree": "c511d2aabbf7107620123954757df7bf7264c404",
      "parents": [
        "db181a8ee158fd0ccea2e2670c4f2d36af2814a0"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jason77.wang@gmail.com",
        "time": "Tue Oct 19 18:03:27 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Oct 20 10:30:53 2010 -0600"
      },
      "message": "spi/omap2_mcspi: disable channel after TX_ONLY transfer in PIO mode\n\nIn the TX_ONLY transfer, the SPI controller also receives data\nsimultaneously and saves them in the rx register. After the TX_ONLY\ntransfer, the rx register will hold the random data received during\nthe last tx transaction.\n\nIf the direct following transfer is RX_ONLY, this random data has the\npossibility to affect this transfer like this:\n  When the SPI controller is changed from TX_ONLY to RX_ONLY,\n  the random data makes the rx register full immediately and\n  triggers a dummy write automatically(in SPI RX_ONLY transfers,\n  we need a dummy write to trigger the first transaction).\n\n  So the first data received in the RX_ONLY transfer will be that\n  random data instead of something meaningful.\n\nWe can avoid this by inserting a Disable/Re-enable toggle of the\nchannel after the TX_ONLY transfer, since it purges the rx register.\n\nSigned-off-by: Jason Wang \u003cjason77.wang@gmail.com\u003e\nTested-by: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "db181a8ee158fd0ccea2e2670c4f2d36af2814a0",
      "tree": "d03adc3926b4aca7ee172d825b90fe965b4f01b9",
      "parents": [
        "ee2007d299ad4020115b193858817e6c57e95db5",
        "9c0a788b4315b83f6138ffa15c56ccf541106e58"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Oct 18 09:25:09 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Oct 18 09:25:09 2010 -0600"
      },
      "message": "Merge branch \u0027for-spi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin into spi/next\n"
    },
    {
      "commit": "9c0a788b4315b83f6138ffa15c56ccf541106e58",
      "tree": "0ded6b5962366530454cef092b09046ac1d83ec8",
      "parents": [
        "6f7c17f4f91513247dfec52d6968cd70d5251b38"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:45:22 2010 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:44 2010 -0400"
      },
      "message": "spi/bfin_spi: namespace local structs\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "6f7c17f4f91513247dfec52d6968cd70d5251b38",
      "tree": "56daffd05c022f4869ecf4ffd0b8fa17a4734b05",
      "parents": [
        "2e768659df35ea337cb57ea3573c918d31e07894"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Thu Jul 01 14:34:10 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:44 2010 -0400"
      },
      "message": "spi/bfin_spi: init early\n\nSome systems using this bus sometimes have very basic devices on them\nsuch as regulators.  So we need to be loaded even earlier in case the\ndevices are used by things such as early board init code.  Therefore\nregister in subsys_initcall().\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "2e768659df35ea337cb57ea3573c918d31e07894",
      "tree": "3076e57dd4b733ed31da18c6b8c5c74eb518f5c1",
      "parents": [
        "4190f6a51f3f9c7c8298202d31b3ead9381c33f1"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Fri Sep 17 03:46:22 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:43 2010 -0400"
      },
      "message": "spi/bfin_spi: check per-transfer bits_per_word\n\nCurrently, if the bits_per_word when doing a transfer is not 8bits, we\nalways treat it as 16bits when we should actually be returning an error.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "4190f6a51f3f9c7c8298202d31b3ead9381c33f1",
      "tree": "b1afa6ba60935d2a8036714ea46d4acd8b36a877",
      "parents": [
        "e72dcde72c712708e2145ab0ecff539ff4a4c7fb"
      ],
      "author": {
        "name": "Barry Song",
        "email": "barry.song@analog.com",
        "time": "Tue Apr 06 03:36:24 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:43 2010 -0400"
      },
      "message": "spi/bfin_spi: warn when CS is driven by hardware (CPHA\u003d0)\n\nWhen the hardware is controlling the CS, there are some SPI options\nwe are unable to support.  So issue a warning in the hopes that the\nuser will change to a SPI mode where we can support things sanely.\n\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "e72dcde72c712708e2145ab0ecff539ff4a4c7fb",
      "tree": "707252fd940a2c254f134e08c5358fa42b0560e8",
      "parents": [
        "e35954053c1a2ede37f6ed1b28d626dba43dc79d"
      ],
      "author": {
        "name": "Rob Maris",
        "email": "maris.rob@vdi.de",
        "time": "Tue Apr 06 04:17:08 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:42 2010 -0400"
      },
      "message": "spi/bfin_spi: cs should be always low when a new transfer begins\n\nSigned-off-by: Rob Maris \u003cmaris.rob@vdi.de\u003e\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "e35954053c1a2ede37f6ed1b28d626dba43dc79d",
      "tree": "ef8ebac507e587fb90b2197e1fd0b866e2e9914c",
      "parents": [
        "7715aad4ef5cccb318942a0c47aef8a39d6130d7"
      ],
      "author": {
        "name": "Rob Maris",
        "email": "maris.rob@vdi.de",
        "time": "Tue Apr 06 04:12:00 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:41 2010 -0400"
      },
      "message": "spi/bfin_spi: fix typo in comment\n\nSigned-off-by: Rob Maris \u003cmaris.rob@vdi.de\u003e\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "7715aad4ef5cccb318942a0c47aef8a39d6130d7",
      "tree": "4a77c9f18d5a96f37bd970e1ceffdc5f813f765c",
      "parents": [
        "a75bd65b2189d711938d0fa7d9a79df47ddd66fa"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Feb 25 10:00:55 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:41 2010 -0400"
      },
      "message": "spi/bfin_spi: reject unsupported SPI modes\n\nWho knows what people will try!\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "a75bd65b2189d711938d0fa7d9a79df47ddd66fa",
      "tree": "6acca25eaf5bb0e9e75e5d6922a6224bfbb79d81",
      "parents": [
        "5e8592dca303fb429d1641c205fe509f4b781ca2"
      ],
      "author": {
        "name": "Barry Song",
        "email": "barry.song@analog.com",
        "time": "Fri Jan 22 10:07:30 2010 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:40 2010 -0400"
      },
      "message": "spi/bfin_spi: use dma_disable_irq_nosync() in irq handler\n\nUsing disable_irq() on the IRQ whose handler we are currently executing in\ncan easily lead to a hang.  So use the nosync variant here.\n\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "5e8592dca303fb429d1641c205fe509f4b781ca2",
      "tree": "14bbd03eeec15e99bb9ea1aefcb1a953be31159e",
      "parents": [
        "5b47bcd48b3bd53c86040321de0d348aadebed87"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Dec 18 18:00:10 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:39 2010 -0400"
      },
      "message": "spi/bfin_spi: combine duplicate SPI_CTL read/write logic\n\nWhile combining things, also switch to the proper SPI bit define names.\nThis lets us punt the rarely used SPI defines.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "5b47bcd48b3bd53c86040321de0d348aadebed87",
      "tree": "c852402ea7446fadd274daeb616199ec7837b3bb",
      "parents": [
        "033f44bd0ebca1809e8274237a64263d909f01a7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Dec 18 17:43:31 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:39 2010 -0400"
      },
      "message": "spi/bfin_spi: reset ctl_reg bits when setup is run again on a device\n\nDuring runtime, the spi setup function may be called multiple times on the\nsame device in order to reconfigure some settings on the fly.  When this\nhappens, we need to reset the ctl_reg bits so that changing the mode works\nas expected.\n\nReported-by: Andy Getzendanner \u003cjames.getzendanner@students.olin.edu\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "033f44bd0ebca1809e8274237a64263d909f01a7",
      "tree": "04ba3e37c926c07809e934b0adf39ec6310f7114",
      "parents": [
        "7370ed6b91c37d7022a89a820b0fcd3156fa87fc"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Dec 18 17:38:04 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:38 2010 -0400"
      },
      "message": "spi/bfin_spi: push all size checks into the transfer function\n\nThis reduces duplication between the setup/transfer functions and keeps\nvalues cached during setup from overriding values changed on a transfer\nbasis (like bits_per_word).\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "7370ed6b91c37d7022a89a820b0fcd3156fa87fc",
      "tree": "7a0eb591a99fb634a2bcc18fa16534ca8df68918",
      "parents": [
        "9677b0de10433d31e05864dfb4bf33d0c27f752a"
      ],
      "author": {
        "name": "Yi Li",
        "email": "yi.li@analog.com",
        "time": "Mon Dec 07 08:07:01 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:38 2010 -0400"
      },
      "message": "spi/bfin_spi: use nosync when disabling the IRQ from the IRQ handler\n\nUsing disable_irq() on the IRQ whose handler we are currently executing in\ncan easily lead to a hang.  So use the nosync variant here.\n\nSigned-off-by: Yi Li \u003cyi.li@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "9677b0de10433d31e05864dfb4bf33d0c27f752a",
      "tree": "a2689c90aa902b1cb6c0a3fd0345a9fd117930b1",
      "parents": [
        "b052fd0a44354c655eb98fd715ef52857631dfef"
      ],
      "author": {
        "name": "Barry Song",
        "email": "barry.song@analog.com",
        "time": "Mon Nov 30 03:49:41 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:37 2010 -0400"
      },
      "message": "spi/bfin_spi: sync hardware state before reprogramming everything\n\nSometimes under load, the Blackfin core is able to send SPI register\nupdates out before the controller is actually disabled.  So when we\ngo to reprogram the entire state (to switch to a different slave),\nmake sure we sync after disabling the controller.\n\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "b052fd0a44354c655eb98fd715ef52857631dfef",
      "tree": "31f852bed15cd4ab35c9e4932476ca58d928d3d2",
      "parents": [
        "d3cc71f71ae13596cb988e16bfa2b15f09fb7347"
      ],
      "author": {
        "name": "Barry Song",
        "email": "barry.song@analog.com",
        "time": "Wed Nov 18 09:43:21 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:37 2010 -0400"
      },
      "message": "spi/bfin_spi: save/restore state when suspending/resuming\n\nWe can\u0027t rely on the SPI_CTL/SPI_FLG registers retaining their state when\nsuspending, so save/restore their entire values.\n\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "d3cc71f71ae13596cb988e16bfa2b15f09fb7347",
      "tree": "6fcd5e9401931dbce719bcdfd1e5b4075f392598",
      "parents": [
        "0d2c6de2255cb299fdd77d4543738adee45f4f3f"
      ],
      "author": {
        "name": "Barry Song",
        "email": "barry.song@analog.com",
        "time": "Tue Nov 17 09:45:59 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:36 2010 -0400"
      },
      "message": "spi/bfin_spi: redo GPIO CS handling\n\nThe common SPI layers take care of detecting CS conflicts and preventing\ntwo devices from claiming the same CS.  This causes problems for the GPIO\nCS support we currently have as we are using CS0 to mean \"GPIO CS\".  But\nif we have multiple devices using a GPIO CS, the common SPI layers see\nmultiple devices using the virtual \"CS0\" and reject any such attempts.\n\nTo make both work, we introduce an offset define.  This represents the\nmax number of hardware CS values that the SPI peripheral supports.  If\nthe CS is below this limit, we know we can use the hardware CS.  If it\u0027s\nabove, we treat it as a GPIO CS.  This keeps the CS unique as seen by\nthe common code and prevents conflicts.\n\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "90008a641dd832cc2e2c4d21b7da94de91e9d0a4",
      "tree": "08ba56ed239b74075fa1dd0b48114f5f78ea3bb5",
      "parents": [
        "2a045131db69c207b9e3f9614b2c9b0f2e82bcb7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Oct 15 04:13:29 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:35 2010 -0400"
      },
      "message": "spi/bfin_spi: use the SPI namespaced bit names\n\nThis lets us push the short SPI MMR bit names out of the global namespace.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "2a045131db69c207b9e3f9614b2c9b0f2e82bcb7",
      "tree": "84c04d8da0cc3a900fec5f6483a07a399b18fc3d",
      "parents": [
        "b9f139a7a6a8b24e61ad94c3334eb26f34a4cb63"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Sep 24 01:28:54 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:34 2010 -0400"
      },
      "message": "spi/bfin_spi: drop extra memory we don\u0027t need\n\nThe driver that we based ours on uses a little extra memory behind the\nnormal driver state, but we don\u0027t.  So drop this useless bit of memory.\n\nReported-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "b9f139a7a6a8b24e61ad94c3334eb26f34a4cb63",
      "tree": "0797f78e99033ea6f547a948437ff7b644b4a2ae",
      "parents": [
        "9c4542c7a3082bf74f00145355ef407ac82c0b3f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Sep 24 01:27:47 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:34 2010 -0400"
      },
      "message": "spi/bfin_spi: convert struct names to something more logical\n\nThe current structure names are a bit confusing as to what they represent,\nso use better names.\n\nReported-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "9c4542c7a3082bf74f00145355ef407ac82c0b3f",
      "tree": "ea9081cd8ced14c6c8276caf6de4bb9f74ace8d9",
      "parents": [
        "f4f50c3ff7815d83dcbb19341f35db2f408ac4f8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Sep 24 01:04:04 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:33 2010 -0400"
      },
      "message": "spi/bfin_spi: convert read/write/duplex funcs to a dedicated ops structure\n\nRather than having to look up the same 3 sets of functions at the same\ntime, just use an ops structure so we only need to set one pointer.\n\nReported-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "f4f50c3ff7815d83dcbb19341f35db2f408ac4f8",
      "tree": "9897c41c9ddbf63dab5d6d1428e0a46ba528f432",
      "parents": [
        "ab09e0406ffd42d26fc9a6dcbb626f9eb1da9160"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Sep 24 00:41:49 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:32 2010 -0400"
      },
      "message": "spi/bfin_spi: convert queue run state to true/false\n\nNo point in creating our own version of true/false defines when there is\nalready a standard stdbool available to us.\n\nReported-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "ab09e0406ffd42d26fc9a6dcbb626f9eb1da9160",
      "tree": "48176de98faf8fd319f136ea5538f0db1e09cf5c",
      "parents": [
        "5cc0159a5779f297d1b987d5f6d0feb6dc36a27a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Sep 23 23:32:34 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:32 2010 -0400"
      },
      "message": "spi/bfin_spi: fix up some unused/misleading comments\n\nReported-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "5cc0159a5779f297d1b987d5f6d0feb6dc36a27a",
      "tree": "1995cdcf754d098dcf66d72868e376836e52b54a",
      "parents": [
        "201bbc6fd84c67b4021f454d3e4c30d5cd77f702"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Sep 23 23:24:59 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:31 2010 -0400"
      },
      "message": "spi/bfin_spi: punt useless null read/write funcs\n\nThe chip ops should always be initialized, so having null fallback\nfunctions are useless.\n\nReported-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "201bbc6fd84c67b4021f454d3e4c30d5cd77f702",
      "tree": "2c1e10a96b060787169cef3e5b2e45b02114b182",
      "parents": [
        "8221610e9990e7ee542a4e508d278302af8a9e75"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Sep 23 20:56:10 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:30 2010 -0400"
      },
      "message": "spi/bfin_spi: drop custom cs_change_per_word support\n\nAs David points out, the cs_change_per_word option isn\u0027t standard, nor is\nanyone actually using it.  So punt all of the dead code considering it\nmakes up ~10% of the code size.\n\nReported-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "8221610e9990e7ee542a4e508d278302af8a9e75",
      "tree": "c08fca285205f621061adbb95f876cecd6700157",
      "parents": [
        "f6a6d96685be6e784849d067b44acb831f595417"
      ],
      "author": {
        "name": "Barry Song",
        "email": "barry.song@analog.com",
        "time": "Wed Jun 17 10:10:53 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:30 2010 -0400"
      },
      "message": "spi/bfin_spi: fix CS handling\n\nThe CS helper functions were toggling both the Flag Enable and the Flag\nValue bits, but the Flag Value bit is ignored if the corresponding Flag\nEnable bit is cleared.  So under high speed transactions, the CS sometimes\nwould not toggle properly.\n\nSince it makes no sense to toggle the Flag Enable bit dynamically when we\nactually want to control the Flag Value, do this when setting up the device\nand then only handle toggling of the CS value during runtime.\n\nSigned-off-by: Barry Song \u003cbarry.song@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "f6a6d96685be6e784849d067b44acb831f595417",
      "tree": "74676924942c6823b0b1517569394239d834943a",
      "parents": [
        "bb8beecd98de45f821a3360e0b061fc1f8da947c"
      ],
      "author": {
        "name": "Yi Li",
        "email": "yi.li@analog.com",
        "time": "Wed Jun 03 09:46:22 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:29 2010 -0400"
      },
      "message": "spi/bfin_spi: utilize the SPI interrupt in PIO mode\n\nThe current behavior in PIO mode is to poll the SPI status registers which\ncan obviously lead to higher latencies when doing a lot of SPI traffic.\nThere is a SPI interrupt which can be used instead to signal individual\ncompletion of transactions.\n\nSigned-off-by: Yi Li \u003cyi.li@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "bb8beecd98de45f821a3360e0b061fc1f8da947c",
      "tree": "bfee407e8753749582c2e656753d18f741ce67e2",
      "parents": [
        "60d0071b609ecb0aebe12aaedf34fe552da12c5b"
      ],
      "author": {
        "name": "Wolfgang Muees",
        "email": "wolfgang.mues@auerswald.de",
        "time": "Fri May 22 01:11:02 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:29 2010 -0400"
      },
      "message": "spi/bfin_spi: force sane master-mode state at boot\n\nWe should make sure the SPI controller is in a sane state in case the\nboot loader left it in a crappy state.  Such as DMA pending which causes\ninterrupts to fire on us.\n\nWhen setting a sane initial state, do not default to slave mode.  If we\ndo, then the SPI peripheral may implicitly take over the SPISS pin which\nother things might be using.\n\nFor example, the BF533-STAMP uses this pin as a GPIO to control switching\nbetween ethernet and flash.  If the SPI peripheral controls the output\nstate instead, the ethernet is no longer accessible.\n\nURL: http://blackfin.uclinux.org/gf/tracker/5630\nSigned-off-by: Wolfgang Muees \u003cwolfgang.mues@auerswald.de\u003e\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "60d0071b609ecb0aebe12aaedf34fe552da12c5b",
      "tree": "59555a6112567fc794f290c72ddfcb0791e3fdaf",
      "parents": [
        "ac01e97d644da8e947ffa1bde5083290fe2e36e7"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Mon May 18 10:01:16 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:28 2010 -0400"
      },
      "message": "spi/bfin_spi: work around anomaly 05000119\n\nAnomaly 05000119 states that the DMA_RUN bit with peripherals isn\u0027t\nreliable.  However, the way the driver is currently written (DMA IRQ\ncallback), we don\u0027t need the polling in the first place, so drop it.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "ac01e97d644da8e947ffa1bde5083290fe2e36e7",
      "tree": "c2a97d4c239afb65376dbaa81aca7610b0883369",
      "parents": [
        "2b666ca4a68cbc22483b0f2e1ba3c0e59b01ae9e"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Mar 25 00:18:35 2009 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Oct 18 02:49:28 2010 -0400"
      },
      "message": "spi/bfin_spi: fix resources leakage\n\nRe-order setup() a bit so we don\u0027t leak memory/dma/gpio resources upon\nerrors.  Also make sure we don\u0027t call kfree() twice on the same object.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Yi Li \u003cyi.li@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "ee2007d299ad4020115b193858817e6c57e95db5",
      "tree": "10dffb3efdea8c369851e1a59b48ba5ae7f06906",
      "parents": [
        "ef6510babf047d394aa6eb8c93baa0dd6b838c28"
      ],
      "author": {
        "name": "Matthias Brugger",
        "email": "matthias.bgg@googlemail.com",
        "time": "Sat Oct 16 01:39:49 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Oct 15 21:56:00 2010 -0600"
      },
      "message": "spi/atmel: typo in debug message\n\nThis patches a typo in the debug message.\n\nSigned-off-by: Matthias Brugger \u003cmensch0815@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "ef6510babf047d394aa6eb8c93baa0dd6b838c28",
      "tree": "e14dde23bad3ca6a48472afe99b152af3c7ba0af",
      "parents": [
        "b9d228f9e896df1af787b2f3467889ab0832370a"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Thu Oct 14 08:55:47 2010 -0500"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Oct 14 08:30:12 2010 -0600"
      },
      "message": "spi/fsl_spi: Fix compile errors when building on ppc64\n\nWe get the following when building on ppc64 due to lack of include of\n\u003casm/io.h\u003e:\n\nIn file included from drivers/spi/spi_fsl_espi.c:25:0:\ndrivers/spi/spi_fsl_lib.h: In function \u0027mpc8xxx_spi_write_reg\u0027:\ndrivers/spi/spi_fsl_lib.h:88:2: error: implicit declaration of function \u0027out_be32\u0027\ndrivers/spi/spi_fsl_lib.h: In function \u0027mpc8xxx_spi_read_reg\u0027:\ndrivers/spi/spi_fsl_lib.h:93:2: error: implicit declaration of function \u0027in_be32\u0027\ndrivers/spi/spi_fsl_espi.c: In function \u0027fsl_espi_remove\u0027:\ndrivers/spi/spi_fsl_espi.c:571:2: error: implicit declaration of function \u0027iounmap\u0027\ndrivers/spi/spi_fsl_espi.c: In function \u0027fsl_espi_probe\u0027:\ndrivers/spi/spi_fsl_espi.c:602:2: error: implicit declaration of function \u0027ioremap\u0027\ndrivers/spi/spi_fsl_espi.c:602:24: warning: assignment makes pointer from integer without a cast\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b9d228f9e896df1af787b2f3467889ab0832370a",
      "tree": "ef40ed6c76a947a724a7a6b154ee68a01b4f5562",
      "parents": [
        "8e41b527ff2c1d7d8c9a9e8b9f53877af2892cef"
      ],
      "author": {
        "name": "Matthias Brugger",
        "email": "matthias.bgg@gmail.com",
        "time": "Wed Oct 13 17:51:02 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Oct 13 23:07:37 2010 -0600"
      },
      "message": "spi/atmel: let transfers through if not changing bits_per_word\n\nbits_per_word option in spi_transfer are allowed if it does not change\nthe csr register.\n\nThis is necessary for the driver in\ndrivers/staging/iio/adis16260_core.c, as it uses this option.\n\nSigned-off-by: Matthias Brugger \u003cmensch0815@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "8e41b527ff2c1d7d8c9a9e8b9f53877af2892cef",
      "tree": "3c788a88f344aacd9ce007b5c7eb88a983633ee4",
      "parents": [
        "f3016fa591c788d6d545ef7907e24c8b5d788759"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Oct 13 23:03:15 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Oct 13 23:03:15 2010 -0600"
      },
      "message": "spi/topcliff: Fix uninitialized variable defect\n\nThis patch fixes the following build error introduced by commit\n65308c46, \"spi/topcliff: cleanup for style and conciseness\".\n\ndrivers/spi/spi_topcliff_pch.c: In function \u0027pch_spi_process_messages\u0027:\ndrivers/spi/spi_topcliff_pch.c:752: warning: \u0027data\u0027 is used uninitialized in\n+this function\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n\n"
    },
    {
      "commit": "8b60d6c25b2a2d3525d5322de856c3ca408e5783",
      "tree": "2dd4c2c98f9facd87e052795ea79be0c734ec400",
      "parents": [
        "b36ece832512c1a0afa54ff0a56d63492a1caf08"
      ],
      "author": {
        "name": "Mingkai Hu",
        "email": "Mingkai.hu@freescale.com",
        "time": "Tue Oct 12 18:18:32 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:38:12 2010 -0600"
      },
      "message": "spi/fsl_spi: add eSPI controller support\n\nAdd eSPI controller support based on the library code spi_fsl_lib.c.\n\nThe eSPI controller is newer controller 85xx/Pxxx devices supported.\nThere\u0027re some differences comparing to the SPI controller:\n\n1. Has different register map and different bit definition\n   So leave the code operated the register to the driver code, not\n   the common code.\n\n2. Support 4 dedicated chip selects\n   The software can\u0027t controll the chip selects directly, The SPCOM[CS]\n   field is used to select which chip selects is used, and the\n   SPCOM[TRANLEN] field is set to tell the controller how long the CS\n   signal need to be asserted. So the driver doesn\u0027t need the chipselect\n   related function when transfering data, just set corresponding register\n   fields to controll the chipseclect.\n\n3. Different Transmit/Receive FIFO access register behavior\n   For SPI controller, the Tx/Rx FIFO access register can hold only\n   one character regardless of the character length, but for eSPI\n   controller, the register can hold 4 or 2 characters according to\n   the character lengths. Access the Tx/Rx FIFO access register of the\n   eSPI controller will shift out/in 4/2 characters one time. For SPI\n   subsystem, the command and data are put into different transfers, so\n   we need to combine all the transfers to one transfer in order to pass\n   the transfer to eSPI controller.\n\n4. The max transaction length limitation\n   The max transaction length one time is limitted by the SPCOM[TRANSLEN]\n   field which is 0xFFFF. When used mkfs.ext2 command to create ext2\n   filesystem on the flash, the read length will exceed the max value of\n   the SPCOM[TRANSLEN] field.\n\nSigned-off-by: Mingkai Hu \u003cMingkai.hu@freescale.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b36ece832512c1a0afa54ff0a56d63492a1caf08",
      "tree": "1c8a35d3dd485eb80a56355b5d5cb3bc4b4b2699",
      "parents": [
        "3272029fb33a88873b9b02224ebeb23bf3a4668e"
      ],
      "author": {
        "name": "Mingkai Hu",
        "email": "Mingkai.hu@freescale.com",
        "time": "Tue Oct 12 18:18:31 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:38:12 2010 -0600"
      },
      "message": "spi/mpc8xxx: refactor the common code for SPI/eSPI controller\n\nRefactor the common code in file spi_fsl_spi.c to spi_fsl_lib.c used\nby SPI/eSPI controller driver as a library, and leave the QE/CPM SPI\ncontroller code in the SPI controller driver spi_fsl_spi.c.\n\nBecause the register map of the SPI controller and eSPI controller\nis so different, also leave the code operated the register to the\ndriver code, not the common code.\n\nSigned-off-by: Mingkai Hu \u003cMingkai.hu@freescale.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "3272029fb33a88873b9b02224ebeb23bf3a4668e",
      "tree": "5a01a8506285fb418c1334019b5c37575b40c9d7",
      "parents": [
        "492c032beccd53f807811b6c14909630d409dd8c"
      ],
      "author": {
        "name": "Mingkai Hu",
        "email": "Mingkai.hu@freescale.com",
        "time": "Tue Oct 12 18:18:30 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:38:12 2010 -0600"
      },
      "message": "spi/mpc8xxx: rename spi_mpc8xxx.c to spi_fsl_spi.c\n\nThis will pave the way to refactor out the common code which can be used\nby the eSPI controller driver, and rename the SPI controller dirver to the\nfile spi_fsl_spi.c.\n\nSigned-off-by: Mingkai Hu \u003cMingkai.hu@freescale.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "492c032beccd53f807811b6c14909630d409dd8c",
      "tree": "208550c6ccecb8f1b4f85edb91702ca2bdef855e",
      "parents": [
        "f9d629c737cb6687216a0c540b5466a4bd8b070a",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:38:02 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:38:02 2010 -0600"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into spi/next\n"
    },
    {
      "commit": "f9d629c737cb6687216a0c540b5466a4bd8b070a",
      "tree": "d3bbbd872389b5fdc7f4b1ff42d5069d7e0df930",
      "parents": [
        "5a1c98be1de165c8ad1bd5343a5d779230669489"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Fri Oct 01 13:33:13 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:37:37 2010 -0600"
      },
      "message": "spi/pl022: fix dubious allocation staticize platform data\n\nThis removes some dubious allocation of a local chipinfo struct\nin favor of a constant preset, tagging that one const revealed\nfurther problems with platform data being modified so fixed up\nthese too.\n\nReported-by: Virupax Sadashivpetimath \u003cvirupax.sadashivpetimath@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5a1c98be1de165c8ad1bd5343a5d779230669489",
      "tree": "336a44e0397c55d08daad24f8f3a196d527ac364",
      "parents": [
        "bde435a9ca376d0b7809768ca803dbf14416b9c1"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Fri Oct 01 11:47:32 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:37:37 2010 -0600"
      },
      "message": "spi/pl022: get rid of chipinfo dev pointer\n\nWhat is the dev pointer doing inside the platform data anyway.\nWe have another pointer to the actual device at hand, use that.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "bde435a9ca376d0b7809768ca803dbf14416b9c1",
      "tree": "dd9678beb7c219922ad9b94db0e8f0a804ae2ab4",
      "parents": [
        "fadcf49b9bd7ec5fb69befbf477e747d5b6a0328"
      ],
      "author": {
        "name": "Kevin Wells",
        "email": "wellsk40@gmail.com",
        "time": "Thu Sep 16 06:18:50 2010 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:37:37 2010 -0600"
      },
      "message": "spi/pl022: Add spi-\u003emode support to AMBA SPI driver\n\nThis patch adds spi-\u003emode support for the AMBA pl022 driver and\nallows spidev to correctly alter SPI modes. Unused fields used in\nthe pl022 header file for the pl022_config_chip have been removed.\n\nThe ab8500 client driver selects the data transfer size instead\nof the platform data.\n\nFor platforms that use the amba pl022 driver, the unused fields\nin the controller data structure have been removed and the .mode\nfield in the SPI board info structure is used instead.\n\nSigned-off-by: Kevin Wells \u003cwellsk40@gmail.com\u003e\nTested-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "fadcf49b9bd7ec5fb69befbf477e747d5b6a0328",
      "tree": "3c5ac45f410e0e0046b05e814781aabf956a00a8",
      "parents": [
        "b1b6b9aa6fd32db97469e65d301ebc32dcd67992"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Fri Sep 24 12:17:32 2010 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:37:37 2010 -0600"
      },
      "message": "spi: change to new flag variable\n\nReplace EXTRA_CFLAGS with ccflags-y.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b1b6b9aa6fd32db97469e65d301ebc32dcd67992",
      "tree": "2a6f3f7d34a50a574854ea7495476f21fd6fcfce",
      "parents": [
        "cdbc8f042f4f2568bb58ba8bd50d0692f3059417"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Wed Sep 29 17:31:35 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:37:37 2010 -0600"
      },
      "message": "spi/pl022: add PrimeCell generic DMA support\n\nThis extends the PL022 SSP/SPI driver with generic DMA engine\nsupport using the PrimeCell DMA engine interface. Also fix up the\ntest code for the U300 platform.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "cdbc8f042f4f2568bb58ba8bd50d0692f3059417",
      "tree": "2e5ad5e835fb7afa014b0423d173c506e1aba707",
      "parents": [
        "65308c46b760bb2ccb043b47bb5f053dbb8d11b5"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Oct 08 12:56:13 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:37:37 2010 -0600"
      },
      "message": "spi/topcliff: Tidy up Kconfig help text\n\nThe original didn\u0027t specify Topcliff in the config prompt text.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "65308c46b760bb2ccb043b47bb5f053dbb8d11b5",
      "tree": "b1207bb74c3c8e04ac0dbe856b0b449011d7d19a",
      "parents": [
        "e8b17b5b3f30252b5470dbbf54bc251ddc7fac17"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 29 17:31:34 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Oct 12 21:37:37 2010 -0600"
      },
      "message": "spi/topcliff: cleanups for style and conciseness\n\nThis patch makes multiple cleanups to the new topcliff pch spi driver\nincluding, but not limited to,\n- removing superfluous brackets around variables\n- open coding functions that are only used once\n- removing unnecessary line breaks\n- removing unused functions\n- simplifying the interrupt enable/disable code\n- remove unnecessary (void *) casts.\n- remove b_mem_fail from pch_spi_set_tx to code it more cleanly\n- shorten dev_dbg() messages for conciseness and readability\n\nMore cleanups are still needed in this driver.  In particular,\n- the driver filename should be changed to spi_topcliff_pch.c\n- many of the dev_dbg() lines should be trimmed (particularly the ones\n  on unconditional code paths).\n- I suspect that the locking model not correct.  I\u0027d like to know what\n  drivers\u0027 critical regions are, and how they are protected.\n- get_resources and release_resources probably should be open coded in\n  .probe and .release respectively.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "c9ee46a910f6edb40ddb7fb9aeac0030057c6fdb",
      "tree": "eede22c95d61618360b6059e082f579cbe681e2b",
      "parents": [
        "4fa046655b80e9bb361a95da5c86ce778f5018b9",
        "81490fcdf406f42fff9d9f57d541788f90242885"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Oct 11 17:30:44 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Oct 11 17:30:44 2010 +0100"
      },
      "message": "Merge branch \u0027for-rmk-next\u0027 of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable\n"
    },
    {
      "commit": "6ff554e06869e970e6ef2c4d44ea43315917d22c",
      "tree": "eeadd8cf15f3ed4f1d39a3b3b647bee5371a67ca",
      "parents": [
        "4b5ee7a7689e3551f304b9154ecadbb0c3ae292f"
      ],
      "author": {
        "name": "David Jander",
        "email": "david@protonic.nl",
        "time": "Fri Oct 08 11:24:01 2010 +0200"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Mon Oct 11 16:12:22 2010 +0200"
      },
      "message": "spi/imx: Support different fifo sizes\n\nThe i.MX51 ECSPI has a fifo size of 64 entries instead of 8 entries as\nfound on the other cspi bus devices.\n\nCc: Jason Wang \u003cjason77.wang@gmail.com\u003e\nSigned-off-by: David Jander \u003cdavid@protonic.nl\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "e8b17b5b3f30252b5470dbbf54bc251ddc7fac17",
      "tree": "87792eec89f73e15210938a586abeea061ed12be",
      "parents": [
        "0c92ecf10d9fb80b1798d2a9adfdea17f8f5e6d9"
      ],
      "author": {
        "name": "Masayuki Ohtake",
        "email": "masa-korg@dsn.okisemi.com",
        "time": "Fri Oct 08 12:44:49 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Oct 08 12:44:49 2010 -0600"
      },
      "message": "spi/topcliff: Add topcliff platform controller hub (PCH) spi bus driver\n\nTopcliff PCH is the platform controller hub that is going to be used\nin Intel\u0027s upcoming general embedded platform. All IO peripherals in\nTopcliff PCH are actually devices sitting on AMBA bus.  This patch\nadds a driver for the SPI bus integrated into the Topcliff device.\n\nSigned-off-by: Masayuki Ohtake \u003cmasa-korg@dsn.okisemi.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": "23699f98f84f20195fddd0263d05a8ccb8694676",
      "tree": "a6e1e9dd79d835caf8d2d39f4327ae559b2932df",
      "parents": [
        "37880c909c6a22674d3c0f83f2737264b4e60fe1"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sat Oct 02 14:03:32 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Oct 02 21:09:08 2010 -0600"
      },
      "message": "spi: spi-gpio.c tests SPI_MASTER_NO_RX bit twice, but not SPI_MASTER_NO_TX\n\nThe SPI_MASTER_NO_TX bit (can\u0027t do buffer write) wasn\u0027t tested.  This\ncode was introduced in commit 3c8e1a84 (spi/spi-gpio: add support for\ncontrollers without MISO or MOSI pin).  This patch fixes a bug in\nchoosing which transfer ops to use.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "0b599603d8534bc3946a0f07e461c76d7947dfcf",
      "tree": "18d5b7a0279f54f2f939b1399aca5f443cbc431f",
      "parents": [
        "3b2aa89eb381d2f445aa3c60d8f070a3f55efa63"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Sep 09 21:02:48 2010 +0200"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri Oct 01 09:32:13 2010 +0200"
      },
      "message": "spi/imx: add support for imx51\u0027s eCSPI and CSPI\n\ni.MX51 comes with two eCSPI interfaces (that are quite different from\nwhat was known before---the tried and tested Freescale way) and a CSPI\ninterface that is identical to the devices found on i.MX25 and i.MX35.\n\nThis patch is a merge of two very similar patches (by Jason Wang and Sascha\nHauer resp.) plus a (now hopefully correct) reimplementation of the\nclock calculation.\n\nAcked-by: Jason Wang \u003cjason77.wang@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "3b2aa89eb381d2f445aa3c60d8f070a3f55efa63",
      "tree": "933462cf29056bd56b12e9747e6e117b28174c25",
      "parents": [
        "1723e66b03c3d131d16f7646752c9782c66ea1ae"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Sep 10 09:42:29 2010 +0200"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri Oct 01 09:32:13 2010 +0200"
      },
      "message": "spi/imx: save the spi chip select in config struct, not the gpio to use\n\nThis prepares adding support for imx51\u0027s eCSPI.  This IP has seperate\ncontrol and config bits for all four supported chip selects, so the\nconfig routine needs to know which chip select is being used even if\nthe chipselect is realized by a gpio.\n\nAcked-by: Jason Wang \u003cjason77.wang@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "1723e66b03c3d131d16f7646752c9782c66ea1ae",
      "tree": "dbb87a7bfe53705bdfc5a4121d7aac30b7c92897",
      "parents": [
        "f4ba6315cb77a5dcff6664ce1d66ebfe31bcc6b1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Sep 10 09:19:18 2010 +0200"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri Oct 01 09:32:12 2010 +0200"
      },
      "message": "spi/imx: get rid of more ifs depending on the used cpu\n\nNearly everything that is needed is provided by the version of the SPI IP.\nNow the only checks left using cpu_is_... are clk divider tuning on mx21/mx27\nand autodetection (which will die soon).\n\nAcked-by: Jason Wang \u003cjason77.wang@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "f4ba6315cb77a5dcff6664ce1d66ebfe31bcc6b1",
      "tree": "c0c99772309192bf7c5eb120fe7f0ea8af1dc160",
      "parents": [
        "e89524d33deb55de28b4ab171e4b0f89d46b2d4e"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Sep 09 15:29:01 2010 +0200"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri Oct 01 09:32:11 2010 +0200"
      },
      "message": "spi/imx: convert driver to use platform ids\n\nThis has the advantage not to need to much cpu_is_... macros.  Still more\nwhen imx51 support is added which has two different spi interfaces which\nwould introduce additional checks on the device id.\n\nWith this setup it\u0027s not possible for the compiler anymore to detect the\nunused functions, so four additional kconfig symbols are introduced to\nifdef out the unneeded functions in the callback array and all these\nfunctions are marked with __maybe_unused to suppress the corresponding\ngcc warnings.\n\nComparing the driver footprint with and without the patch for a mx27\nkernel yields:\n\nadd/remove: 2/0 grow/shrink: 2/0 up/down: 280/0 (280)\nfunction                                     old     new   delta\nspi_imx_devtype                                -     192    +192\nspi_imx_probe                                980    1032     +52\nspi_imx_devtype_data                           -      32     +32\nspi_imx_setupxfer                            276     280      +4\n\nLater when the platform code is updated to use the platform ids, the\nautodetection can be removed which will make the driver a bit smaller\nagain.  (~60 Bytes in my test.)\n\nAcked-by: Jason Wang \u003cjason77.wang@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "e89524d33deb55de28b4ab171e4b0f89d46b2d4e",
      "tree": "be991d246d99fd93841274262339e32ba8568578",
      "parents": [
        "77a406da5a5b76445a816d5f043fc9aef4026ff1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Sep 09 11:12:12 2010 +0200"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri Oct 01 09:32:10 2010 +0200"
      },
      "message": "spi/imx: default to m on platforms that have such devices\n\nAcked-by: Jason Wang \u003cjason77.wang@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "0c92ecf10d9fb80b1798d2a9adfdea17f8f5e6d9",
      "tree": "d8b4f864e8d037542301be4088fd0048e46d2097",
      "parents": [
        "b42a81ca0fa7b3b442a0731ffc4e7db44464b5f2"
      ],
      "author": {
        "name": "Jassi Brar",
        "email": "jassi.brar@samsung.com",
        "time": "Wed Sep 29 17:31:33 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 29 17:31:33 2010 +0900"
      },
      "message": "spi/s3c64xx: Correction for 16,32 bits bus width\n\nWe can\u0027t do without setting channel and bus width to\nsame size. In order to do that, use loop read/writes in\npolling mode and appropriate burst size in DMA mode.\n\nSigned-off-by: Jassi Brar \u003cjassi.brar@samsung.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b42a81ca0fa7b3b442a0731ffc4e7db44464b5f2",
      "tree": "3f435d56cbb27cf47ca9fb8bc354a8d3f7f9373c",
      "parents": [
        "e02ddd442a532c73e547ae3735c8012e3bd719a5"
      ],
      "author": {
        "name": "Jassi Brar",
        "email": "jassi.brar@samsung.com",
        "time": "Wed Sep 29 17:31:33 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 29 17:31:33 2010 +0900"
      },
      "message": "spi/s3c64xx: Consider the clk_from_cmu flag\n\nNewer SoCs have the SPI clock scaling control in platform\u0027s\nclock management unit. Inorder for such SoCs to work, we need\nto check the flag clk_from_cmu before making any clock changes.\n\nSigned-off-by: Jassi Brar \u003cjassi.brar@samsung.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "e02ddd442a532c73e547ae3735c8012e3bd719a5",
      "tree": "68343f5c171c15286c275d40dd2bc2577daa5845",
      "parents": [
        "4a4fd47155ac49b62de5177a780c245e967752f3"
      ],
      "author": {
        "name": "Jassi Brar",
        "email": "jassi.brar@samsung.com",
        "time": "Wed Sep 29 17:31:31 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 29 17:31:31 2010 +0900"
      },
      "message": "spi/s3c64xx: Prevent unnecessary map-unmap\n\nSince we use DMA mode only for xfers bigger than FIFO size,\ndo not map/unmap buffers for polling mode transfers.\n\nSigned-off-by: Jassi Brar \u003cjassi.brar@samsung.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "4a4fd47155ac49b62de5177a780c245e967752f3",
      "tree": "ab6fb77775382247056d1dff975db326541d2432",
      "parents": [
        "e447d3588e1c5944f607083cb509663f8015d420"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Sep 29 17:31:30 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 29 17:31:30 2010 +0900"
      },
      "message": "spi/amba-pl022: Fix error case return statement.\n\nThe return -EINVAL appears to only make sense if the if branch that it is\naligned with is taken, and the indentation indicates that this is the\nauthors intent, so move it into that branch.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r disable braces4@\nposition p1,p2;\nstatement S1,S2;\n@@\n\n(\nif (...) { ... }\n|\nif (...) S1@p1 S2@p2\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nif (p1[0].column \u003d\u003d p2[0].column):\n  cocci.print_main(\"branch\",p1)\n  cocci.print_secs(\"after\",p2)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "e447d3588e1c5944f607083cb509663f8015d420",
      "tree": "66e90d9ec1e6579f8e014384664791dfeb2d6cca",
      "parents": [
        "079a176d87a4da4cb18864c54d3932131e11e229"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Sep 29 17:31:29 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 29 17:31:29 2010 +0900"
      },
      "message": "spi/orion: Drop unnecessary null test\n\nlist_for_each_entry binds its first argument to a non-null value, and thus\nany null test on the value of that argument is superfluous.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\niterator I;\nexpression x,E;\n@@\n\nI(x,...) { \u003c...\n- (x !\u003d NULL) \u0026\u0026\n  E\n  ...\u003e }\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "079a176d87a4da4cb18864c54d3932131e11e229",
      "tree": "8e4b0c96174840ab831994d424783ddd55661988",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "felipe.balbi@nokia.com",
        "time": "Wed Sep 29 17:31:29 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 29 17:31:29 2010 +0900"
      },
      "message": "spi: omap2_mcspi: make use of dev_vdbg()\n\ndev_vdbg() is only compiled when VERBOSE is defined, so\nthere\u0027s no need to wrap dev_dbg() on #ifdef VERBOSE .. #endif\nas we can use dev_vdbg() directly.\n\nSigned-off-by: Felipe Balbi \u003cfelipe.balbi@nokia.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "37880c909c6a22674d3c0f83f2737264b4e60fe1",
      "tree": "afb1c3738a0b8280db309cfc7c243ca556e8062f",
      "parents": [
        "9c03f1622af051004416dd3e24d8a0fa31e34178"
      ],
      "author": {
        "name": "christophe leroy",
        "email": "christophe.leroy@c-s.fr",
        "time": "Thu Sep 16 09:05:25 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Sep 16 14:07:45 2010 -0600"
      },
      "message": "spi/mpc8xxx: fix buffer overrun on large transfers\n\nIt fixes an issue when sending-only or receiving-only more than\nPAGE_SIZE bytes.\n\nSigned-off-by: christophe leroy \u003cchristophe.leroy@c-s.fr\u003e\nAcked-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "25c8e03bdb769dfe2381f8b7942f05b0eb4bdf31",
      "tree": "e75b237194b51c3df7101ca27e751c8fed828ffa",
      "parents": [
        "05f25abcf6043952fb2a2d98735dec58ba1fcadb"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Mon Sep 06 11:02:12 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 22:50:10 2010 -0600"
      },
      "message": "spi/pl022: move probe call to subsys_initcall()\n\nThe PL022 SPI bus is sometimes used for early stuff like\nregulators that need to be present at module_init() time, so\nwe move this to a subsys_initcall().\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "545074fb953e1753f6b8409db533ad7998789efb",
      "tree": "fbe97a2d3cc26c425edbe21e33fc72d03c0e8a33",
      "parents": [
        "be7852a839b6dcd86db1a2d25b9a1a99f38db2db"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Sat Aug 21 11:07:36 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 12:24:30 2010 -0600"
      },
      "message": "spi/pl022: fix APB pclk power regression on U300\n\nWith the introduction of an AMBA PrimeCell per-cell block clock,\nthe pclk was left on after probe() unless explicitly disabled.\nThis clock is wired to the same clock on PL022 causing it to stay\nalways on since.\n\nFix this up properly by clocking the pclk whenever we want to\nwrite into any PL022 registers and clocking the external clock\nwhenever we want to transmit messages on the bus.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nTested-by : Kevin Wells \u003cwellsk40@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "be7852a839b6dcd86db1a2d25b9a1a99f38db2db",
      "tree": "9ecd429f529c524bae5bd2bbdfe47364a4cbe106",
      "parents": [
        "c3f139b65585a5f29df47b2302ff8dbd9bdad0b0"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 23 17:40:56 2010 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 12:23:03 2010 -0600"
      },
      "message": "spi/spi_s3c64xx: Warn if PIO transfers time out\n\nWhen using PIO we have a timeout for the TX and RX FIFOs to ensure that\nthe data actually gets transferred. Warn if we hit that timeout - it\nshould never happen, but this makes sure we\u0027ll find out if it does.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Jassi Brar \u003cjassi.brar@samsung.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "c3f139b65585a5f29df47b2302ff8dbd9bdad0b0",
      "tree": "8cda25941c59391020440309c1a642eee7943de4",
      "parents": [
        "251ee478f2c877a9a80362e094c542fbac7f5651"
      ],
      "author": {
        "name": "Jassi Brar",
        "email": "jassi.brar@samsung.com",
        "time": "Fri Sep 03 10:36:46 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 12:05:02 2010 -0600"
      },
      "message": "spi/s3c64xx: Fix incorrect reuse of \u0027val\u0027 local variable.\n\nInstead of, wrongly, reusing the \u0027val\u0027 variable, use a dedicated\none for reading the status register.\n\nSigned-off-by: Jassi Brar \u003cjassi.brar@samsung.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "251ee478f2c877a9a80362e094c542fbac7f5651",
      "tree": "136929d46d1a97eff3bc1c286c15d0c915b4a717",
      "parents": [
        "e3e55ff5854655d8723ad8b307f02515aecc3df5"
      ],
      "author": {
        "name": "Jassi Brar",
        "email": "jassi.brar@samsung.com",
        "time": "Fri Sep 03 10:36:26 2010 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 12:03:45 2010 -0600"
      },
      "message": "spi/s3c64xx: Fix compilation warning\n\nFix compilation warning by typecasting the tx_buf pointer.\n\n[I\u0027m not thrilled with resorting to a cast; but I cannot see a better\nway to go about this.  I don\u0027t want to drop the const from struct\nspi_transfer ~~glikely]\n\nSigned-off-by: Jassi Brar \u003cjassi.brar@samsung.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "e3e55ff5854655d8723ad8b307f02515aecc3df5",
      "tree": "7c30c2c00b7c8f8ce9a95d371b3ccd1408188d7f",
      "parents": [
        "cbcc062abb16d39839b3d8d4e3d20360fc21eb58"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Sep 07 15:52:06 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 10:50:00 2010 -0600"
      },
      "message": "spi/dw_spi: clean the cs_control code\n\ncommit 052dc7c45i \"spi/dw_spi: conditional transfer mode change\"\nintroduced cs_control code, which has a bug by using bit offset\nfor spi mode to set transfer mode in control register. Also it\nforces devices who don\u0027t need cs_control to re-configure the\ncontrol registers for each spi transfer. This patch will fix them\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "cbcc062abb16d39839b3d8d4e3d20360fc21eb58",
      "tree": "8ce802ede9dd14760e9426a75c2c95c4ce2b9474",
      "parents": [
        "9d8f86b56093d7b06d81d4063d5b9a4cbf887e75"
      ],
      "author": {
        "name": "Yong Wang",
        "email": "yong.y.wang@linux.intel.com",
        "time": "Tue Sep 07 15:27:27 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 10:49:50 2010 -0600"
      },
      "message": "spi/dw_spi: Allow interrupt sharing\n\nAllow interrupt sharing since exclusive interrupt line for\nDW SPI controller is not provided on every platform.\n\nSigned-off-by: Yong Wang \u003cyong.y.wang@intel.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "9d8f86b56093d7b06d81d4063d5b9a4cbf887e75",
      "tree": "cb08f02760fb6cc5c34f7b1bdbb54aad0e001a70",
      "parents": [
        "d2a787fc57142ba8757142f1569603b4d0b714a4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Sep 07 16:37:52 2010 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 10:00:15 2010 -0600"
      },
      "message": "spi/spi_s3c64xx: Increase dead reckoning time in wait_for_xfer()\n\nFor small transfers at high speeds the expected transfer time can easily\nbe well under 1ms, causing the delay in wait_for_xfer() to be only the\ndead reckoning fudge factor of 5ms currently included. Experiments on\nsome of my systems shows that this is marginal for some transfers so\ndouble it to 10ms.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Jassi Brar \u003cjassi.brar@samsung.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "d2a787fc57142ba8757142f1569603b4d0b714a4",
      "tree": "1d7a4ade056244b48f9d6957262a7d94c0b6fee1",
      "parents": [
        "34860089c9e8abcc77428d29743b37ff756197e7"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Sep 07 11:29:17 2010 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 08 09:59:37 2010 -0600"
      },
      "message": "spi/spi_s3c64xx: Move to subsys_initcall()\n\nAllow the use of the S3C64xx SPI controller with things like PMICs by\nmoving the init up to subsys_initcall().\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Jassi Brar \u003cjassi.brar@samsung.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": "8944f4f3d9695e04f7091ab61da9aab7a4be5846",
      "tree": "a78a9f4915c3dc3534c69e2338e46a423b90891f",
      "parents": [
        "cc0fc0bbeb17dd33ed7bfea58d0178e9c007ff67"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Sep 01 08:55:23 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 01 08:55:23 2010 -0600"
      },
      "message": "spi/spi_s3c64xx: Staticise non-exported functions\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Jassi Brar \u003cjassisinghbrar@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "cc0fc0bbeb17dd33ed7bfea58d0178e9c007ff67",
      "tree": "e659a873a4095b594d21aa38ccbd415498aa7961",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Sep 01 08:55:22 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Sep 01 08:55:22 2010 -0600"
      },
      "message": "spi/spi_s3c64xx: Make probe more robust against missing board config\n\nThe S3C64xx SPI driver requires the machine to call s3c64xx_spi_set_info()\nto select a few options, including the clock to use for the SPI controller.\nIf this is not done then a NULL will be passed as the clock name for\nclk_get(), causing an obscure crash. Guard against this and other missing\nconfiguration by validating that the clock name has been filled in in\nthe platform data that ets passed in.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5e1c53356d79591b10cdea12e3d5ebace8e7b6fa",
      "tree": "93f0c88c45884f90cb1e5ebd94a6a8f676479773",
      "parents": [
        "c7484cf467df44c0d478b0412dc01e71fbec7923"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@uclinux.org",
        "time": "Wed Jul 28 13:32:46 2010 +1000"
      },
      "committer": {
        "name": "Greg Ungerer",
        "email": "gerg@uclinux.org",
        "time": "Wed Aug 18 12:44:31 2010 +1000"
      },
      "message": "m68knommu: include sched.h in ColdFire/SPI driver\n\nUsing the coldfire qspi driver, I get the following error:\n\ndrivers/spi/coldfire_qspi.c: In function \u0027mcfqspi_irq_handler\u0027:\ndrivers/spi/coldfire_qspi.c:166: error: \u0027TASK_NORMAL\u0027 undeclared (first use in this function)\ndrivers/spi/coldfire_qspi.c:166: error: (Each undeclared identifier is reported only once\n\nIt is solved by adding the following include to coldfire_sqpi.c:\n\n    #include \u003clinux/sched.h\u003e\n\nFix suggested by Jate Sujjavanich \u003cjsujjavanich@syntech-fuelmaster.com\u003e\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\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": "2dc11581376829303b98eadb2de253bee065a56a",
      "tree": "dbce62559c822cd720d1819a50c488bfecdfa945",
      "parents": [
        "fc1caf6eafb30ea185720e29f7f5eccca61ecd60"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Aug 06 09:25:50 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Aug 06 09:25:50 2010 -0600"
      },
      "message": "of/device: Replace struct of_device with struct platform_device\n\nof_device is just an alias for platform_device, so remove it entirely.  Also\nreplace to_of_device() with to_platform_device() and update comment blocks.\n\nThis patch was initially generated from the following semantic patch, and then\nedited by hand to pick up the bits that coccinelle didn\u0027t catch.\n\n@@\n@@\n-struct of_device\n+struct platform_device\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nReviewed-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22ae782f86b726f9cea752c0f269ff6dcdf2f6e1",
      "tree": "9458a01b24d65fa2eab27ad5bdb2fa399b3c389f",
      "parents": [
        "12b15e83289bc7cf2ec9a342412e0c955beeb395"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 29 11:49:01 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Aug 01 01:42:42 2010 -0600"
      },
      "message": "of/address: Clean up function declarations\n\nThis patch moves the declaration of of_get_address(), of_get_pci_address(),\nand of_pci_address_to_resource() out of arch code and into the common\nlinux/of_address header file.\n\nThis patch also fixes some of the asm/prom.h ordering issues.  It still\nincludes some header files that it ideally shouldn\u0027t be, but at least the\nordering is consistent now so that of_* overrides work.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b4225885deb569f7afcf1f3a9f069f74cc9db591",
      "tree": "1b3be177f36aa6babffc3e89994824f6bc60987e",
      "parents": [
        "5ffdcd94ea0171cf9a3ca63051c2246426103b5b"
      ],
      "author": {
        "name": "Kevin Wells",
        "email": "kevin.wells@nxp.com",
        "time": "Tue Jul 27 16:39:30 2010 +0000"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Aug 01 01:35:29 2010 -0600"
      },
      "message": "spi/amba_pl022: Fix probe and remove hook section annotations.\n\nProbe and remove hooks belong in the __devinit and __devexit sections\nrespectively.  This patch fixes incorrect annotations on the pl022 spi\ndriver.\n\nSigned-off-by: Kevin Wells \u003cwellsk40@gmail.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\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": "5ffdcd94ea0171cf9a3ca63051c2246426103b5b",
      "tree": "dfa1522796d5af649caf64ac6e2f1e69119e85d0",
      "parents": [
        "cf40f082f8d3a98e28af02af20d00d2500eb6a65",
        "b37fa16e78d6f9790462b3181602a26b5af36260"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jul 25 17:52:21 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jul 25 17:52:21 2010 -0600"
      },
      "message": "Merge commit \u0027v2.6.35-rc6\u0027 into spi/test\n"
    },
    {
      "commit": "56825c88ff438f4dbb51a44591cc29e707fe783a",
      "tree": "766611bf5fa245863eeabfbe011991bf9b3eaf5c",
      "parents": [
        "e467e104bb7482170b79f516d2025e7cfcaaa733"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@mvista.com",
        "time": "Thu Jul 08 21:16:10 2010 +0400"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Sun Jul 11 11:03:22 2010 -0500"
      },
      "message": "powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue)\n\nspi_t was removed in commit 644b2a680ccc51a9ec4d6beb12e9d47d2dee98e2\n(\"powerpc/cpm: Remove SPI defines and spi structs\"), the commit assumed\nthat spi_t isn\u0027t used anywhere outside of the spi_mpc8xxx driver. But\nit appears that the struct is needed for micropatch code. So, let\u0027s\nreintroduce the struct.\n\nFixes the following build issue:\n\n    CC      arch/powerpc/sysdev/micropatch.o\n  micropatch.c: In function \u0027cpm_load_patch\u0027:\n  micropatch.c:629: error: expected \u0027\u003d\u0027, \u0027,\u0027, \u0027;\u0027, \u0027asm\u0027 or \u0027__attribute__\u0027 before \u0027*\u0027 token\n  micropatch.c:629: error: \u0027spp\u0027 undeclared (first use in this function)\n  micropatch.c:629: error: (Each undeclared identifier is reported only once\n  micropatch.c:629: error: for each function it appears in.)\n\nReported-by: LEROY Christophe \u003cchristophe.leroy@c-s.fr\u003e\nReported-by: Tony Breeds \u003ctony@bakeyournoodle.com\u003e\nCc: \u003cstable@kernel.org\u003e [ .33, .34 ]\nSigned-off-by: Anton Vorontsov \u003cavorontsov@mvista.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "cf40f082f8d3a98e28af02af20d00d2500eb6a65",
      "tree": "8301ec15b211c9d5647f629777d539ece23e8688",
      "parents": [
        "b8f2e7bb6cff43efc4fa753761357cc7b7b13d26"
      ],
      "author": {
        "name": "Anatolij Gustschin",
        "email": "agust@denx.de",
        "time": "Mon Jul 05 12:17:51 2010 +0200"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Jul 05 11:34:07 2010 -0600"
      },
      "message": "spi/mpc5121: change annotations for probe and remove functions\n\nChange annotations from __init/__exit to __devinit/__devexit\nto get rid of section mismatch warning.\n\nSigned-off-by: Anatolij Gustschin \u003cagust@denx.de\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b8f2e7bb6cff43efc4fa753761357cc7b7b13d26",
      "tree": "2be2618cc284340aac1d2171159ae5f0628c55e4",
      "parents": [
        "3c8e1a84fd6b984a7bce8816db2e3defc57bbfe4"
      ],
      "author": {
        "name": "Brian Niebuhr",
        "email": "bniebuhr3@gmail.com",
        "time": "Fri Jul 02 15:30:17 2010 +0000"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jul 03 22:59:18 2010 -0600"
      },
      "message": "spi/bitbang: reinitialize transfer parameters for every message\n\nThis patch fixes the setup_transfer logic to account for the case where\nmultiple messages to different SPI devices are in the queue simultaneously.\nWith the current logic, the second message in the queue will end up\nusing the transfer parameters for the previous message in the queue.\n\nThe fix is to reinitialize the transfer parameters for each message\nrather than only once on the first message.\n\nSigned-off-by: Brian Niebuhr \u003cbniebuhr@efjohnson.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "3c8e1a84fd6b984a7bce8816db2e3defc57bbfe4",
      "tree": "52761ad5f2229d0b176ca36b7107a0ec43e1168f",
      "parents": [
        "04bb2a031cf95b34b7432dd47b318a932a895b4c"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Wed Jun 30 14:27:37 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jul 03 22:45:44 2010 -0600"
      },
      "message": "spi/spi-gpio: add support for controllers without MISO or MOSI pin\n\nThere are some boards that do not strictly follow SPI standard and use\nonly 3 wires (SCLK, MOSI or MISO, SS) for connecting some simple auxiliary\nchips and controls them with GPIO based \u0027spi controller\u0027. In this\nconfiguration the MISO or MOSI line is missing (it is not required if the\nchip does not transfer any data back to host or host only reads data from\nchip).\n\nThis patch adds support for such non-standard configuration in GPIO-based\nSPI controller. It has been tested in configuration without MISO pin.\n\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "04bb2a031cf95b34b7432dd47b318a932a895b4c",
      "tree": "d5c831a56c01b4a357450abae47f1afe8d61de34",
      "parents": [
        "5c2818cdfad1973ede3dcd2a8709620a192f8385"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Wed Jun 30 14:27:32 2010 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jul 03 22:45:44 2010 -0600"
      },
      "message": "spi/bitbang: add support for SPI_MASTER_NO_{TX, RX} modes\n\nThis patch adds a new flags argument to bitbang_txrx_be_cpha0 and\nbitbang_txrx_be_cpha1 transfer functions. This enables support for\nSPI_MASTER_NO_{TX,RX} transfer modes. The change should have no impact\non speed of the existing drivers. bitbank_txrx_* functions are usually\ninlined into the drivers. When the argument is equal to constant zero,\nthe optimizer would be able to eliminate the dead code (flags checks)\neasily. Tested on ARM and GCC 4.4.x and in all cases the checks were\neliminated in the inlined function.\n\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5c2818cdfad1973ede3dcd2a8709620a192f8385",
      "tree": "c23de1403063aaff5e489636bee97ef7715514a8",
      "parents": [
        "4751c1c74bc7b596db5de0c93be1a22a570145c0"
      ],
      "author": {
        "name": "Cory Maccarrone",
        "email": "darkstar6262@gmail.com",
        "time": "Sun May 30 00:12:23 2010 +0000"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jul 03 22:45:44 2010 -0600"
      },
      "message": "SPI100k: Fix 8-bit and RX-only transfers\n\nThis change fixes 8-bit transfers and RX-only transfers.  The\nSPI100k framework requires minimum 16-bit words to be written, so 8-bit\ntransfers must be shited by 8 bits and sent out as a 16-bit word.\n\nAdditionally, receive-only transfers were failing due to the\nperceived need to fill the TX buffer with something.  This is in\nfact not needed.\n\nSigned-off-by: Cory Maccarrone \u003cdarkstar6262@gmail.com\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"
    }
  ],
  "next": "ef7f2e831c3a563505c9bc5b16ef4bcae3cf4b53"
}
