Re: linux-next: build failure after merge of the gpio tree

From: Masahiro Yamada
Date: Thu Nov 02 2017 - 01:34:22 EST


Hi Stephen,


2017-11-02 14:20 GMT+09:00 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>:
> Hi Linus,
>
> After merging the gpio tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> drivers/gpio/gpio-uniphier.c:324:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
> .activate = uniphier_gpio_irq_domain_activate,
> ^
>
> Caused by commit
>
> dbe776c2ca54 ("gpio: uniphier: add UniPhier GPIO controller driver")
>
> interacting with commit
>
> 72491643469a ("genirq/irqdomain: Update irq_domain_ops.activate() signature")
>
> from the tip tree
>
> I added the following merge fix patch:
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Thu, 2 Nov 2017 16:10:46 +1100
> Subject: [PATCH] gpio: uniphier: merge fix for "Update
> irq_domain_ops.activate() signature"
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> drivers/gpio/gpio-uniphier.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/gpio-uniphier.c b/drivers/gpio/gpio-uniphier.c
> index d62cea4ed6b7..d0069202ade3 100644
> --- a/drivers/gpio/gpio-uniphier.c
> +++ b/drivers/gpio/gpio-uniphier.c
> @@ -300,13 +300,15 @@ static int uniphier_gpio_irq_domain_alloc(struct irq_domain *domain,
> return irq_domain_alloc_irqs_parent(domain, virq, 1, &parent_fwspec);
> }
>
> -static void uniphier_gpio_irq_domain_activate(struct irq_domain *domain,
> - struct irq_data *data)
> +static int uniphier_gpio_irq_domain_activate(struct irq_domain *domain,
> + struct irq_data *data,
> + bool early)


Thanks for fixing this!

Basically it it OK, but you do not need to wrap the line.


I prefer the following style since the second line fit in 79 cols.

static int uniphier_gpio_irq_domain_activate(struct irq_domain *domain,
struct irq_data *data, bool early)






> struct uniphier_gpio_priv *priv = domain->host_data;
> struct gpio_chip *chip = &priv->chip;
>
> gpiochip_lock_as_irq(chip, data->hwirq + UNIPHIER_GPIO_IRQ_OFFSET);
> + return 0;
> }
>
> static void uniphier_gpio_irq_domain_deactivate(struct irq_domain *domain,
> --
> 2.14.1
>
> --
> Cheers,
> Stephen Rothwell



--
Best Regards
Masahiro Yamada