I applied the whole series to an immutable branch and pushed to kernelorg for testing in zeroday. If it builds fine I will push it to devel. Must say this series is impressive. It's doing away with a whole slew of "technical debt" (old code not using modern frameworks). Strangely this driver doesn't support any pin config, it even seems to have per-pin debounce and everything. Some can be quickly supported by just adding the .set_config() callback, others like pull up/down are more dubious. If it supports open drain in hardware we should definately make use of it. Just in case you're interested! Yours, Linus Walleij