Add support for registering SPI slave controllers using the existing SPI master framework: - SPI slave controllers must use spi_alloc_slave() instead of spi_alloc_master(), and should provide an additional callback "slave_abort" to abort an ongoing SPI transfer request, - SPI slave controllers are added to a new "spi_slave" device class, - SPI slave handlers can be bound to the SPI slave device represented by an SPI slave controller using a DT child node named "slave", - Alternatively, (un)binding an SPI slave handler to the SPI slave device represented by an SPI slave controller can be done by (un)registering the slave device through a sysfs virtual file named "slave". From the point of view of an SPI slave protocol handler, an SPI slave controller looks almost like an ordinary SPI master controller. The only exception is that a transfer request will block on the remote SPI master, and may be cancelled using spi_slave_abort(). Change-Id: I251c5b7247ee7088285e42dd3b3cdce9c56cb9f7 Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Mark Brown <broonie@kernel.org> Git-commit: 6c364062bfed3c34490e85bea52ff6e2d4f0f281 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
99 lines
4.1 KiB
Makefile
99 lines
4.1 KiB
Makefile
#
|
|
# Makefile for kernel SPI drivers.
|
|
#
|
|
|
|
ccflags-$(CONFIG_SPI_DEBUG) := -DDEBUG
|
|
|
|
# small core, mostly translating board-specific
|
|
# config declarations into driver model code
|
|
obj-$(CONFIG_SPI_MASTER) += spi.o
|
|
obj-$(CONFIG_SPI_SPIDEV) += spidev.o
|
|
|
|
# SPI master controller drivers (bus)
|
|
obj-$(CONFIG_SPI_ALTERA) += spi-altera.o
|
|
obj-$(CONFIG_SPI_ATMEL) += spi-atmel.o
|
|
obj-$(CONFIG_SPI_ATH79) += spi-ath79.o
|
|
obj-$(CONFIG_SPI_AU1550) += spi-au1550.o
|
|
obj-$(CONFIG_SPI_BCM2835) += spi-bcm2835.o
|
|
obj-$(CONFIG_SPI_BCM2835AUX) += spi-bcm2835aux.o
|
|
obj-$(CONFIG_SPI_BCM53XX) += spi-bcm53xx.o
|
|
obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o
|
|
obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o
|
|
obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o
|
|
obj-$(CONFIG_SPI_ADI_V3) += spi-adi-v3.o
|
|
obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o
|
|
obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o
|
|
obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o
|
|
obj-$(CONFIG_SPI_CADENCE) += spi-cadence.o
|
|
obj-$(CONFIG_SPI_CLPS711X) += spi-clps711x.o
|
|
obj-$(CONFIG_SPI_COLDFIRE_QSPI) += spi-coldfire-qspi.o
|
|
obj-$(CONFIG_SPI_DAVINCI) += spi-davinci.o
|
|
obj-$(CONFIG_SPI_DLN2) += spi-dln2.o
|
|
obj-$(CONFIG_SPI_DESIGNWARE) += spi-dw.o
|
|
obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmio.o
|
|
obj-$(CONFIG_SPI_DW_PCI) += spi-dw-midpci.o
|
|
spi-dw-midpci-objs := spi-dw-pci.o spi-dw-mid.o
|
|
obj-$(CONFIG_SPI_EFM32) += spi-efm32.o
|
|
obj-$(CONFIG_SPI_EP93XX) += spi-ep93xx.o
|
|
obj-$(CONFIG_SPI_FALCON) += spi-falcon.o
|
|
obj-$(CONFIG_SPI_FSL_CPM) += spi-fsl-cpm.o
|
|
obj-$(CONFIG_SPI_FSL_DSPI) += spi-fsl-dspi.o
|
|
obj-$(CONFIG_SPI_FSL_LIB) += spi-fsl-lib.o
|
|
obj-$(CONFIG_SPI_FSL_ESPI) += spi-fsl-espi.o
|
|
obj-$(CONFIG_SPI_FSL_SPI) += spi-fsl-spi.o
|
|
obj-$(CONFIG_SPI_GPIO) += spi-gpio.o
|
|
obj-$(CONFIG_SPI_IMG_SPFI) += spi-img-spfi.o
|
|
obj-$(CONFIG_SPI_IMX) += spi-imx.o
|
|
obj-$(CONFIG_SPI_LM70_LLP) += spi-lm70llp.o
|
|
obj-$(CONFIG_SPI_MESON_SPIFC) += spi-meson-spifc.o
|
|
obj-$(CONFIG_SPI_MPC512x_PSC) += spi-mpc512x-psc.o
|
|
obj-$(CONFIG_SPI_MPC52xx_PSC) += spi-mpc52xx-psc.o
|
|
obj-$(CONFIG_SPI_MPC52xx) += spi-mpc52xx.o
|
|
obj-$(CONFIG_SPI_MT65XX) += spi-mt65xx.o
|
|
obj-$(CONFIG_SPI_MXS) += spi-mxs.o
|
|
obj-$(CONFIG_SPI_NUC900) += spi-nuc900.o
|
|
obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o
|
|
obj-$(CONFIG_SPI_OCTEON) += spi-octeon.o
|
|
obj-$(CONFIG_SPI_OMAP_UWIRE) += spi-omap-uwire.o
|
|
obj-$(CONFIG_SPI_OMAP_100K) += spi-omap-100k.o
|
|
obj-$(CONFIG_SPI_OMAP24XX) += spi-omap2-mcspi.o
|
|
obj-$(CONFIG_SPI_TI_QSPI) += spi-ti-qspi.o
|
|
obj-$(CONFIG_SPI_ORION) += spi-orion.o
|
|
obj-$(CONFIG_SPI_PL022) += spi-pl022.o
|
|
obj-$(CONFIG_SPI_PPC4xx) += spi-ppc4xx.o
|
|
spi-pxa2xx-platform-objs := spi-pxa2xx.o
|
|
spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_DMA) += spi-pxa2xx-dma.o
|
|
obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o
|
|
obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o
|
|
obj-$(CONFIG_SPI_QUP) += spi-qup.o
|
|
obj-$(CONFIG_SPI_ROCKCHIP) += spi-rockchip.o
|
|
obj-$(CONFIG_SPI_RB4XX) += spi-rb4xx.o
|
|
obj-$(CONFIG_SPI_RSPI) += spi-rspi.o
|
|
obj-$(CONFIG_SPI_S3C24XX) += spi-s3c24xx-hw.o
|
|
spi-s3c24xx-hw-y := spi-s3c24xx.o
|
|
spi-s3c24xx-hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi-s3c24xx-fiq.o
|
|
obj-$(CONFIG_SPI_S3C64XX) += spi-s3c64xx.o
|
|
obj-$(CONFIG_SPI_SC18IS602) += spi-sc18is602.o
|
|
obj-$(CONFIG_SPI_SH) += spi-sh.o
|
|
obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hspi.o
|
|
obj-$(CONFIG_SPI_SH_MSIOF) += spi-sh-msiof.o
|
|
obj-$(CONFIG_SPI_SH_SCI) += spi-sh-sci.o
|
|
obj-$(CONFIG_SPI_SIRF) += spi-sirf.o
|
|
obj-$(CONFIG_SPI_ST_SSC4) += spi-st-ssc4.o
|
|
obj-$(CONFIG_SPI_SUN4I) += spi-sun4i.o
|
|
obj-$(CONFIG_SPI_SUN6I) += spi-sun6i.o
|
|
obj-$(CONFIG_SPI_TEGRA114) += spi-tegra114.o
|
|
obj-$(CONFIG_SPI_TEGRA20_SFLASH) += spi-tegra20-sflash.o
|
|
obj-$(CONFIG_SPI_TEGRA20_SLINK) += spi-tegra20-slink.o
|
|
obj-$(CONFIG_SPI_TLE62X0) += spi-tle62x0.o
|
|
obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o
|
|
obj-$(CONFIG_SPI_TXX9) += spi-txx9.o
|
|
obj-$(CONFIG_SPI_XCOMM) += spi-xcomm.o
|
|
obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o
|
|
obj-$(CONFIG_SPI_XLP) += spi-xlp.o
|
|
obj-$(CONFIG_SPI_XTENSA_XTFPGA) += spi-xtensa-xtfpga.o
|
|
obj-$(CONFIG_SPI_ZYNQMP_GQSPI) += spi-zynqmp-gqspi.o
|
|
obj-$(CONFIG_SPI_QSD) += spi_qsd.o
|
|
obj-$(CONFIG_SPI_QUP) += spi_qsd.o
|
|
|
|
# SPI slave protocol handlers
|