L Linus Walleij #
Message details and related content
From: Arnd Bergmann <arnd@arndb.de>
Portable drivers cannot use mach/platform.h, so move the
structure into its own header. With this, compile testing
can be enabled.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <redacted>
---
Hi PATA maintainers: we intend to merge this through
ARM SoC along with other IXP4xx refactorings unless you
have a specific problem with the patch.
---
arch/arm/mach-ixp4xx/avila-setup.c | 1 +
arch/arm/mach-ixp4xx/include/mach/platform.h | 14 -------------
drivers/ata/Kconfig | 2 +-
drivers/ata/pata_ixp4xx_cf.c | 1 +
include/linux/platform_data/pata_ixp4xx_cf.h | 21 ++++++++++++++++++++
5 files changed, 24 insertions(+), 15 deletions(-)
create mode 100644 include/linux/platform_data/pata_ixp4xx_cf.h
diff --git a/arch/arm/mach-ixp4xx/avila-setup.c b/arch/arm/mach-ixp4xx/avila-setup.c
index 1981b33109cb..ec1d3029f80c 100644
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c@@ -19,6 +19,7 @@ #include <linux/tty.h> #include <linux/serial_8250.h> #include <linux/gpio/machine.h> +#include <linux/platform_data/pata_ixp4xx_cf.h> #include <asm/types.h> #include <asm/setup.h> #include <asm/memory.h>
diff --git a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h
index 6d403fe0bf52..d8b4df96db08 100644
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h@@ -79,20 +79,6 @@ extern unsigned long ixp4xx_exp_bus_size; #define IXP4XX_PERIPHERAL_BUS_CLOCK (66) /* 66MHzi APB BUS */ #define IXP4XX_UART_XTAL 14745600 -/* - * This structure provide a means for the board setup code - * to give information to th pata_ixp4xx driver. It is - * passed as platform_data. - */ -struct ixp4xx_pata_data { - volatile u32 *cs0_cfg; - volatile u32 *cs1_cfg; - unsigned long cs0_bits; - unsigned long cs1_bits; - void __iomem *cs0; - void __iomem *cs1; -}; - /* * Frequency of clock used for primary clocksource */
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 030cb32da980..d17c83319e70 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig@@ -1058,7 +1058,7 @@ config PATA_ISAPNP config PATA_IXP4XX_CF tristate "IXP4XX Compact Flash support" - depends on ARCH_IXP4XX + depends on ARCH_IXP4XX || COMPILE_TEST help This option enables support for a Compact Flash connected on the ixp4xx expansion bus. This driver had been written for
diff --git a/drivers/ata/pata_ixp4xx_cf.c b/drivers/ata/pata_ixp4xx_cf.c
index 43215a4c1e54..5881d64af943 100644
--- a/drivers/ata/pata_ixp4xx_cf.c
+++ b/drivers/ata/pata_ixp4xx_cf.c@@ -17,6 +17,7 @@ #include <linux/libata.h> #include <linux/irq.h> #include <linux/platform_device.h> +#include <linux/platform_data/pata_ixp4xx_cf.h> #include <scsi/scsi_host.h> #define DRV_NAME "pata_ixp4xx_cf"
diff --git a/include/linux/platform_data/pata_ixp4xx_cf.h b/include/linux/platform_data/pata_ixp4xx_cf.h
new file mode 100644
index 000000000000..601ba97fef57
--- /dev/null
+++ b/include/linux/platform_data/pata_ixp4xx_cf.h@@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __PLATFORM_DATA_PATA_IXP4XX_H +#define __PLATFORM_DATA_PATA_IXP4XX_H + +#include <linux/types.h> + +/* + * This structure provide a means for the board setup code + * to give information to th pata_ixp4xx driver. It is + * passed as platform_data. + */ +struct ixp4xx_pata_data { + volatile u32 *cs0_cfg; + volatile u32 *cs1_cfg; + unsigned long cs0_bits; + unsigned long cs1_bits; + void __iomem *cs0; + void __iomem *cs1; +}; + +#endif
--
2.30.2