Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[pandora-kernel.git] / arch / arm / mach-davinci / dm365.c
index 7781e35..a12065e 100644 (file)
@@ -691,7 +691,6 @@ static struct emac_platform_data dm365_emac_pdata = {
        .ctrl_reg_offset        = DM365_EMAC_CNTRL_OFFSET,
        .ctrl_mod_reg_offset    = DM365_EMAC_CNTRL_MOD_OFFSET,
        .ctrl_ram_offset        = DM365_EMAC_CNTRL_RAM_OFFSET,
-       .mdio_reg_offset        = DM365_EMAC_MDIO_OFFSET,
        .ctrl_ram_size          = DM365_EMAC_CNTRL_RAM_SIZE,
        .version                = EMAC_VERSION_2,
 };
@@ -699,7 +698,7 @@ static struct emac_platform_data dm365_emac_pdata = {
 static struct resource dm365_emac_resources[] = {
        {
                .start  = DM365_EMAC_BASE,
-               .end    = DM365_EMAC_BASE + 0x47ff,
+               .end    = DM365_EMAC_BASE + SZ_16K - 1,
                .flags  = IORESOURCE_MEM,
        },
        {
@@ -734,6 +733,21 @@ static struct platform_device dm365_emac_device = {
        .resource       = dm365_emac_resources,
 };
 
+static struct resource dm365_mdio_resources[] = {
+       {
+               .start  = DM365_EMAC_MDIO_BASE,
+               .end    = DM365_EMAC_MDIO_BASE + SZ_4K - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device dm365_mdio_device = {
+       .name           = "davinci_mdio",
+       .id             = 0,
+       .num_resources  = ARRAY_SIZE(dm365_mdio_resources),
+       .resource       = dm365_mdio_resources,
+};
+
 static u8 dm365_default_priorities[DAVINCI_N_AINTC_IRQ] = {
        [IRQ_VDINT0]                    = 2,
        [IRQ_VDINT1]                    = 6,
@@ -1219,7 +1233,12 @@ static int __init dm365_init_devices(void)
 
        davinci_cfg_reg(DM365_INT_EDMA_CC);
        platform_device_register(&dm365_edma_device);
+
+       platform_device_register(&dm365_mdio_device);
        platform_device_register(&dm365_emac_device);
+       clk_add_alias(NULL, dev_name(&dm365_mdio_device.dev),
+                     NULL, &dm365_emac_device.dev);
+
        /* Add isif clock alias */
        clk_add_alias("master", dm365_isif_dev.name, "vpss_master", NULL);
        platform_device_register(&dm365_vpss_device);