On 01/15/2013 02:18 PM, Nicolas Ferre wrote: >> --- linux-2.6.orig/drivers/pinctrl/pinctrl-at91.c >> +++ linux-2.6/drivers/pinctrl/pinctrl-at91.c >> @@ -49,6 +49,7 @@ struct at91_gpio_chip { >> struct clk *clock; /* associated clock */ >> struct irq_domain *domain; /* associated irq domain */ >> struct at91_pinctrl_mux_ops *ops; /* ops */ >> + unsigned long mask_cache; /* cached mask for block gpio */ >> }; >> >> #define to_at91_gpio_chip(c) container_of(c, struct at91_gpio_chip, >> chip) >> @@ -1125,6 +1126,32 @@ static void at91_gpio_set(struct gpio_ch >> writel_relaxed(mask, pio + (val ? PIO_SODR : PIO_CODR)); >> } >> >> +static unsigned long at91_gpio_get_block(struct gpio_chip *chip, >> + unsigned long mask) >> +{ >> + struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); >> + void __iomem *pio = at91_gpio->regbase; >> + u32 pdsr; >> + >> + pdsr = __raw_readl(pio + PIO_PDSR); > > Maybe you should use readl_relaxed() here as it is used in the > at91_gpio_[get|set]() functions.
Thanks for the note! Seem to have missed this when forward porting in pinctrl-at91.c was due. Will include the respective change in a subsequent update. Roland -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/