]> err.no Git - linux-2.6/blobdiff - arch/arm/mach-iop33x/iq80332.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6] / arch / arm / mach-iop33x / iq80332.c
index 96d6f0f3cd215d384348fb18b4add2a66cdc8658..4904fd78445f0c661a3742e2294756a2f316a13b 100644 (file)
@@ -55,7 +55,7 @@ static struct sys_timer iq80332_timer = {
 /*
  * IQ80332 PCI.
  */
-static inline int __init
+static int __init
 iq80332_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
 {
        int irq;
@@ -89,14 +89,15 @@ static struct hw_pci iq80332_pci __initdata = {
        .swizzle        = pci_std_swizzle,
        .nr_controllers = 1,
        .setup          = iop3xx_pci_setup,
-       .preinit        = iop3xx_pci_preinit,
+       .preinit        = iop3xx_pci_preinit_cond,
        .scan           = iop3xx_pci_scan_bus,
        .map_irq        = iq80332_pci_map_irq,
 };
 
 static int __init iq80332_pci_init(void)
 {
-       if (machine_is_iq80332())
+       if ((iop3xx_get_init_atu() == IOP3XX_INIT_ATU_ENABLE) &&
+               machine_is_iq80332())
                pci_common_init(&iq80332_pci);
 
        return 0;
@@ -135,6 +136,9 @@ static void __init iq80332_init_machine(void)
        platform_device_register(&iop33x_uart0_device);
        platform_device_register(&iop33x_uart1_device);
        platform_device_register(&iq80332_flash_device);
+       platform_device_register(&iop3xx_dma_0_channel);
+       platform_device_register(&iop3xx_dma_1_channel);
+       platform_device_register(&iop3xx_aau_channel);
 }
 
 MACHINE_START(IQ80332, "Intel IQ80332")