On Wed, Jan 28, 2015 at 12:04 PM, Felipe Balbi <[email protected]> wrote:
> I don't want to change direction all the time, some controllers might
> not be glitch free, but I agree that direction has to be set. It looks
> like we're missing a gpiod_direction_output() call from probe() so that
> this gpiod_set_value() works fine.
We could do like that:
nop->gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
and it works.
However, the initial value can't be set to 0 always as it depends if
the pin is active low or high.
I tried to do like this:
nop->gpiod_reset = devm_gpiod_get_optional(dev, "reset");
if (gpiod_is_active_low(nop->gpiod_reset))
gpiod_direction_output(nop->gpiod_reset, GPIOD_OUT_LOW);
else
gpiod_direction_output(nop->gpiod_reset, GPIOD_OUT_HIGH);
,but then the kernel does not even boot.
I have sent a formal patch to the list where I use
gpiod_direction_output inside nop_reset_set().
Please let me know if you are happy with it.
Thanks
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html