Messages in this thread | | | Date | Thu, 23 May 2013 11:18:25 +0100 | From | Russell King - ARM Linux <> | Subject | Re: [PATCH 1/3] ARM: at91: move at91 aic driver to drivers/irqchip |
| |
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.
| |