diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-25 16:20:36 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-25 16:20:36 -0500 |
| commit | 2d2e7d195b902c419bc0b69ced026aca444d69a8 (patch) | |
| tree | a4caa21b9db159873897d64b553042a1ae920ab5 /drivers/spi | |
| parent | 15333539a9b3022656f815f643a77f6b054b335f (diff) | |
| parent | 8b8b773e6b611e6629ac01f85d401c949d153546 (diff) | |
Merge tag 'spi-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown:
"A respun version of the merges for the pull request previously sent
with a few additional fixes. The last two merges were fixed up by
hand since the branches have moved on and currently have the prior
merge in them.
Quite a busy release for the SPI subsystem, mostly in cleanups big and
small scattered through the stack rather than anything else:
- New driver for the Broadcom BC63xx HSSPI controller
- Fix duplicate device registration for ACPI
- Conversion of s3c64xx to DMAEngine (this pulls in platform and DMA
changes upon which the transiton depends)
- Some small optimisations to reduce the amount of time we hold locks
in the datapath, eliminate some redundant checks and the size of a
spi_transfer
- Lots of fixes, cleanups and general enhancements to drivers,
especially the rspi and Atmel drivers"
* tag 'spi-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (112 commits)
spi: core: Fix transfer failure when master->transfer_one returns positive value
spi: Correct set_cs() documentation
spi: Clarify transfer_one() w.r.t. spi_finalize_current_transfer()
spi: Spelling s/finised/finished/
spi: sc18is602: Convert to use bits_per_word_mask
spi: Remove duplicate code to set default bits_per_word setting
spi/pxa2xx: fix compilation warning when !CONFIG_PM_SLEEP
spi: clps711x: Add MODULE_ALIAS to support module auto-loading
spi: rspi: Add missing clk_disable() calls in error and cleanup paths
spi: rspi: Spelling s/transmition/transmission/
spi: rspi: Add support for specifying CPHA/CPOL
spi/pxa2xx: initialize DMA channels to -1 to prevent inadvertent match
spi: rspi: Add more QSPI register documentation
spi: rspi: Add more RSPI register documentation
spi: rspi: Remove dependency on DMAE for SHMOBILE
spi/s3c64xx: Correct indentation
spi: sh: Use spi_sh_clear_bit() instead of open-coded
spi: bitbang: Grammar s/make to make/to make/
spi: sh-hspi: Spelling s/recive/receive/
spi: core: Improve tx/rx_nbits check comments
...
Diffstat (limited to 'drivers/spi')
46 files changed, 1463 insertions, 1486 deletions
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 385602f77cad..ba9310bc9acb 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig | |||
| @@ -118,6 +118,13 @@ config SPI_BCM63XX | |||
| 118 | help | 118 | help |
| 119 | Enable support for the SPI controller on the Broadcom BCM63xx SoCs. | 119 | Enable support for the SPI controller on the Broadcom BCM63xx SoCs. |
| 120 | 120 | ||
| 121 | config SPI_BCM63XX_HSSPI | ||
| 122 | tristate "Broadcom BCM63XX HS SPI controller driver" | ||
| 123 | depends on BCM63XX || COMPILE_TEST | ||
| 124 | help | ||
| 125 | This enables support for the High Speed SPI controller present on | ||
| 126 | newer Broadcom BCM63XX SoCs. | ||
| 127 | |||
| 121 | config SPI_BITBANG | 128 | config SPI_BITBANG |
| 122 | tristate "Utilities for Bitbanging SPI masters" | 129 | tristate "Utilities for Bitbanging SPI masters" |
| 123 | help | 130 | help |
| @@ -159,7 +166,6 @@ config SPI_DAVINCI | |||
| 159 | tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller" | 166 | tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller" |
| 160 | depends on ARCH_DAVINCI || ARCH_KEYSTONE | 167 | depends on ARCH_DAVINCI || ARCH_KEYSTONE |
| 161 | select SPI_BITBANG | 168 | select SPI_BITBANG |
| 162 | select TI_EDMA | ||
| 163 | help | 169 | help |
| 164 | SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules. | 170 | SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules. |
| 165 | 171 | ||
| @@ -301,6 +307,7 @@ config SPI_OMAP_UWIRE | |||
| 301 | 307 | ||
| 302 | config SPI_OMAP24XX | 308 | config SPI_OMAP24XX |
| 303 | tristate "McSPI driver for OMAP" | 309 | tristate "McSPI driver for OMAP" |
| 310 | depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SH | ||
| 304 | depends on ARCH_OMAP2PLUS || COMPILE_TEST | 311 | depends on ARCH_OMAP2PLUS || COMPILE_TEST |
| 305 | help | 312 | help |
| 306 | SPI master controller for OMAP24XX and later Multichannel SPI | 313 | SPI master controller for OMAP24XX and later Multichannel SPI |
| @@ -370,7 +377,7 @@ config SPI_PXA2XX_PCI | |||
| 370 | 377 | ||
| 371 | config SPI_RSPI | 378 | config SPI_RSPI |
| 372 | tristate "Renesas RSPI controller" | 379 | tristate "Renesas RSPI controller" |
| 373 | depends on (SUPERH || ARCH_SHMOBILE) && SH_DMAE_BASE | 380 | depends on (SUPERH && SH_DMAE_BASE) || ARCH_SHMOBILE |
| 374 | help | 381 | help |
| 375 | SPI driver for Renesas RSPI blocks. | 382 | SPI driver for Renesas RSPI blocks. |
| 376 | 383 | ||
| @@ -407,7 +414,8 @@ config SPI_SC18IS602 | |||
| 407 | 414 | ||
| 408 | config SPI_SH_MSIOF | 415 | config SPI_SH_MSIOF |
| 409 | tristate "SuperH MSIOF SPI controller" | 416 | tristate "SuperH MSIOF SPI controller" |
| 410 | depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK | 417 | depends on HAVE_CLK |
| 418 | depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST | ||
| 411 | select SPI_BITBANG | 419 | select SPI_BITBANG |
| 412 | help | 420 | help |
| 413 | SPI driver for SuperH and SH Mobile MSIOF blocks. | 421 | SPI driver for SuperH and SH Mobile MSIOF blocks. |
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index ab8d8644af0e..95af48d2d360 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile | |||
| @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_ATH79) += spi-ath79.o | |||
| 16 | obj-$(CONFIG_SPI_AU1550) += spi-au1550.o | 16 | obj-$(CONFIG_SPI_AU1550) += spi-au1550.o |
| 17 | obj-$(CONFIG_SPI_BCM2835) += spi-bcm2835.o | 17 | obj-$(CONFIG_SPI_BCM2835) += spi-bcm2835.o |
| 18 | obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o | 18 | obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o |
| 19 | obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o | ||
| 19 | obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o | 20 | obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o |
| 20 | obj-$(CONFIG_SPI_BFIN_V3) += spi-bfin-v3.o | 21 | obj-$(CONFIG_SPI_BFIN_V3) += spi-bfin-v3.o |
| 21 | obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o | 22 | obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o |
diff --git a/drivers/spi/spi-altera.c b/drivers/spi/spi-altera.c index 595b62cb545d..5d7deaf62867 100644 --- a/drivers/spi/spi-altera.c +++ b/drivers/spi/spi-altera.c | |||
| @@ -220,8 +220,6 @@ static int altera_spi_probe(struct platform_device *pdev) | |||
| 220 | 220 | ||
| 221 | /* setup the state for the bitbang driver */ | 221 | /* setup the state for the bitbang driver */ |
| 222 | hw->bitbang.master = master; | 222 | hw->bitbang.master = master; |
| 223 | if (!hw->bitbang.master) | ||
| 224 | return err; | ||
| 225 | hw->bitbang.chipselect = altera_spi_chipsel; | 223 | hw->bitbang.chipselect = altera_spi_chipsel; |
| 226 | hw->bitbang.txrx_bufs = altera_spi_txrx; | 224 | hw->bitbang.txrx_bufs = altera_spi_txrx; |
| 227 | 225 | ||
diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c index 821bf7ac218d..31534b51715a 100644 --- a/drivers/spi/spi-ath79.c +++ b/drivers/spi/spi-ath79.c | |||
| @@ -243,21 +243,21 @@ static int ath79_spi_probe(struct platform_device *pdev) | |||
| 243 | goto err_put_master; | 243 | goto err_put_master; |
| 244 | } | 244 | } |
| 245 | 245 | ||
| 246 | sp->base = ioremap(r->start, resource_size(r)); | 246 | sp->base = devm_ioremap(&pdev->dev, r->start, resource_size(r)); |
| 247 | if (!sp->base) { | 247 | if (!sp->base) { |
| 248 | ret = -ENXIO; | 248 | ret = -ENXIO; |
| 249 | goto err_put_master; | 249 | goto err_put_master; |
| 250 | } | 250 | } |
| 251 | 251 | ||
| 252 | sp->clk = clk_get(&pdev->dev, "ahb"); | 252 | sp->clk = devm_clk_get(&pdev->dev, "ahb"); |
| 253 | if (IS_ERR(sp->clk)) { | 253 | if (IS_ERR(sp->clk)) { |
| 254 | ret = PTR_ERR(sp->clk); | 254 | ret = PTR_ERR(sp->clk); |
| 255 | goto err_unmap; | 255 | goto err_put_master; |
| 256 | } | 256 | } |
| 257 | 257 | ||
