>> Converted the existing arch-vt8500 gpio to a platform_device. >> Added support for WM8505 and WM8650 GPIO controllers. >(...) >> + unsigned val; >I asked about the datatype for this "val", it sure isn't "unsigned". >I suspected the registers were only 8bit and so it should be u8. >But atleast use u32 if you must use all these bits. Sorry - missed adding this to my list of fixes. I've used u32 as the datasheet advises these are 32-bit registers and must be read/written as such. Changes included in v4. >(...) >> + val = readl(vt8500_chip->base + vt8500_chip->regs->en); >> + val |= BIT(offset); >> + writel(val, vt8500_chip->base + vt8500_chip->regs->en); >BTW: have you considered [readl|writel]_relaxed? I haven't - and to be honest I didn't know what difference it would make until I read up on it. Most of this code already existed in mainline in arch/arm/mach-vt8500/gpio.c and I simply moved it across to drivers/gpio and made some changes/additions. Having looked, I don't see any reason why it can't use the _relaxed variants. Changes included in v4. I'll post up v4 for review when I get home in about 7 hours. Work always gets in the way of being productive :) Regards Tony Prisk-- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html