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

Jean-Christophe PLAGNIOL-VILLARD
2013-05-23T14:29:42Z

On 11:18 Thu 23 May , Russell King - ARM Linux wrote:
> On Thu, May 23, 2013 at 11:05:07AM +0200, Boris BREZILLON wrote:
> > Move arch/arm/mach-at91/irq.c to drivers/irqchip/irq-at91.c.
> > Move arch/arm/mach-at91/at91_aic.h to
> > arch/arm/mach-at91/include/mach/at91_aic.h to avoid ugly reference
> > to header file :
> > #include "../../arch/arm/mach-at91/at91_aic.h"
>
> The right way to do this is to move the definitions which should only
> be used by arch/arm/mach-at91/irq.c to that file or a header file along
> side that file, and find a place in include/linux for the remainder.
>
> I notice arch/arm/mach-at91/pm.c makes use of some of the register
> definitions:
>
> at91_irq_suspend();
>
> pr_debug("AT91: PM - wake mask %08x, pm state %d\n",
> /* remember all the always-wake irqs */
> (at91_pmc_read(AT91_PMC_PCSR)
> | (1 << AT91_ID_FIQ)
> | (1 << AT91_ID_SYS)
> | (at91_extern_irq))
> & at91_aic_read(AT91_AIC_IMR),
> state);
>
> at91_irq_suspend() is in arch/arm/mach-at91/irq.c already, so there's no
> reason that fragment can't be moved there.
>
> That leaves: at91_aic_handle_irq, at91_aic5_handle_irq, NR_AIC_IRQS and
> NR_AIC5_IRQS, which if you did patch 3 first, would leave you with just
> the NR_.*_IRQS definitions to find a home for.

Boris please update as this

Best Regards,
J.