gpio: stm32_gpio: Use clrsetbits_le32() at appropriate places
PATCH v2 1/1 gpio: stm32_gpio: Use clrsetbits_le32() at appropriate places
Use clrsetbits_le32() to replace clrbits_le32() + setbits_le32().
Signed-off-by Axel Lin <[email protected]>
---
v2: Conver one more place (updating &gpio_regs->afr[dsc->pin >> 3] register)
to use clrsetbits_le32().
drivers/gpio/stm32_gpio.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-)
drivers/gpio/stm32_gpio.c +5 -13
@@ -69,22 +69,14 @@ int stm32_gpio_config(const struct stm32_gpio_dsc *dsc,setbits_le32 (&STM32_RCC ->ahb1enr,1 << dsc->port); i = (dsc->pin &0x07 ) *4 ; -clrbits_le32 (&gpio_regs->afr[dsc->pin >>3 ], (0xF << i)); -setbits_le32 (&gpio_regs->afr[dsc->pin >>3 ], ctl->af << i); +clrsetbits_le32 (&gpio_regs->afr[dsc->pin >>3 ],0xF << i, ctl->af << i); i = dsc->pin *2 ; -clrbits_le32 (&gpio_regs->moder, (0x3 << i)); -setbits_le32 (&gpio_regs->moder, ctl->mode << i); - -clrbits_le32 (&gpio_regs->otyper, (0x3 << i)); -setbits_le32 (&gpio_regs->otyper, ctl->otype << i); - -clrbits_le32 (&gpio_regs->ospeedr, (0x3 << i)); -setbits_le32 (&gpio_regs->ospeedr, ctl->speed << i); - -clrbits_le32 (&gpio_regs->pupdr, (0x3 << i)); -setbits_le32 (&gpio_regs->pupdr, ctl->pupd << i); +clrsetbits_le32 (&gpio_regs->moder,0x3 << i, ctl->mode << i); +clrsetbits_le32 (&gpio_regs->otyper,0x3 << i, ctl->otype << i); +clrsetbits_le32 (&gpio_regs->ospeedr,0x3 << i, ctl->speed << i); +clrsetbits_le32 (&gpio_regs->pupdr,0x3 << i, ctl->pupd << i); rv =0 ; out:
Signature · 1 line
2.1.0
PATCH v2 1/1 gpio: stm32_gpio: Use clrsetbits_le32() at appropriate places
Quoted 1 line · Axel Lin
Signed-off-by Axel Lin <[email protected]>
Reviewed-by Kamil Lulko <[email protected] <http://lists.denx.de/mailman/listinfo/u-boot>>
PATCH v2 1/1 gpio: stm32_gpio: Use clrsetbits_le32() at appropriate places
In reply to Axel LinQuoted 3 lines · Axel Lin
Use
clrsetbits_le32()to replaceclrbits_le32()+setbits_le32().Signed-off-by Axel Lin <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150510/fecc8187/attachment.sig>