Message ID | 20190415192734.935387-1-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/4] ARM: ep93xx: move network platform data to separate header | expand |
Hi Arnd, On 15/04/2019 21:25, Arnd Bergmann wrote: > The header file is the only thing preventing us from building the > driver in a cross-platform configuration, so move the structure > we are interested in to the global platform_data location > and enable compile testing. Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > arch/arm/mach-ep93xx/include/mach/platform.h | 7 +------ > drivers/net/ethernet/cirrus/Kconfig | 2 +- > drivers/net/ethernet/cirrus/ep93xx_eth.c | 2 +- > include/linux/platform_data/eth-ep93xx.h | 10 ++++++++++ > 4 files changed, 13 insertions(+), 8 deletions(-) > create mode 100644 include/linux/platform_data/eth-ep93xx.h > > diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h > index 6c41c794bed5..43446f33c2be 100644 > --- a/arch/arm/mach-ep93xx/include/mach/platform.h > +++ b/arch/arm/mach-ep93xx/include/mach/platform.h > @@ -5,6 +5,7 @@ > > #ifndef __ASSEMBLY__ > > +#include <linux/platform_data/eth-ep93xx.h> > #include <linux/reboot.h> > > struct device; > @@ -15,12 +16,6 @@ struct ep93xxfb_mach_info; > struct ep93xx_keypad_platform_data; > struct ep93xx_spi_info; > > -struct ep93xx_eth_data > -{ > - unsigned char dev_addr[6]; > - unsigned char phy_id; > -}; > - > void ep93xx_map_io(void); > void ep93xx_init_irq(void); > > diff --git a/drivers/net/ethernet/cirrus/Kconfig b/drivers/net/ethernet/cirrus/Kconfig > index e9a0213b08c4..6238e6951336 100644 > --- a/drivers/net/ethernet/cirrus/Kconfig > +++ b/drivers/net/ethernet/cirrus/Kconfig > @@ -41,7 +41,7 @@ config CS89x0_PLATFORM > > config EP93XX_ETH > tristate "EP93xx Ethernet support" > - depends on ARM && ARCH_EP93XX > + depends on (ARM && ARCH_EP93XX) || COMPILE_TEST > select MII > help > This is a driver for the ethernet hardware included in EP93xx CPUs. > diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c > index 13dfdfca49fc..a6da9873570b 100644 > --- a/drivers/net/ethernet/cirrus/ep93xx_eth.c > +++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c > @@ -25,7 +25,7 @@ > #include <linux/io.h> > #include <linux/slab.h> > > -#include <mach/hardware.h> > +#include <linux/platform_data/eth-ep93xx.h> > > #define DRV_MODULE_NAME "ep93xx-eth" > #define DRV_MODULE_VERSION "0.1" > diff --git a/include/linux/platform_data/eth-ep93xx.h b/include/linux/platform_data/eth-ep93xx.h > new file mode 100644 > index 000000000000..8eef637a804d > --- /dev/null > +++ b/include/linux/platform_data/eth-ep93xx.h > @@ -0,0 +1,10 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#ifndef _LINUX_PLATFORM_DATA_ETH_EP93XX > +#define _LINUX_PLATFORM_DATA_ETH_EP93XX > + > +struct ep93xx_eth_data { > + unsigned char dev_addr[6]; > + unsigned char phy_id; > +}; > + > +#endif >
On Mon, Apr 15, 2019 at 9:27 PM Arnd Bergmann <arnd@arndb.de> wrote: > The header file is the only thing preventing us from building the > driver in a cross-platform configuration, so move the structure > we are interested in to the global platform_data location > and enable compile testing. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> My EP93xx board is not working right now but looks good to me. Acked-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h index 6c41c794bed5..43446f33c2be 100644 --- a/arch/arm/mach-ep93xx/include/mach/platform.h +++ b/arch/arm/mach-ep93xx/include/mach/platform.h @@ -5,6 +5,7 @@ #ifndef __ASSEMBLY__ +#include <linux/platform_data/eth-ep93xx.h> #include <linux/reboot.h> struct device; @@ -15,12 +16,6 @@ struct ep93xxfb_mach_info; struct ep93xx_keypad_platform_data; struct ep93xx_spi_info; -struct ep93xx_eth_data -{ - unsigned char dev_addr[6]; - unsigned char phy_id; -}; - void ep93xx_map_io(void); void ep93xx_init_irq(void); diff --git a/drivers/net/ethernet/cirrus/Kconfig b/drivers/net/ethernet/cirrus/Kconfig index e9a0213b08c4..6238e6951336 100644 --- a/drivers/net/ethernet/cirrus/Kconfig +++ b/drivers/net/ethernet/cirrus/Kconfig @@ -41,7 +41,7 @@ config CS89x0_PLATFORM config EP93XX_ETH tristate "EP93xx Ethernet support" - depends on ARM && ARCH_EP93XX + depends on (ARM && ARCH_EP93XX) || COMPILE_TEST select MII help This is a driver for the ethernet hardware included in EP93xx CPUs. diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c index 13dfdfca49fc..a6da9873570b 100644 --- a/drivers/net/ethernet/cirrus/ep93xx_eth.c +++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c @@ -25,7 +25,7 @@ #include <linux/io.h> #include <linux/slab.h> -#include <mach/hardware.h> +#include <linux/platform_data/eth-ep93xx.h> #define DRV_MODULE_NAME "ep93xx-eth" #define DRV_MODULE_VERSION "0.1" diff --git a/include/linux/platform_data/eth-ep93xx.h b/include/linux/platform_data/eth-ep93xx.h new file mode 100644 index 000000000000..8eef637a804d --- /dev/null +++ b/include/linux/platform_data/eth-ep93xx.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_PLATFORM_DATA_ETH_EP93XX +#define _LINUX_PLATFORM_DATA_ETH_EP93XX + +struct ep93xx_eth_data { + unsigned char dev_addr[6]; + unsigned char phy_id; +}; + +#endif
The header file is the only thing preventing us from building the driver in a cross-platform configuration, so move the structure we are interested in to the global platform_data location and enable compile testing. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/mach-ep93xx/include/mach/platform.h | 7 +------ drivers/net/ethernet/cirrus/Kconfig | 2 +- drivers/net/ethernet/cirrus/ep93xx_eth.c | 2 +- include/linux/platform_data/eth-ep93xx.h | 10 ++++++++++ 4 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 include/linux/platform_data/eth-ep93xx.h