[v1,1/1] gpiolib: Remove unused of_mm_gpiochip_add()

Message ID 20230112144526.66794-1-andriy.shevchenko@linux.intel.com
State New
Headers
Series [v1,1/1] gpiolib: Remove unused of_mm_gpiochip_add() |

Commit Message

Andy Shevchenko Jan. 12, 2023, 2:45 p.m. UTC
  of_mm_gpiochip_add() is unused API, remove it for good.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/gpio/TODO       | 4 ++--
 include/linux/of_gpio.h | 5 -----
 2 files changed, 2 insertions(+), 7 deletions(-)
  

Comments

Bartosz Golaszewski Jan. 13, 2023, 12:45 p.m. UTC | #1
On Thu, Jan 12, 2023 at 4:18 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> of_mm_gpiochip_add() is unused API, remove it for good.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/gpio/TODO       | 4 ++--
>  include/linux/of_gpio.h | 5 -----
>  2 files changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpio/TODO b/drivers/gpio/TODO
> index 76560744587a..68ada1066941 100644
> --- a/drivers/gpio/TODO
> +++ b/drivers/gpio/TODO
> @@ -61,8 +61,8 @@ Work items:
>
>  - Get rid of struct of_mm_gpio_chip altogether: use the generic  MMIO
>    GPIO for all current users (see below). Delete struct of_mm_gpio_chip,
> -  to_of_mm_gpio_chip(), of_mm_gpiochip_add_data(), of_mm_gpiochip_add()
> -  of_mm_gpiochip_remove() from the kernel.
> +  to_of_mm_gpio_chip(), of_mm_gpiochip_add_data(), of_mm_gpiochip_remove()
> +  from the kernel.
>
>  - Change all consumer drivers that #include <linux/of_gpio.h> to
>    #include <linux/gpio/consumer.h> and stop doing custom parsing of the
> diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h
> index e27a9187c0c6..935225caf70d 100644
> --- a/include/linux/of_gpio.h
> +++ b/include/linux/of_gpio.h
> @@ -56,11 +56,6 @@ extern int of_get_named_gpio(const struct device_node *np,
>  extern int of_mm_gpiochip_add_data(struct device_node *np,
>                                    struct of_mm_gpio_chip *mm_gc,
>                                    void *data);
> -static inline int of_mm_gpiochip_add(struct device_node *np,
> -                                    struct of_mm_gpio_chip *mm_gc)
> -{
> -       return of_mm_gpiochip_add_data(np, mm_gc, NULL);
> -}
>  extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc);
>
>  #else /* CONFIG_OF_GPIO */
> --
> 2.39.0
>

Applied, thanks!

Bart
  
Rob Herring Jan. 13, 2023, 8:28 p.m. UTC | #2
On Thu, Jan 12, 2023 at 04:45:26PM +0200, Andy Shevchenko wrote:
> of_mm_gpiochip_add() is unused API, remove it for good.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/gpio/TODO       | 4 ++--
>  include/linux/of_gpio.h | 5 -----
>  2 files changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpio/TODO b/drivers/gpio/TODO
> index 76560744587a..68ada1066941 100644
> --- a/drivers/gpio/TODO
> +++ b/drivers/gpio/TODO
> @@ -61,8 +61,8 @@ Work items:
>  
>  - Get rid of struct of_mm_gpio_chip altogether: use the generic  MMIO
>    GPIO for all current users (see below). Delete struct of_mm_gpio_chip,
> -  to_of_mm_gpio_chip(), of_mm_gpiochip_add_data(), of_mm_gpiochip_add()
> -  of_mm_gpiochip_remove() from the kernel.
> +  to_of_mm_gpio_chip(), of_mm_gpiochip_add_data(), of_mm_gpiochip_remove()
> +  from the kernel.
>  
>  - Change all consumer drivers that #include <linux/of_gpio.h> to
>    #include <linux/gpio/consumer.h> and stop doing custom parsing of the
> diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h
> index e27a9187c0c6..935225caf70d 100644
> --- a/include/linux/of_gpio.h
> +++ b/include/linux/of_gpio.h
> @@ -56,11 +56,6 @@ extern int of_get_named_gpio(const struct device_node *np,
>  extern int of_mm_gpiochip_add_data(struct device_node *np,
>  				   struct of_mm_gpio_chip *mm_gc,
>  				   void *data);
> -static inline int of_mm_gpiochip_add(struct device_node *np,
> -				     struct of_mm_gpio_chip *mm_gc)
> -{
> -	return of_mm_gpiochip_add_data(np, mm_gc, NULL);
> -}
>  extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc);

Keep going!

Looks like of_get_gpio_flags, of_get_gpio, of_gpio_count, 
of_gpio_named_count, and of_get_named_gpio_flags are all unused.

Rob
  
Andy Shevchenko Jan. 13, 2023, 9:18 p.m. UTC | #3
On Fri, Jan 13, 2023 at 02:28:26PM -0600, Rob Herring wrote:
> On Thu, Jan 12, 2023 at 04:45:26PM +0200, Andy Shevchenko wrote:
> > of_mm_gpiochip_add() is unused API, remove it for good.

...

> Keep going!
> 
> Looks like of_get_gpio_flags, of_get_gpio, of_gpio_count,
> of_gpio_named_count, and of_get_named_gpio_flags are all unused.

Have you checked Linux Next? Everything, but of_gpio_named_count(),
which moved to be static, is taken care of by Dmitry Torokhov patches.
  
Linus Walleij Jan. 16, 2023, 2:17 p.m. UTC | #4
On Thu, Jan 12, 2023 at 4:18 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:

> of_mm_gpiochip_add() is unused API, remove it for good.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

A bit late to the party but THANKS for doing this Andy, it's been
a pain for years to have this cruft around.

We even have some traction toward eventual <linux/gpio.h> removal
now thanks to Dmitry's efforts, this is great.

Yours,
Linus Walleij
  
Andy Shevchenko Jan. 16, 2023, 2:44 p.m. UTC | #5
On Mon, Jan 16, 2023 at 03:17:29PM +0100, Linus Walleij wrote:
> On Thu, Jan 12, 2023 at 4:18 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> 
> > of_mm_gpiochip_add() is unused API, remove it for good.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> A bit late to the party but THANKS for doing this Andy, it's been
> a pain for years to have this cruft around.

You're welcome! But note, that we still have a few more APIs to remove.

> We even have some traction toward eventual <linux/gpio.h> removal
> now thanks to Dmitry's efforts, this is great.

I agree, Dmitry did a nice job on this to be happen eventually!
  

Patch

diff --git a/drivers/gpio/TODO b/drivers/gpio/TODO
index 76560744587a..68ada1066941 100644
--- a/drivers/gpio/TODO
+++ b/drivers/gpio/TODO
@@ -61,8 +61,8 @@  Work items:
 
 - Get rid of struct of_mm_gpio_chip altogether: use the generic  MMIO
   GPIO for all current users (see below). Delete struct of_mm_gpio_chip,
-  to_of_mm_gpio_chip(), of_mm_gpiochip_add_data(), of_mm_gpiochip_add()
-  of_mm_gpiochip_remove() from the kernel.
+  to_of_mm_gpio_chip(), of_mm_gpiochip_add_data(), of_mm_gpiochip_remove()
+  from the kernel.
 
 - Change all consumer drivers that #include <linux/of_gpio.h> to
   #include <linux/gpio/consumer.h> and stop doing custom parsing of the
diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h
index e27a9187c0c6..935225caf70d 100644
--- a/include/linux/of_gpio.h
+++ b/include/linux/of_gpio.h
@@ -56,11 +56,6 @@  extern int of_get_named_gpio(const struct device_node *np,
 extern int of_mm_gpiochip_add_data(struct device_node *np,
 				   struct of_mm_gpio_chip *mm_gc,
 				   void *data);
-static inline int of_mm_gpiochip_add(struct device_node *np,
-				     struct of_mm_gpio_chip *mm_gc)
-{
-	return of_mm_gpiochip_add_data(np, mm_gc, NULL);
-}
 extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc);
 
 #else /* CONFIG_OF_GPIO */