forked from luck/tmp_suning_uos_patched
ARM: s3c24xx: move spi fiq handler into platform
The fiq handler needs access to some register definitions that should not be used directly by device drivers. Since this is closely related to the irqchip driver anyway, move it into the same place. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [krzk: Add a header guard in include/linux/spi/s3c24xx-fiq.h, fix SPDX comment style, update maintainer's entry] Co-developed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-23-krzk%40kernel.org Acked-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
7dbad03ebc
commit
f131a4443e
|
@ -15317,6 +15317,7 @@ S: Maintained
|
|||
F: Documentation/devicetree/bindings/spi/spi-samsung.txt
|
||||
F: drivers/spi/spi-s3c*
|
||||
F: include/linux/platform_data/spi-s3c64xx.h
|
||||
F: include/linux/spi/s3c24xx-fiq.h
|
||||
|
||||
SAMSUNG SXGBE DRIVERS
|
||||
M: Byungho An <bh74.an@samsung.com>
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
|
||||
obj-y += common.o
|
||||
obj-y += irq-s3c24xx.o
|
||||
obj-$(CONFIG_SPI_S3C24XX_FIQ) += irq-s3c24xx-fiq.o
|
||||
obj-$(CONFIG_SPI_S3C24XX_FIQ) += irq-s3c24xx-fiq-exports.o
|
||||
|
||||
obj-$(CONFIG_CPU_S3C2410) += s3c2410.o
|
||||
obj-$(CONFIG_S3C2410_PLL) += pll-s3c2410.o
|
||||
|
|
9
arch/arm/mach-s3c24xx/irq-s3c24xx-fiq-exports.c
Normal file
9
arch/arm/mach-s3c24xx/irq-s3c24xx-fiq-exports.c
Normal file
|
@ -0,0 +1,9 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/spi/s3c24xx-fiq.h>
|
||||
|
||||
EXPORT_SYMBOL(s3c24xx_spi_fiq_rx);
|
||||
EXPORT_SYMBOL(s3c24xx_spi_fiq_txrx);
|
||||
EXPORT_SYMBOL(s3c24xx_spi_fiq_tx);
|
|
@ -13,7 +13,7 @@
|
|||
#include <mach/map.h>
|
||||
#include <mach/regs-irq.h>
|
||||
|
||||
#include "spi-s3c24xx-fiq.h"
|
||||
#include <linux/spi/s3c24xx-fiq.h>
|
||||
|
||||
#define S3C2410_SPTDAT (0x10)
|
||||
#define S3C2410_SPRDAT (0x14)
|
|
@ -97,7 +97,6 @@ obj-$(CONFIG_SPI_RPCIF) += spi-rpc-if.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
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
#include <linux/spi/spi.h>
|
||||
#include <linux/spi/spi_bitbang.h>
|
||||
#include <linux/spi/s3c24xx.h>
|
||||
#include <linux/spi/s3c24xx-fiq.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/fiq.h>
|
||||
|
||||
#include "spi-s3c24xx-regs.h"
|
||||
#include "spi-s3c24xx-fiq.h"
|
||||
|
||||
/**
|
||||
* s3c24xx_spi_devstate - per device data
|
||||
|
@ -229,10 +229,6 @@ struct spi_fiq_code {
|
|||
u8 data[];
|
||||
};
|
||||
|
||||
extern struct spi_fiq_code s3c24xx_spi_fiq_txrx;
|
||||
extern struct spi_fiq_code s3c24xx_spi_fiq_tx;
|
||||
extern struct spi_fiq_code s3c24xx_spi_fiq_rx;
|
||||
|
||||
/**
|
||||
* ack_bit - turn IRQ into IRQ acknowledgement bit
|
||||
* @irq: The interrupt number
|
||||
|
@ -282,7 +278,6 @@ static void s3c24xx_spi_tryfiq(struct s3c24xx_spi *hw)
|
|||
regs.uregs[fiq_rrx] = (long)hw->rx;
|
||||
regs.uregs[fiq_rtx] = (long)hw->tx + 1;
|
||||
regs.uregs[fiq_rcount] = hw->len - 1;
|
||||
regs.uregs[fiq_rirq] = (long)S3C24XX_VA_IRQ;
|
||||
|
||||
set_fiq_regs(®s);
|
||||
|
||||
|
|
|
@ -7,11 +7,19 @@
|
|||
* S3C24XX SPI - FIQ pseudo-DMA transfer support
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_SPI_S3C24XX_FIQ_H
|
||||
#define __LINUX_SPI_S3C24XX_FIQ_H __FILE__
|
||||
|
||||
/* We have R8 through R13 to play with */
|
||||
|
||||
#ifdef __ASSEMBLY__
|
||||
#define __REG_NR(x) r##x
|
||||
#else
|
||||
|
||||
extern struct spi_fiq_code s3c24xx_spi_fiq_txrx;
|
||||
extern struct spi_fiq_code s3c24xx_spi_fiq_tx;
|
||||
extern struct spi_fiq_code s3c24xx_spi_fiq_rx;
|
||||
|
||||
#define __REG_NR(x) (x)
|
||||
#endif
|
||||
|
||||
|
@ -21,3 +29,5 @@
|
|||
#define fiq_rtx __REG_NR(11)
|
||||
#define fiq_rcount __REG_NR(12)
|
||||
#define fiq_rirq __REG_NR(13)
|
||||
|
||||
#endif /* __LINUX_SPI_S3C24XX_FIQ_H */
|
Loading…
Reference in New Issue
Block a user