drivers: pinctrl: wch: remove useless operations
Remove redundant register updates in pinctrl_configure_pins, and replace the improper (and inefficient) use of bitwise OR assignment (|=) with direct assignments when writing to the write-only BSHR registers Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This commit is contained in:
committed by
Benjamin Cabé
parent
2c43a00f65
commit
b4e4c8ed48
@@ -46,14 +46,11 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
|
||||
regs->CFGLR = (regs->CFGLR & ~(0x0F << (pin * 4))) | (cfg << (pin * 4));
|
||||
|
||||
if (pins->output_high) {
|
||||
regs->OUTDR |= BIT(pin);
|
||||
regs->BSHR |= BIT(pin);
|
||||
regs->BSHR = BIT(pin);
|
||||
} else if (pins->output_low) {
|
||||
regs->OUTDR |= BIT(pin);
|
||||
/* Reset the pin. */
|
||||
regs->BSHR |= BIT(pin + 16);
|
||||
regs->BCR = BIT(pin);
|
||||
} else {
|
||||
regs->OUTDR &= ~(1 << pin);
|
||||
if (pins->bias_pull_up) {
|
||||
regs->BSHR = BIT(pin);
|
||||
}
|
||||
|
||||
@@ -55,14 +55,11 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
|
||||
(cfg << ((pin - 8) * 4));
|
||||
}
|
||||
if (pins->output_high) {
|
||||
regs->OUTDR |= BIT(pin);
|
||||
regs->BSHR |= BIT(pin);
|
||||
regs->BSHR = BIT(pin);
|
||||
} else if (pins->output_low) {
|
||||
regs->OUTDR |= BIT(pin);
|
||||
/* Reset the pin. */
|
||||
regs->BSHR |= BIT(pin + 16);
|
||||
regs->BCR = BIT(pin);
|
||||
} else {
|
||||
regs->OUTDR &= ~BIT(pin);
|
||||
if (pins->bias_pull_up) {
|
||||
regs->BSHR = BIT(pin);
|
||||
}
|
||||
|
||||
@@ -45,14 +45,11 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp
|
||||
regs->CFGLR = (regs->CFGLR & ~(0x0F << (pin * 4))) | (cfg << (pin * 4));
|
||||
|
||||
if (pins->output_high) {
|
||||
regs->OUTDR |= BIT(pin);
|
||||
regs->BSHR |= BIT(pin);
|
||||
regs->BSHR = BIT(pin);
|
||||
} else if (pins->output_low) {
|
||||
regs->OUTDR |= BIT(pin);
|
||||
/* Reset the pin. */
|
||||
regs->BSHR |= BIT(pin + 16);
|
||||
regs->BCR = BIT(pin);
|
||||
} else {
|
||||
regs->OUTDR &= ~(1 << pin);
|
||||
if (pins->bias_pull_up) {
|
||||
regs->BSHR = BIT(pin);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user