From 0ad1e8d8df6f22c5a0d1e2a6c0b0769f92d52130 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Sun, 9 Feb 2014 10:38:03 +0100 Subject: spi: imx: Use device ids To let the driver work on all SoCs without the use of cpu_is_*() Signed-off-by: Sascha Hauer --- arch/arm/mach-imx/devices.c | 14 ++++++++++++-- arch/arm/mach-imx/include/mach/devices-imx25.h | 6 +++--- arch/arm/mach-imx/include/mach/devices-imx27.h | 4 ++-- arch/arm/mach-imx/include/mach/devices-imx31.h | 6 +++--- arch/arm/mach-imx/include/mach/devices-imx35.h | 4 ++-- arch/arm/mach-imx/include/mach/devices-imx51.h | 6 +++--- arch/arm/mach-imx/include/mach/devices-imx53.h | 4 ++-- arch/arm/mach-imx/include/mach/devices-imx6.h | 10 +++++----- arch/arm/mach-imx/include/mach/devices.h | 4 +++- 9 files changed, 35 insertions(+), 23 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-imx/devices.c b/arch/arm/mach-imx/devices.c index 682f39a3ac..11444ef1a6 100644 --- a/arch/arm/mach-imx/devices.c +++ b/arch/arm/mach-imx/devices.c @@ -18,9 +18,19 @@ struct device_d *imx_add_fec_imx6(void *base, struct fec_platform_data *pdata) return imx_add_device("imx6-fec", -1, base, 0x1000, pdata); } -struct device_d *imx_add_spi(void *base, int id, struct spi_imx_master *pdata) +struct device_d *imx_add_spi_imx27(void *base, int id, struct spi_imx_master *pdata) { - return imx_add_device("imx_spi", id, base, 0x1000, pdata); + return imx_add_device("imx27-spi", id, base, 0x1000, pdata); +} + +struct device_d *imx_add_spi_imx35(void *base, int id, struct spi_imx_master *pdata) +{ + return imx_add_device("imx35-spi", id, base, 0x1000, pdata); +} + +struct device_d *imx_add_spi_imx51(void *base, int id, struct spi_imx_master *pdata) +{ + return imx_add_device("imx51-spi", id, base, 0x1000, pdata); } struct device_d *imx_add_i2c(void *base, int id, struct i2c_platform_data *pdata) diff --git a/arch/arm/mach-imx/include/mach/devices-imx25.h b/arch/arm/mach-imx/include/mach/devices-imx25.h index 5b582b88cd..eea8a60d78 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx25.h +++ b/arch/arm/mach-imx/include/mach/devices-imx25.h @@ -19,17 +19,17 @@ static inline struct device_d *imx25_add_i2c2(struct i2c_platform_data *pdata) static inline struct device_d *imx25_add_spi0(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX25_CSPI1_BASE_ADDR, 0, pdata); + return imx_add_spi_imx35((void *)MX25_CSPI1_BASE_ADDR, 0, pdata); } static inline struct device_d *imx25_add_spi1(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX25_CSPI2_BASE_ADDR, 1, pdata); + return imx_add_spi_imx35((void *)MX25_CSPI2_BASE_ADDR, 1, pdata); } static inline struct device_d *imx25_add_spi2(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX25_CSPI3_BASE_ADDR, 2, pdata); + return imx_add_spi_imx35((void *)MX25_CSPI3_BASE_ADDR, 2, pdata); } static inline struct device_d *imx25_add_uart0(void) diff --git a/arch/arm/mach-imx/include/mach/devices-imx27.h b/arch/arm/mach-imx/include/mach/devices-imx27.h index 87a3a7cc1c..da2289b191 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx27.h +++ b/arch/arm/mach-imx/include/mach/devices-imx27.h @@ -4,12 +4,12 @@ static inline struct device_d *imx27_add_spi0(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX27_CSPI1_BASE_ADDR, 0, pdata); + return imx_add_spi_imx27((void *)MX27_CSPI1_BASE_ADDR, 0, pdata); } static inline struct device_d *imx27_add_spi1(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX27_CSPI2_BASE_ADDR, 1, pdata); + return imx_add_spi_imx27((void *)MX27_CSPI2_BASE_ADDR, 1, pdata); } static inline struct device_d *imx27_add_i2c0(struct i2c_platform_data *pdata) diff --git a/arch/arm/mach-imx/include/mach/devices-imx31.h b/arch/arm/mach-imx/include/mach/devices-imx31.h index 7cf9114fbd..63319fea37 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx31.h +++ b/arch/arm/mach-imx/include/mach/devices-imx31.h @@ -4,17 +4,17 @@ static inline struct device_d *imx31_add_spi0(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX31_CSPI1_BASE_ADDR, 0, pdata); + return imx_add_spi_imx27((void *)MX31_CSPI1_BASE_ADDR, 0, pdata); } static inline struct device_d *imx31_add_spi1(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX31_CSPI2_BASE_ADDR, 1, pdata); + return imx_add_spi_imx27((void *)MX31_CSPI2_BASE_ADDR, 1, pdata); } static inline struct device_d *imx31_add_spi2(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX31_CSPI3_BASE_ADDR, 2, pdata); + return imx_add_spi_imx27((void *)MX31_CSPI3_BASE_ADDR, 2, pdata); } static inline struct device_d *imx31_add_uart0(void) diff --git a/arch/arm/mach-imx/include/mach/devices-imx35.h b/arch/arm/mach-imx/include/mach/devices-imx35.h index 766610de9d..3e53167901 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx35.h +++ b/arch/arm/mach-imx/include/mach/devices-imx35.h @@ -19,12 +19,12 @@ static inline struct device_d *imx35_add_i2c2(struct i2c_platform_data *pdata) static inline struct device_d *imx35_add_spi0(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX35_CSPI1_BASE_ADDR, 0, pdata); + return imx_add_spi_imx35((void *)MX35_CSPI1_BASE_ADDR, 0, pdata); } static inline struct device_d *imx35_add_spi(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX35_CSPI2_BASE_ADDR, 1, pdata); + return imx_add_spi_imx35((void *)MX35_CSPI2_BASE_ADDR, 1, pdata); } static inline struct device_d *imx35_add_uart0(void) diff --git a/arch/arm/mach-imx/include/mach/devices-imx51.h b/arch/arm/mach-imx/include/mach/devices-imx51.h index 00644788a7..68953293b4 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx51.h +++ b/arch/arm/mach-imx/include/mach/devices-imx51.h @@ -5,17 +5,17 @@ static inline struct device_d *imx51_add_spi0(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX51_ECSPI1_BASE_ADDR, 0, pdata); + return imx_add_spi_imx51((void *)MX51_ECSPI1_BASE_ADDR, 0, pdata); } static inline struct device_d *imx51_add_spi1(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX51_ECSPI2_BASE_ADDR, 1, pdata); + return imx_add_spi_imx51((void *)MX51_ECSPI2_BASE_ADDR, 1, pdata); } static inline struct device_d *imx51_add_cspi(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX51_CSPI_BASE_ADDR, 2, pdata); + return imx_add_spi_imx35((void *)MX51_CSPI_BASE_ADDR, 2, pdata); } static inline struct device_d *imx51_add_i2c0(struct i2c_platform_data *pdata) diff --git a/arch/arm/mach-imx/include/mach/devices-imx53.h b/arch/arm/mach-imx/include/mach/devices-imx53.h index 4621c53157..d4e9a4a357 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx53.h +++ b/arch/arm/mach-imx/include/mach/devices-imx53.h @@ -4,12 +4,12 @@ static inline struct device_d *imx53_add_spi0(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX53_ECSPI1_BASE_ADDR, 0, pdata); + return imx_add_spi_imx51((void *)MX53_ECSPI1_BASE_ADDR, 0, pdata); } static inline struct device_d *imx53_add_spi1(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX53_ECSPI2_BASE_ADDR, 1, pdata); + return imx_add_spi_imx51((void *)MX53_ECSPI2_BASE_ADDR, 1, pdata); } static inline struct device_d *imx53_add_i2c0(struct i2c_platform_data *pdata) diff --git a/arch/arm/mach-imx/include/mach/devices-imx6.h b/arch/arm/mach-imx/include/mach/devices-imx6.h index 7d41d7f02b..3a1bfb6a86 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx6.h +++ b/arch/arm/mach-imx/include/mach/devices-imx6.h @@ -48,27 +48,27 @@ static inline struct device_d *imx6_add_fec(struct fec_platform_data *pdata) static inline struct device_d *imx6_add_spi0(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX6_ECSPI1_BASE_ADDR, 0, pdata); + return imx_add_spi_imx51((void *)MX6_ECSPI1_BASE_ADDR, 0, pdata); } static inline struct device_d *imx6_add_spi1(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX6_ECSPI2_BASE_ADDR, 1, pdata); + return imx_add_spi_imx51((void *)MX6_ECSPI2_BASE_ADDR, 1, pdata); } static inline struct device_d *imx6_add_spi2(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX6_ECSPI3_BASE_ADDR, 2, pdata); + return imx_add_spi_imx51((void *)MX6_ECSPI3_BASE_ADDR, 2, pdata); } static inline struct device_d *imx6_add_spi3(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX6_ECSPI4_BASE_ADDR, 3, pdata); + return imx_add_spi_imx51((void *)MX6_ECSPI4_BASE_ADDR, 3, pdata); } static inline struct device_d *imx6_add_spi4(struct spi_imx_master *pdata) { - return imx_add_spi((void *)MX6_ECSPI5_BASE_ADDR, 4, pdata); + return imx_add_spi_imx51((void *)MX6_ECSPI5_BASE_ADDR, 4, pdata); } static inline struct device_d *imx6_add_i2c0(struct i2c_platform_data *pdata) diff --git a/arch/arm/mach-imx/include/mach/devices.h b/arch/arm/mach-imx/include/mach/devices.h index 59296585af..4c07f464c2 100644 --- a/arch/arm/mach-imx/include/mach/devices.h +++ b/arch/arm/mach-imx/include/mach/devices.h @@ -11,7 +11,9 @@ struct device_d *imx_add_fec_imx27(void *base, struct fec_platform_data *pdata); struct device_d *imx_add_fec_imx6(void *base, struct fec_platform_data *pdata); -struct device_d *imx_add_spi(void *base, int id, struct spi_imx_master *pdata); +struct device_d *imx_add_spi_imx27(void *base, int id, struct spi_imx_master *pdata); +struct device_d *imx_add_spi_imx35(void *base, int id, struct spi_imx_master *pdata); +struct device_d *imx_add_spi_imx51(void *base, int id, struct spi_imx_master *pdata); struct device_d *imx_add_i2c(void *base, int id, struct i2c_platform_data *pdata); struct device_d *imx_add_uart_imx1(void *base, int id); struct device_d *imx_add_uart_imx21(void *base, int id); -- cgit v1.2.3