usb: musb: pass platform_ops via platform_data
... then we don't need to export any symbols
from glue layer to musb_core.
Signed-off-by: Felipe Balbi <balbi@ti.com>
diff --git a/drivers/usb/musb/am35x.c b/drivers/usb/musb/am35x.c
index 355883c..e372c87 100644
--- a/drivers/usb/musb/am35x.c
+++ b/drivers/usb/musb/am35x.c
@@ -530,7 +530,7 @@
}
}
-const struct musb_platform_ops musb_ops = {
+static const struct musb_platform_ops am35x_ops = {
.init = am35x_musb_init,
.exit = am35x_musb_exit,
@@ -572,6 +572,8 @@
glue->dev = &pdev->dev;
glue->musb = musb;
+ pdata->platform_ops = &am35x_ops;
+
platform_set_drvdata(pdev, glue);
ret = platform_device_add_resources(musb, pdev->resource,
diff --git a/drivers/usb/musb/blackfin.c b/drivers/usb/musb/blackfin.c
index 02eded21..03cb001 100644
--- a/drivers/usb/musb/blackfin.c
+++ b/drivers/usb/musb/blackfin.c
@@ -436,7 +436,7 @@
return 0;
}
-const struct musb_platform_ops musb_ops = {
+static const struct musb_platform_ops bfin_ops = {
.init = bfin_musb_init,
.exit = bfin_musb_exit,
@@ -479,6 +479,8 @@
glue->dev = &pdev->dev;
glue->musb = musb;
+ pdata->platform_ops = &bfin_ops;
+
platform_set_drvdata(pdev, glue);
ret = platform_device_add_resources(musb, pdev->resource,
diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
index 94ddfe0..45ccac3 100644
--- a/drivers/usb/musb/da8xx.c
+++ b/drivers/usb/musb/da8xx.c
@@ -475,7 +475,7 @@
return 0;
}
-const struct musb_platform_ops musb_ops = {
+static const struct musb_platform_ops da8xx_ops = {
.init = da8xx_musb_init,
.exit = da8xx_musb_exit,
@@ -517,6 +517,8 @@
glue->dev = &pdev->dev;
glue->musb = musb;
+ pdata->platform_ops = &da8xx_ops;
+
platform_set_drvdata(pdev, glue);
ret = platform_device_add_resources(musb, pdev->resource,
diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
index 661870a..831a04d 100644
--- a/drivers/usb/musb/davinci.c
+++ b/drivers/usb/musb/davinci.c
@@ -510,7 +510,7 @@
return 0;
}
-const struct musb_platform_ops musb_ops = {
+static const struct musb_platform_ops davinci_ops = {
.init = davinci_musb_init,
.exit = davinci_musb_exit,
@@ -551,6 +551,8 @@
glue->dev = &pdev->dev;
glue->musb = musb;
+ pdata->platform_ops = &davinci_ops;
+
platform_set_drvdata(pdev, glue);
ret = platform_device_add_resources(musb, pdev->resource,
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 1ca14f9..dcc77ef 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -1897,7 +1897,6 @@
}
musb->controller = dev;
- musb->ops = &musb_ops;
return musb;
}
@@ -1997,6 +1996,7 @@
musb->board_set_power = plat->set_power;
musb->set_clock = plat->set_clock;
musb->min_power = plat->min_power;
+ musb->ops = plat->platform_ops;
/* Clock usage is chip-specific ... functional clock (DaVinci,
* OMAP2430), or PHY ref (some TUSB6010 boards). All this core
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index 9594b9d..fac1eab 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -281,8 +281,6 @@
void (*set_vbus)(struct musb *musb, int on);
};
-extern const struct musb_platform_ops musb_ops;
-
/*
* struct musb_hw_ep - endpoint hardware (bidirectional)
*
diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
index bca9df7..2eea170 100644
--- a/drivers/usb/musb/omap2430.c
+++ b/drivers/usb/musb/omap2430.c
@@ -333,7 +333,7 @@
return 0;
}
-const struct musb_platform_ops musb_ops = {
+static const struct musb_platform_ops omap2430_ops = {
.init = omap2430_musb_init,
.exit = omap2430_musb_exit,
@@ -378,6 +378,8 @@
glue->dev = &pdev->dev;
glue->musb = musb;
+ pdata->platform_ops = &omap2430_ops;
+
platform_set_drvdata(pdev, glue);
ret = platform_device_add_resources(musb, pdev->resource,
diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c
index 2ff78d6..d6b8326 100644
--- a/drivers/usb/musb/tusb6010.c
+++ b/drivers/usb/musb/tusb6010.c
@@ -1178,7 +1178,7 @@
return 0;
}
-const struct musb_platform_ops musb_ops = {
+static const struct musb_platform_ops tusb_ops = {
.init = tusb_musb_init,
.exit = tusb_musb_exit,
@@ -1221,6 +1221,8 @@
glue->dev = &pdev->dev;
glue->musb = musb;
+ pdata->platform_ops = &tusb_ops;
+
platform_set_drvdata(pdev, glue);
ret = platform_device_add_resources(musb, pdev->resource,