Re: [PATCH 27/28] ARM: EXYNOS: Remove CONFIG_SOC_EXYNOS4412

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 15 of June 2013 11:15:51 Kukjin Kim wrote:
> Tomasz Figa wrote:
> > Exynos4212 and Exynos4412 SoCs differ only in number of ARM cores and
> > there is no need to have separate Kconfig options for them, since they
> > use the same code.
> > 
> > This patch removes CONFIG_SOC_EXYNOS4412, leaving
> > CONFIG_SOC_EXYNOS4212
> > as the one supporting both SoCs from this series.
> > 
> > Cc: "Rafael J. Wysocki" <rjw@xxxxxxx>
> > Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> > Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
> > Cc: Eduardo Valentin <eduardo.valentin@xxxxxx>
> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Cc: cpufreq@xxxxxxxxxxxxxxx
> > Cc: linux-pm@xxxxxxxxxxxxxxx
> > Cc: linux-media@xxxxxxxxxxxxxxx
> > Cc: linux-serial@xxxxxxxxxxxxxxx
> > Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx>
> > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> > ---
> > 
> >  arch/arm/mach-exynos/Kconfig              | 11 +----------
> >  arch/arm/plat-samsung/include/plat/cpu.h  |  6 +-----
> >  drivers/cpufreq/Kconfig.arm               |  2 +-
> >  drivers/media/platform/exynos4-is/Kconfig |  2 +-
> >  drivers/thermal/exynos_thermal.c          |  2 +-
> >  drivers/tty/serial/samsung.c              |  3 +--
> >  6 files changed, 6 insertions(+), 20 deletions(-)
> > 
> > diff --git a/arch/arm/mach-exynos/Kconfig
> > b/arch/arm/mach-exynos/Kconfig index 47d8d9e..fe75a65 100644
> > --- a/arch/arm/mach-exynos/Kconfig
> > +++ b/arch/arm/mach-exynos/Kconfig
> > @@ -46,7 +46,7 @@ config CPU_EXYNOS4210
> > 
> >  	  Enable EXYNOS4210 CPU support
> >  
> >  config SOC_EXYNOS4212
> > 
> > -	bool "SAMSUNG EXYNOS4212"
> > +	bool "SAMSUNG EXYNOS4212/4412"
> > 
> >  	default y
> >  	depends on ARCH_EXYNOS4
> >  	select PINCTRL_EXYNOS
> > 
> > @@ -56,15 +56,6 @@ config SOC_EXYNOS4212
> > 
> >  	help
> >  	
> >  	  Enable EXYNOS4212 SoC support
> > 
> > -config SOC_EXYNOS4412
> > -	bool "SAMSUNG EXYNOS4412"
> > -	default y
> > -	depends on ARCH_EXYNOS4
> > -	select PINCTRL_EXYNOS
> > -	select SAMSUNG_DMADEV
> > -	help
> > -	  Enable EXYNOS4412 SoC support
> > -
> > 
> >  config SOC_EXYNOS5250
> >  
> >  	bool "SAMSUNG EXYNOS5250"
> >  	default y
> > 
> > diff --git a/arch/arm/plat-samsung/include/plat/cpu.h b/arch/arm/plat-
> > samsung/include/plat/cpu.h
> > index 989fefe..87b03bb 100644
> > --- a/arch/arm/plat-samsung/include/plat/cpu.h
> > +++ b/arch/arm/plat-samsung/include/plat/cpu.h
> > @@ -122,13 +122,9 @@ IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID,
> > EXYNOS5_SOC_MASK)
> > 
> >  #if defined(CONFIG_SOC_EXYNOS4212)
> >  # define soc_is_exynos4212()	is_samsung_exynos4212()
> > 
> > -#else
> > -# define soc_is_exynos4212()	0
> > -#endif
> > -
> > -#if defined(CONFIG_SOC_EXYNOS4412)
> > 
> >  # define soc_is_exynos4412()	is_samsung_exynos4412()
> >  #else
> > 
> > +# define soc_is_exynos4212()	0
> > 
> >  # define soc_is_exynos4412()	0
> >  #endif
> > 
> > diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
> > index a924408..b214ad6 100644
> > --- a/drivers/cpufreq/Kconfig.arm
> > +++ b/drivers/cpufreq/Kconfig.arm
> > @@ -32,7 +32,7 @@ config ARM_EXYNOS4210_CPUFREQ
> > 
> >  	  SoC (S5PV310 or S5PC210).
> >  
> >  config ARM_EXYNOS4X12_CPUFREQ
> > 
> > -	def_bool (SOC_EXYNOS4212 || SOC_EXYNOS4412)
> > +	def_bool SOC_EXYNOS4212
> > 
> >  	help
> >  	
> >  	  This adds the CPUFreq driver for Samsung EXYNOS4X12
> >  	  SoC (EXYNOS4212 or EXYNOS4412).
> > 
> > diff --git a/drivers/media/platform/exynos4-is/Kconfig
> > b/drivers/media/platform/exynos4-is/Kconfig
> > index 6ff99b5..f483e11 100644
> > --- a/drivers/media/platform/exynos4-is/Kconfig
> > +++ b/drivers/media/platform/exynos4-is/Kconfig
> > @@ -32,7 +32,7 @@ config VIDEO_S5P_MIPI_CSIS
> > 
> >  	  To compile this driver as a module, choose M here: the
> >  	  module will be called s5p-csis.
> > 
> > -if SOC_EXYNOS4212 || SOC_EXYNOS4412 || SOC_EXYNOS5250
> > +if SOC_EXYNOS4212 || SOC_EXYNOS5250
> > 
> >  config VIDEO_EXYNOS_FIMC_LITE
> >  
> >  	tristate "EXYNOS FIMC-LITE camera interface driver"
> > 
> > diff --git a/drivers/thermal/exynos_thermal.c
> > b/drivers/thermal/exynos_thermal.c
> > index 788b1dd..f88a2ad 100644
> > --- a/drivers/thermal/exynos_thermal.c
> > +++ b/drivers/thermal/exynos_thermal.c
> > @@ -817,7 +817,7 @@ static struct exynos_tmu_platform_data const
> > exynos4210_default_tmu_data = {
> > 
> >  #define EXYNOS4210_TMU_DRV_DATA (NULL)
> >  #endif
> > 
> > -#if defined(CONFIG_SOC_EXYNOS5250) || defined(CONFIG_SOC_EXYNOS4412)
> > +#if defined(CONFIG_SOC_EXYNOS5250) || defined(CONFIG_SOC_EXYNOS4212)
> > 
> >  static struct exynos_tmu_platform_data const exynos_default_tmu_data
> >  = {>  
> >  	.threshold_falling = 10,
> >  	.trigger_levels[0] = 85,
> > 
> > diff --git a/drivers/tty/serial/samsung.c
> > b/drivers/tty/serial/samsung.c index 0c8a9fa..eeb8ecb 100644
> > --- a/drivers/tty/serial/samsung.c
> > +++ b/drivers/tty/serial/samsung.c
> > @@ -1714,8 +1714,7 @@ static struct s3c24xx_serial_drv_data
> > s5pv210_serial_drv_data = {
> > 
> >  #endif
> >  
> >  #if defined(CONFIG_CPU_EXYNOS4210) || defined(CONFIG_SOC_EXYNOS4212)
> >  || \> 
> > -	defined(CONFIG_SOC_EXYNOS4412) || defined(CONFIG_SOC_EXYNOS5250) 
||
> > \
> > -	defined(CONFIG_SOC_EXYNOS5440)
> > +	defined(CONFIG_SOC_EXYNOS5250) || defined(CONFIG_SOC_EXYNOS5440)
> > 
> >  static struct s3c24xx_serial_drv_data exynos4210_serial_drv_data = {
> >  
> >  	.info = &(struct s3c24xx_uart_info) {
> >  	
> >  		.name		= "Samsung Exynos4 UART",
> > 
> > --
> > 1.8.2.1
> 
> Hmm, how about SOC_EXYNOS4X12 for exynos4212 and exynos4412?

I was thinking about it and finally decided to leave SOC_EXYNOS4212 for 
compatibility reasons - you don't need to change SOC_EXYNOS4212 to 
SOC_EXYNOS4X12 wherever it's used, making it possible to apply some older 
out of tree patches without modification.

> BTW, AFAIK, we need to leave both to support something...I need to check
> :)

OK.

But IMHO, now with DeviceTree, there is usually no need for such level of 
differentiation on config level.

For example we might be even able reduce CPU_EXYNOS4210 and SOC_EXYNOS4212 
to just ARCH_EXYNOS4, because they share almost all the code and all the 
differencies are specified in device tree.

Best regards,
Tomasz

> - Kukjin
> 
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-samsung-soc" in the body of a message to
> majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux