[PATCH v3 1/2] power: reset: at91-reset: change the power on reason prototype

Sebastian Reichel sebastian.reichel at collabora.com
Mon Jun 19 14:46:22 PDT 2023


Hi,

On Mon, Jun 19, 2023 at 10:10:05AM +0200, Nicolas Ferre wrote:
> 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>

Thanks, queued.

-- Sebastian

> 
> 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
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20230619/e8b586b0/attachment.sig>


More information about the linux-arm-kernel mailing list