Hi, > + val = readl(&gpios->reg->gpfsel[BCM2835_GPIO_FSEL_BANK(gpio)]); > + val &= ~(BCM2835_GPIO_FSEL_MASK << BCM2835_GPIO_FSEL_SHIFT(gpio)); > + val |= (func << BCM2835_GPIO_FSEL_SHIFT(gpio)); > + writel(val, &gpios->reg->gpfsel[BCM2835_GPIO_FSEL_BANK(gpio)]); Can clrsetbits_le32 be used here ? Thanks -Amit