On Mon, Dec 28, 2020 at 4:02 PM Nikita Shubin <[email protected]> wrote:
>
> gpiochip->to_irq method is redefined in gpiochip_add_irqchip.
>
> A lot of gpiod driver's still define ->to_irq method, let's give
> a gentle warning that they can no longer rely on it, so they can remove
> it on ocassion.
>
> Fixes: e0d8972898139 ("gpio: Implement tighter IRQ chip integration")
> Signed-off-by: Nikita Shubin <[email protected]>
> ---
> drivers/gpio/gpiolib.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> index 5ce0c14c637b..44538d1a771a 100644
> --- a/drivers/gpio/gpiolib.c
> +++ b/drivers/gpio/gpiolib.c
> @@ -1489,6 +1489,9 @@ static int gpiochip_add_irqchip(struct gpio_chip *gc,
> type = IRQ_TYPE_NONE;
> }
>
> + if (gc->to_irq)
> + chip_err(gc, "to_irq is redefined in %s and you shouldn't rely on it\n", __func__);
> +
> gc->to_irq = gpiochip_to_irq;
> gc->irq.default_type = type;
> gc->irq.lock_key = lock_key;
> --
> 2.29.2
>
I know Linus suggested using chip_err() here but since this doesn't
cause the function to fail, I'd say this should be chip_warn().
Unless Linus has any objections, please change it.
Bartosz