[PATCH v3 1/2] power: reset: at91-reset: change the power on reason prototype
Nicolas Ferre
nicolas.ferre at microchip.com
Mon Jun 19 01:10:05 PDT 2023
On 16/06/2023 at 15:52, Miquel Raynal wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> It is quite uncommon to use a driver helper with parameters like *pdev
> and __iomem *base. It is much cleaner and close to today's standards to
> provide the per-device driver structure and then access its
> internals. Let's do this with the helper which returns the power on
> reason. While we change the parameters, we can as well rename the
> function from at91_reset_status() to at91_reset_reason() to be more
> accurate with what the helper actually does, and finally because we don't
> really need the pdev argument in this helper besides for printing the
> reset reason, we can move the dev_info() call into the probe.
>
> All these modifications prepare the introduction of a sysfs entry to
> access this information. This way the diff will be much smaller. Thus,
> there is no intended functional change.
>
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
Thanks Miquel:
Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
Best regards,
Nicolas
> ---
> drivers/power/reset/at91-reset.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c
> index 741e44a017c3..d6884841a6dc 100644
> --- a/drivers/power/reset/at91-reset.c
> +++ b/drivers/power/reset/at91-reset.c
> @@ -149,11 +149,10 @@ static int at91_reset(struct notifier_block *this, unsigned long mode,
> return NOTIFY_DONE;
> }
>
> -static void __init at91_reset_status(struct platform_device *pdev,
> - void __iomem *base)
> +static const char * __init at91_reset_reason(struct at91_reset *reset)
> {
> + u32 reg = readl(reset->rstc_base + AT91_RSTC_SR);
> const char *reason;
> - u32 reg = readl(base + AT91_RSTC_SR);
>
> switch ((reg & AT91_RSTC_RSTTYP) >> 8) {
> case RESET_TYPE_GENERAL:
> @@ -185,7 +184,7 @@ static void __init at91_reset_status(struct platform_device *pdev,
> break;
> }
>
> - dev_info(&pdev->dev, "Starting after %s\n", reason);
> + return reason;
> }
>
> static const struct of_device_id at91_ramc_of_match[] = {
> @@ -392,7 +391,7 @@ static int __init at91_reset_probe(struct platform_device *pdev)
> if (ret)
> goto disable_clk;
>
> - at91_reset_status(pdev, reset->rstc_base);
> + dev_info(&pdev->dev, "Starting after %s\n", at91_reset_reason(reset));
>
> return 0;
>
> --
> 2.34.1
>
--
Nicolas Ferre
More information about the linux-arm-kernel
mailing list