[PATCH 17/28] ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P

Kukjin Kim kgene.kim at samsung.com
Fri Jun 14 21:52:37 EDT 2013


Tomasz Figa wrote:
> 
> After removing support for ATAGS based boot on Exynos, there is not much
> that can be shared between Exynos and other S5P platforms. This patch
> makes Exynos a standalone Samsung platform, not using PLAT_S5P.
> 
> Signed-off-by: Tomasz Figa <t.figa at samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> ---
>  arch/arm/Kconfig                | 4 ++++
>  arch/arm/Makefile               | 1 +
>  arch/arm/mach-exynos/Kconfig    | 1 +
>  arch/arm/plat-samsung/Kconfig   | 8 +++-----
>  arch/arm/plat-samsung/pm-gpio.c | 5 +++--
>  5 files changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 9c69e6c..21bf253 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -795,7 +795,9 @@ config ARCH_EXYNOS
>  	bool "Samsung EXYNOS"
>  	select ARCH_HAS_CPUFREQ
>  	select ARCH_HAS_HOLES_MEMORYMODEL
> +	select ARCH_REQUIRE_GPIOLIB
>  	select ARCH_SPARSEMEM_ENABLE
> +	select ARM_GIC
>  	select CLKDEV_LOOKUP
>  	select COMMON_CLK
>  	select CPU_V7
> @@ -807,7 +809,9 @@ config ARCH_EXYNOS
>  	select HAVE_S3C_RTC if RTC_CLASS
>  	select NEED_MACH_GPIO_H
>  	select NEED_MACH_MEMORY_H
> +	select S5P_GPIO_DRVSTR
>  	select SAMSUNG_ATAGS
> +	select SAMSUNG_GPIOLIB_4BIT

SAMSUNG_GPIOLIB_4BIT is not used anywhere...

>  	select USE_OF
>  	help
>  	  Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 1ba358b..2192a3f 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -204,6 +204,7 @@ plat-$(CONFIG_PLAT_ORION)	+= orion
>  plat-$(CONFIG_PLAT_PXA)		+= pxa
>  plat-$(CONFIG_PLAT_S3C24XX)	+= samsung
>  plat-$(CONFIG_PLAT_S5P)		+= samsung
> +plat-$(CONFIG_ARCH_EXYNOS)	+= samsung

Put it in alphabetical order.

>  plat-$(CONFIG_PLAT_VERSATILE)	+= versatile
> 
>  ifeq ($(CONFIG_ARCH_EBSA110),y)
> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> index 0d93ebe..47d8d9e 100644
> --- a/arch/arm/mach-exynos/Kconfig
> +++ b/arch/arm/mach-exynos/Kconfig
> @@ -18,6 +18,7 @@ config ARCH_EXYNOS4
>  	select HAVE_SMP
>  	select MIGHT_HAVE_CACHE_L2X0
>  	select PINCTRL
> +	select GIC_NON_BANKED

Please put it in alphabetical order

>  	help
>  	  Samsung EXYNOS4 SoCs based systems
> 
> diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
> index 1c607da..6c23722 100644
> --- a/arch/arm/plat-samsung/Kconfig
> +++ b/arch/arm/plat-samsung/Kconfig
> @@ -6,7 +6,7 @@
> 
>  config PLAT_SAMSUNG
>  	bool
> -	depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
> +	depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
>  	default y
>  	select GENERIC_IRQ_CHIP
>  	select NO_IOPORT
> @@ -15,12 +15,10 @@ config PLAT_SAMSUNG
> 
>  config PLAT_S5P
>  	bool
> -	depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 ||
> ARCH_EXYNOS)
> +	depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
>  	default y
>  	select ARCH_REQUIRE_GPIOLIB
> -	select ARM_GIC if ARCH_EXYNOS
> -	select ARM_VIC if !ARCH_EXYNOS
> -	select GIC_NON_BANKED if ARCH_EXYNOS4
> +	select ARM_VIC
>  	select NO_IOPORT
>  	select PLAT_SAMSUNG
>  	select S3C_GPIO_TRACK
> diff --git a/arch/arm/plat-samsung/pm-gpio.c b/arch/arm/plat-samsung/pm-
> gpio.c
> index c2ff92c..a8de3cf 100644
> --- a/arch/arm/plat-samsung/pm-gpio.c
> +++ b/arch/arm/plat-samsung/pm-gpio.c
> @@ -192,7 +192,8 @@ struct samsung_gpio_pm samsung_gpio_pm_2bit = {
>  	.resume = samsung_gpio_pm_2bit_resume,
>  };
> 
> -#if defined(CONFIG_ARCH_S3C64XX) || defined(CONFIG_PLAT_S5P)
> +#if defined(CONFIG_ARCH_S3C64XX) || defined(CONFIG_PLAT_S5P) \
> +	|| defined(CONFIG_ARCH_EXYNOS)
>  static void samsung_gpio_pm_4bit_save(struct samsung_gpio_chip *chip)
>  {
>  	chip->pm_save[1] = __raw_readl(chip->base + OFFS_CON);
> @@ -302,7 +303,7 @@ struct samsung_gpio_pm samsung_gpio_pm_4bit = {
>  	.save	= samsung_gpio_pm_4bit_save,
>  	.resume = samsung_gpio_pm_4bit_resume,
>  };
> -#endif /* CONFIG_ARCH_S3C64XX || CONFIG_PLAT_S5P */
> +#endif /* CONFIG_ARCH_S3C64XX || CONFIG_PLAT_S5P || CONFIG_ARCH_EXYNOS */
> 
>  /**
>   * samsung_pm_save_gpio() - save gpio chip data for suspend
> --
> 1.8.2.1

How about PLAT_S5P in drivers/media/platform/ and drivers/usb/?

- Kukjin




More information about the linux-arm-kernel mailing list