From: Kukjin Kim <kgene.kim@samsung.com>
To: 'Tomasz Figa' <t.figa@samsung.com>, linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org, kyungmin.park@samsung.com,
m.szyprowski@samsung.com, tomasz.figa@gmail.com
Subject: RE: [PATCH 2/4] ARM: EXYNOS: Kconfig: Sort out dependencies between options
Date: Tue, 23 Oct 2012 21:35:32 +0900 [thread overview]
Message-ID: <01d401cdb11a$e4bcfff0$ae36ffd0$%kim@samsung.com> (raw)
In-Reply-To: <1349701345-2681-3-git-send-email-t.figa@samsung.com>
Tomasz Figa wrote:
>
> This patch modifies the dependencies between Exynos-related Kconfig
> options to represent the real dependencies between code units more
> closely.
>
> Originally it was possible to enable ARCH_EXYNOS{4,5} without any
> SOC_EXYNOS_{4,5}.* enabled, which could end with compilation or link
> errors. Now ARCH_EXYNOS{4,5} is only selected when there is a
> SOC_EXYNOS_{4,5}.* enabled, which requires it.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/mach-exynos/Kconfig | 15 ++++++---------
> drivers/devfreq/Kconfig | 2 +-
> drivers/mmc/host/sdhci-s3c.c | 2 +-
> drivers/tty/serial/samsung.c | 3 +--
> 4 files changed, 9 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> index 05dcd07..9f91892 100644
> --- a/arch/arm/mach-exynos/Kconfig
> +++ b/arch/arm/mach-exynos/Kconfig
> @@ -12,15 +12,14 @@ if ARCH_EXYNOS
> menu "SAMSUNG EXYNOS SoCs Support"
>
> config ARCH_EXYNOS4
> - bool "SAMSUNG EXYNOS4"
> - default y
> + def_bool n
> select HAVE_SMP
> select MIGHT_HAVE_CACHE_L2X0
> help
> Samsung EXYNOS4 SoCs based systems
>
> config ARCH_EXYNOS5
> - bool "SAMSUNG EXYNOS5"
> + def_bool n
> select HAVE_SMP
> help
> Samsung EXYNOS5 (Cortex-A15) SoC based systems
> @@ -30,7 +29,7 @@ comment "EXYNOS SoCs"
> config SOC_EXYNOS4210
> bool "SAMSUNG EXYNOS4210"
> default y
> - depends on ARCH_EXYNOS4
> + select ARCH_EXYNOS4
> select SAMSUNG_DMADEV
> select ARM_CPU_SUSPEND if PM
> select S5P_PM if PM
> @@ -42,7 +41,7 @@ config SOC_EXYNOS4210
> config SOC_EXYNOS4212
> bool "SAMSUNG EXYNOS4212"
> default y
> - depends on ARCH_EXYNOS4
> + select ARCH_EXYNOS4
> select SAMSUNG_DMADEV
> select S5P_PM if PM
> select S5P_SLEEP if PM
> @@ -51,6 +50,7 @@ config SOC_EXYNOS4212
>
> config SOC_EXYNOS4412
> bool "SAMSUNG EXYNOS4412"
> + select ARCH_EXYNOS4
> default y
> depends on ARCH_EXYNOS4
> select SAMSUNG_DMADEV
> @@ -60,7 +60,7 @@ config SOC_EXYNOS4412
> config SOC_EXYNOS5250
> bool "SAMSUNG EXYNOS5250"
> default y
> - depends on ARCH_EXYNOS5
> + select ARCH_EXYNOS5
> select SAMSUNG_DMADEV
> select S5P_PM if PM
> select S5P_SLEEP if PM
> @@ -176,8 +176,6 @@ config EXYNOS_SETUP_SPI
>
Basically, I agree with your approach. Its CONFIG_ARCH_EXYNOSx depends on
selecting own SOC.
BTW, I'm thinking, which one selecting is better to us board? Or SoC?...
> # machine support
>
> -if ARCH_EXYNOS4
> -
Well, according to removing above, we can select following exynos4210 boards
on other stuff. Of course, when select board, regarding soc is selected
though. So I'm thinking I said as above.
> comment "EXYNOS4210 Boards"
>
> config MACH_SMDKC210
> @@ -397,7 +395,6 @@ config MACH_SMDK4412
> select MACH_SMDK4212
> help
> Machine support for Samsung SMDK4412
> -endif
>
> comment "Flattened Device Tree based board for EXYNOS SoCs"
>
> diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
> index 8545069..c559609 100644
> --- a/drivers/devfreq/Kconfig
> +++ b/drivers/devfreq/Kconfig
> @@ -67,7 +67,7 @@ comment "DEVFREQ Drivers"
>
> config ARM_EXYNOS4_BUS_DEVFREQ
> bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver"
> - depends on SOC_EXYNOS4210 || CPU_EXYNOS4212 || CPU_EXYNOS4412
> + depends on ARCH_EXYNOS4
I don't think so, because it depends on SoC not architecture. In addition,
we don't know ARM_EXYNOS4_BUS_DEVFREQ is available on upcoming exynos4...
> select ARCH_HAS_OPP
> select DEVFREQ_GOV_SIMPLE_ONDEMAND
> help
> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
> index b090415..5e2083b 100644
> --- a/drivers/mmc/host/sdhci-s3c.c
> +++ b/drivers/mmc/host/sdhci-s3c.c
> @@ -716,7 +716,7 @@ static const struct dev_pm_ops sdhci_s3c_pmops = {
> #define SDHCI_S3C_PMOPS NULL
> #endif
>
> -#if defined(CONFIG_SOC_EXYNOS4210) || defined(CONFIG_SOC_EXYNOS4212)
> +#if defined(CONFIG_ARCH_EXYNOS4)
Same as above.
> static struct sdhci_s3c_drv_data exynos4_sdhci_drv_data = {
> .sdhci_quirks = SDHCI_QUIRK_NONSTANDARD_CLOCK,
> };
> diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
> index 175ba6e..c689091 100644
> --- a/drivers/tty/serial/samsung.c
> +++ b/drivers/tty/serial/samsung.c
> @@ -1594,8 +1594,7 @@ static struct s3c24xx_serial_drv_data
> s5pv210_serial_drv_data = {
> #define S5PV210_SERIAL_DRV_DATA (kernel_ulong_t)NULL
> #endif
>
> -#if defined(CONFIG_SOC_EXYNOS4210) || defined(CONFIG_SOC_EXYNOS4212) || \
> - defined(CONFIG_SOC_EXYNOS4412) || defined(CONFIG_SOC_EXYNOS5250)
> +#if defined(CONFIG_ARCH_EXYNOS4) || defined(CONFIG_ARCH_EXYNOS5)
Same as above.
> static struct s3c24xx_serial_drv_data exynos4210_serial_drv_data = {
> .info = &(struct s3c24xx_uart_info) {
> .name = "Samsung Exynos4 UART",
> --
> 1.7.12
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
WARNING: multiple messages have this Message-ID (diff)
From: kgene.kim@samsung.com (Kukjin Kim)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] ARM: EXYNOS: Kconfig: Sort out dependencies between options
Date: Tue, 23 Oct 2012 21:35:32 +0900 [thread overview]
Message-ID: <01d401cdb11a$e4bcfff0$ae36ffd0$%kim@samsung.com> (raw)
In-Reply-To: <1349701345-2681-3-git-send-email-t.figa@samsung.com>
Tomasz Figa wrote:
>
> This patch modifies the dependencies between Exynos-related Kconfig
> options to represent the real dependencies between code units more
> closely.
>
> Originally it was possible to enable ARCH_EXYNOS{4,5} without any
> SOC_EXYNOS_{4,5}.* enabled, which could end with compilation or link
> errors. Now ARCH_EXYNOS{4,5} is only selected when there is a
> SOC_EXYNOS_{4,5}.* enabled, which requires it.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/mach-exynos/Kconfig | 15 ++++++---------
> drivers/devfreq/Kconfig | 2 +-
> drivers/mmc/host/sdhci-s3c.c | 2 +-
> drivers/tty/serial/samsung.c | 3 +--
> 4 files changed, 9 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> index 05dcd07..9f91892 100644
> --- a/arch/arm/mach-exynos/Kconfig
> +++ b/arch/arm/mach-exynos/Kconfig
> @@ -12,15 +12,14 @@ if ARCH_EXYNOS
> menu "SAMSUNG EXYNOS SoCs Support"
>
> config ARCH_EXYNOS4
> - bool "SAMSUNG EXYNOS4"
> - default y
> + def_bool n
> select HAVE_SMP
> select MIGHT_HAVE_CACHE_L2X0
> help
> Samsung EXYNOS4 SoCs based systems
>
> config ARCH_EXYNOS5
> - bool "SAMSUNG EXYNOS5"
> + def_bool n
> select HAVE_SMP
> help
> Samsung EXYNOS5 (Cortex-A15) SoC based systems
> @@ -30,7 +29,7 @@ comment "EXYNOS SoCs"
> config SOC_EXYNOS4210
> bool "SAMSUNG EXYNOS4210"
> default y
> - depends on ARCH_EXYNOS4
> + select ARCH_EXYNOS4
> select SAMSUNG_DMADEV
> select ARM_CPU_SUSPEND if PM
> select S5P_PM if PM
> @@ -42,7 +41,7 @@ config SOC_EXYNOS4210
> config SOC_EXYNOS4212
> bool "SAMSUNG EXYNOS4212"
> default y
> - depends on ARCH_EXYNOS4
> + select ARCH_EXYNOS4
> select SAMSUNG_DMADEV
> select S5P_PM if PM
> select S5P_SLEEP if PM
> @@ -51,6 +50,7 @@ config SOC_EXYNOS4212
>
> config SOC_EXYNOS4412
> bool "SAMSUNG EXYNOS4412"
> + select ARCH_EXYNOS4
> default y
> depends on ARCH_EXYNOS4
> select SAMSUNG_DMADEV
> @@ -60,7 +60,7 @@ config SOC_EXYNOS4412
> config SOC_EXYNOS5250
> bool "SAMSUNG EXYNOS5250"
> default y
> - depends on ARCH_EXYNOS5
> + select ARCH_EXYNOS5
> select SAMSUNG_DMADEV
> select S5P_PM if PM
> select S5P_SLEEP if PM
> @@ -176,8 +176,6 @@ config EXYNOS_SETUP_SPI
>
Basically, I agree with your approach. Its CONFIG_ARCH_EXYNOSx depends on
selecting own SOC.
BTW, I'm thinking, which one selecting is better to us board? Or SoC?...
> # machine support
>
> -if ARCH_EXYNOS4
> -
Well, according to removing above, we can select following exynos4210 boards
on other stuff. Of course, when select board, regarding soc is selected
though. So I'm thinking I said as above.
> comment "EXYNOS4210 Boards"
>
> config MACH_SMDKC210
> @@ -397,7 +395,6 @@ config MACH_SMDK4412
> select MACH_SMDK4212
> help
> Machine support for Samsung SMDK4412
> -endif
>
> comment "Flattened Device Tree based board for EXYNOS SoCs"
>
> diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
> index 8545069..c559609 100644
> --- a/drivers/devfreq/Kconfig
> +++ b/drivers/devfreq/Kconfig
> @@ -67,7 +67,7 @@ comment "DEVFREQ Drivers"
>
> config ARM_EXYNOS4_BUS_DEVFREQ
> bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver"
> - depends on SOC_EXYNOS4210 || CPU_EXYNOS4212 || CPU_EXYNOS4412
> + depends on ARCH_EXYNOS4
I don't think so, because it depends on SoC not architecture. In addition,
we don't know ARM_EXYNOS4_BUS_DEVFREQ is available on upcoming exynos4...
> select ARCH_HAS_OPP
> select DEVFREQ_GOV_SIMPLE_ONDEMAND
> help
> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
> index b090415..5e2083b 100644
> --- a/drivers/mmc/host/sdhci-s3c.c
> +++ b/drivers/mmc/host/sdhci-s3c.c
> @@ -716,7 +716,7 @@ static const struct dev_pm_ops sdhci_s3c_pmops = {
> #define SDHCI_S3C_PMOPS NULL
> #endif
>
> -#if defined(CONFIG_SOC_EXYNOS4210) || defined(CONFIG_SOC_EXYNOS4212)
> +#if defined(CONFIG_ARCH_EXYNOS4)
Same as above.
> static struct sdhci_s3c_drv_data exynos4_sdhci_drv_data = {
> .sdhci_quirks = SDHCI_QUIRK_NONSTANDARD_CLOCK,
> };
> diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
> index 175ba6e..c689091 100644
> --- a/drivers/tty/serial/samsung.c
> +++ b/drivers/tty/serial/samsung.c
> @@ -1594,8 +1594,7 @@ static struct s3c24xx_serial_drv_data
> s5pv210_serial_drv_data = {
> #define S5PV210_SERIAL_DRV_DATA (kernel_ulong_t)NULL
> #endif
>
> -#if defined(CONFIG_SOC_EXYNOS4210) || defined(CONFIG_SOC_EXYNOS4212) || \
> - defined(CONFIG_SOC_EXYNOS4412) || defined(CONFIG_SOC_EXYNOS5250)
> +#if defined(CONFIG_ARCH_EXYNOS4) || defined(CONFIG_ARCH_EXYNOS5)
Same as above.
> static struct s3c24xx_serial_drv_data exynos4210_serial_drv_data = {
> .info = &(struct s3c24xx_uart_info) {
> .name = "Samsung Exynos4 UART",
> --
> 1.7.12
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
next prev parent reply other threads:[~2012-10-23 12:35 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-08 13:02 [PATCH 0/4] ARM: EXYNOS: Kconfig cleanup Tomasz Figa
2012-10-08 13:02 ` Tomasz Figa
2012-10-08 13:02 ` [PATCH 1/4] ARM: EXYNOS: Kconfig: Rename CPU_EXYNOS4210 to SOC_EXYNOS4210 Tomasz Figa
2012-10-08 13:02 ` Tomasz Figa
2012-10-23 12:24 ` Kukjin Kim
2012-10-23 12:24 ` Kukjin Kim
2012-10-23 18:29 ` Tomasz Figa
2012-10-23 18:29 ` Tomasz Figa
2012-10-08 13:02 ` [PATCH 2/4] ARM: EXYNOS: Kconfig: Sort out dependencies between options Tomasz Figa
2012-10-08 13:02 ` Tomasz Figa
2012-10-23 12:35 ` Kukjin Kim [this message]
2012-10-23 12:35 ` Kukjin Kim
2012-10-23 18:57 ` Tomasz Figa
2012-10-23 18:57 ` Tomasz Figa
2012-10-08 13:02 ` [PATCH 3/4] ARM: EXYNOS: Kconfig: Group EXYNOS{4212,4412} into EXYNOS4X12 Tomasz Figa
2012-10-08 13:02 ` Tomasz Figa
2012-10-23 12:42 ` Kukjin Kim
2012-10-23 12:42 ` Kukjin Kim
2012-10-23 19:00 ` Tomasz Figa
2012-10-23 19:00 ` [PATCH 3/4] ARM: EXYNOS: Kconfig: Group EXYNOS{4212, 4412} " Tomasz Figa
2012-10-08 13:02 ` [PATCH 4/4] ARM: EXYNOS: Kconfig: Remove dependencies on particular SoCs from DT machines Tomasz Figa
2012-10-08 13:02 ` Tomasz Figa
2012-10-23 13:27 ` Kukjin Kim
2012-10-23 13:27 ` Kukjin Kim
2012-10-23 19:28 ` Tomasz Figa
2012-10-23 19:28 ` Tomasz Figa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='01d401cdb11a$e4bcfff0$ae36ffd0$%kim@samsung.com' \
--to=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=t.figa@samsung.com \
--cc=tomasz.figa@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.