2018-11-12 14:14:37

by Johan Hovold

[permalink] [raw]
Subject: [PATCH] gpio: drop broken to_gpio_irq_chip() helper

Drop the broken to_gpio_irq_chip() container_of() helper, which would
break the build for anyone who tries to use it.

Specifically, struct gpio_irq_chip only holds a pointer to a struct
irq_chip so using container_of() on an irq-chip pointer makes no sense.

Fixes: da80ff81a8f5 ("gpio: Move irqchip into struct gpio_irq_chip")
Cc: Thierry Reding <[email protected]>
Cc: Grygorii Strashko <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
---
include/linux/gpio/driver.h | 5 -----
1 file changed, 5 deletions(-)

diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index 2db62b550b95..21bff1f14fde 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -166,11 +166,6 @@ struct gpio_irq_chip {
*/
void (*irq_disable)(struct irq_data *data);
};
-
-static inline struct gpio_irq_chip *to_gpio_irq_chip(struct irq_chip *chip)
-{
- return container_of(chip, struct gpio_irq_chip, chip);
-}
#endif

/**
--
2.19.1



2018-11-12 15:51:29

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH] gpio: drop broken to_gpio_irq_chip() helper

pon., 12 lis 2018 o 15:11 Johan Hovold <[email protected]> napisaƂ(a):
>
> Drop the broken to_gpio_irq_chip() container_of() helper, which would
> break the build for anyone who tries to use it.
>

Which is the usual problem with APIs nobody uses...

> Specifically, struct gpio_irq_chip only holds a pointer to a struct
> irq_chip so using container_of() on an irq-chip pointer makes no sense.
>
> Fixes: da80ff81a8f5 ("gpio: Move irqchip into struct gpio_irq_chip")
> Cc: Thierry Reding <[email protected]>
> Cc: Grygorii Strashko <[email protected]>
> Signed-off-by: Johan Hovold <[email protected]>
> ---
> include/linux/gpio/driver.h | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
> index 2db62b550b95..21bff1f14fde 100644
> --- a/include/linux/gpio/driver.h
> +++ b/include/linux/gpio/driver.h
> @@ -166,11 +166,6 @@ struct gpio_irq_chip {
> */
> void (*irq_disable)(struct irq_data *data);
> };
> -
> -static inline struct gpio_irq_chip *to_gpio_irq_chip(struct irq_chip *chip)
> -{
> - return container_of(chip, struct gpio_irq_chip, chip);
> -}
> #endif
>
> /**
> --
> 2.19.1
>

Reviewed-by: Bartosz Golaszewski <[email protected]>

2018-11-16 21:48:09

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] gpio: drop broken to_gpio_irq_chip() helper

On Mon, Nov 12, 2018 at 3:11 PM Johan Hovold <[email protected]> wrote:

> Drop the broken to_gpio_irq_chip() container_of() helper, which would
> break the build for anyone who tries to use it.
>
> Specifically, struct gpio_irq_chip only holds a pointer to a struct
> irq_chip so using container_of() on an irq-chip pointer makes no sense.
>
> Fixes: da80ff81a8f5 ("gpio: Move irqchip into struct gpio_irq_chip")
> Cc: Thierry Reding <[email protected]>
> Cc: Grygorii Strashko <[email protected]>
> Signed-off-by: Johan Hovold <[email protected]>

Patch applied, thanks!

Yours,
Linus Walleij