提交 1594c75b 编写于 作者: J Jean-Jacques Hiblot 提交者: Marek Vasut

usb: musb-new: Allow the diver not to use the set_phy_power() callback

The set_phy_power() callback is part of struct omap_musb_board_data. This
structure is part of the platform data passed to the musb-new driver. This
does not really fit with the Driver Model, so allow not to use struct
omap_musb_board_data to turn the phy on or off.
Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: NTom Rini <trini@konsulko.com>
上级 2f829af9
......@@ -406,7 +406,7 @@ static int am35x_musb_init(struct musb *musb)
musb_writel(reg_base, USB_CTRL_REG, AM35X_SOFT_RESET_MASK);
/* Start the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 1);
msleep(5);
......@@ -437,7 +437,7 @@ static int am35x_musb_exit(struct musb *musb)
#endif
/* Shutdown the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 0);
#ifndef __UBOOT__
......@@ -628,7 +628,7 @@ static int am35x_suspend(struct device *dev)
struct omap_musb_board_data *data = plat->board_data;
/* Shutdown the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 0);
clk_disable(glue->phy_clk);
......@@ -645,7 +645,7 @@ static int am35x_resume(struct device *dev)
int ret;
/* Start the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 1);
ret = clk_enable(glue->phy_clk);
......
......@@ -450,7 +450,7 @@ static int dsps_musb_init(struct musb *musb)
dsps_writel(reg_base, wrp->control, (1 << wrp->reset));
/* Start the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 1);
musb->isr = dsps_interrupt;
......@@ -491,7 +491,7 @@ static int dsps_musb_exit(struct musb *musb)
#endif
/* Shutdown the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 0);
#ifndef __UBOOT__
......@@ -691,7 +691,7 @@ static int dsps_suspend(struct device *dev)
struct omap_musb_board_data *data = plat->board_data;
/* Shutdown the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 0);
return 0;
......@@ -703,7 +703,7 @@ static int dsps_resume(struct device *dev)
struct omap_musb_board_data *data = plat->board_data;
/* Start the on-chip PHY and its PLL. */
if (data->set_phy_power)
if (data && data->set_phy_power)
data->set_phy_power(data->dev, 1);
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册