2021-11-08 19:25:03

by Sam Protsenko

[permalink] [raw]
Subject: [PATCH 1/2] arm: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies

A separate Kconfig option HAVE_S3C2410_I2C for Samsung SoCs is not
really needed and the i2c-s3c24xx driver can depend on Samsung ARM
architectures instead. This also enables i2c-s3c2410 for arm64 Exynos
SoCs, which is required for example by Exynos850.

This is basically continuation of work made in following commits:
- commit d96890fca9fd ("rtc: s3c: remove HAVE_S3C_RTC in favor of
direct dependencies")
- commit 7dd3cae90d85 ("ARM: samsung: remove HAVE_S3C2410_WATCHDOG and
use direct dependencies")

Signed-off-by: Sam Protsenko <[email protected]>
---
arch/arm/Kconfig | 1 -
arch/arm/mach-exynos/Kconfig | 1 -
arch/arm/mach-s3c/Kconfig.s3c64xx | 1 -
arch/arm/mach-s5pv210/Kconfig | 1 -
drivers/i2c/busses/Kconfig | 10 ++--------
5 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 59baf6c132a7..4536fb89b826 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -474,7 +474,6 @@ config ARCH_S3C24XX
select GPIO_SAMSUNG
select GPIOLIB
select GENERIC_IRQ_MULTI_HANDLER
- select HAVE_S3C2410_I2C if I2C
select HAVE_S3C_RTC if RTC_CLASS
select NEED_MACH_IO_H
select S3C2410_WATCHDOG
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 5a48abac6af4..0aa45d84ddf2 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -21,7 +21,6 @@ menuconfig ARCH_EXYNOS
select GPIOLIB
select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5
select HAVE_ARM_SCU if SMP
- select HAVE_S3C2410_I2C if I2C
select HAVE_S3C_RTC if RTC_CLASS
select PINCTRL
select PINCTRL_EXYNOS
diff --git a/arch/arm/mach-s3c/Kconfig.s3c64xx b/arch/arm/mach-s3c/Kconfig.s3c64xx
index f3fcb570edf5..af01675d8769 100644
--- a/arch/arm/mach-s3c/Kconfig.s3c64xx
+++ b/arch/arm/mach-s3c/Kconfig.s3c64xx
@@ -12,7 +12,6 @@ menuconfig ARCH_S3C64XX
select COMMON_CLK_SAMSUNG
select GPIO_SAMSUNG if ATAGS
select GPIOLIB
- select HAVE_S3C2410_I2C if I2C
select HAVE_TCM
select PLAT_SAMSUNG
select PM_GENERIC_DOMAINS if PM
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index d644b45bc29d..68f77d724bd5 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -12,7 +12,6 @@ config ARCH_S5PV210
select CLKSRC_SAMSUNG_PWM
select COMMON_CLK_SAMSUNG
select GPIOLIB
- select HAVE_S3C2410_I2C if I2C
select HAVE_S3C_RTC if RTC_CLASS
select PINCTRL
select PINCTRL_EXYNOS
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index e17790fe35a7..598becce03f0 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -949,16 +949,10 @@ config I2C_RK3X
This driver can also be built as a module. If so, the module will
be called i2c-rk3x.

-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 "S3C/Exynos I2C Driver"
- depends on HAVE_S3C2410_I2C || COMPILE_TEST
+ depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || \
+ ARCH_S5PV210 || COMPILE_TEST
help
Say Y here to include support for I2C controller in the
Samsung SoCs (S3C, S5Pv210, Exynos).
--
2.30.2


2021-11-08 19:25:03

by Sam Protsenko

[permalink] [raw]
Subject: [PATCH 2/2] arm64: defconfig: Enable Samsung I2C driver

i2c-s3c2410 driver is needed for some arm64 Exynos SoCs, e.g. Exynos850.

Signed-off-by: Sam Protsenko <[email protected]>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 545197bc0501..7c6a3b91e55d 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -461,6 +461,7 @@ CONFIG_I2C_QCOM_CCI=m
CONFIG_I2C_QCOM_GENI=m
CONFIG_I2C_QUP=y
CONFIG_I2C_RK3X=y
+CONFIG_I2C_S3C2410=y
CONFIG_I2C_SH_MOBILE=y
CONFIG_I2C_TEGRA=y
CONFIG_I2C_UNIPHIER_F=y
--
2.30.2

2021-11-21 12:39:17

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies

On 08/11/2021 14:49, Sam Protsenko wrote:
> A separate Kconfig option HAVE_S3C2410_I2C for Samsung SoCs is not
> really needed and the i2c-s3c24xx driver can depend on Samsung ARM
> architectures instead. This also enables i2c-s3c2410 for arm64 Exynos
> SoCs, which is required for example by Exynos850.
>
> This is basically continuation of work made in following commits:
> - commit d96890fca9fd ("rtc: s3c: remove HAVE_S3C_RTC in favor of
> direct dependencies")
> - commit 7dd3cae90d85 ("ARM: samsung: remove HAVE_S3C2410_WATCHDOG and
> use direct dependencies")
>
> Signed-off-by: Sam Protsenko <[email protected]>
> ---
> arch/arm/Kconfig | 1 -
> arch/arm/mach-exynos/Kconfig | 1 -
> arch/arm/mach-s3c/Kconfig.s3c64xx | 1 -
> arch/arm/mach-s5pv210/Kconfig | 1 -
> drivers/i2c/busses/Kconfig | 10 ++--------
> 5 files changed, 2 insertions(+), 12 deletions(-)
>

This does not apply, which is weird because there were no changes here.
It seems you based your work on some older tree, so please rebase and
re-test on current tree (my for-next branch or linux-next).

Best regards,
Krzysztof

2021-11-21 15:02:37

by Sam Protsenko

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies

On Sun, 21 Nov 2021 at 14:39, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 08/11/2021 14:49, Sam Protsenko wrote:
> > A separate Kconfig option HAVE_S3C2410_I2C for Samsung SoCs is not
> > really needed and the i2c-s3c24xx driver can depend on Samsung ARM
> > architectures instead. This also enables i2c-s3c2410 for arm64 Exynos
> > SoCs, which is required for example by Exynos850.
> >
> > This is basically continuation of work made in following commits:
> > - commit d96890fca9fd ("rtc: s3c: remove HAVE_S3C_RTC in favor of
> > direct dependencies")
> > - commit 7dd3cae90d85 ("ARM: samsung: remove HAVE_S3C2410_WATCHDOG and
> > use direct dependencies")
> >
> > Signed-off-by: Sam Protsenko <[email protected]>
> > ---
> > arch/arm/Kconfig | 1 -
> > arch/arm/mach-exynos/Kconfig | 1 -
> > arch/arm/mach-s3c/Kconfig.s3c64xx | 1 -
> > arch/arm/mach-s5pv210/Kconfig | 1 -
> > drivers/i2c/busses/Kconfig | 10 ++--------
> > 5 files changed, 2 insertions(+), 12 deletions(-)
> >
>
> This does not apply, which is weird because there were no changes here.
> It seems you based your work on some older tree, so please rebase and
> re-test on current tree (my for-next branch or linux-next).
>

This is strange indeed, those two patches are rebased flawlessly on
linux-next for me. Anyway, I'll send v2 today, thanks for letting me
know.

> Best regards,
> Krzysztof