Skip to content

Commit

Permalink
mfd: omap-usb-tll: Fix error message
Browse files Browse the repository at this point in the history
omap_enable/disable_tll() can fail if TLL device is not
initialized. It could be due to multiple reasons and not only
due to missing platform data.

Also make local variables static and use 'struct device *'
instead of 'struct platform_device *' for global reference.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Roger Quadros committed Feb 13, 2013
1 parent 8bdbd15 commit 7ed8619
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions drivers/mfd/omap-usb-tll.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/*-------------------------------------------------------------------------*/

Expand Down Expand Up @@ -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;

Expand All @@ -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]);
Expand Down Expand Up @@ -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);

Expand Down

0 comments on commit 7ed8619

Please sign in to comment.