On Fri, Oct 07, 2016 at 04:31:26PM +0100, Martyn Welch wrote: > Also, if an output can only be open-drain, attempting to set the pin as > push-pull succeeds because gpiolib (currently) assumes that a pin can > always be p-p and doesn't even check the return value of it's call to > .set_single_ended: > > > /* Make sure to disable open drain/source hardware, if any */ > if (gc->set_single_ended) > gc->set_single_ended(gc, > gpio_chip_hwgpio(desc), > LINE_MODE_PUSH_PULL); > > > This is clearly a separate issue. > A bit of testing also show that a "open-drain only" output will succeed when an open-source output driven high is requested. Rather than having a pin pulled hard to VCC, we have a pin pulled to VCC via a resistor and thus (if there are other devices connected to the pin pulling to GND via a resistor, which would kinda stand to reason given the pin is being configured for open-source mode) we have the signal floating at a voltage determined by the effect of the two sets of resistors acting as a voltage divider. Martyn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html