# Object file lists.
  
- obj-y                 := dma.o fiq.o irq.o riscpc.o
 -obj-y                 := dma.o ecard.o irq.o riscpc.o time.o
++obj-y                 := dma.o ecard.o fiq.o irq.o riscpc.o time.o
  obj-m                 :=
  obj-n                 :=
  obj-                  :=
 
  static struct platform_device sa11x0rtc_device = {
        .name           = "sa1100-rtc",
        .id             = -1,
 +      .num_resources  = ARRAY_SIZE(sa1100_rtc_resources),
 +      .resource       = sa1100_rtc_resources,
  };
  
+ static struct resource sa11x0dma_resources[] = {
+       DEFINE_RES_MEM(DMA_PHYS, DMA_SIZE),
+       DEFINE_RES_IRQ(IRQ_DMA0),
+       DEFINE_RES_IRQ(IRQ_DMA1),
+       DEFINE_RES_IRQ(IRQ_DMA2),
+       DEFINE_RES_IRQ(IRQ_DMA3),
+       DEFINE_RES_IRQ(IRQ_DMA4),
+       DEFINE_RES_IRQ(IRQ_DMA5),
+ };
+ 
+ static u64 sa11x0dma_dma_mask = DMA_BIT_MASK(32);
+ 
+ static struct platform_device sa11x0dma_device = {
+       .name           = "sa11x0-dma",
+       .id             = -1,
+       .dev = {
+               .dma_mask = &sa11x0dma_dma_mask,
+               .coherent_dma_mask = 0xffffffff,
+       },
+       .num_resources  = ARRAY_SIZE(sa11x0dma_resources),
+       .resource       = sa11x0dma_resources,
+ };
+ 
  static struct platform_device *sa11x0_devices[] __initdata = {
        &sa11x0udc_device,
        &sa11x0uart1_device,
 
  #define SHANNON_GPIO_U3_RTS           GPIO_GPIO (19)  /* ?? */
  #define SHANNON_GPIO_U3_CTS           GPIO_GPIO (20)  /* ?? */
  #define SHANNON_GPIO_SENSE_12V                GPIO_GPIO (21)  /* Input, 12v flash unprotect detected */
- #define SHANNON_GPIO_DISP_EN          GPIO_GPIO (22)  /* out */
+ #define SHANNON_GPIO_DISP_EN          22              /* out */
  /* XXX GPIO 23 unaccounted for */
 -#define SHANNON_GPIO_EJECT_0          GPIO_GPIO (24)  /* in */
 -#define SHANNON_IRQ_GPIO_EJECT_0      IRQ_GPIO24
 -#define SHANNON_GPIO_EJECT_1          GPIO_GPIO (25)  /* in */
 -#define SHANNON_IRQ_GPIO_EJECT_1      IRQ_GPIO25
 -#define SHANNON_GPIO_RDY_0            GPIO_GPIO (26)  /* in */
 -#define SHANNON_IRQ_GPIO_RDY_0                IRQ_GPIO26
 -#define SHANNON_GPIO_RDY_1            GPIO_GPIO (27)  /* in */
 -#define SHANNON_IRQ_GPIO_RDY_1                IRQ_GPIO27
 +#define SHANNON_GPIO_EJECT_0          24              /* in */
 +#define SHANNON_GPIO_EJECT_1          25              /* in */
 +#define SHANNON_GPIO_RDY_0            26              /* in */
 +#define SHANNON_GPIO_RDY_1            27              /* in */
  
  /* MCP UCB codec GPIO pins... */
  
 
  #include <linux/bitops.h>
  
  #include <mach/hardware.h>
- #include <asm/irq.h>
+ #include <mach/irqs.h>
  
 -#ifdef CONFIG_ARCH_PXA
 +#if defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_MMP)
  #include <mach/regs-rtc.h>
  #endif