On 09/10/2013 03:37 PM, Mark Brown wrote: > On Tue, Sep 10, 2013 at 01:53:47PM -0600, Stephen Warren wrote: > >> Doesn't this patch call gpio_request() on the GPIO first, and >> hence prevent the driver's own gpio_request() from succeeding, >> since the GPIO is already requested? If this is not a problem, it >> sounds like a bug in gpio_request() not ensuring mutual exclusion >> for the GPIO. > > Or at the very least something that's likely to break in the > future. Looking at the GPIO code, it already prevents double-requests: > if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) { > desc_set_label(desc, label ? : "?"); > status = 0; > } else { > status = -EBUSY; > module_put(chip->owner); > goto done; > } And I tested it in practice, and it really does fail. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html