On Fri, Sep 16, 2016 at 3:58 PM, Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> wrote: > However, things are getting weird when you have that requested pin > assigned to one device, and you try to export the GPIO on that pin > (through sysfs for example, DON'T use sysfs. Use the new chardev ABI which is by the way enabled by default. (But you will face the same issue there I guess.) > but given the implementation, I think that > it would work alike by calling gpiod_request). Yes > In this case, you get no error, and the GPIO is indeed exported, > allowing the user to change the direction and / or value of the pin, > taking away that pin from its device. If and only if the pin controller does not specify .strict in struct pinmux_ops. > I have the feeling that the core should prevent that, making sure that > the gpiod_request returns EBUSY in such a case, but I'm not really > sure whether it's the case or not, and if it is, where that check is > happening. - Did you try specifying .strict for the pinmux? - Did you read Documentation/pinctrl.txt, section titled "GPIO mode pitfalls"? Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html