From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755217AbcAMHaO (ORCPT ); Wed, 13 Jan 2016 02:30:14 -0500 Received: from devils.ext.ti.com ([198.47.26.153]:35196 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754774AbcAMHaA (ORCPT ); Wed, 13 Jan 2016 02:30:00 -0500 Subject: Re: [PATCH 1/4] irqchip: atmel-aic: Handle aic_common_irq_fixup in aic_common_of_init To: References: <1452669475-3324-1-git-send-email-milo.kim@ti.com> CC: , Jason Cooper , Marc Zyngier , Ludovic Desroches , Nicholas Ferre , From: Milo Kim Message-ID: <5695FCE1.7040102@ti.com> Date: Wed, 13 Jan 2016 16:29:37 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <1452669475-3324-1-git-send-email-milo.kim@ti.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org My apologies - the first patch was sent twice. Please check the complete patch-set. - Milo On 01/13/2016 04:17 PM, Milo Kim wrote: > AIC IRQ fixup is handled in each IRQ chip driver. > It can be moved into aic_common_of_init() before returning the result. > Then, aic_common_irq_fixup() can be changed to static type. > > Signed-off-by: Milo Kim > Acked-by: Boris Brezillon > Cc: Thomas Gleixner > Cc: Jason Cooper > Cc: Marc Zyngier > Cc: Ludovic Desroches > Cc: Nicholas Ferre > Cc: linux-kernel@vger.kernel.org > --- > drivers/irqchip/irq-atmel-aic-common.c | 6 ++++-- > drivers/irqchip/irq-atmel-aic-common.h | 5 ++--- > drivers/irqchip/irq-atmel-aic.c | 4 +--- > drivers/irqchip/irq-atmel-aic5.c | 4 +--- > 4 files changed, 8 insertions(+), 11 deletions(-) > > diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-atmel-aic-common.c > index b12a5d5..2f2d73e 100644 > --- a/drivers/irqchip/irq-atmel-aic-common.c > +++ b/drivers/irqchip/irq-atmel-aic-common.c > @@ -193,7 +193,7 @@ void __init aic_common_rtt_irq_fixup(struct device_node *root) > } > } > > -void __init aic_common_irq_fixup(const struct of_device_id *matches) > +static void __init aic_common_irq_fixup(const struct of_device_id *matches) > { > struct device_node *root = of_find_node_by_path("/"); > const struct of_device_id *match; > @@ -214,7 +214,8 @@ void __init aic_common_irq_fixup(const struct of_device_id *matches) > > struct irq_domain *__init aic_common_of_init(struct device_node *node, > const struct irq_domain_ops *ops, > - const char *name, int nirqs) > + const char *name, int nirqs, > + const struct of_device_id *matches) > { > struct irq_chip_generic *gc; > struct irq_domain *domain; > @@ -264,6 +265,7 @@ struct irq_domain *__init aic_common_of_init(struct device_node *node, > } > > aic_common_ext_irq_of_init(domain); > + aic_common_irq_fixup(matches); > > return domain; > > diff --git a/drivers/irqchip/irq-atmel-aic-common.h b/drivers/irqchip/irq-atmel-aic-common.h > index 603f0a9..046bcc8 100644 > --- a/drivers/irqchip/irq-atmel-aic-common.h > +++ b/drivers/irqchip/irq-atmel-aic-common.h > @@ -30,12 +30,11 @@ int aic_common_irq_domain_xlate(struct irq_domain *d, > > struct irq_domain *__init aic_common_of_init(struct device_node *node, > const struct irq_domain_ops *ops, > - const char *name, int nirqs); > + const char *name, int nirqs, > + const struct of_device_id *matches); > > void __init aic_common_rtc_irq_fixup(struct device_node *root); > > void __init aic_common_rtt_irq_fixup(struct device_node *root); > > -void __init aic_common_irq_fixup(const struct of_device_id *matches); > - > #endif /* __IRQ_ATMEL_AIC_COMMON_H */ > diff --git a/drivers/irqchip/irq-atmel-aic.c b/drivers/irqchip/irq-atmel-aic.c > index 8a0c7f2..799834d 100644 > --- a/drivers/irqchip/irq-atmel-aic.c > +++ b/drivers/irqchip/irq-atmel-aic.c > @@ -248,12 +248,10 @@ static int __init aic_of_init(struct device_node *node, > return -EEXIST; > > domain = aic_common_of_init(node, &aic_irq_ops, "atmel-aic", > - NR_AIC_IRQS); > + NR_AIC_IRQS, aic_irq_fixups); > if (IS_ERR(domain)) > return PTR_ERR(domain); > > - aic_common_irq_fixup(aic_irq_fixups); > - > aic_domain = domain; > gc = irq_get_domain_generic_chip(domain, 0); > > diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c > index 62bb840..a7e8fc8 100644 > --- a/drivers/irqchip/irq-atmel-aic5.c > +++ b/drivers/irqchip/irq-atmel-aic5.c > @@ -312,12 +312,10 @@ static int __init aic5_of_init(struct device_node *node, > return -EEXIST; > > domain = aic_common_of_init(node, &aic5_irq_ops, "atmel-aic5", > - nirqs); > + nirqs, aic5_irq_fixups); > if (IS_ERR(domain)) > return PTR_ERR(domain); > > - aic_common_irq_fixup(aic5_irq_fixups); > - > aic5_domain = domain; > nchips = aic5_domain->revmap_size / 32; > for (i = 0; i < nchips; i++) { >