[PATCH 17/28] ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P
Tomasz Figa
tomasz.figa at gmail.com
Sat Jun 15 08:02:19 EDT 2013
Hi Kukjin,
Thanks for review.
On Saturday 15 of June 2013 10:52:37 Kukjin Kim wrote:
> 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...
Right. It seems to be a defined Kconfig symbol that is selected in several
places, but nothing actually uses it. Will remove it.
> > 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.
Right, sorry.
> > 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
OK.
> > 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/?
Right, they have to be updated with PLAT_S5P || ARCH_EXYNOS. I will send a
fixed version.
Best regards,
Tomasz
> - Kukjin
>
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-samsung-soc" in the body of a message to
> majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the linux-arm-kernel
mailing list