Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild...
[sfrench/cifs-2.6.git] / arch / arm / mach-pxa / csb726.c
index 2b289f83a61a6df57592fe87ebbe356980c27154..7d3e1b46e550f3469adb2da0697e561bab69c28a 100644 (file)
 #include <linux/mtd/physmap.h>
 #include <linux/mtd/partitions.h>
 #include <linux/sm501.h>
+#include <linux/smsc911x.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <mach/csb726.h>
 #include <mach/mfp-pxa27x.h>
-#include <mach/i2c.h>
+#include <plat/i2c.h>
 #include <mach/mmc.h>
 #include <mach/ohci.h>
 #include <mach/pxa2xx-regs.h>
+#include <mach/audio.h>
 
 #include "generic.h"
 #include "devices.h"
@@ -275,15 +277,26 @@ static struct resource csb726_lan_resources[] = {
        {
                .start  = CSB726_IRQ_LAN,
                .end    = CSB726_IRQ_LAN,
-               .flags  = IORESOURCE_IRQ,
+               .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
        },
 };
 
+struct smsc911x_platform_config csb726_lan_config = {
+       .irq_type       = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
+       .irq_type       = SMSC911X_IRQ_TYPE_PUSH_PULL,
+       .flags          = SMSC911X_USE_32BIT,
+       .phy_interface  = PHY_INTERFACE_MODE_MII,
+};
+
+
 static struct platform_device csb726_lan = {
-       .name           = "smc911x",
+       .name           = "smsc911x",
        .id             = -1,
        .num_resources  = ARRAY_SIZE(csb726_lan_resources),
        .resource       = csb726_lan_resources,
+       .dev            = {
+               .platform_data  = &csb726_lan_config,
+       },
 };
 
 static struct platform_device *devices[] __initdata = {
@@ -303,6 +316,7 @@ static void __init csb726_init(void)
        pxa27x_set_i2c_power_info(NULL);
        pxa_set_mci_info(&csb726_mci);
        pxa_set_ohci_info(&csb726_ohci_platform_data);
+       pxa_set_ac97_info(NULL);
 
        platform_add_devices(devices, ARRAY_SIZE(devices));
 }