On Mon, Mar 10, 2014 at 9:54 PM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > Sometimes it is useful to allow GPIO chips themselves to request GPIOs they > own through gpiolib API. One use case is ACPI ASL code that should be able > to toggle GPIOs through GPIO operation regions. > > We can't use gpio_request() because it will pin the module to the kernel > forever (it calls try_module_get()). To solve this we move module refcount > manipulation to gpiod_request() and let __gpiod_request() handle the actual > request. This changes the sequence a bit as now try_module_get() is called > outside of gpio_lock (I think this is safe, try_module_get() handles > serialization it needs already). > > Then we provide gpiolib internal functions gpiochip_request/free_own_desc() > that do the same as gpio_request() but don't manipulate module refrence > count. This allows the GPIO chip driver to request and free descriptors it > owns without being pinned to the kernel forever. > > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> The change is clear and does not add too much complexity to the code, so no reason to oppose it. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html