On Fri, Apr 29, 2016 at 4:25 PM, <patrice.chot...@st.com> wrote: > From: Patrice Chotard <patrice.chot...@st.com> > > Signed-off-by: Patrice Chotard <patrice.chot...@st.com>
Patch applied! Because this gives good debuggability. But think about refactorings: > +static bool stm32_pconf_input_get(struct stm32_gpio_bank *bank, > + unsigned int offset) > +{ > + unsigned long flags; > + u32 val; > + > + clk_enable(bank->clk); > + spin_lock_irqsave(&bank->lock, flags); > + > + val = !!(readl_relaxed(bank->base + STM32_GPIO_IDR) & BIT(offset)); > + > + spin_unlock_irqrestore(&bank->lock, flags); > + clk_disable(bank->clk); > + > + return val; > +} > + > +static bool stm32_pconf_output_get(struct stm32_gpio_bank *bank, > + unsigned int offset) > +{ > + unsigned long flags; > + u32 val; > + > + clk_enable(bank->clk); > + spin_lock_irqsave(&bank->lock, flags); > + val = !!(readl_relaxed(bank->base + STM32_GPIO_ODR) & BIT(offset)); > + > + spin_unlock_irqrestore(&bank->lock, flags); > + clk_disable(bank->clk); > + > + return val; > +} Don't you think these two look very similar for example. But that can be fixed later, debuggability is more important. Yours, Linus Walleij