@@ -1867,7 +1867,8 @@ static void musb_free(struct musb *musb)
* not yet corrected for platform-specific offsets
*/
static int __init
-musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
+musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl,
+ phys_addr_t ctrl_phys_addr)
{
int status;
struct musb *musb;
@@ -1919,6 +1920,7 @@ bad_config:
musb->board_set_power = plat->set_power;
musb->set_clock = plat->set_clock;
musb->min_power = plat->min_power;
+ musb->ctrl_phys_base = ctrl_phys_addr;
/* Clock usage is chip-specific ... functional clock (DaVinci,
* OMAP2430), or PHY ref (some TUSB6010 boards). All this core
@@ -2136,7 +2138,7 @@ static int __init musb_probe(struct platform_device *pdev)
/* clobbered by use_dma=n */
orig_dma_mask = dev->dma_mask;
#endif
- status = musb_init_controller(dev, irq, base);
+ status = musb_init_controller(dev, irq, base, iomem->start);
if (status < 0)
iounmap(base);
@@ -367,6 +367,7 @@ struct musb {
struct device *controller;
void __iomem *ctrl_base;
+ phys_addr_t ctrl_phys_base;
void __iomem *mregs;
#ifdef CONFIG_USB_TUSB6010