Re: [PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority()
From: Boris Brezillon
Date: Wed Jan 13 2016 - 03:18:05 EST
On Wed, 13 Jan 2016 16:19:51 +0900
Milo Kim <milo.kim@xxxxxx> wrote:
> Priority validation is not necessary because aic_common_irq_domain_xlate()
> already handles it. With this removal, return type can be changed to void.
>
> Signed-off-by: Milo Kim <milo.kim@xxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
> Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
> Cc: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
> Cc: Nicholas Ferre <nicolas.ferre@xxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Thanks,
Boris
> ---
> drivers/irqchip/irq-atmel-aic-common.c | 8 +-------
> drivers/irqchip/irq-atmel-aic-common.h | 2 +-
> drivers/irqchip/irq-atmel-aic.c | 5 ++---
> drivers/irqchip/irq-atmel-aic5.c | 5 ++---
> 4 files changed, 6 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-atmel-aic-common.c
> index 661840b..28b26c8 100644
> --- a/drivers/irqchip/irq-atmel-aic-common.c
> +++ b/drivers/irqchip/irq-atmel-aic-common.c
> @@ -80,16 +80,10 @@ int aic_common_set_type(struct irq_data *d, unsigned type, unsigned *val)
> return 0;
> }
>
> -int aic_common_set_priority(int priority, unsigned *val)
> +void aic_common_set_priority(int priority, unsigned *val)
> {
> - if (priority < AT91_AIC_IRQ_MIN_PRIORITY ||
> - priority > AT91_AIC_IRQ_MAX_PRIORITY)
> - return -EINVAL;
> -
> *val &= ~AT91_AIC_PRIOR;
> *val |= priority;
> -
> - return 0;
> }
>
> int aic_common_irq_domain_xlate(struct irq_domain *d,
> diff --git a/drivers/irqchip/irq-atmel-aic-common.h b/drivers/irqchip/irq-atmel-aic-common.h
> index 046bcc8..af60376 100644
> --- a/drivers/irqchip/irq-atmel-aic-common.h
> +++ b/drivers/irqchip/irq-atmel-aic-common.h
> @@ -19,7 +19,7 @@
>
> int aic_common_set_type(struct irq_data *d, unsigned type, unsigned *val);
>
> -int aic_common_set_priority(int priority, unsigned *val);
> +void aic_common_set_priority(int priority, unsigned *val);
>
> int aic_common_irq_domain_xlate(struct irq_domain *d,
> struct device_node *ctrlr,
> diff --git a/drivers/irqchip/irq-atmel-aic.c b/drivers/irqchip/irq-atmel-aic.c
> index 799834d..112e17c 100644
> --- a/drivers/irqchip/irq-atmel-aic.c
> +++ b/drivers/irqchip/irq-atmel-aic.c
> @@ -196,9 +196,8 @@ static int aic_irq_domain_xlate(struct irq_domain *d,
>
> irq_gc_lock(gc);
> smr = irq_reg_readl(gc, AT91_AIC_SMR(*out_hwirq));
> - ret = aic_common_set_priority(intspec[2], &smr);
> - if (!ret)
> - irq_reg_writel(gc, smr, AT91_AIC_SMR(*out_hwirq));
> + aic_common_set_priority(intspec[2], &smr);
> + irq_reg_writel(gc, smr, AT91_AIC_SMR(*out_hwirq));
> irq_gc_unlock(gc);
>
> return ret;
> diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c
> index a7e8fc8..f36f426 100644
> --- a/drivers/irqchip/irq-atmel-aic5.c
> +++ b/drivers/irqchip/irq-atmel-aic5.c
> @@ -272,9 +272,8 @@ static int aic5_irq_domain_xlate(struct irq_domain *d,
> irq_gc_lock(bgc);
> irq_reg_writel(bgc, *out_hwirq, AT91_AIC5_SSR);
> smr = irq_reg_readl(bgc, AT91_AIC5_SMR);
> - ret = aic_common_set_priority(intspec[2], &smr);
> - if (!ret)
> - irq_reg_writel(bgc, intspec[2] | smr, AT91_AIC5_SMR);
> + aic_common_set_priority(intspec[2], &smr);
> + irq_reg_writel(bgc, intspec[2] | smr, AT91_AIC5_SMR);
> irq_gc_unlock(bgc);
>
> return ret;
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com