<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/spi, branch v4.1</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.1</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.1'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-05-11T16:29:49Z</updated>
<entry>
<title>Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and 'spi/fix/fsl-espi' into spi-linus</title>
<updated>2015-05-11T16:29:49Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2015-05-11T16:29:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c8b350424d1862619c311204290cd42bae4ebaa3'/>
<id>urn:sha1:c8b350424d1862619c311204290cd42bae4ebaa3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge tag 'spi-v4.1-rc1' into spi-linus</title>
<updated>2015-05-11T16:29:46Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2015-05-11T16:29:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bed5e4d8294249ea1f05dade879a51733484be42'/>
<id>urn:sha1:bed5e4d8294249ea1f05dade879a51733484be42</id>
<content type='text'>
spi: Fixes for v4.1

A few driver fixes plus two changes for the core, one to make the
setup_transfer() callback optional which fixes crashes in some drivers
which were updated to use new interfaces without apparent testing and
one to ensure we don't expose the data buffers we use for dummy
transfers to drivers which avoids potential issues with multiple
accesses to them or reuse.

# gpg: Signature made Sat 25 Apr 2015 10:59:47 BST using RSA key ID 5D5487D0
# gpg: key CD7BEEBC: no public key for trusted key - skipped
# gpg: key CD7BEEBC marked as ultimately trusted
# gpg: key AF88CD16: no public key for trusted key - skipped
# gpg: key AF88CD16 marked as ultimately trusted
# gpg: key 16005C11: no public key for trusted key - skipped
# gpg: key 16005C11 marked as ultimately trusted
# gpg: key 5621E907: no public key for trusted key - skipped
# gpg: key 5621E907 marked as ultimately trusted
# gpg: key 5C6153AD: no public key for trusted key - skipped
# gpg: key 5C6153AD marked as ultimately trusted
# gpg: Good signature from "Mark Brown &lt;broonie@sirena.org.uk&gt;"
# gpg:                 aka "Mark Brown &lt;broonie@debian.org&gt;"
# gpg:                 aka "Mark Brown &lt;broonie@kernel.org&gt;"
# gpg:                 aka "Mark Brown &lt;broonie@tardis.ed.ac.uk&gt;"
# gpg:                 aka "Mark Brown &lt;broonie@linaro.org&gt;"
# gpg:                 aka "Mark Brown &lt;Mark.Brown@linaro.org&gt;"
</content>
</entry>
<entry>
<title>spi: fsl-espi: fix behaviour for full-duplex xfers</title>
<updated>2015-04-25T13:00:09Z</updated>
<author>
<name>Jonatas Rech</name>
<email>jonatas.rech@datacom.ind.br</email>
</author>
<published>2015-04-15T15:23:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2000058e892cd6773b3061a56c0bd6535ac15afe'/>
<id>urn:sha1:2000058e892cd6773b3061a56c0bd6535ac15afe</id>
<content type='text'>
This patch makes possible for protocol drivers to do full-duplex SPI
transfers properly. Until now this driver could only be used for
half-duplex transfers, since it always expected an spi_transfer with
non-null tx_buf to be only used for TX, and those with non-null rx_buf
to be only used for RX.

The fix consists in correcting the fsl_espi_transfer length by taking
into consideration duplex spi_transfers, and not just by adding n_tx
and n_rx.

Furthermore, this correction has exposed an inconsistency in the
protocol driver &lt;-&gt; controller driver interaction. The spi-fsl-espi
driver artificially inserts TX bytes when message fragmentation is
necessary (due to SPCOM_TRANLEN_MAX) instead of informing the
protocol driver of the hardware limitation. This was tested with the
m25p80 NOR flash protocol driver. Since fixing this issue may cause
other client drivers to malfunction, it was left as is.

Signed-off-by: Jonatas Rech &lt;jonatas.rech@datacom.ind.br&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma</title>
<updated>2015-04-24T16:49:37Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-04-24T16:49:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d6a4c0e5d3d433ef296f8f417e835329a834a256'/>
<id>urn:sha1:d6a4c0e5d3d433ef296f8f417e835329a834a256</id>
<content type='text'>
Pull slave-dmaengine updates from Vinod Koul:

 - new drivers for:
        - Ingenic JZ4780 controller
        - APM X-Gene controller
        - Freescale RaidEngine device
        - Renesas USB Controller

  - remove device_alloc_chan_resources dummy handlers

  - sh driver cleanups for peri peri and related emmc and asoc patches
    as well

  - fixes and enhancements spread over the drivers

* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (59 commits)
  dmaengine: dw: don't prompt for DW_DMAC_CORE
  dmaengine: shdmac: avoid unused variable warnings
  dmaengine: fix platform_no_drv_owner.cocci warnings
  dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe()
  dmaengine: at_xdmac: unlock spin lock before return
  dmaengine: xgene: devm_ioremap() returns NULL on error
  dmaengine: xgene: buffer overflow in xgene_dma_init_channels()
  dmaengine: usb-dmac: Fix dereferencing freed memory 'desc'
  dmaengine: sa11x0: report slave capabilities to upper layers
  dmaengine: vdma: Fix compilation warnings
  dmaengine: fsl_raid: statify fsl_re_chan_probe
  dmaengine: Driver support for FSL RaidEngine device.
  dmaengine: xgene_dma_init_ring_mngr() can be static
  Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding
  arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes
  dmaengine: Add support for APM X-Gene SoC DMA engine driver
  dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver
  dmaengine: renesas,usb-dmac: Add device tree bindings documentation
  dmaengine: edma: fixed wrongly initialized data parameter to the edma callback
  dmaengine: ste_dma40: fix implicit conversion
  ...
</content>
</entry>
<entry>
<title>spi: fsl-spi: fix devm_ioremap_resource() error case</title>
<updated>2015-04-24T12:27:53Z</updated>
<author>
<name>Christophe Leroy</name>
<email>christophe.leroy@c-s.fr</email>
</author>
<published>2015-04-23T12:11:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=73ee39a4c944a11cfd6d43ba1f634da340bf5537'/>
<id>urn:sha1:73ee39a4c944a11cfd6d43ba1f634da340bf5537</id>
<content type='text'>
devm_ioremap_resource() doesn't return NULL but an ERR_PTR on error.

Reported-by: Jonas Gorsky &lt;jogo@openwrt.org&gt;
Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: Kconfig: Add SOC_LS1021A to SPI_FSL_DSPI dependence</title>
<updated>2015-04-24T12:25:36Z</updated>
<author>
<name>Haikun Wang</name>
<email>haikun.wang@freescale.com</email>
</author>
<published>2015-04-24T10:41:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=50574dd2f63ed0afc3b666da27eb7062d26a39c5'/>
<id>urn:sha1:50574dd2f63ed0afc3b666da27eb7062d26a39c5</id>
<content type='text'>
LS1021A chip also has the DSPI module.
Add it to the dependence.

Signed-off-by: Haikun Wang &lt;haikun.wang@freescale.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branches 'spi/fix/bcm2835', 'spi/fix/bcm2835-code', 'spi/fix/bitbang', 'spi/fix/fsl-cpm' and 'spi/fix/omap2-mcspi' into spi-linus</title>
<updated>2015-04-24T10:10:46Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2015-04-24T10:10:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5a1b11cbccda7680b6859a4648f7af16f30e79b4'/>
<id>urn:sha1:5a1b11cbccda7680b6859a4648f7af16f30e79b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>spi/omap2-mcpsi: Always call spi_finalize_current_message()</title>
<updated>2015-04-24T09:55:24Z</updated>
<author>
<name>Fionn Cleary</name>
<email>clearyf@tcd.ie</email>
</author>
<published>2015-04-23T19:13:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c5a06e75f38376238db6a38240bac4b27dfe5216'/>
<id>urn:sha1:c5a06e75f38376238db6a38240bac4b27dfe5216</id>
<content type='text'>
The spi queue waits forever for spi_finalize_current_message() to be
called, blocking the bus.  Ensure that all error paths from
omap2_mcspi_transfer_one_message() call spi_finalize_current_message().

Signed-off-by: Fionn Cleary &lt;fionn.cleary@streamunlimited.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: fsl-spi: use devm_ioremap_resource() to map parameter ram on CPM1</title>
<updated>2015-04-22T19:46:45Z</updated>
<author>
<name>Christophe Leroy</name>
<email>christophe.leroy@c-s.fr</email>
</author>
<published>2015-04-22T14:28:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=575bec53181526ed01c0936ec008e1b70f8f5f31'/>
<id>urn:sha1:575bec53181526ed01c0936ec008e1b70f8f5f31</id>
<content type='text'>
On CPM2, the SPI parameter RAM is dynamically allocated in the
dualport RAM whereas in CPM1, it is statically allocated to a default
address with capability to relocate it somewhere else via the use of
CPM micropatch. The address of the parameter RAM is given by the boot
loader and expected to be mapped via devm_ioremap_resource()

In the current implementation, in function fsl_spi_cpm_get_pram()
there is a confusion between the SPI_BASE register and the base of the
SPI parameter RAM. Fortunatly, it is working properly with MPC866 and
MPC885 because they do set SPI_BASE, but on MPC860 and other old
MPC8xx that doesn't set SPI_BASE, pram_ofs is not properly set.
Also, the parameter RAM is not properly mapped with
devm_ioremap_resource() as it should but still gets accessible by
chance through the full RAM which is mapped from somewhere else.

This patch applies to the SPI driver the same principle as for the
CPM UART: when the CPM is of type CPM1, we simply do an
devm_ioremap_resource() of the area provided via the device tree.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: bitbang: Make setup_transfer() callback optional</title>
<updated>2015-04-18T11:01:03Z</updated>
<author>
<name>Pelle Nilsson</name>
<email>per.nilsson@xelmo.com</email>
</author>
<published>2015-04-14T13:40:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7d0ec8b6f40b356f780b79de63eeafd6b907d68c'/>
<id>urn:sha1:7d0ec8b6f40b356f780b79de63eeafd6b907d68c</id>
<content type='text'>
Some controller drivers have no need of this callback (spi-altera even
causes a NULL pointer dereference because it doesn't register the callback,
falsely assuming that it is already optional).

Fixes: 30af9b558a56 ("spi/bitbang: Drop empty setup() functions")
Signed-off-by: Pelle Nilsson &lt;per.nilsson@xelmo.com&gt;
Reviewed-by: Ezequiel Garcia &lt;ezequiel.garcia@vanguardiasur.com.ar&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
