>> + if (priv->gpio_output & BIT(gpio)) >> + return 0; >> + else >> + return 1; >> >> This could just simplified using negation (!), but perhaps this is >> easier to parse as it stands. >> >> Sorry, it is not clear what your preferred action here is. >> So should I leave it as is then or not? > > Just do > > res = !(priv->gpio_output & BIT(gpio)); > Locking here? priv->gpio_output is a u8, there is no way it can be partially written. Or am I missing something else? Karoly