Linux-GPIO Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/4] gpio: API boundary cleanups
@ 2019-09-06  8:45 Geert Uytterhoeven
  2019-09-06  8:45 ` [PATCH 1/4] gpio: of: Make of_get_named_gpiod_flags() private Geert Uytterhoeven
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2019-09-06  8:45 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski
  Cc: Rob Herring, Frank Rowand, linux-gpio, devicetree,
	linux-arm-kernel, linux-kernel, Geert Uytterhoeven

	Hi Linus, Bartosz,

This patch series contains various API boundary cleanups for gpiolib:
  - The first two patches make two functions private,
  - The last two patches switch the remaining gpiolib exported functions
    from EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL().

After this there is only a single GPIO driver function exported with
EXPORT_SYMBOL();

    drivers/gpio/gpio-htc-egpio.c:EXPORT_SYMBOL(htc_egpio_get_wakeup_irq);

I believe this symbol was never used upstream, and may be a relic of the
original out-of-tree code the htc-egpio was based on.  I don't know if
there (still) exist out-of-tree users of the symbol.

Thanks for your comments!

Geert Uytterhoeven (4):
  gpio: of: Make of_get_named_gpiod_flags() private
  gpio: of: Make of_gpio_simple_xlate() private
  gpio: of: Switch to EXPORT_SYMBOL_GPL()
  gpio: devres: Switch to EXPORT_SYMBOL_GPL()

 drivers/gpio/gpiolib-devres.c | 28 ++++++++++++++--------------
 drivers/gpio/gpiolib-of.c     | 16 ++++++++--------
 drivers/gpio/gpiolib-of.h     |  7 -------
 include/linux/of_gpio.h       | 11 -----------
 4 files changed, 22 insertions(+), 40 deletions(-)

-- 
2.17.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/4] gpio: of: Make of_get_named_gpiod_flags() private
  2019-09-06  8:45 [PATCH 0/4] gpio: API boundary cleanups Geert Uytterhoeven
@ 2019-09-06  8:45 ` Geert Uytterhoeven
  2019-09-11 13:45   ` Linus Walleij
  2019-09-06  8:45 ` [PATCH 2/4] gpio: of: Make of_gpio_simple_xlate() private Geert Uytterhoeven
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2019-09-06  8:45 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski
  Cc: Rob Herring, Frank Rowand, linux-gpio, devicetree,
	linux-arm-kernel, linux-kernel, Geert Uytterhoeven

Since commit f626d6dfb7098525 ("gpio: of: Break out OF-only code"),
there are no more users of of_get_named_gpiod_flags() outside
gpiolib-of.c.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 drivers/gpio/gpiolib-of.c | 2 +-
 drivers/gpio/gpiolib-of.h | 7 -------
 2 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index b034abe59f287bff..4c6b366cb7bd5cd0 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -223,7 +223,7 @@ static void of_gpio_flags_quirks(struct device_node *np,
  * value on the error condition. If @flags is not NULL the function also fills
  * in flags for the GPIO.
  */
-struct gpio_desc *of_get_named_gpiod_flags(struct device_node *np,
+static struct gpio_desc *of_get_named_gpiod_flags(struct device_node *np,
 		     const char *propname, int index, enum of_gpio_flags *flags)
 {
 	struct of_phandle_args gpiospec;
diff --git a/drivers/gpio/gpiolib-of.h b/drivers/gpio/gpiolib-of.h
index 454d1658ee2d45fb..9768831b1fe2f25b 100644
--- a/drivers/gpio/gpiolib-of.h
+++ b/drivers/gpio/gpiolib-of.h
@@ -11,8 +11,6 @@ struct gpio_desc *of_find_gpio(struct device *dev,
 			       const char *con_id,
 			       unsigned int idx,
 			       unsigned long *lookupflags);
-struct gpio_desc *of_get_named_gpiod_flags(struct device_node *np,
-		   const char *list_name, int index, enum of_gpio_flags *flags);
 int of_gpiochip_add(struct gpio_chip *gc);
 void of_gpiochip_remove(struct gpio_chip *gc);
 int of_gpio_get_count(struct device *dev, const char *con_id);
@@ -25,11 +23,6 @@ static inline struct gpio_desc *of_find_gpio(struct device *dev,
 {
 	return ERR_PTR(-ENOENT);
 }
-static inline struct gpio_desc *of_get_named_gpiod_flags(struct device_node *np,
-		   const char *list_name, int index, enum of_gpio_flags *flags)
-{
-	return ERR_PTR(-ENOENT);
-}
 static inline int of_gpiochip_add(struct gpio_chip *gc) { return 0; }
 static inline void of_gpiochip_remove(struct gpio_chip *gc) { }
 static inline int of_gpio_get_count(struct device *dev, const char *con_id)
-- 
2.17.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 2/4] gpio: of: Make of_gpio_simple_xlate() private
  2019-09-06  8:45 [PATCH 0/4] gpio: API boundary cleanups Geert Uytterhoeven
  2019-09-06  8:45 ` [PATCH 1/4] gpio: of: Make of_get_named_gpiod_flags() private Geert Uytterhoeven
@ 2019-09-06  8:45 ` Geert Uytterhoeven
  2019-09-11 13:46   ` Linus Walleij
  2019-09-06  8:45 ` [PATCH 3/4] gpio: of: Switch to EXPORT_SYMBOL_GPL() Geert Uytterhoeven
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2019-09-06  8:45 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski
  Cc: Rob Herring, Frank Rowand, linux-gpio, devicetree,
	linux-arm-kernel, linux-kernel, Geert Uytterhoeven

Since commit 9a95e8d25a140ba9 ("gpio: remove etraxfs driver"), there are
no more users of of_gpio_simple_xlate() outside gpiolib-of.c.
All GPIO drivers that need it now rely on of_gpiochip_add() setting it
up as the default translate function.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 drivers/gpio/gpiolib-of.c |  6 +++---
 include/linux/of_gpio.h   | 11 -----------
 2 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index 4c6b366cb7bd5cd0..fad3aad667558325 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -637,8 +637,9 @@ static int of_gpiochip_scan_gpios(struct gpio_chip *chip)
  * GPIO chips. This function performs only one sanity check: whether GPIO
  * is less than ngpios (that is specified in the gpio_chip).
  */
-int of_gpio_simple_xlate(struct gpio_chip *gc,
-			 const struct of_phandle_args *gpiospec, u32 *flags)
+static int of_gpio_simple_xlate(struct gpio_chip *gc,
+				const struct of_phandle_args *gpiospec,
+				u32 *flags)
 {
 	/*
 	 * We're discouraging gpio_cells < 2, since that way you'll have to
@@ -662,7 +663,6 @@ int of_gpio_simple_xlate(struct gpio_chip *gc,
 
 	return gpiospec->args[0];
 }
-EXPORT_SYMBOL(of_gpio_simple_xlate);
 
 /**
  * of_mm_gpiochip_add_data - Add memory mapped GPIO chip (bank)
diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h
index f9737dea9d1f945a..16967390a3fe3b12 100644
--- a/include/linux/of_gpio.h
+++ b/include/linux/of_gpio.h
@@ -61,10 +61,6 @@ static inline int of_mm_gpiochip_add(struct device_node *np,
 }
 extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc);
 
-extern int of_gpio_simple_xlate(struct gpio_chip *gc,
-				const struct of_phandle_args *gpiospec,
-				u32 *flags);
-
 #else /* CONFIG_OF_GPIO */
 
 /* Drivers may not strictly depend on the GPIO support, so let them link. */
@@ -77,13 +73,6 @@ static inline int of_get_named_gpio_flags(struct device_node *np,
 	return -ENOSYS;
 }
 
-static inline int of_gpio_simple_xlate(struct gpio_chip *gc,
-				       const struct of_phandle_args *gpiospec,
-				       u32 *flags)
-{
-	return -ENOSYS;
-}
-
 #endif /* CONFIG_OF_GPIO */
 
 /**
-- 
2.17.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 3/4] gpio: of: Switch to EXPORT_SYMBOL_GPL()
  2019-09-06  8:45 [PATCH 0/4] gpio: API boundary cleanups Geert Uytterhoeven
  2019-09-06  8:45 ` [PATCH 1/4] gpio: of: Make of_get_named_gpiod_flags() private Geert Uytterhoeven
  2019-09-06  8:45 ` [PATCH 2/4] gpio: of: Make of_gpio_simple_xlate() private Geert Uytterhoeven
@ 2019-09-06  8:45 ` Geert Uytterhoeven
  2019-09-11 13:47   ` Linus Walleij
  2019-09-06  8:45 ` [PATCH 4/4] gpio: devres: " Geert Uytterhoeven
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2019-09-06  8:45 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski
  Cc: Rob Herring, Frank Rowand, linux-gpio, devicetree,
	linux-arm-kernel, linux-kernel, Geert Uytterhoeven

All exported functions provide genuine Linux-specific functionality.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 drivers/gpio/gpiolib-of.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index fad3aad667558325..7aea6d0f3ace9b82 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -274,7 +274,7 @@ int of_get_named_gpio_flags(struct device_node *np, const char *list_name,
 	else
 		return desc_to_gpio(desc);
 }
-EXPORT_SYMBOL(of_get_named_gpio_flags);
+EXPORT_SYMBOL_GPL(of_get_named_gpio_flags);
 
 /**
  * gpiod_get_from_of_node() - obtain a GPIO from an OF node
@@ -343,7 +343,7 @@ struct gpio_desc *gpiod_get_from_of_node(struct device_node *node,
 
 	return desc;
 }
-EXPORT_SYMBOL(gpiod_get_from_of_node);
+EXPORT_SYMBOL_GPL(gpiod_get_from_of_node);
 
 /*
  * The SPI GPIO bindings happened before we managed to establish that GPIO
@@ -719,7 +719,7 @@ int of_mm_gpiochip_add_data(struct device_node *np,
 	pr_err("%pOF: GPIO chip registration failed with status %d\n", np, ret);
 	return ret;
 }
-EXPORT_SYMBOL(of_mm_gpiochip_add_data);
+EXPORT_SYMBOL_GPL(of_mm_gpiochip_add_data);
 
 /**
  * of_mm_gpiochip_remove - Remove memory mapped GPIO chip (bank)
@@ -736,7 +736,7 @@ void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc)
 	iounmap(mm_gc->regs);
 	kfree(gc->label);
 }
-EXPORT_SYMBOL(of_mm_gpiochip_remove);
+EXPORT_SYMBOL_GPL(of_mm_gpiochip_remove);
 
 static void of_gpiochip_init_valid_mask(struct gpio_chip *chip)
 {
-- 
2.17.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 4/4] gpio: devres: Switch to EXPORT_SYMBOL_GPL()
  2019-09-06  8:45 [PATCH 0/4] gpio: API boundary cleanups Geert Uytterhoeven
                   ` (2 preceding siblings ...)
  2019-09-06  8:45 ` [PATCH 3/4] gpio: of: Switch to EXPORT_SYMBOL_GPL() Geert Uytterhoeven
@ 2019-09-06  8:45 ` " Geert Uytterhoeven
  2019-09-11 13:48   ` Linus Walleij
  2019-09-10  8:50 ` [PATCH 0/4] gpio: API boundary cleanups Bartosz Golaszewski
  2019-09-10 10:22 ` Linus Walleij
  5 siblings, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2019-09-06  8:45 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski
  Cc: Rob Herring, Frank Rowand, linux-gpio, devicetree,
	linux-arm-kernel, linux-kernel, Geert Uytterhoeven

Change all exported symbols for managed GPIO functions from
EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL(), like is used for their
non-managed counterparts.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
The only exception was gpiod_get_from_of_node(), as everything in
drivers/gpio/gpiolib-of.c used EXPORT_SYMBOL(), until the previous
patch.
---
 drivers/gpio/gpiolib-devres.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/gpio/gpiolib-devres.c b/drivers/gpio/gpiolib-devres.c
index 0acc2cc6e868fdef..98e3c20d9730e66a 100644
--- a/drivers/gpio/gpiolib-devres.c
+++ b/drivers/gpio/gpiolib-devres.c
@@ -59,7 +59,7 @@ struct gpio_desc *__must_check devm_gpiod_get(struct device *dev,
 {
 	return devm_gpiod_get_index(dev, con_id, 0, flags);
 }
-EXPORT_SYMBOL(devm_gpiod_get);
+EXPORT_SYMBOL_GPL(devm_gpiod_get);
 
 /**
  * devm_gpiod_get_optional - Resource-managed gpiod_get_optional()
@@ -77,7 +77,7 @@ struct gpio_desc *__must_check devm_gpiod_get_optional(struct device *dev,
 {
 	return devm_gpiod_get_index_optional(dev, con_id, 0, flags);
 }
-EXPORT_SYMBOL(devm_gpiod_get_optional);
+EXPORT_SYMBOL_GPL(devm_gpiod_get_optional);
 
 /**
  * devm_gpiod_get_index - Resource-managed gpiod_get_index()
@@ -127,7 +127,7 @@ struct gpio_desc *__must_check devm_gpiod_get_index(struct device *dev,
 
 	return desc;
 }
-EXPORT_SYMBOL(devm_gpiod_get_index);
+EXPORT_SYMBOL_GPL(devm_gpiod_get_index);
 
 /**
  * devm_gpiod_get_from_of_node() - obtain a GPIO from an OF node
@@ -182,7 +182,7 @@ struct gpio_desc *devm_gpiod_get_from_of_node(struct device *dev,
 
 	return desc;
 }
-EXPORT_SYMBOL(devm_gpiod_get_from_of_node);
+EXPORT_SYMBOL_GPL(devm_gpiod_get_from_of_node);
 
 /**
  * devm_fwnode_get_index_gpiod_from_child - get a GPIO descriptor from a
@@ -239,7 +239,7 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
 
 	return desc;
 }
-EXPORT_SYMBOL(devm_fwnode_get_index_gpiod_from_child);
+EXPORT_SYMBOL_GPL(devm_fwnode_get_index_gpiod_from_child);
 
 /**
  * devm_gpiod_get_index_optional - Resource-managed gpiod_get_index_optional()
@@ -268,7 +268,7 @@ struct gpio_desc *__must_check devm_gpiod_get_index_optional(struct device *dev,
 
 	return desc;
 }
-EXPORT_SYMBOL(devm_gpiod_get_index_optional);
+EXPORT_SYMBOL_GPL(devm_gpiod_get_index_optional);
 
 /**
  * devm_gpiod_get_array - Resource-managed gpiod_get_array()
@@ -303,7 +303,7 @@ struct gpio_descs *__must_check devm_gpiod_get_array(struct device *dev,
 
 	return descs;
 }
-EXPORT_SYMBOL(devm_gpiod_get_array);
+EXPORT_SYMBOL_GPL(devm_gpiod_get_array);
 
 /**
  * devm_gpiod_get_array_optional - Resource-managed gpiod_get_array_optional()
@@ -328,7 +328,7 @@ devm_gpiod_get_array_optional(struct device *dev, const char *con_id,
 
 	return descs;
 }
-EXPORT_SYMBOL(devm_gpiod_get_array_optional);
+EXPORT_SYMBOL_GPL(devm_gpiod_get_array_optional);
 
 /**
  * devm_gpiod_put - Resource-managed gpiod_put()
@@ -344,7 +344,7 @@ void devm_gpiod_put(struct device *dev, struct gpio_desc *desc)
 	WARN_ON(devres_release(dev, devm_gpiod_release, devm_gpiod_match,
 		&desc));
 }
-EXPORT_SYMBOL(devm_gpiod_put);
+EXPORT_SYMBOL_GPL(devm_gpiod_put);
 
 /**
  * devm_gpiod_unhinge - Remove resource management from a gpio descriptor
@@ -374,7 +374,7 @@ void devm_gpiod_unhinge(struct device *dev, struct gpio_desc *desc)
 	/* Anything else we should warn about */
 	WARN_ON(ret);
 }
-EXPORT_SYMBOL(devm_gpiod_unhinge);
+EXPORT_SYMBOL_GPL(devm_gpiod_unhinge);
 
 /**
  * devm_gpiod_put_array - Resource-managed gpiod_put_array()
@@ -390,7 +390,7 @@ void devm_gpiod_put_array(struct device *dev, struct gpio_descs *descs)
 	WARN_ON(devres_release(dev, devm_gpiod_release_array,
 			       devm_gpiod_match_array, &descs));
 }
-EXPORT_SYMBOL(devm_gpiod_put_array);
+EXPORT_SYMBOL_GPL(devm_gpiod_put_array);
 
 
 
@@ -444,7 +444,7 @@ int devm_gpio_request(struct device *dev, unsigned gpio, const char *label)
 
 	return 0;
 }
-EXPORT_SYMBOL(devm_gpio_request);
+EXPORT_SYMBOL_GPL(devm_gpio_request);
 
 /**
  *	devm_gpio_request_one - request a single GPIO with initial setup
@@ -474,7 +474,7 @@ int devm_gpio_request_one(struct device *dev, unsigned gpio,
 
 	return 0;
 }
-EXPORT_SYMBOL(devm_gpio_request_one);
+EXPORT_SYMBOL_GPL(devm_gpio_request_one);
 
 /**
  *      devm_gpio_free - free a GPIO
@@ -492,4 +492,4 @@ void devm_gpio_free(struct device *dev, unsigned int gpio)
 	WARN_ON(devres_release(dev, devm_gpio_release, devm_gpio_match,
 		&gpio));
 }
-EXPORT_SYMBOL(devm_gpio_free);
+EXPORT_SYMBOL_GPL(devm_gpio_free);
-- 
2.17.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] gpio: API boundary cleanups
  2019-09-06  8:45 [PATCH 0/4] gpio: API boundary cleanups Geert Uytterhoeven
                   ` (3 preceding siblings ...)
  2019-09-06  8:45 ` [PATCH 4/4] gpio: devres: " Geert Uytterhoeven
@ 2019-09-10  8:50 ` Bartosz Golaszewski
  2019-09-10  8:59   ` Geert Uytterhoeven
  2019-09-10 10:22 ` Linus Walleij
  5 siblings, 1 reply; 12+ messages in thread
From: Bartosz Golaszewski @ 2019-09-10  8:50 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Walleij, Rob Herring, Frank Rowand, linux-gpio,
	linux-devicetree, arm-soc, LKML

pt., 6 wrz 2019 o 10:45 Geert Uytterhoeven <geert+renesas@glider.be> napisał(a):
>
>         Hi Linus, Bartosz,
>
> This patch series contains various API boundary cleanups for gpiolib:
>   - The first two patches make two functions private,
>   - The last two patches switch the remaining gpiolib exported functions
>     from EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL().
>
> After this there is only a single GPIO driver function exported with
> EXPORT_SYMBOL();
>
>     drivers/gpio/gpio-htc-egpio.c:EXPORT_SYMBOL(htc_egpio_get_wakeup_irq);
>
> I believe this symbol was never used upstream, and may be a relic of the
> original out-of-tree code the htc-egpio was based on.  I don't know if
> there (still) exist out-of-tree users of the symbol.
>
> Thanks for your comments!

All looks good to me. Are you fine with this being picked up after the
v5.4 merge window?

Bart

>
> Geert Uytterhoeven (4):
>   gpio: of: Make of_get_named_gpiod_flags() private
>   gpio: of: Make of_gpio_simple_xlate() private
>   gpio: of: Switch to EXPORT_SYMBOL_GPL()
>   gpio: devres: Switch to EXPORT_SYMBOL_GPL()
>
>  drivers/gpio/gpiolib-devres.c | 28 ++++++++++++++--------------
>  drivers/gpio/gpiolib-of.c     | 16 ++++++++--------
>  drivers/gpio/gpiolib-of.h     |  7 -------
>  include/linux/of_gpio.h       | 11 -----------
>  4 files changed, 22 insertions(+), 40 deletions(-)
>
> --
> 2.17.1
>
> Gr{oetje,eeting}s,
>
>                                                 Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                                             -- Linus Torvalds

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] gpio: API boundary cleanups
  2019-09-10  8:50 ` [PATCH 0/4] gpio: API boundary cleanups Bartosz Golaszewski
@ 2019-09-10  8:59   ` Geert Uytterhoeven
  0 siblings, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2019-09-10  8:59 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Geert Uytterhoeven, Linus Walleij, Rob Herring, Frank Rowand,
	linux-gpio, linux-devicetree, arm-soc, LKML

Hi Bartosz,

On Tue, Sep 10, 2019 at 10:51 AM Bartosz Golaszewski
<bgolaszewski@baylibre.com> wrote:
> pt., 6 wrz 2019 o 10:45 Geert Uytterhoeven <geert+renesas@glider.be> napisał(a):
> > This patch series contains various API boundary cleanups for gpiolib:
> >   - The first two patches make two functions private,
> >   - The last two patches switch the remaining gpiolib exported functions
> >     from EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL().
> >
> > After this there is only a single GPIO driver function exported with
> > EXPORT_SYMBOL();
> >
> >     drivers/gpio/gpio-htc-egpio.c:EXPORT_SYMBOL(htc_egpio_get_wakeup_irq);
> >
> > I believe this symbol was never used upstream, and may be a relic of the
> > original out-of-tree code the htc-egpio was based on.  I don't know if
> > there (still) exist out-of-tree users of the symbol.
> >
> > Thanks for your comments!
>
> All looks good to me. Are you fine with this being picked up after the
> v5.4 merge window?

Sure, whatever suits you best.

Thanks!

> > Geert Uytterhoeven (4):
> >   gpio: of: Make of_get_named_gpiod_flags() private
> >   gpio: of: Make of_gpio_simple_xlate() private
> >   gpio: of: Switch to EXPORT_SYMBOL_GPL()
> >   gpio: devres: Switch to EXPORT_SYMBOL_GPL()

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] gpio: API boundary cleanups
  2019-09-06  8:45 [PATCH 0/4] gpio: API boundary cleanups Geert Uytterhoeven
                   ` (4 preceding siblings ...)
  2019-09-10  8:50 ` [PATCH 0/4] gpio: API boundary cleanups Bartosz Golaszewski
@ 2019-09-10 10:22 ` Linus Walleij
  5 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2019-09-10 10:22 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Bartosz Golaszewski, Rob Herring, Frank Rowand,
	open list:GPIO SUBSYSTEM,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux ARM, linux-kernel

On Fri, Sep 6, 2019 at 9:45 AM Geert Uytterhoeven
<geert+renesas@glider.be> wrote:

> This patch series contains various API boundary cleanups for gpiolib:
>   - The first two patches make two functions private,
>   - The last two patches switch the remaining gpiolib exported functions
>     from EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL().

Good stuff, let's merge for early v5.4 (possibly rebasing if necessary).

> After this there is only a single GPIO driver function exported with
> EXPORT_SYMBOL();
>
>     drivers/gpio/gpio-htc-egpio.c:EXPORT_SYMBOL(htc_egpio_get_wakeup_irq);

Kill it. People using this platform should step up if they need it.
The outoftree code was at handhelds.org and that web site is
even down. There is a copy of their git tree on github
somewhere but it is definately not maintained.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] gpio: of: Make of_get_named_gpiod_flags() private
  2019-09-06  8:45 ` [PATCH 1/4] gpio: of: Make of_get_named_gpiod_flags() private Geert Uytterhoeven
@ 2019-09-11 13:45   ` Linus Walleij
  0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2019-09-11 13:45 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Bartosz Golaszewski, Rob Herring, Frank Rowand,
	open list:GPIO SUBSYSTEM,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux ARM, linux-kernel

On Fri, Sep 6, 2019 at 9:45 AM Geert Uytterhoeven
<geert+renesas@glider.be> wrote:

> Since commit f626d6dfb7098525 ("gpio: of: Break out OF-only code"),
> there are no more users of of_get_named_gpiod_flags() outside
> gpiolib-of.c.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Patch applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] gpio: of: Make of_gpio_simple_xlate() private
  2019-09-06  8:45 ` [PATCH 2/4] gpio: of: Make of_gpio_simple_xlate() private Geert Uytterhoeven
@ 2019-09-11 13:46   ` Linus Walleij
  0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2019-09-11 13:46 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Bartosz Golaszewski, Rob Herring, Frank Rowand,
	open list:GPIO SUBSYSTEM,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux ARM, linux-kernel

On Fri, Sep 6, 2019 at 9:45 AM Geert Uytterhoeven
<geert+renesas@glider.be> wrote:

> Since commit 9a95e8d25a140ba9 ("gpio: remove etraxfs driver"), there are
> no more users of of_gpio_simple_xlate() outside gpiolib-of.c.
> All GPIO drivers that need it now rely on of_gpiochip_add() setting it
> up as the default translate function.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Patch applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/4] gpio: of: Switch to EXPORT_SYMBOL_GPL()
  2019-09-06  8:45 ` [PATCH 3/4] gpio: of: Switch to EXPORT_SYMBOL_GPL() Geert Uytterhoeven
@ 2019-09-11 13:47   ` Linus Walleij
  0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2019-09-11 13:47 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Bartosz Golaszewski, Rob Herring, Frank Rowand,
	open list:GPIO SUBSYSTEM,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux ARM, linux-kernel

On Fri, Sep 6, 2019 at 9:45 AM Geert Uytterhoeven
<geert+renesas@glider.be> wrote:

> All exported functions provide genuine Linux-specific functionality.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Patch applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 4/4] gpio: devres: Switch to EXPORT_SYMBOL_GPL()
  2019-09-06  8:45 ` [PATCH 4/4] gpio: devres: " Geert Uytterhoeven
@ 2019-09-11 13:48   ` Linus Walleij
  0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2019-09-11 13:48 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Bartosz Golaszewski, Rob Herring, Frank Rowand,
	open list:GPIO SUBSYSTEM,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux ARM, linux-kernel

On Fri, Sep 6, 2019 at 9:45 AM Geert Uytterhoeven
<geert+renesas@glider.be> wrote:

> Change all exported symbols for managed GPIO functions from
> EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL(), like is used for their
> non-managed counterparts.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Patch applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, back to index

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-06  8:45 [PATCH 0/4] gpio: API boundary cleanups Geert Uytterhoeven
2019-09-06  8:45 ` [PATCH 1/4] gpio: of: Make of_get_named_gpiod_flags() private Geert Uytterhoeven
2019-09-11 13:45   ` Linus Walleij
2019-09-06  8:45 ` [PATCH 2/4] gpio: of: Make of_gpio_simple_xlate() private Geert Uytterhoeven
2019-09-11 13:46   ` Linus Walleij
2019-09-06  8:45 ` [PATCH 3/4] gpio: of: Switch to EXPORT_SYMBOL_GPL() Geert Uytterhoeven
2019-09-11 13:47   ` Linus Walleij
2019-09-06  8:45 ` [PATCH 4/4] gpio: devres: " Geert Uytterhoeven
2019-09-11 13:48   ` Linus Walleij
2019-09-10  8:50 ` [PATCH 0/4] gpio: API boundary cleanups Bartosz Golaszewski
2019-09-10  8:59   ` Geert Uytterhoeven
2019-09-10 10:22 ` Linus Walleij

Linux-GPIO Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-gpio/0 linux-gpio/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-gpio linux-gpio/ https://lore.kernel.org/linux-gpio \
		linux-gpio@vger.kernel.org linux-gpio@archiver.kernel.org
	public-inbox-index linux-gpio


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-gpio


AGPL code for this site: git clone https://public-inbox.org/ public-inbox