linux/drivers/spi
Rafał Miłecki 3a41092709
spi: bcm53xx: simplify reading SPI data
This commit makes transfer function use spi_transfer_is_last to
determine if currently processed transfer is the last one. Thanks to
that we finally set hardware registers properly and it makes controller
behave the way it's expected to.

This allows simplifying read function which can now simply start reading
from the slot 0 instead of the last saved offset. It has been
successfully tested using spi_write_then_read.

Moreover this change fixes handling messages with two writing transfers.
It's important for SPI flash devices as their drivers commonly use one
transfer for a command and another one for data.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03 11:39:16 +00:00
..
Kconfig Merge remote-tracking branches 'spi/topic/sh-msiof', 'spi/topic/slave', 'spi/topic/spreadtrum' and 'spi/topic/tegra114' into spi-next 2017-11-10 21:33:51 +00:00
Makefile Merge remote-tracking branches 'spi/topic/sh-msiof', 'spi/topic/slave', 'spi/topic/spreadtrum' and 'spi/topic/tegra114' into spi-next 2017-11-10 21:33:51 +00:00
spi-adi-v3.c
spi-altera.c spi: altera: Consolidate TX/RX data register access 2017-08-16 11:53:31 +01:00
spi-armada-3700.c spi: a3700: Change SPI mode before asserting chip-select 2017-10-10 10:17:06 +01:00
spi-ath79.c spi/ath79: Fix checkpatch warnings 2017-07-17 12:09:38 +01:00
spi-atmel.c Merge remote-tracking branches 'spi/topic/atmel', 'spi/topic/bcm63xx', 'spi/topic/davinci' and 'spi/topic/imx' into spi-next 2017-07-03 16:21:06 +01:00
spi-au1550.c
spi-axi-spi-engine.c spi: spi-axi: fix potential use-after-free after deregistration 2017-10-31 11:15:10 +00:00
spi-bcm53xx.c spi: bcm53xx: simplify reading SPI data 2018-01-03 11:39:16 +00:00
spi-bcm53xx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spi-bcm63xx-hsspi.c Merge remote-tracking branches 'spi/topic/altera', 'spi/topic/at79', 'spi/topic/bcm-qspi', 'spi/topic/bcm63xx' and 'spi/topic/bcm63xx-hspi' into spi-next 2017-09-04 15:51:14 +01:00
spi-bcm63xx.c spi/bcm63xx: fix error return code in bcm63xx_spi_probe() 2017-08-08 11:36:35 +01:00
spi-bcm2835.c
spi-bcm2835aux.c
spi-bcm-qspi.c spi: bcm-qspi: Fix use after free in bcm_qspi_probe() in error path 2017-10-12 09:26:23 +01:00
spi-bcm-qspi.h spi: iproc-qspi: Add Broadcom iProc SoCs support 2016-09-24 20:03:25 +01:00
spi-bfin5xx.c
spi-bfin-sport.c
spi-bitbang-txrx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spi-bitbang.c
spi-brcmstb-qspi.c spi: brcmstb-qspi: Broadcom settop platform driver 2016-09-14 18:03:32 +01:00
spi-butterfly.c
spi-cadence.c spi: cadence: Add support for context loss 2017-08-08 10:43:41 +01:00
spi-cavium-octeon.c spi: octeon: Split driver into Octeon specific and common parts 2016-07-24 21:54:29 +01:00
spi-cavium-thunderx.c spi: spi-cavium-thunderx: Add missing clk_disable_unprepare() 2016-08-24 12:37:43 +01:00
spi-cavium.c spi: octeon: Split driver into Octeon specific and common parts 2016-07-24 21:54:29 +01:00
spi-cavium.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spi-clps711x.c spi: clps711x: Driver refactor 2016-07-07 11:44:43 +02:00
spi-coldfire-qspi.c
spi-davinci.c spi: davinci: Handle return value of clk_prepare_enable 2017-06-06 19:36:45 +01:00
spi-dln2.c
spi-dw-mid.c spi: dw-mid: switch to new dmaengine_terminate_* API (part 2) 2017-01-04 12:27:00 +00:00
spi-dw-mmio.c spi: dw: Disable clock after unregistering the host 2017-04-18 19:16:49 +01:00
spi-dw-pci.c
spi-dw.c spi: dw: Make debugfs use bus num and make irq name unique 2017-01-09 11:22:14 +00:00
spi-dw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spi-efm32.c
spi-ep93xx.c spi: spi-ep93xx: use the default master transfer queueing mechanism 2017-08-09 17:53:14 +01:00
spi-falcon.c spi: spi-falcon: drop check of boot select 2017-09-01 11:33:22 +01:00
spi-fsl-cpm.c
spi-fsl-cpm.h
spi-fsl-dspi.c spi: spi-fsl-dspi: enabling Coldfire mcf5441x dspi 2017-11-03 12:53:16 +01:00
spi-fsl-espi.c spi: fsl-espi: fix ioread16/iowrite16 endianness 2016-12-01 18:50:59 +00:00
spi-fsl-lib.c
spi-fsl-lib.h spi: fsl-espi: separate fsl-espi from fsl-lib completely 2016-11-14 11:21:48 +00:00
spi-fsl-lpspi.c spi: fsl-lpspi: fix indentation error 2017-01-09 19:34:02 +00:00
spi-fsl-spi.c Merge remote-tracking branches 'spi/topic/devprop', 'spi/topic/fsl', 'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/lantiq' into spi-next 2017-04-26 15:58:04 +01:00
spi-fsl-spi.h
spi-gpio.c
spi-img-spfi.c spi: img-spfi: Remove spi_master_put in img_spfi_remove() 2016-07-27 19:00:16 +01:00
spi-imx.c spi: imx: Don't require platform data chipselect array 2017-11-10 21:28:11 +00:00
spi-iproc-qspi.c spi: iproc-qspi: Add Broadcom iProc SoCs support 2016-09-24 20:03:25 +01:00
spi-jcore.c spi: jcore: Fix module autoload for OF registration 2016-11-23 16:42:20 +00:00
spi-lantiq-ssc.c Merge remote-tracking branches 'spi/topic/devprop', 'spi/topic/fsl', 'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/lantiq' into spi-next 2017-04-26 15:58:04 +01:00
spi-lm70llp.c
spi-loopback-test.c spi: loopback-test: implement testing with no CS 2017-07-26 13:08:56 +01:00
spi-lp8841-rtc.c
spi-meson-spicc.c spi: Add Meson SPICC driver 2017-05-24 18:19:25 +01:00
spi-meson-spifc.c spi: meson: Add GXBB compatible 2016-09-12 20:11:39 +01:00
spi-mpc52xx-psc.c
spi-mpc52xx.c spi/mpc52xx: Combine substrings for two messages 2017-01-17 18:28:19 +00:00
spi-mpc512x-psc.c
spi-mt65xx.c spi: mediatek: add spi support for mt2712 IC 2017-06-20 13:39:14 +01:00
spi-mxs.c spi: mxs: implement runtime pm 2017-09-27 10:02:57 -07:00
spi-nuc900.c
spi-oc-tiny.c
spi-omap2-mcspi.c spi: omap: Allocate bus number from spi framework 2017-08-18 12:15:41 +01:00
spi-omap-100k.c
spi-omap-uwire.c
spi-orion.c spi: orion: remove redundant assignment of status to zero 2017-11-02 13:03:53 +00:00
spi-pic32-sqi.c spi: pic32-sqi: use list_move_tail and list_move 2016-08-08 11:56:40 +01:00
spi-pic32.c spi: pic32: fix spelling mistakes on macro names 2017-07-26 13:04:21 +01:00
spi-pl022.c spi: pl022: constify amba_id 2017-08-23 17:12:05 +01:00
spi-ppc4xx.c spi/ppc4xx: Use kcalloc() in spi_ppc4xx_of_probe() 2017-01-17 18:34:25 +00:00
spi-pxa2xx-dma.c spi: pxa2xx: Remove pointer to chip data from driver data 2016-09-12 20:01:27 +01:00
spi-pxa2xx-pci.c spi: pca2xx-pci: Allow MSI 2017-01-23 18:09:37 +00:00
spi-pxa2xx.c spi: pxa2xx: Convert to GPIO descriptor API where possible 2017-08-04 12:41:55 +01:00
spi-pxa2xx.h spi: pxa2xx: Convert to GPIO descriptor API where possible 2017-08-04 12:41:55 +01:00
spi-qup.c spi: qup: fix 64-bit build warning 2017-08-10 15:50:23 +01:00
spi-rb4xx.c
spi-rockchip.c spi: rockchip: configure CTRLR1 according to size and data frame 2017-08-16 11:58:23 +01:00
spi-rspi.c spi: rspi: Use of_device_get_match_data() helper 2017-10-04 15:47:38 +01:00
spi-s3c24xx-fiq.h
spi-s3c24xx-fiq.S
spi-s3c24xx.c
spi-s3c64xx.c spi: s3c64xx: remove redundant pointer sci 2017-11-03 17:21:10 +00:00
spi-sc18is602.c spi: sc18is602: Add OF device ID table 2017-02-22 10:50:09 -08:00
spi-sh-hspi.c
spi-sh-msiof.c Merge remote-tracking branches 'spi/topic/sh-msiof', 'spi/topic/slave', 'spi/topic/spreadtrum' and 'spi/topic/tegra114' into spi-next 2017-11-10 21:33:51 +00:00
spi-sh-sci.c
spi-sh.c spi: spi-sh: fix error return code in spi_sh_probe() 2017-08-09 17:18:06 +01:00
spi-sirf.c spi: sirf: fix spelling mistake: "registerred" -> "registered" 2017-06-28 20:02:52 +01:00
spi-slave-system-control.c spi: slave: Add SPI slave handler controlling system state 2017-05-26 13:12:19 +01:00
spi-slave-time.c spi: slave: Add SPI slave handler reporting uptime at previous message 2017-05-26 13:12:04 +01:00
spi-sprd-adi.c spi: sprd: Fix the possible negative value of BIT() 2017-10-25 14:00:03 +02:00
spi-st-ssc4.c spi: st-ssc4: whitespace cleanup 2017-05-26 12:41:07 +01:00
spi-stm32.c spi: stm32: Fix logical error in stm32_spi_prepare_mbr() 2017-09-13 09:42:27 -07:00
spi-sun4i.c spi: sun4i: Allow transfers larger than FIFO size 2016-10-29 12:11:30 -06:00
spi-sun6i.c spi: sun6i: explicitly request exclusive reset control 2017-07-19 17:06:03 +01:00
spi-tegra20-sflash.c spi: tegra20-sflash: explicitly request exclusive reset control 2017-07-19 17:06:31 +01:00
spi-tegra20-slink.c spi: tegra20-slink: explicitly request exclusive reset control 2017-07-19 17:06:26 +01:00
spi-tegra114.c spi: tegra114: correct register name in definition 2017-10-09 10:16:38 +01:00
spi-test.h spi: loopback-test: add elapsed time check 2017-03-17 21:54:08 +00:00
spi-ti-qspi.c Merge remote-tracking branches 'spi/topic/ti-qspi' and 'spi/topic/xlp' into spi-next 2017-04-26 15:58:22 +01:00
spi-tle62x0.c
spi-topcliff-pch.c spi/topcliff-pch: Delete an error message for a failed memory allocation in pch_spi_set_tx() 2017-01-17 18:38:02 +00:00
spi-txx9.c spi: spi-txx9: Add missing clock (un)prepare calls for CCF 2016-08-18 19:10:39 +01:00
spi-xcomm.c
spi-xilinx.c spi: xilinx: Return IRQ_NONE if no interrupts were detected 2016-07-15 11:45:00 +01:00
spi-xlp.c spi: xlp: fix error return code in xlp_spi_probe() 2017-08-08 11:36:07 +01:00
spi-xtensa-xtfpga.c
spi-zynqmp-gqspi.c
spi.c Merge remote-tracking branch 'spi/topic/core' into spi-next 2017-11-10 21:33:43 +00:00
spidev.c Merge branch 'for-spi' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-08 10:41:53 -07:00