Re: [PATCH 1/3] ARM: at91: move at91 aic driver to drivers/irqchip

Thomas Petazzoni
2013-05-23T10:20:10Z

Dear Jean-Christophe PLAGNIOL-VILLARD,

On Thu, 23 May 2013 12:09:51 +0200, Jean-Christophe PLAGNIOL-VILLARD
wrote:

> > You can put it in <linux/irqchip/at91-aic.h>, there are already a few
> > headers there. But I think it's not the right solution.
> >
> > *However*, ideally, this header should disappear completely. All the
> > register defines should go directly into the driver C file. The only
> > usage of the AIC defines outside of the IRQ driver are for debug prints
> > in the pm.c code, which I think you could get rid of.
> >
> > Ditto for the at91_aic_{read,write} macros.
> >
> > The NR_AIC5_IRQS can also move to the driver itself.
> >
> > The only remaining one would be NR_AIC_IRQS, you can't get rid of it,
> > because it's used for the IRQ priority arrays. But I believe keeping
> > this one in <linux/irqchip/at91-aic.h> is reasonable.
>
> do want either as we expose the register acces for pm & co

Did you read what I write? In arch/arm/mach-at91/pm.c, the only
accesses made to the AIC registers are for pr_debug() calls, i.e only
to print some debugging messages. I believe those ones can simply be
removed to decouple the pm.c code from the irq.c code.

> until this is cleanup NACK

Is this really the way we want to welcome contributions in the kernel
community?

Boris, what you'd have to do is just do a few preparations patches
in your patch set. Something like:

* PATCH 1: remove usage of AIC registers for debug messages in pm.c
* PATCH 2: move all of at91_aic.h in irq.c, except NR_AIC_IRQS
* PATCH 3: move irq.c to drivers/irqchip/, and at91_aic.h to
include/linux/irqchip/, and adjust what's necessary
* and then your other patches.

Best regards,

Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.