From f13a5e8a856cda0626da316d853a71952f14b1d7 Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Mon, 12 Oct 2015 12:24:22 +0200 Subject: spi/bcm63xx: move message control word description to register offsets Make the message control word parameters part of the register offsets array so we have them all in one struct. Signed-off-by: Jonas Gorski Signed-off-by: Mark Brown --- arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'arch/mips/include/asm') diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h index 25737655d141..1d121fd5b6f5 100644 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h @@ -7,14 +7,6 @@ int __init bcm63xx_spi_register(void); -struct bcm63xx_spi_pdata { - unsigned int fifo_size; - unsigned int msg_type_shift; - unsigned int msg_ctl_width; - int bus_num; - int num_chipselect; -}; - enum bcm63xx_regs_spi { SPI_CMD, SPI_INT_STATUS, @@ -28,6 +20,9 @@ enum bcm63xx_regs_spi { SPI_MSG_CTL, SPI_MSG_DATA, SPI_RX_DATA, + SPI_MSG_TYPE_SHIFT, + SPI_MSG_CTL_WIDTH, + SPI_MSG_DATA_SIZE, }; #define __GEN_SPI_REGS_TABLE(__cpu) \ @@ -42,7 +37,10 @@ enum bcm63xx_regs_spi { [SPI_RX_TAIL] = SPI_## __cpu ##_RX_TAIL, \ [SPI_MSG_CTL] = SPI_## __cpu ##_MSG_CTL, \ [SPI_MSG_DATA] = SPI_## __cpu ##_MSG_DATA, \ - [SPI_RX_DATA] = SPI_## __cpu ##_RX_DATA, + [SPI_RX_DATA] = SPI_## __cpu ##_RX_DATA, \ + [SPI_MSG_TYPE_SHIFT] = SPI_## __cpu ##_MSG_TYPE_SHIFT, \ + [SPI_MSG_CTL_WIDTH] = SPI_## __cpu ##_MSG_CTL_WIDTH, \ + [SPI_MSG_DATA_SIZE] = SPI_## __cpu ##_MSG_DATA_SIZE, static inline unsigned long bcm63xx_spireg(enum bcm63xx_regs_spi reg) { -- cgit v1.2.3 From 44d8fb30941d85800fbde0a1e3454b1fb23c5ecd Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Mon, 12 Oct 2015 12:24:23 +0200 Subject: spi/bcm63xx: move register definitions into the driver Move all register definitions and structs into the driver. This allows us dropping the platform_data struct and drop any arch specific includes. Make use of different device names to identify the version of the block we have. Since we now have full control over the message width, we can drop the size check, which was broken anyway, since it never set ret to any error code. Also since we now have no arch depedendent resources, we can now allow compiling it for any arch, hidden behind COMPILE_TEST. Signed-off-by: Jonas Gorski Signed-off-by: Mark Brown --- .../include/asm/mach-bcm63xx/bcm63xx_dev_spi.h | 42 ---------------------- 1 file changed, 42 deletions(-) (limited to 'arch/mips/include/asm') diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h index 1d121fd5b6f5..dd299548860d 100644 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h @@ -7,46 +7,4 @@ int __init bcm63xx_spi_register(void); -enum bcm63xx_regs_spi { - SPI_CMD, - SPI_INT_STATUS, - SPI_INT_MASK_ST, - SPI_INT_MASK, - SPI_ST, - SPI_CLK_CFG, - SPI_FILL_BYTE, - SPI_MSG_TAIL, - SPI_RX_TAIL, - SPI_MSG_CTL, - SPI_MSG_DATA, - SPI_RX_DATA, - SPI_MSG_TYPE_SHIFT, - SPI_MSG_CTL_WIDTH, - SPI_MSG_DATA_SIZE, -}; - -#define __GEN_SPI_REGS_TABLE(__cpu) \ - [SPI_CMD] = SPI_## __cpu ##_CMD, \ - [SPI_INT_STATUS] = SPI_## __cpu ##_INT_STATUS, \ - [SPI_INT_MASK_ST] = SPI_## __cpu ##_INT_MASK_ST, \ - [SPI_INT_MASK] = SPI_## __cpu ##_INT_MASK, \ - [SPI_ST] = SPI_## __cpu ##_ST, \ - [SPI_CLK_CFG] = SPI_## __cpu ##_CLK_CFG, \ - [SPI_FILL_BYTE] = SPI_## __cpu ##_FILL_BYTE, \ - [SPI_MSG_TAIL] = SPI_## __cpu ##_MSG_TAIL, \ - [SPI_RX_TAIL] = SPI_## __cpu ##_RX_TAIL, \ - [SPI_MSG_CTL] = SPI_## __cpu ##_MSG_CTL, \ - [SPI_MSG_DATA] = SPI_## __cpu ##_MSG_DATA, \ - [SPI_RX_DATA] = SPI_## __cpu ##_RX_DATA, \ - [SPI_MSG_TYPE_SHIFT] = SPI_## __cpu ##_MSG_TYPE_SHIFT, \ - [SPI_MSG_CTL_WIDTH] = SPI_## __cpu ##_MSG_CTL_WIDTH, \ - [SPI_MSG_DATA_SIZE] = SPI_## __cpu ##_MSG_DATA_SIZE, - -static inline unsigned long bcm63xx_spireg(enum bcm63xx_regs_spi reg) -{ - extern const unsigned long *bcm63xx_regs_spi; - - return bcm63xx_regs_spi[reg]; -} - #endif /* BCM63XX_DEV_SPI_H */ -- cgit v1.2.3