[Intel-gfx] [PATCH 1/8] drivers/gpio/gpiolib: Add support for removing registered consumer lookup table

2015-05-12 Thread Linus Walleij
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

2015-05-06 Thread Daniel Vetter
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

2015-05-06 Thread Linus Walleij
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

2015-04-29 Thread Shobhit Kumar
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