Message ID | 20250307053809.20245-1-eagle.alexander923@gmail.com |
---|---|
State | New |
Headers | show |
Series | power: reset: at91-reset: Optimize at91_reset() | expand |
On 07/03/2025 08:38:09+0300, Alexander Shiyan wrote: > This patch adds a small optimization to the low-level at91_reset() > function, which includes: > - Removes the extra branch, since the following store operations > already have proper condition checks. > - Removes the definition of the clobber register r4, since it is > no longer used in the code. > > Fixes: fcd0532fac2a ("power: reset: at91-reset: make at91sam9g45_restart() generic") > Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com> Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > --- > drivers/power/reset/at91-reset.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c > index 036b18a1f90f..511f5a8f8961 100644 > --- a/drivers/power/reset/at91-reset.c > +++ b/drivers/power/reset/at91-reset.c > @@ -129,12 +129,11 @@ static int at91_reset(struct notifier_block *this, unsigned long mode, > " str %4, [%0, %6]\n\t" > /* Disable SDRAM1 accesses */ > "1: tst %1, #0\n\t" > - " beq 2f\n\t" > " strne %3, [%1, #" __stringify(AT91_DDRSDRC_RTR) "]\n\t" > /* Power down SDRAM1 */ > " strne %4, [%1, %6]\n\t" > /* Reset CPU */ > - "2: str %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t" > + " str %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t" > > " b .\n\t" > : > @@ -145,7 +144,7 @@ static int at91_reset(struct notifier_block *this, unsigned long mode, > "r" cpu_to_le32(AT91_DDRSDRC_LPCB_POWER_DOWN), > "r" (reset->data->reset_args), > "r" (reset->ramc_lpr) > - : "r4"); > + ); > > return NOTIFY_DONE; > } > -- > 2.39.1 >
diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c index 036b18a1f90f..511f5a8f8961 100644 --- a/drivers/power/reset/at91-reset.c +++ b/drivers/power/reset/at91-reset.c @@ -129,12 +129,11 @@ static int at91_reset(struct notifier_block *this, unsigned long mode, " str %4, [%0, %6]\n\t" /* Disable SDRAM1 accesses */ "1: tst %1, #0\n\t" - " beq 2f\n\t" " strne %3, [%1, #" __stringify(AT91_DDRSDRC_RTR) "]\n\t" /* Power down SDRAM1 */ " strne %4, [%1, %6]\n\t" /* Reset CPU */ - "2: str %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t" + " str %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t" " b .\n\t" : @@ -145,7 +144,7 @@ static int at91_reset(struct notifier_block *this, unsigned long mode, "r" cpu_to_le32(AT91_DDRSDRC_LPCB_POWER_DOWN), "r" (reset->data->reset_args), "r" (reset->ramc_lpr) - : "r4"); + ); return NOTIFY_DONE; }
This patch adds a small optimization to the low-level at91_reset() function, which includes: - Removes the extra branch, since the following store operations already have proper condition checks. - Removes the definition of the clobber register r4, since it is no longer used in the code. Fixes: fcd0532fac2a ("power: reset: at91-reset: make at91sam9g45_restart() generic") Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com> --- drivers/power/reset/at91-reset.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)