[PATCH v3 3/3] ARM: SAMSUNG: i2c/busses: Add HAVE_S3C2410_I2C option to include I2C for Samsung SoCs
Kyungmin Park
kmpark at infradead.org
Thu Jul 29 22:42:41 EDT 2010
On Fri, Jul 30, 2010 at 10:03 AM, Kukjin Kim <kgene.kim at samsung.com> wrote:
> Kyungmin Park wrote:
>>
>> On Thu, Jul 29, 2010 at 6:42 PM, Kukjin Kim <kgene.kim at samsung.com> wrote:
>> > From: Naveen Krishna Ch <ch.naveen at samsung.com>
>> >
>> > This patch adds HAVE_S3C2410_I2C to control inclusion of I2C bus driver
>> > on Samsung SoCs and makes I2C bus driver dependency SoC specific instead
>> > of machine specific. This will enalbe all machines using Samsung
>> ARCH_S3C2410,
>> > _S3C64XX, _S5P6440, _S5PC100, and _S5PV210 to select the I2C driver by
>> default
>>
>> What's the different from use PLAT_SAMSUNG?
>>
> Hi,
>
> Hmm..the difference?
>
> I remember, already said to you...
> Anyway actually, there was a stuff in here about that.
> Please refer to following...it may answer on your question.
>
> --- From Ben Dooks
>
>> config RTC_DRV_S3C
>> tristate "Samsung S3C series SoC RTC"
>> - depends on ARCH_S3C2410
>> + depends on ARCH_S3C2410 || ARCH_S3C64XX
>
> I wonder whether just making this depend on either S3C_DEV_RTC, or simply
> PLAT_SAMSUNG would just be a better choice.
>
> The S3C_DEV_RTC would mean that the drivers the core of the kernel
> would be built, but means that we can't speculatively build drivers
> if the kernel hasn't any machines using them.
>
> Making it depend on PLAT_SAMSUNG would mean it is available to all,
> but would be selectable even if there isn't a machine supporting it
> being built.
>
> The current situation would mean that we have to update driver Kconfig
> entries each time a new SoC turns up...
In other word, It can make it workable when new SoCs arrives, even
though depends on PLAT_SAMSUNG.
If new chip has improved i2C IP then define new I2C drivers and modify
it as 'depends on PLAT_SAMUSNG if !NEW_IP_I2C'
and use another i2c drivers. of course it's depends on PLAT_SAMSUNG or
PLAT_S5P if NEW_IP_I2C.
>
> We could also have a HAVE_RTC_DRV_S3C so that all SoCs supporting this
> coudl select it independant of whether there is machine support.
>
> ---
>
> It doesn't mean that we should use HAVE_XXX in this case...
> But this way is better _now_ and they used same method in several drivers.
> And if driver IP changes, we can use with HAVE_XXXV2...
>
>> config I2C_S3C2410
>> tristate "S3C2410 I2C Driver"
>> depends on PLAT_SAMSUNG
>>
>> Please don't populate the Kconfigs.
>>
>
> I hope you stop talking same issue without alternative...
>
>> Thank you,
>> Kyungmin Park
>>
>> >
>> > Signed-off-by: Naveen Krishna Ch <ch.naveen at samsung.com>
>> > Signed-off-by: Kukjin Kim <kgene.kim at samsung.com>
>> > Cc: Ben Dooks <ben-linux at fluff.org>
>> > ---
>> > Changes since v2:
>> > - Added HAVE_S3C2410_I2C in drivers Kconfig
>> > - Made I2C bus driver dependency SoC specific
>> > - Selected additional support I2C bus driver for S5P6440, S5PC100,
>> > and S5PV210
>> >
>> > Changes since v1:
>> > - Modifed the Kconfig help comments.
>> >
>> > arch/arm/Kconfig | 5 +++++
>> > drivers/i2c/busses/Kconfig | 11 +++++++++--
>> > 2 files changed, 14 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> > index 98922f7..e922994 100644
>> > --- a/arch/arm/Kconfig
>> > +++ b/arch/arm/Kconfig
>> > @@ -634,6 +634,7 @@ config ARCH_S3C2410
>> > select ARCH_HAS_CPUFREQ
>> > select HAVE_CLK
>> > select ARCH_USES_GETTIMEOFFSET
>> > + select HAVE_S3C2410_I2C
>> > help
>> > Samsung S3C2410X CPU based systems, such as the Simtec
>> Electronics
>> > BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940
>> or
>> > @@ -663,6 +664,7 @@ config ARCH_S3C64XX
>> > select S3C_DEV_NAND
>> > select USB_ARCH_HAS_OHCI
>> > select SAMSUNG_GPIOLIB_4BIT
>> > + select HAVE_S3C2410_I2C
>> > help
>> > Samsung S3C64XX series based systems
>> >
>> > @@ -672,6 +674,7 @@ config ARCH_S5P6440
>> > select GENERIC_GPIO
>> > select HAVE_CLK
>> > select ARCH_USES_GETTIMEOFFSET
>> > + select HAVE_S3C2410_I2C
>> > help
>> > Samsung S5P6440 CPU based systems
>> >
>> > @@ -691,6 +694,7 @@ config ARCH_S5PC100
>> > select CPU_V7
>> > select ARM_L1_CACHE_SHIFT_6
>> > select ARCH_USES_GETTIMEOFFSET
>> > + select HAVE_S3C2410_I2C
>> > help
>> > Samsung S5PC100 series based systems
>> >
>> > @@ -701,6 +705,7 @@ config ARCH_S5PV210
>> > select HAVE_CLK
>> > select ARM_L1_CACHE_SHIFT_6
>> > select ARCH_USES_GETTIMEOFFSET
>> > + select HAVE_S3C2410_I2C
>> > help
>> > Samsung S5PV210/S5PC110 series based systems
>> >
>> > diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
>> > index bceafbf..f1751da 100644
>> > --- a/drivers/i2c/busses/Kconfig
>> > +++ b/drivers/i2c/busses/Kconfig
>> > @@ -521,12 +521,19 @@ config I2C_PXA_SLAVE
>> > is necessary for systems where the PXA may be a target on the
>> > I2C bus.
>> >
>> > +config HAVE_S3C2410_I2C
>> > + bool
>> > + help
>> > + This will include I2C support for Samsung SoCs. If you want to
>> > + include I2C support for any machine, kindly select this in the
>> > + respective Kconfig file.
>> > +
>> > config I2C_S3C2410
>> > tristate "S3C2410 I2C Driver"
>> > - depends on ARCH_S3C2410 || ARCH_S3C64XX
>> > + depends on HAVE_S3C2410_I2C
>> > help
>> > Say Y here to include support for I2C controller in the
>> > - Samsung S3C2410 based System-on-Chip devices.
>> > + Samsung SoCs.
>> >
>> > config I2C_S6000
>> > tristate "S6000 I2C support"
>> > --
>
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
> --
> 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