Message ID | f2e3ede0ef5d990d42768b1e9ba37e89b9b71691.1582184331.git.christophe.leroy@c-s.fr |
---|---|
State | Accepted |
Commit | a68256074f4239008c6d5c936bc0f8857f3d1b8a |
Headers | show |
Series | watchdog: mpc8xx: Revert the 8xx watchdog back to CONFIG_HW_WATCHDOG | expand |
On 20.02.20 08:39, Christophe Leroy wrote: > Commit f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros > cleanup") switched the watchdog to CONFIG_WATCHDOG. But this is not > compatible with the 8xx because it starts the watchdog HW timer at > reset and must be serviced from the very beginning including while > U-boot is executed in the firmware before relocation in RAM. > > Select CONFIG_HW_WATCHDOG and make hw_watchdog_reset() visible. > > Meanwhile, finalise the cleanup of arch/powerpc/cpu/mpc8xx/Kconfig by > removing the lines put in comment in that commit, and also remove > again the selection of CONFIG_MPC8xx_WATCHDOG which was removed by > that commit and brought back by mistake by commit b3134ffbd944 > ("watchdog: Kconfig: Sort entry alphabetically") > > Note that there was an 'imply WATCHDOG' in the original commit but > it disappeared in the Kconfig alphabetical sorting, so no need to > remove it here. > > Fixes: f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros cleanup") > Fixes: b3134ffbd944 ("watchdog: Kconfig: Sort entry alphabetically") > Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr> > Cc: Stefan Roese <sr at denx.de> > Cc: Patrice Chotard <patrice.chotard at st.com> Reviewed-by: Stefan Roese <sr at denx.de> Thanks, Stefan
On Thu, Feb 20, 2020 at 07:39:51AM +0000, Christophe Leroy wrote: > Commit f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros > cleanup") switched the watchdog to CONFIG_WATCHDOG. But this is not > compatible with the 8xx because it starts the watchdog HW timer at > reset and must be serviced from the very beginning including while > U-boot is executed in the firmware before relocation in RAM. > > Select CONFIG_HW_WATCHDOG and make hw_watchdog_reset() visible. > > Meanwhile, finalise the cleanup of arch/powerpc/cpu/mpc8xx/Kconfig by > removing the lines put in comment in that commit, and also remove > again the selection of CONFIG_MPC8xx_WATCHDOG which was removed by > that commit and brought back by mistake by commit b3134ffbd944 > ("watchdog: Kconfig: Sort entry alphabetically") > > Note that there was an 'imply WATCHDOG' in the original commit but > it disappeared in the Kconfig alphabetical sorting, so no need to > remove it here. > > Fixes: f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros cleanup") > Fixes: b3134ffbd944 ("watchdog: Kconfig: Sort entry alphabetically") > Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr> > Cc: Stefan Roese <sr at denx.de> > Cc: Patrice Chotard <patrice.chotard at st.com> > Reviewed-by: Stefan Roese <sr at denx.de> Please note that as-is this causes a build failure: +(MCR3000) In file included from ../arch/powerpc/cpu/mpc8xx/cpu.c:23:0: +(MCR3000) ../include/watchdog.h:32:4: error: #error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." +(MCR3000) # error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." +(MCR3000) ^~~~~ +(MCR3000) make[2]: *** [arch/powerpc/cpu/mpc8xx/cpu.o] Error 1 +(MCR3000) make[1]: *** [arch/powerpc/cpu/mpc8xx] Error 2 +(MCR3000) make: *** [sub-make] Error 2
Le 25/02/2020 ? 17:40, Tom Rini a ?crit?: > On Thu, Feb 20, 2020 at 07:39:51AM +0000, Christophe Leroy wrote: > >> Commit f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros >> cleanup") switched the watchdog to CONFIG_WATCHDOG. But this is not >> compatible with the 8xx because it starts the watchdog HW timer at >> reset and must be serviced from the very beginning including while >> U-boot is executed in the firmware before relocation in RAM. >> >> Select CONFIG_HW_WATCHDOG and make hw_watchdog_reset() visible. >> >> Meanwhile, finalise the cleanup of arch/powerpc/cpu/mpc8xx/Kconfig by >> removing the lines put in comment in that commit, and also remove >> again the selection of CONFIG_MPC8xx_WATCHDOG which was removed by >> that commit and brought back by mistake by commit b3134ffbd944 >> ("watchdog: Kconfig: Sort entry alphabetically") >> >> Note that there was an 'imply WATCHDOG' in the original commit but >> it disappeared in the Kconfig alphabetical sorting, so no need to >> remove it here. >> >> Fixes: f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros cleanup") >> Fixes: b3134ffbd944 ("watchdog: Kconfig: Sort entry alphabetically") >> Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr> >> Cc: Stefan Roese <sr at denx.de> >> Cc: Patrice Chotard <patrice.chotard at st.com> >> Reviewed-by: Stefan Roese <sr at denx.de> > > Please note that as-is this causes a build failure: > +(MCR3000) In file included from ../arch/powerpc/cpu/mpc8xx/cpu.c:23:0: > +(MCR3000) ../include/watchdog.h:32:4: error: #error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." > +(MCR3000) # error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." > +(MCR3000) ^~~~~ > +(MCR3000) make[2]: *** [arch/powerpc/cpu/mpc8xx/cpu.o] Error 1 > +(MCR3000) make[1]: *** [arch/powerpc/cpu/mpc8xx] Error 2 > +(MCR3000) make: *** [sub-make] Error 2 > Right. CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG are mutually exclusive but CONFIG_WDT implicitely selects CONFIG_WATCHDOG since commit 06985289d452 ("watchdog: Implement generic watchdog_reset() version") I've just sent a patch to fix that. Please take both together. Christophe
On Thu, Feb 20, 2020 at 07:39:51AM +0000, Christophe Leroy wrote: > Commit f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros > cleanup") switched the watchdog to CONFIG_WATCHDOG. But this is not > compatible with the 8xx because it starts the watchdog HW timer at > reset and must be serviced from the very beginning including while > U-boot is executed in the firmware before relocation in RAM. > > Select CONFIG_HW_WATCHDOG and make hw_watchdog_reset() visible. > > Meanwhile, finalise the cleanup of arch/powerpc/cpu/mpc8xx/Kconfig by > removing the lines put in comment in that commit, and also remove > again the selection of CONFIG_MPC8xx_WATCHDOG which was removed by > that commit and brought back by mistake by commit b3134ffbd944 > ("watchdog: Kconfig: Sort entry alphabetically") > > Note that there was an 'imply WATCHDOG' in the original commit but > it disappeared in the Kconfig alphabetical sorting, so no need to > remove it here. > > Fixes: f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros cleanup") > Fixes: b3134ffbd944 ("watchdog: Kconfig: Sort entry alphabetically") > Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr> > Cc: Stefan Roese <sr at denx.de> > Cc: Patrice Chotard <patrice.chotard at st.com> > Reviewed-by: Stefan Roese <sr at denx.de> Applied to u-boot/master, thanks!
diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig index 3e8ea3852959..f11231737656 100644 --- a/arch/powerpc/cpu/mpc8xx/Kconfig +++ b/arch/powerpc/cpu/mpc8xx/Kconfig @@ -25,10 +25,6 @@ config MPC885 endchoice -#config MPC8xx_WATCHDOG -# bool "Watchdog" -# select HW_WATCHDOG - config 8xx_GCLK_FREQ int "CPU GCLK Frequency" diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 36fbdce55208..fbb561b995f1 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -118,7 +118,7 @@ config WDT_CORTINA config WDT_MPC8xx bool "MPC8xx watchdog timer support" depends on WDT && MPC8xx - select CONFIG_MPC8xx_WATCHDOG + select HW_WATCHDOG help Select this to enable mpc8xx watchdog timer diff --git a/drivers/watchdog/mpc8xx_wdt.c b/drivers/watchdog/mpc8xx_wdt.c index 8a7a4c5bc6c3..c8b104d8f567 100644 --- a/drivers/watchdog/mpc8xx_wdt.c +++ b/drivers/watchdog/mpc8xx_wdt.c @@ -11,7 +11,7 @@ #include <asm/cpm_8xx.h> #include <asm/io.h> -static void hw_watchdog_reset(void) +void hw_watchdog_reset(void) { immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
Commit f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros cleanup") switched the watchdog to CONFIG_WATCHDOG. But this is not compatible with the 8xx because it starts the watchdog HW timer at reset and must be serviced from the very beginning including while U-boot is executed in the firmware before relocation in RAM. Select CONFIG_HW_WATCHDOG and make hw_watchdog_reset() visible. Meanwhile, finalise the cleanup of arch/powerpc/cpu/mpc8xx/Kconfig by removing the lines put in comment in that commit, and also remove again the selection of CONFIG_MPC8xx_WATCHDOG which was removed by that commit and brought back by mistake by commit b3134ffbd944 ("watchdog: Kconfig: Sort entry alphabetically") Note that there was an 'imply WATCHDOG' in the original commit but it disappeared in the Kconfig alphabetical sorting, so no need to remove it here. Fixes: f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros cleanup") Fixes: b3134ffbd944 ("watchdog: Kconfig: Sort entry alphabetically") Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr> Cc: Stefan Roese <sr at denx.de> Cc: Patrice Chotard <patrice.chotard at st.com> --- arch/powerpc/cpu/mpc8xx/Kconfig | 4 ---- drivers/watchdog/Kconfig | 2 +- drivers/watchdog/mpc8xx_wdt.c | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-)