Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1308118 > unrolled thread

[PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority()

Started byMilo Kim <milo.kim@ti.com>
First post2016-01-13 08:30 +0100
Last post2016-01-13 09:20 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority() Milo Kim <milo.kim@ti.com> - 2016-01-13 08:30 +0100
    Re: [PATCH 3/4] irqchip: atmel-aic: Change return type of  aic_common_set_priority() Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-01-13 09:20 +0100

#1308118 — [PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority()

FromMilo Kim <milo.kim@ti.com>
Date2016-01-13 08:30 +0100
Subject[PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority()
Message-ID<qQo2u-4Jn-5@gated-at.bofh.it>
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@ti.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: Nicholas Ferre <nicolas.ferre@atmel.com>
Cc: linux-kernel@vger.kernel.org
---
 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;
-- 
2.7.0

[toc] | [next] | [standalone]


#1308150 — Re: [PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority()

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2016-01-13 09:20 +0100
SubjectRe: [PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority()
Message-ID<qQoOR-5ih-13@gated-at.bofh.it>
In reply to#1308118
On Wed, 13 Jan 2016 16:19:51 +0900
Milo Kim <milo.kim@ti.com> 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@ti.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
> Cc: Ludovic Desroches <ludovic.desroches@atmel.com>
> Cc: Nicholas Ferre <nicolas.ferre@atmel.com>
> Cc: linux-kernel@vger.kernel.org

Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web