Re: [PATCH 1/4] ARM: ep93xx: move network platform data to separate header

Alexander Sverdlin
2019-04-15T19:33:07Z

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
>