Message ID | 20200804192654.12783-7-krzk@kernel.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | clk/watchdog/ARM: Cleanup of various S3C bits | expand |
On Tue, Aug 04, 2020 at 09:26:47PM +0200, Krzysztof Kozlowski wrote: > A separate Kconfig option HAVE_S3C2410_WATCHDOG for Samsung SoCs is not > really needed and the s3c24xx watchdog driver can depend on Samsung ARM > architectures instead. > > The "HAVE_xxx_WATCHDOG" pattern of dependency is not popular and Samsung > platforms are here exceptions. All others just depend on > CONFIG_ARCH_xxx. > > This makes the code slightly smaller without any change in > functionality. > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > --- > > Changes since v1: > 1. Re-add the dependency on architectures to keep same functionality. Hi Guenter, Tomasz, Does such removal of HAVE_S3C2410_WATCHDOG makes sense for you? Best regards, Krzysztof > --- > arch/arm/Kconfig | 1 - > arch/arm/mach-exynos/Kconfig | 1 - > arch/arm/mach-s3c64xx/Kconfig | 2 -- > arch/arm/mach-s5pv210/Kconfig | 1 - > arch/arm64/Kconfig.platforms | 1 - > drivers/watchdog/Kconfig | 10 ++-------- > 6 files changed, 2 insertions(+), 14 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 7564f293f107..fe95777af653 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -504,7 +504,6 @@ config ARCH_S3C24XX > select GPIOLIB > select GENERIC_IRQ_MULTI_HANDLER > select HAVE_S3C2410_I2C if I2C > - select HAVE_S3C2410_WATCHDOG if WATCHDOG > select HAVE_S3C_RTC if RTC_CLASS > select NEED_MACH_IO_H > select SAMSUNG_ATAGS > diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig > index f185cd3d4c62..d2d249706ebb 100644 > --- a/arch/arm/mach-exynos/Kconfig > +++ b/arch/arm/mach-exynos/Kconfig > @@ -24,7 +24,6 @@ menuconfig ARCH_EXYNOS > select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5 > select HAVE_ARM_SCU if SMP > select HAVE_S3C2410_I2C if I2C > - select HAVE_S3C2410_WATCHDOG if WATCHDOG > select HAVE_S3C_RTC if RTC_CLASS > select PINCTRL > select PINCTRL_EXYNOS > diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig > index ac3e3563487f..e208c2b48853 100644 > --- a/arch/arm/mach-s3c64xx/Kconfig > +++ b/arch/arm/mach-s3c64xx/Kconfig > @@ -13,7 +13,6 @@ menuconfig ARCH_S3C64XX > select GPIO_SAMSUNG if ATAGS > select GPIOLIB > select HAVE_S3C2410_I2C if I2C > - select HAVE_S3C2410_WATCHDOG if WATCHDOG > select HAVE_TCM > select PLAT_SAMSUNG > select PM_GENERIC_DOMAINS if PM > @@ -165,7 +164,6 @@ config MACH_SMDK6410 > bool "SMDK6410" > depends on ATAGS > select CPU_S3C6410 > - select HAVE_S3C2410_WATCHDOG if WATCHDOG > select S3C64XX_SETUP_FB_24BPP > select S3C64XX_SETUP_I2C1 > select S3C64XX_SETUP_IDE > diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig > index 03984a791879..b3db1191e437 100644 > --- a/arch/arm/mach-s5pv210/Kconfig > +++ b/arch/arm/mach-s5pv210/Kconfig > @@ -14,7 +14,6 @@ config ARCH_S5PV210 > select COMMON_CLK_SAMSUNG > select GPIOLIB > select HAVE_S3C2410_I2C if I2C > - select HAVE_S3C2410_WATCHDOG if WATCHDOG > select HAVE_S3C_RTC if RTC_CLASS > select PINCTRL > select PINCTRL_EXYNOS > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms > index cd58f8495c45..d235b27cf372 100644 > --- a/arch/arm64/Kconfig.platforms > +++ b/arch/arm64/Kconfig.platforms > @@ -80,7 +80,6 @@ config ARCH_EXYNOS > select EXYNOS_CHIPID > select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS > select EXYNOS_PMU > - select HAVE_S3C2410_WATCHDOG if WATCHDOG > select HAVE_S3C_RTC if RTC_CLASS > select PINCTRL > select PINCTRL_EXYNOS > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index 4f4687c46d38..297af1c40643 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -478,16 +478,10 @@ config IXP4XX_WATCHDOG > > Say N if you are unsure. > > -config HAVE_S3C2410_WATCHDOG > - bool > - help > - This will include watchdog timer support for Samsung SoCs. If > - you want to include watchdog support for any machine, kindly > - select this in the respective mach-XXXX/Kconfig file. > - > config S3C2410_WATCHDOG > tristate "S3C2410 Watchdog" > - depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST > + depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || \ > + COMPILE_TEST > select WATCHDOG_CORE > select MFD_SYSCON if ARCH_EXYNOS > help > -- > 2.17.1 >
2020年8月17日(月) 18:57 Krzysztof Kozlowski <krzk@kernel.org>: > > On Tue, Aug 04, 2020 at 09:26:47PM +0200, Krzysztof Kozlowski wrote: > > A separate Kconfig option HAVE_S3C2410_WATCHDOG for Samsung SoCs is not > > really needed and the s3c24xx watchdog driver can depend on Samsung ARM > > architectures instead. > > > > The "HAVE_xxx_WATCHDOG" pattern of dependency is not popular and Samsung > > platforms are here exceptions. All others just depend on > > CONFIG_ARCH_xxx. > > > > This makes the code slightly smaller without any change in > > functionality. > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > > > --- > > > > Changes since v1: > > 1. Re-add the dependency on architectures to keep same functionality. > > Hi Guenter, Tomasz, > > Does such removal of HAVE_S3C2410_WATCHDOG makes sense for you? I don't have any objections and the patch itself is trivial. Best regards, Tomasz
On 8/17/20 9:57 AM, Krzysztof Kozlowski wrote: > On Tue, Aug 04, 2020 at 09:26:47PM +0200, Krzysztof Kozlowski wrote: >> A separate Kconfig option HAVE_S3C2410_WATCHDOG for Samsung SoCs is not >> really needed and the s3c24xx watchdog driver can depend on Samsung ARM >> architectures instead. >> >> The "HAVE_xxx_WATCHDOG" pattern of dependency is not popular and Samsung >> platforms are here exceptions. All others just depend on >> CONFIG_ARCH_xxx. >> >> This makes the code slightly smaller without any change in >> functionality. >> >> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> >> >> --- >> >> Changes since v1: >> 1. Re-add the dependency on architectures to keep same functionality. > > Hi Guenter, Tomasz, > > Does such removal of HAVE_S3C2410_WATCHDOG makes sense for you? > Umm ... answering the question, no, it doesn't make sense to me. If I were to immediately change all code under my "jurisdiction" whenever something runs out of favor, I'd do nothing else, and in this case the only real difference I can see is that the code will be more difficult to maintain going forward. Having said that, I don't really care one way or another as long as the change does not result in compile failures for other architectures/platforms. With that in mind, feel free to add Acked-by: Guenter Roeck <linux@roeck-us.net> to the patch. Thanks, Guenter > Best regards, > Krzysztof > > >> --- >> arch/arm/Kconfig | 1 - >> arch/arm/mach-exynos/Kconfig | 1 - >> arch/arm/mach-s3c64xx/Kconfig | 2 -- >> arch/arm/mach-s5pv210/Kconfig | 1 - >> arch/arm64/Kconfig.platforms | 1 - >> drivers/watchdog/Kconfig | 10 ++-------- >> 6 files changed, 2 insertions(+), 14 deletions(-) >> >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> index 7564f293f107..fe95777af653 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -504,7 +504,6 @@ config ARCH_S3C24XX >> select GPIOLIB >> select GENERIC_IRQ_MULTI_HANDLER >> select HAVE_S3C2410_I2C if I2C >> - select HAVE_S3C2410_WATCHDOG if WATCHDOG >> select HAVE_S3C_RTC if RTC_CLASS >> select NEED_MACH_IO_H >> select SAMSUNG_ATAGS >> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig >> index f185cd3d4c62..d2d249706ebb 100644 >> --- a/arch/arm/mach-exynos/Kconfig >> +++ b/arch/arm/mach-exynos/Kconfig >> @@ -24,7 +24,6 @@ menuconfig ARCH_EXYNOS >> select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5 >> select HAVE_ARM_SCU if SMP >> select HAVE_S3C2410_I2C if I2C >> - select HAVE_S3C2410_WATCHDOG if WATCHDOG >> select HAVE_S3C_RTC if RTC_CLASS >> select PINCTRL >> select PINCTRL_EXYNOS >> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig >> index ac3e3563487f..e208c2b48853 100644 >> --- a/arch/arm/mach-s3c64xx/Kconfig >> +++ b/arch/arm/mach-s3c64xx/Kconfig >> @@ -13,7 +13,6 @@ menuconfig ARCH_S3C64XX >> select GPIO_SAMSUNG if ATAGS >> select GPIOLIB >> select HAVE_S3C2410_I2C if I2C >> - select HAVE_S3C2410_WATCHDOG if WATCHDOG >> select HAVE_TCM >> select PLAT_SAMSUNG >> select PM_GENERIC_DOMAINS if PM >> @@ -165,7 +164,6 @@ config MACH_SMDK6410 >> bool "SMDK6410" >> depends on ATAGS >> select CPU_S3C6410 >> - select HAVE_S3C2410_WATCHDOG if WATCHDOG >> select S3C64XX_SETUP_FB_24BPP >> select S3C64XX_SETUP_I2C1 >> select S3C64XX_SETUP_IDE >> diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig >> index 03984a791879..b3db1191e437 100644 >> --- a/arch/arm/mach-s5pv210/Kconfig >> +++ b/arch/arm/mach-s5pv210/Kconfig >> @@ -14,7 +14,6 @@ config ARCH_S5PV210 >> select COMMON_CLK_SAMSUNG >> select GPIOLIB >> select HAVE_S3C2410_I2C if I2C >> - select HAVE_S3C2410_WATCHDOG if WATCHDOG >> select HAVE_S3C_RTC if RTC_CLASS >> select PINCTRL >> select PINCTRL_EXYNOS >> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms >> index cd58f8495c45..d235b27cf372 100644 >> --- a/arch/arm64/Kconfig.platforms >> +++ b/arch/arm64/Kconfig.platforms >> @@ -80,7 +80,6 @@ config ARCH_EXYNOS >> select EXYNOS_CHIPID >> select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS >> select EXYNOS_PMU >> - select HAVE_S3C2410_WATCHDOG if WATCHDOG >> select HAVE_S3C_RTC if RTC_CLASS >> select PINCTRL >> select PINCTRL_EXYNOS >> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig >> index 4f4687c46d38..297af1c40643 100644 >> --- a/drivers/watchdog/Kconfig >> +++ b/drivers/watchdog/Kconfig >> @@ -478,16 +478,10 @@ config IXP4XX_WATCHDOG >> >> Say N if you are unsure. >> >> -config HAVE_S3C2410_WATCHDOG >> - bool >> - help >> - This will include watchdog timer support for Samsung SoCs. If >> - you want to include watchdog support for any machine, kindly >> - select this in the respective mach-XXXX/Kconfig file. >> - >> config S3C2410_WATCHDOG >> tristate "S3C2410 Watchdog" >> - depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST >> + depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || \ >> + COMPILE_TEST >> select WATCHDOG_CORE >> select MFD_SYSCON if ARCH_EXYNOS >> help >> -- >> 2.17.1 >>
On Tue, Aug 04, 2020 at 09:26:47PM +0200, Krzysztof Kozlowski wrote: > A separate Kconfig option HAVE_S3C2410_WATCHDOG for Samsung SoCs is not > really needed and the s3c24xx watchdog driver can depend on Samsung ARM > architectures instead. > > The "HAVE_xxx_WATCHDOG" pattern of dependency is not popular and Samsung > platforms are here exceptions. All others just depend on > CONFIG_ARCH_xxx. > > This makes the code slightly smaller without any change in > functionality. > Applied. Best regards, Krzysztof
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 7564f293f107..fe95777af653 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -504,7 +504,6 @@ config ARCH_S3C24XX select GPIOLIB select GENERIC_IRQ_MULTI_HANDLER select HAVE_S3C2410_I2C if I2C - select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select NEED_MACH_IO_H select SAMSUNG_ATAGS diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index f185cd3d4c62..d2d249706ebb 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig @@ -24,7 +24,6 @@ menuconfig ARCH_EXYNOS select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5 select HAVE_ARM_SCU if SMP select HAVE_S3C2410_I2C if I2C - select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select PINCTRL select PINCTRL_EXYNOS diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig index ac3e3563487f..e208c2b48853 100644 --- a/arch/arm/mach-s3c64xx/Kconfig +++ b/arch/arm/mach-s3c64xx/Kconfig @@ -13,7 +13,6 @@ menuconfig ARCH_S3C64XX select GPIO_SAMSUNG if ATAGS select GPIOLIB select HAVE_S3C2410_I2C if I2C - select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_TCM select PLAT_SAMSUNG select PM_GENERIC_DOMAINS if PM @@ -165,7 +164,6 @@ config MACH_SMDK6410 bool "SMDK6410" depends on ATAGS select CPU_S3C6410 - select HAVE_S3C2410_WATCHDOG if WATCHDOG select S3C64XX_SETUP_FB_24BPP select S3C64XX_SETUP_I2C1 select S3C64XX_SETUP_IDE diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig index 03984a791879..b3db1191e437 100644 --- a/arch/arm/mach-s5pv210/Kconfig +++ b/arch/arm/mach-s5pv210/Kconfig @@ -14,7 +14,6 @@ config ARCH_S5PV210 select COMMON_CLK_SAMSUNG select GPIOLIB select HAVE_S3C2410_I2C if I2C - select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select PINCTRL select PINCTRL_EXYNOS diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index cd58f8495c45..d235b27cf372 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -80,7 +80,6 @@ config ARCH_EXYNOS select EXYNOS_CHIPID select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS select EXYNOS_PMU - select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select PINCTRL select PINCTRL_EXYNOS diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 4f4687c46d38..297af1c40643 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -478,16 +478,10 @@ config IXP4XX_WATCHDOG Say N if you are unsure. -config HAVE_S3C2410_WATCHDOG - bool - help - This will include watchdog timer support for Samsung SoCs. If - you want to include watchdog support for any machine, kindly - select this in the respective mach-XXXX/Kconfig file. - config S3C2410_WATCHDOG tristate "S3C2410 Watchdog" - depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST + depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || \ + COMPILE_TEST select WATCHDOG_CORE select MFD_SYSCON if ARCH_EXYNOS help
A separate Kconfig option HAVE_S3C2410_WATCHDOG for Samsung SoCs is not really needed and the s3c24xx watchdog driver can depend on Samsung ARM architectures instead. The "HAVE_xxx_WATCHDOG" pattern of dependency is not popular and Samsung platforms are here exceptions. All others just depend on CONFIG_ARCH_xxx. This makes the code slightly smaller without any change in functionality. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- Changes since v1: 1. Re-add the dependency on architectures to keep same functionality. --- arch/arm/Kconfig | 1 - arch/arm/mach-exynos/Kconfig | 1 - arch/arm/mach-s3c64xx/Kconfig | 2 -- arch/arm/mach-s5pv210/Kconfig | 1 - arch/arm64/Kconfig.platforms | 1 - drivers/watchdog/Kconfig | 10 ++-------- 6 files changed, 2 insertions(+), 14 deletions(-)