[Intel-gfx] [PATCH 1/8] drivers/gpio/gpiolib: Add support for removing registered consumer lookup table
On Wed, May 6, 2015 at 5:09 PM, Daniel Vetter wrote: > On Wed, May 06, 2015 at 04:49:36PM +0200, Linus Walleij wrote: >> On Wed, Apr 29, 2015 at 3:59 PM, Shobhit Kumar >> wrote: >> >> > In case we unload and load a driver module again that is registering a >> > lookup table, without this it will result in multiple entries. Provide >> > an option to remove the lookup table on driver unload >> > >> > v2: Ccing maintainers >> > >> > Cc: Samuel Ortiz >> > Cc: Linus Walleij >> > Cc: Alexandre Courbot >> > Cc: Thierry Reding >> > Reviewed-by: Alexandre Courbot >> > Signed-off-by: Shobhit Kumar >> >> Reviewed-by: Linus Walleij > > I think the gpio/pwm and mfd parts would all need to go in through the > same tree. i915 parts are decoupled. I guess I could do a branch with just > those patches, tag it and then send a pull request to all 3 subsystems > once it's reviewed. Would that be ok? That's an immutable branch I guess, and yeah I think it's OK. I usually only pull these in if/when there are conflicts in -next. Yours, Linus Walleij
[Intel-gfx] [PATCH 1/8] drivers/gpio/gpiolib: Add support for removing registered consumer lookup table
On Wed, May 06, 2015 at 04:49:36PM +0200, Linus Walleij wrote: > On Wed, Apr 29, 2015 at 3:59 PM, Shobhit Kumar > wrote: > > > In case we unload and load a driver module again that is registering a > > lookup table, without this it will result in multiple entries. Provide > > an option to remove the lookup table on driver unload > > > > v2: Ccing maintainers > > > > Cc: Samuel Ortiz > > Cc: Linus Walleij > > Cc: Alexandre Courbot > > Cc: Thierry Reding > > Reviewed-by: Alexandre Courbot > > Signed-off-by: Shobhit Kumar > > Reviewed-by: Linus Walleij I think the gpio/pwm and mfd parts would all need to go in through the same tree. i915 parts are decoupled. I guess I could do a branch with just those patches, tag it and then send a pull request to all 3 subsystems once it's reviewed. Would that be ok? -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
[PATCH 1/8] drivers/gpio/gpiolib: Add support for removing registered consumer lookup table
On Wed, Apr 29, 2015 at 3:59 PM, Shobhit Kumar wrote: > In case we unload and load a driver module again that is registering a > lookup table, without this it will result in multiple entries. Provide > an option to remove the lookup table on driver unload > > v2: Ccing maintainers > > Cc: Samuel Ortiz > Cc: Linus Walleij > Cc: Alexandre Courbot > Cc: Thierry Reding > Reviewed-by: Alexandre Courbot > Signed-off-by: Shobhit Kumar Reviewed-by: Linus Walleij Since it is core support I'd prefer to merge this into the GPIO git tree. Is it OK or do you need to merge it through some other means? Yours, Linus Walleij
[PATCH 1/8] drivers/gpio/gpiolib: Add support for removing registered consumer lookup table
In case we unload and load a driver module again that is registering a lookup table, without this it will result in multiple entries. Provide an option to remove the lookup table on driver unload v2: Ccing maintainers Cc: Samuel Ortiz Cc: Linus Walleij Cc: Alexandre Courbot Cc: Thierry Reding Reviewed-by: Alexandre Courbot Signed-off-by: Shobhit Kumar --- drivers/gpio/gpiolib.c | 13 + include/linux/gpio/machine.h | 1 + 2 files changed, 14 insertions(+) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 59eaa23..2420af9 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1658,6 +1658,19 @@ void gpiod_add_lookup_table(struct gpiod_lookup_table *table) mutex_unlock(_lookup_lock); } +/** + * gpiod_remove_lookup_table() - unregister GPIO device consumers + * @table: table of consumers to unregister + */ +void gpiod_remove_lookup_table(struct gpiod_lookup_table *table) +{ + mutex_lock(_lookup_lock); + + list_del(>list); + + mutex_unlock(_lookup_lock); +} + static struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, unsigned int idx, enum gpio_lookup_flags *flags) diff --git a/include/linux/gpio/machine.h b/include/linux/gpio/machine.h index e270614..c0d712d 100644 --- a/include/linux/gpio/machine.h +++ b/include/linux/gpio/machine.h @@ -57,5 +57,6 @@ struct gpiod_lookup_table { } void gpiod_add_lookup_table(struct gpiod_lookup_table *table); +void gpiod_remove_lookup_table(struct gpiod_lookup_table *table); #endif /* __LINUX_GPIO_MACHINE_H */ -- 2.1.0