Message ID | 20240208161700.268570-1-peter.griffin@linaro.org |
---|---|
Headers | show |
Series | Add regmap support to exynos-pmu for protected PMU regs | expand |
On 2/8/24 08:17, Peter Griffin wrote: > Obtain the PMU regmap using the new API added to exynos-pmu driver rather > than syscon_regmap_lookup_by_phandle(). As this driver no longer depends > on mfd syscon remove that header and Kconfig dependency. > > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Acked-by: Guenter Roeck <linux@roeck-us.net> > --- > drivers/watchdog/Kconfig | 1 - > drivers/watchdog/s3c2410_wdt.c | 8 ++++---- > 2 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index 7d22051b15a2..d78fe7137799 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -512,7 +512,6 @@ config S3C2410_WATCHDOG > tristate "S3C6410/S5Pv210/Exynos Watchdog" > depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST > select WATCHDOG_CORE > - select MFD_SYSCON if ARCH_EXYNOS > help > Watchdog timer block in the Samsung S3C64xx, S5Pv210 and Exynos > SoCs. This will reboot the system when the timer expires with > diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c > index 349d30462c8c..686cf544d0ae 100644 > --- a/drivers/watchdog/s3c2410_wdt.c > +++ b/drivers/watchdog/s3c2410_wdt.c > @@ -24,9 +24,9 @@ > #include <linux/slab.h> > #include <linux/err.h> > #include <linux/of.h> > -#include <linux/mfd/syscon.h> > #include <linux/regmap.h> > #include <linux/delay.h> > +#include <linux/soc/samsung/exynos-pmu.h> > > #define S3C2410_WTCON 0x00 > #define S3C2410_WTDAT 0x04 > @@ -699,11 +699,11 @@ static int s3c2410wdt_probe(struct platform_device *pdev) > return ret; > > if (wdt->drv_data->quirks & QUIRKS_HAVE_PMUREG) { > - wdt->pmureg = syscon_regmap_lookup_by_phandle(dev->of_node, > - "samsung,syscon-phandle"); > + wdt->pmureg = exynos_get_pmu_regmap_by_phandle(dev->of_node, > + "samsung,syscon-phandle"); > if (IS_ERR(wdt->pmureg)) > return dev_err_probe(dev, PTR_ERR(wdt->pmureg), > - "syscon regmap lookup failed.\n"); > + "PMU regmap lookup failed.\n"); > } > > wdt_irq = platform_get_irq(pdev, 0);
On Thu, 8 Feb 2024 at 16:21, Peter Griffin <peter.griffin@linaro.org> wrote: > > Obtain the PMU regmap using the new API added to exynos-pmu driver rather > than syscon_regmap_lookup_by_phandle(). As this driver no longer depends > on mfd syscon remove that header and Kconfig dependency. > > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Tested-by: Alexey Klimov <alexey.klimov@linaro.org> Tested on odroid xu3 (exynos5422). Watchdog works as expected and can reset the system. > --- > drivers/watchdog/Kconfig | 1 - > drivers/watchdog/s3c2410_wdt.c | 8 ++++---- > 2 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index 7d22051b15a2..d78fe7137799 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -512,7 +512,6 @@ config S3C2410_WATCHDOG > tristate "S3C6410/S5Pv210/Exynos Watchdog" > depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST > select WATCHDOG_CORE > - select MFD_SYSCON if ARCH_EXYNOS > help > Watchdog timer block in the Samsung S3C64xx, S5Pv210 and Exynos > SoCs. This will reboot the system when the timer expires with > diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c > index 349d30462c8c..686cf544d0ae 100644 > --- a/drivers/watchdog/s3c2410_wdt.c > +++ b/drivers/watchdog/s3c2410_wdt.c > @@ -24,9 +24,9 @@ > #include <linux/slab.h> > #include <linux/err.h> > #include <linux/of.h> > -#include <linux/mfd/syscon.h> > #include <linux/regmap.h> > #include <linux/delay.h> > +#include <linux/soc/samsung/exynos-pmu.h> > > #define S3C2410_WTCON 0x00 > #define S3C2410_WTDAT 0x04 > @@ -699,11 +699,11 @@ static int s3c2410wdt_probe(struct platform_device *pdev) > return ret; > > if (wdt->drv_data->quirks & QUIRKS_HAVE_PMUREG) { > - wdt->pmureg = syscon_regmap_lookup_by_phandle(dev->of_node, > - "samsung,syscon-phandle"); > + wdt->pmureg = exynos_get_pmu_regmap_by_phandle(dev->of_node, > + "samsung,syscon-phandle"); > if (IS_ERR(wdt->pmureg)) > return dev_err_probe(dev, PTR_ERR(wdt->pmureg), > - "syscon regmap lookup failed.\n"); > + "PMU regmap lookup failed.\n"); > } > > wdt_irq = platform_get_irq(pdev, 0); > -- > 2.43.0.594.gd9cf4e227d-goog >