Re: [PATCH Resend] pinctrl: exynos: Fix build breakage

From: Tomasz Figa
Date: Mon Jun 17 2013 - 07:58:14 EST


Hi Sachin,

On Monday 17 of June 2013 15:08:12 Sachin Kamat wrote:
> 'exynos_wkup_irq_ack' should be defined ahead of its call.
>
> Fixes the following error:
> drivers/pinctrl/pinctrl-exynos.c: In function âexynos_wkup_irq_maskâ:
> drivers/pinctrl/pinctrl-exynos.c:299:3: error: implicit declaration of
> function âexynos_wkup_irq_ackâ [-Werror=implicit-function-declaration]
> exynos_wkup_irq_ack(irqd);
>
> Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxx>
> Cc: Doug Anderson <dianders@xxxxxxxxxxxx>
> ---
> Fixed the commit message.
> ---

This patch is incorrect.

Compilation error is caused by merge error of Doug's patch:

pinctrl: exynos: ack level-triggered interrupts before unmasking

hunk of which went to wrong function - mask instead of unmask.

Linus, could you fix it?

Best regards,
Tomasz

> drivers/pinctrl/pinctrl-exynos.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-exynos.c
> b/drivers/pinctrl/pinctrl-exynos.c index 8cd5bf5..f9277bc 100644
> --- a/drivers/pinctrl/pinctrl-exynos.c
> +++ b/drivers/pinctrl/pinctrl-exynos.c
> @@ -279,6 +279,15 @@ err_domains:
> return ret;
> }
>
> +static void exynos_wkup_irq_ack(struct irq_data *irqd)
> +{
> + struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
> + struct samsung_pinctrl_drv_data *d = b->drvdata;
> + unsigned long pend = d->ctrl->weint_pend + b->eint_offset;
> +
> + writel(1 << irqd->hwirq, d->virt_base + pend);
> +}
> +
> static void exynos_wkup_irq_mask(struct irq_data *irqd)
> {
> struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
> @@ -307,15 +316,6 @@ static void exynos_wkup_irq_mask(struct irq_data *irqd)
> spin_unlock_irqrestore(&b->slock, flags);
> }
>
> -static void exynos_wkup_irq_ack(struct irq_data *irqd)
> -{
> - struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
> - struct samsung_pinctrl_drv_data *d = b->drvdata;
> - unsigned long pend = d->ctrl->weint_pend + b->eint_offset;
> -
> - writel(1 << irqd->hwirq, d->virt_base + pend);
> -}
> -
> static void exynos_wkup_irq_unmask(struct irq_data *irqd)
> {
> struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/