|
@@ -109,8 +109,8 @@ struct usbtll_omap {
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
|
|
-const char usbtll_driver_name[] = USBTLL_DRIVER_NAME;
|
|
|
-struct platform_device *tll_pdev;
|
|
|
+static const char usbtll_driver_name[] = USBTLL_DRIVER_NAME;
|
|
|
+static struct device *tll_dev;
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
|
@@ -334,7 +334,8 @@ static int usbtll_omap_probe(struct platform_device *pdev)
|
|
|
|
|
|
spin_unlock_irqrestore(&tll->lock, flags);
|
|
|
pm_runtime_put_sync(dev);
|
|
|
- tll_pdev = pdev;
|
|
|
+ /* only after this can omap_tll_enable/disable work */
|
|
|
+ tll_dev = dev;
|
|
|
|
|
|
return 0;
|
|
|
|
|
@@ -356,6 +357,8 @@ static int usbtll_omap_remove(struct platform_device *pdev)
|
|
|
struct usbtll_omap *tll = platform_get_drvdata(pdev);
|
|
|
int i;
|
|
|
|
|
|
+ tll_dev = NULL;
|
|
|
+
|
|
|
for (i = 0; i < tll->nch; i++)
|
|
|
if (!IS_ERR(tll->ch_clk[i]))
|
|
|
clk_put(tll->ch_clk[i]);
|
|
@@ -436,21 +439,21 @@ static struct platform_driver usbtll_omap_driver = {
|
|
|
|
|
|
int omap_tll_enable(void)
|
|
|
{
|
|
|
- if (!tll_pdev) {
|
|
|
- pr_err("missing omap usbhs tll platform_data\n");
|
|
|
+ if (!tll_dev) {
|
|
|
+ pr_err("%s: OMAP USB TLL not initialized\n", __func__);
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
- return pm_runtime_get_sync(&tll_pdev->dev);
|
|
|
+ return pm_runtime_get_sync(tll_dev);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(omap_tll_enable);
|
|
|
|
|
|
int omap_tll_disable(void)
|
|
|
{
|
|
|
- if (!tll_pdev) {
|
|
|
- pr_err("missing omap usbhs tll platform_data\n");
|
|
|
+ if (!tll_dev) {
|
|
|
+ pr_err("%s: OMAP USB TLL not initialized\n", __func__);
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
- return pm_runtime_put_sync(&tll_pdev->dev);
|
|
|
+ return pm_runtime_put_sync(tll_dev);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(omap_tll_disable);
|
|
|
|