On Mon, Dec 10, 2018 at 3:22 PM Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> wrote: > R-Car GPIO controller provides two interfaces to set GPIO line output > signal state, and for a particular GPIO line the selected interface is > determined by OUTDTSEL bit value. > > At the moment the driver supports only one of two interfaces, namely > OUTDT General Output Register is used to control the output signal. > > While this selection is the default one on reset, it is not explicitly > configured on probe, thus it might be possible that kernel and userspace > consumers of a GPIO won't be able to set the wanted GPIO output signal. > > Below is a simple test case to reproduce the described problem and > verify this fix in the kernel on H3 ULCB by setting non-default OUTDTSEL > configuration from a bootloader: > > u-boot > mw.l 0xe6055440 0x3000 1 > ... > userspace > echo -n default-on > /sys/devices/platform/leds/leds/led5/trigger > userspace > echo -n default-on > /sys/devices/platform/leds/leds/led6/trigger > > Fixes: 119f5e448d32c ("gpio: Renesas R-Car GPIO driver V3") > Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Patch applied for devel as "non-urgent fix" as I can't see any immediate regressions. Thanks for your thorough investigation of the issue! Yours, Linus Walleij