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: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:

committed by
Marek Vasut

parent
2f829af946
commit
1594c75b3e
@@ -406,7 +406,7 @@ static int am35x_musb_init(struct musb *musb)
|
|||||||
musb_writel(reg_base, USB_CTRL_REG, AM35X_SOFT_RESET_MASK);
|
musb_writel(reg_base, USB_CTRL_REG, AM35X_SOFT_RESET_MASK);
|
||||||
|
|
||||||
/* Start the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 1);
|
||||||
|
|
||||||
msleep(5);
|
msleep(5);
|
||||||
@@ -437,7 +437,7 @@ static int am35x_musb_exit(struct musb *musb)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Shutdown the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 0);
|
||||||
|
|
||||||
#ifndef __UBOOT__
|
#ifndef __UBOOT__
|
||||||
@@ -628,7 +628,7 @@ static int am35x_suspend(struct device *dev)
|
|||||||
struct omap_musb_board_data *data = plat->board_data;
|
struct omap_musb_board_data *data = plat->board_data;
|
||||||
|
|
||||||
/* Shutdown the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 0);
|
||||||
|
|
||||||
clk_disable(glue->phy_clk);
|
clk_disable(glue->phy_clk);
|
||||||
@@ -645,7 +645,7 @@ static int am35x_resume(struct device *dev)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* Start the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 1);
|
||||||
|
|
||||||
ret = clk_enable(glue->phy_clk);
|
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));
|
dsps_writel(reg_base, wrp->control, (1 << wrp->reset));
|
||||||
|
|
||||||
/* Start the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 1);
|
||||||
|
|
||||||
musb->isr = dsps_interrupt;
|
musb->isr = dsps_interrupt;
|
||||||
@@ -491,7 +491,7 @@ static int dsps_musb_exit(struct musb *musb)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Shutdown the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 0);
|
||||||
|
|
||||||
#ifndef __UBOOT__
|
#ifndef __UBOOT__
|
||||||
@@ -691,7 +691,7 @@ static int dsps_suspend(struct device *dev)
|
|||||||
struct omap_musb_board_data *data = plat->board_data;
|
struct omap_musb_board_data *data = plat->board_data;
|
||||||
|
|
||||||
/* Shutdown the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -703,7 +703,7 @@ static int dsps_resume(struct device *dev)
|
|||||||
struct omap_musb_board_data *data = plat->board_data;
|
struct omap_musb_board_data *data = plat->board_data;
|
||||||
|
|
||||||
/* Start the on-chip PHY and its PLL. */
|
/* 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);
|
data->set_phy_power(data->dev, 1);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user