On 8/24/21 12:37 PM, Clément Léger wrote: > Le Mon, 23 Aug 2021 07:42:58 +0000, > <eugen.hris...@microchip.com> a écrit : > >> On 8/4/21 5:55 PM, Clément Léger wrote: >>> When SYSRESET is enabled, cpu_reset function is also defined in >>> sysreset-uclass.c which lead to multiple definitions of this >>> function since reset.c is build unconditionally. Add a check in >>> Makefile to build this file only if SYSRESET isn't enabled. >>> SYSRESET can be enabled when building SYSRESET_PSCI for instance on >>> this platform. >> >> Hello Clement, >> >> Does this mean that in fact, the cpu_reset function from the reset.c >> file has to be implemented as a reset driver in the sysreset uclass ? > > Hello Eugen, > > In fact, when SYSRESET is selected, the reset_cpu function is defined > in sysreset-uclass.c. This function will then call the appropriate > reset function according to registered reset drivers.
Yes, so, my assumption is then correct, the cpu_reset from reset.c should be converted to a real driver that has to be registered with the sysreset-uclass . Meanwhile, I guess it's fine to avoid build errors when selecting the SYSRESET from menuconfig, so I will apply your patch. I wanted to make sure I fully understand the situation there. Eugen > > Clément > >> >> Eugen >> >>> >>> Signed-off-by: Clément Léger <clement.le...@bootlin.com> >>> --- >>> arch/arm/mach-at91/armv7/Makefile | 4 +++- >>> 1 file changed, 3 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/arm/mach-at91/armv7/Makefile >>> b/arch/arm/mach-at91/armv7/Makefile index f5b2665957..246050b67b >>> 100644 --- a/arch/arm/mach-at91/armv7/Makefile >>> +++ b/arch/arm/mach-at91/armv7/Makefile >>> @@ -11,7 +11,9 @@ obj-$(CONFIG_SAMA5D3) += sama5d3_devices.o clock.o >>> obj-$(CONFIG_SAMA5D4) += sama5d4_devices.o clock.o >>> obj-$(CONFIG_SAMA7G5) += sama7g5_devices.o >>> obj-y += cpu.o >>> -obj-y += reset.o >>> +ifndef CONFIG_$(SPL_TPL_)SYSRESET >>> +obj-y += reset.o >>> +endif >>> ifneq ($(CONFIG_ATMEL_PIT_TIMER),y) >>> ifneq ($(CONFIG_MCHP_PIT64B_TIMER),y) >>> # old non-DM timer driver >>> -- >>> 2.32.0 >>> >> > > > > -- > Clément Léger, > Embedded Linux and Kernel engineer at Bootlin > https://bootlin.com >