#include <linux/platform_device.h>
 #include <linux/pci.h>
 #include <linux/clk.h>
-#include <linux/mbus.h>
 #include <linux/ata_platform.h>
 #include <linux/gpio.h>
 #include <asm/page.h>
  ****************************************************************************/
 void __init dove_ehci0_init(void)
 {
-       orion_ehci_init(&orion_mbus_dram_info,
-                       DOVE_USB0_PHYS_BASE, IRQ_DOVE_USB0);
+       orion_ehci_init(DOVE_USB0_PHYS_BASE, IRQ_DOVE_USB0);
 }
 
 /*****************************************************************************
  ****************************************************************************/
 void __init dove_ehci1_init(void)
 {
-       orion_ehci_1_init(&orion_mbus_dram_info,
-                         DOVE_USB1_PHYS_BASE, IRQ_DOVE_USB1);
+       orion_ehci_1_init(DOVE_USB1_PHYS_BASE, IRQ_DOVE_USB1);
 }
 
 /*****************************************************************************
  ****************************************************************************/
 void __init dove_ge00_init(struct mv643xx_eth_platform_data *eth_data)
 {
-       orion_ge00_init(eth_data, &orion_mbus_dram_info,
+       orion_ge00_init(eth_data,
                        DOVE_GE00_PHYS_BASE, IRQ_DOVE_GE00_SUM,
                        0, get_tclk());
 }
  ****************************************************************************/
 void __init dove_sata_init(struct mv_sata_platform_data *sata_data)
 {
-       orion_sata_init(sata_data, &orion_mbus_dram_info,
-                       DOVE_SATA_PHYS_BASE, IRQ_DOVE_SATA);
+       orion_sata_init(sata_data, DOVE_SATA_PHYS_BASE, IRQ_DOVE_SATA);
 
 }
 
  ****************************************************************************/
 void __init dove_xor0_init(void)
 {
-       orion_xor0_init(&orion_mbus_dram_info,
-                       DOVE_XOR0_PHYS_BASE, DOVE_XOR0_HIGH_PHYS_BASE,
+       orion_xor0_init(DOVE_XOR0_PHYS_BASE, DOVE_XOR0_HIGH_PHYS_BASE,
                        IRQ_DOVE_XOR_00, IRQ_DOVE_XOR_01);
 }
 
 
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/serial_8250.h>
-#include <linux/mbus.h>
 #include <linux/ata_platform.h>
 #include <linux/mtd/nand.h>
 #include <linux/dma-mapping.h>
 void __init kirkwood_ehci_init(void)
 {
        kirkwood_clk_ctrl |= CGC_USB0;
-       orion_ehci_init(&orion_mbus_dram_info,
-                       USB_PHYS_BASE, IRQ_KIRKWOOD_USB);
+       orion_ehci_init(USB_PHYS_BASE, IRQ_KIRKWOOD_USB);
 }
 
 
 {
        kirkwood_clk_ctrl |= CGC_GE0;
 
-       orion_ge00_init(eth_data, &orion_mbus_dram_info,
+       orion_ge00_init(eth_data,
                        GE00_PHYS_BASE, IRQ_KIRKWOOD_GE00_SUM,
                        IRQ_KIRKWOOD_GE00_ERR, kirkwood_tclk);
 }
 
        kirkwood_clk_ctrl |= CGC_GE1;
 
-       orion_ge01_init(eth_data, &orion_mbus_dram_info,
+       orion_ge01_init(eth_data,
                        GE01_PHYS_BASE, IRQ_KIRKWOOD_GE01_SUM,
                        IRQ_KIRKWOOD_GE01_ERR, kirkwood_tclk);
 }
        if (sata_data->n_ports > 1)
                kirkwood_clk_ctrl |= CGC_SATA1;
 
-       orion_sata_init(sata_data, &orion_mbus_dram_info,
-                       SATA_PHYS_BASE, IRQ_KIRKWOOD_SATA);
+       orion_sata_init(sata_data, SATA_PHYS_BASE, IRQ_KIRKWOOD_SATA);
 }
 
 
                mvsdio_data->clock = 100000000;
        else
                mvsdio_data->clock = 200000000;
-       mvsdio_data->dram = &orion_mbus_dram_info;
        kirkwood_clk_ctrl |= CGC_SDIO;
        kirkwood_sdio.dev.platform_data = mvsdio_data;
        platform_device_register(&kirkwood_sdio);
 {
        kirkwood_clk_ctrl |= CGC_XOR0;
 
-       orion_xor0_init(&orion_mbus_dram_info,
-                       XOR0_PHYS_BASE, XOR0_HIGH_PHYS_BASE,
+       orion_xor0_init(XOR0_PHYS_BASE, XOR0_HIGH_PHYS_BASE,
                        IRQ_KIRKWOOD_XOR_00, IRQ_KIRKWOOD_XOR_01);
 }
 
 };
 
 static struct kirkwood_asoc_platform_data kirkwood_i2s_data = {
-       .dram        = &orion_mbus_dram_info,
        .burst       = 128,
 };
 
 
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/serial_8250.h>
-#include <linux/mbus.h>
 #include <linux/ata_platform.h>
 #include <linux/ethtool.h>
 #include <asm/mach/map.h>
  ****************************************************************************/
 void __init mv78xx0_ehci0_init(void)
 {
-       orion_ehci_init(&orion_mbus_dram_info,
-                       USB0_PHYS_BASE, IRQ_MV78XX0_USB_0);
+       orion_ehci_init(USB0_PHYS_BASE, IRQ_MV78XX0_USB_0);
 }
 
 
  ****************************************************************************/
 void __init mv78xx0_ehci1_init(void)
 {
-       orion_ehci_1_init(&orion_mbus_dram_info,
-                         USB1_PHYS_BASE, IRQ_MV78XX0_USB_1);
+       orion_ehci_1_init(USB1_PHYS_BASE, IRQ_MV78XX0_USB_1);
 }
 
 
  ****************************************************************************/
 void __init mv78xx0_ehci2_init(void)
 {
-       orion_ehci_2_init(&orion_mbus_dram_info,
-                         USB2_PHYS_BASE, IRQ_MV78XX0_USB_2);
+       orion_ehci_2_init(USB2_PHYS_BASE, IRQ_MV78XX0_USB_2);
 }
 
 
  ****************************************************************************/
 void __init mv78xx0_ge00_init(struct mv643xx_eth_platform_data *eth_data)
 {
-       orion_ge00_init(eth_data, &orion_mbus_dram_info,
+       orion_ge00_init(eth_data,
                        GE00_PHYS_BASE, IRQ_MV78XX0_GE00_SUM,
                        IRQ_MV78XX0_GE_ERR, get_tclk());
 }
  ****************************************************************************/
 void __init mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data)
 {
-       orion_ge01_init(eth_data, &orion_mbus_dram_info,
+       orion_ge01_init(eth_data,
                        GE01_PHYS_BASE, IRQ_MV78XX0_GE01_SUM,
                        NO_IRQ, get_tclk());
 }
                eth_data->duplex = DUPLEX_FULL;
        }
 
-       orion_ge10_init(eth_data, &orion_mbus_dram_info,
+       orion_ge10_init(eth_data,
                        GE10_PHYS_BASE, IRQ_MV78XX0_GE10_SUM,
                        NO_IRQ, get_tclk());
 }
                eth_data->duplex = DUPLEX_FULL;
        }
 
-       orion_ge11_init(eth_data, &orion_mbus_dram_info,
+       orion_ge11_init(eth_data,
                        GE11_PHYS_BASE, IRQ_MV78XX0_GE11_SUM,
                        NO_IRQ, get_tclk());
 }
  ****************************************************************************/
 void __init mv78xx0_sata_init(struct mv_sata_platform_data *sata_data)
 {
-       orion_sata_init(sata_data, &orion_mbus_dram_info,
-                       SATA_PHYS_BASE, IRQ_MV78XX0_SATA);
+       orion_sata_init(sata_data, SATA_PHYS_BASE, IRQ_MV78XX0_SATA);
 }
 
 
 
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
 #include <linux/serial_8250.h>
-#include <linux/mbus.h>
 #include <linux/mv643xx_i2c.h>
 #include <linux/ata_platform.h>
 #include <net/dsa.h>
  ****************************************************************************/
 void __init orion5x_ehci0_init(void)
 {
-       orion_ehci_init(&orion_mbus_dram_info,
-                       ORION5X_USB0_PHYS_BASE, IRQ_ORION5X_USB0_CTRL);
+       orion_ehci_init(ORION5X_USB0_PHYS_BASE, IRQ_ORION5X_USB0_CTRL);
 }
 
 
  ****************************************************************************/
 void __init orion5x_ehci1_init(void)
 {
-       orion_ehci_1_init(&orion_mbus_dram_info,
-                         ORION5X_USB1_PHYS_BASE, IRQ_ORION5X_USB1_CTRL);
+       orion_ehci_1_init(ORION5X_USB1_PHYS_BASE, IRQ_ORION5X_USB1_CTRL);
 }
 
 
  ****************************************************************************/
 void __init orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data)
 {
-       orion_ge00_init(eth_data, &orion_mbus_dram_info,
+       orion_ge00_init(eth_data,
                        ORION5X_ETH_PHYS_BASE, IRQ_ORION5X_ETH_SUM,
                        IRQ_ORION5X_ETH_ERR, orion5x_tclk);
 }
  ****************************************************************************/
 void __init orion5x_sata_init(struct mv_sata_platform_data *sata_data)
 {
-       orion_sata_init(sata_data, &orion_mbus_dram_info,
-                       ORION5X_SATA_PHYS_BASE, IRQ_ORION5X_SATA);
+       orion_sata_init(sata_data, ORION5X_SATA_PHYS_BASE, IRQ_ORION5X_SATA);
 }
 
 
  ****************************************************************************/
 void __init orion5x_xor_init(void)
 {
-       orion_xor0_init(&orion_mbus_dram_info,
-                       ORION5X_XOR_PHYS_BASE,
+       orion_xor0_init(ORION5X_XOR_PHYS_BASE,
                        ORION5X_XOR_PHYS_BASE + 0x200,
                        IRQ_ORION5X_XOR0, IRQ_ORION5X_XOR1);
 }
 
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
 #include <linux/serial_8250.h>
-#include <linux/mbus.h>
 #include <linux/ata_platform.h>
 #include <linux/mv643xx_eth.h>
 #include <linux/mv643xx_i2c.h>
  ****************************************************************************/
 static __init void ge_complete(
        struct mv643xx_eth_shared_platform_data *orion_ge_shared_data,
-       struct mbus_dram_target_info *mbus_dram_info, int tclk,
+       int tclk,
        struct resource *orion_ge_resource, unsigned long irq,
        struct platform_device *orion_ge_shared,
        struct mv643xx_eth_platform_data *eth_data,
        struct platform_device *orion_ge)
 {
-       orion_ge_shared_data->dram = mbus_dram_info;
        orion_ge_shared_data->t_clk = tclk;
        orion_ge_resource->start = irq;
        orion_ge_resource->end = irq;
 };
 
 void __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
 {
        fill_resources(&orion_ge00_shared, orion_ge00_shared_resources,
                       mapbase + 0x2000, SZ_16K - 1, irq_err);
-       ge_complete(&orion_ge00_shared_data, mbus_dram_info, tclk,
+       ge_complete(&orion_ge00_shared_data, tclk,
                    orion_ge00_resources, irq, &orion_ge00_shared,
                    eth_data, &orion_ge00);
 }
 };
 
 void __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
 {
        fill_resources(&orion_ge01_shared, orion_ge01_shared_resources,
                       mapbase + 0x2000, SZ_16K - 1, irq_err);
-       ge_complete(&orion_ge01_shared_data, mbus_dram_info, tclk,
+       ge_complete(&orion_ge01_shared_data, tclk,
                    orion_ge01_resources, irq, &orion_ge01_shared,
                    eth_data, &orion_ge01);
 }
 };
 
 void __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
 {
        fill_resources(&orion_ge10_shared, orion_ge10_shared_resources,
                       mapbase + 0x2000, SZ_16K - 1, irq_err);
-       ge_complete(&orion_ge10_shared_data, mbus_dram_info, tclk,
+       ge_complete(&orion_ge10_shared_data, tclk,
                    orion_ge10_resources, irq, &orion_ge10_shared,
                    eth_data, &orion_ge10);
 }
 };
 
 void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
 {
        fill_resources(&orion_ge11_shared, orion_ge11_shared_resources,
                       mapbase + 0x2000, SZ_16K - 1, irq_err);
-       ge_complete(&orion_ge11_shared_data, mbus_dram_info, tclk,
+       ge_complete(&orion_ge11_shared_data, tclk,
                    orion_ge11_resources, irq, &orion_ge11_shared,
                    eth_data, &orion_ge11);
 }
 /*****************************************************************************
  * XOR
  ****************************************************************************/
-static struct mv_xor_platform_shared_data orion_xor_shared_data;
-
 static u64 orion_xor_dmamask = DMA_BIT_MASK(32);
 
 void __init orion_xor_init_channels(
 static struct platform_device orion_xor0_shared = {
        .name           = MV_XOR_SHARED_NAME,
        .id             = 0,
-       .dev            = {
-               .platform_data = &orion_xor_shared_data,
-       },
        .num_resources  = ARRAY_SIZE(orion_xor0_shared_resources),
        .resource       = orion_xor0_shared_resources,
 };
        },
 };
 
-void __init orion_xor0_init(struct mbus_dram_target_info *mbus_dram_info,
-                           unsigned long mapbase_low,
+void __init orion_xor0_init(unsigned long mapbase_low,
                            unsigned long mapbase_high,
                            unsigned long irq_0,
                            unsigned long irq_1)
 {
-       orion_xor_shared_data.dram = mbus_dram_info;
-
        orion_xor0_shared_resources[0].start = mapbase_low;
        orion_xor0_shared_resources[0].end = mapbase_low + 0xff;
        orion_xor0_shared_resources[1].start = mapbase_high;
 static struct platform_device orion_xor1_shared = {
        .name           = MV_XOR_SHARED_NAME,
        .id             = 1,
-       .dev            = {
-               .platform_data = &orion_xor_shared_data,
-       },
        .num_resources  = ARRAY_SIZE(orion_xor1_shared_resources),
        .resource       = orion_xor1_shared_resources,
 };
        },
 };
 
-void __init orion_ehci_init(struct mbus_dram_target_info *mbus_dram_info,
-                           unsigned long mapbase,
+void __init orion_ehci_init(unsigned long mapbase,
                            unsigned long irq)
 {
-       orion_ehci_data.dram = mbus_dram_info;
        fill_resources(&orion_ehci, orion_ehci_resources, mapbase, SZ_4K - 1,
                       irq);
 
        },
 };
 
-void __init orion_ehci_1_init(struct mbus_dram_target_info *mbus_dram_info,
-                             unsigned long mapbase,
+void __init orion_ehci_1_init(unsigned long mapbase,
                              unsigned long irq)
 {
-       orion_ehci_data.dram = mbus_dram_info;
        fill_resources(&orion_ehci_1, orion_ehci_1_resources,
                       mapbase, SZ_4K - 1, irq);
 
        },
 };
 
-void __init orion_ehci_2_init(struct mbus_dram_target_info *mbus_dram_info,
-                             unsigned long mapbase,
+void __init orion_ehci_2_init(unsigned long mapbase,
                              unsigned long irq)
 {
-       orion_ehci_data.dram = mbus_dram_info;
        fill_resources(&orion_ehci_2, orion_ehci_2_resources,
                       mapbase, SZ_4K - 1, irq);
 
 };
 
 void __init orion_sata_init(struct mv_sata_platform_data *sata_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq)
 {
-       sata_data->dram = mbus_dram_info;
        orion_sata.dev.platform_data = sata_data;
        fill_resources(&orion_sata, orion_sata_resources,
                       mapbase, 0x5000 - 1, irq);
 
 #ifndef __PLAT_AUDIO_H
 #define __PLAT_AUDIO_H
 
-#include <linux/mbus.h>
-
 struct kirkwood_asoc_platform_data {
        u32 tclk;
-       struct mbus_dram_target_info *dram;
        int burst;
 };
 #endif
 
                           unsigned long irq);
 
 void __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
                            int tclk);
 
 void __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
                            int tclk);
 
 void __init orion_ge10_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
                            int tclk);
 
 void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq,
                            unsigned long irq_err,
 
 void __init orion_wdt_init(unsigned long tclk);
 
-void __init orion_xor0_init(struct mbus_dram_target_info *mbus_dram_info,
-                           unsigned long mapbase_low,
+void __init orion_xor0_init(unsigned long mapbase_low,
                            unsigned long mapbase_high,
                            unsigned long irq_0,
                            unsigned long irq_1);
                            unsigned long irq_0,
                            unsigned long irq_1);
 
-void __init orion_ehci_init(struct mbus_dram_target_info *mbus_dram_info,
-                           unsigned long mapbase,
+void __init orion_ehci_init(unsigned long mapbase,
                            unsigned long irq);
 
-void __init orion_ehci_1_init(struct mbus_dram_target_info *mbus_dram_info,
-                             unsigned long mapbase,
+void __init orion_ehci_1_init(unsigned long mapbase,
                              unsigned long irq);
 
-void __init orion_ehci_2_init(struct mbus_dram_target_info *mbus_dram_info,
-                             unsigned long mapbase,
+void __init orion_ehci_2_init(unsigned long mapbase,
                              unsigned long irq);
 
 void __init orion_sata_init(struct mv_sata_platform_data *sata_data,
-                           struct mbus_dram_target_info *mbus_dram_info,
                            unsigned long mapbase,
                            unsigned long irq);
 
 
 };
 
 struct orion_ehci_data {
-       struct mbus_dram_target_info    *dram;
        enum orion_ehci_phy_ver phy_version;
 };
 
 
 #define MV_XOR_SHARED_NAME     "mv_xor_shared"
 #define MV_XOR_NAME            "mv_xor"
 
-struct mbus_dram_target_info;
-
-struct mv_xor_platform_shared_data {
-       struct mbus_dram_target_info    *dram;
-};
-
 struct mv_xor_platform_data {
        struct platform_device          *shared;
        int                             hw_id;
 
 #include <linux/mbus.h>
 
 struct mvsdio_platform_data {
-       struct mbus_dram_target_info *dram;
        unsigned int clock;
        int gpio_card_detect;
        int gpio_write_protect;
 
 /*
  * Marvell SATA private data
  */
-struct mbus_dram_target_info;
-
 struct mv_sata_platform_data {
-       struct mbus_dram_target_info    *dram;
        int     n_ports; /* number of sata ports */
 };