On Tue, Dec 15, 2020 at 04:47:52PM +0100, Harald Seiler wrote:
> Historically, the reset_cpu() function had an `addr` parameter which was
> meant to pass in an address of the reset vector location, where the CPU
> should reset to. This feature is no longer used anywhere in U-Boot as
> all reset_cpu() implementations now ignore the passed value. Generic
> code has been added which always calls reset_cpu() with `0` which means
> this feature can no longer be used easily anyway.
>
> Over time, many implementations seem to have "misunderstood" the
> existence of this parameter as a way to customize/parameterize the reset
> (e.g. COLD vs WARM resets). As this is not properly supported, the
> code will almost always not do what it is intended to (because all
> call-sites just call reset_cpu() with 0).
>
> To avoid confusion and to clean up the codebase from unused left-overs
> of the past, remove the `addr` parameter entirely. Code which intends
> to support different kinds of resets should be rewritten as a sysreset
> driver instead.
>
> This transformation was done with the following coccinelle patch:
>
> @@
> expression argvalue;
> @@
> - reset_cpu(argvalue)
> + reset_cpu()
>
> @@
> identifier argname;
> type argtype;
> @@
> - reset_cpu(argtype argname)
> + reset_cpu(void)
> { ... }
>
> Signed-off-by: Harald Seiler <[email protected]>
> Reviewed-by: Simon Glass <[email protected]>Applied to u-boot/next, thanks! -- Tom
signature.asc
Description: PGP signature

