[PATCH RESEND 0/6 v10] gpio: Add block GPIO

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Dec 17 07:10:26 EST 2012


On Mon, Dec 17, 2012 at 12:51:32PM +0100, Wolfgang Grandegger wrote:
> +static void at91_gpiolib_set_block(struct gpio_chip *chip, unsigned long mask, unsigned long val)
> +{
> +	struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip);
> +	void __iomem *pio = at91_gpio->regbase;
> +	u32 set_bits = val & mask;
> +	u32 clr_bits = ~val & mask;
> +
> +	/* GPIO outputs can only be set at once or cleared at once */
> +	if (set_bits)
> +		__raw_writel(set_bits, pio + PIO_SODR);
> +	if (clr_bits)
> +		__raw_writel(clr_bits, pio + PIO_CODR);
> +}

You obviously didn't see my email...



More information about the linux-arm-kernel mailing list