Hi, 2012/03/01 11:32, Nobuhiro Iwamatsu wrote: > In devices using ehci-sh, initialization of the PHY may be necessary. > This adds platform data to ehci-sh and provide function to initialize PHY. > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> > CC: Shimoda, Yoshihiro <yoshihiro.shimoda.uh@xxxxxxxxxxx> > --- > drivers/usb/host/ehci-sh.c | 12 ++++++++++++ > include/linux/usb/ehci-sh.h | 29 +++++++++++++++++++++++++++++ > 2 files changed, 41 insertions(+), 0 deletions(-) > create mode 100644 include/linux/usb/ehci-sh.h > > diff --git a/drivers/usb/host/ehci-sh.c b/drivers/usb/host/ehci-sh.c > index 9d9cf47..787b07e 100644 > --- a/drivers/usb/host/ehci-sh.c > +++ b/drivers/usb/host/ehci-sh.c > @@ -11,6 +11,7 @@ > */ > #include <linux/platform_device.h> > #include <linux/clk.h> > +#include <linux/usb/ehci-sh.h> > > struct ehci_sh_priv { > struct clk *iclk, *fclk; > @@ -100,6 +101,7 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev) > const struct hc_driver *driver = &ehci_sh_hc_driver; > struct resource *res; > struct ehci_sh_priv *priv; > + struct ehci_sh_platdata *pdata; > struct usb_hcd *hcd; > int irq, ret; > > @@ -124,6 +126,13 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev) > goto fail_create_hcd; > } > > + if (pdev->dev.platform_data == NULL) { > + dev_err(&pdev->dev, "no platform data\n"); > + ret = -ENODEV; > + goto fail_create_hcd; > + } > + pdata = pdev->dev.platform_data; > + > /* initialize hcd */ > hcd = usb_create_hcd(&ehci_sh_hc_driver, &pdev->dev, > dev_name(&pdev->dev)); > @@ -168,6 +177,9 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev) > clk_enable(priv->fclk); > clk_enable(priv->iclk); > > + if (pdata->phy_init) > + pdata->phy_init(pdata->clkmode); The clkmode is only used by the phy_init(). So, I think that we can remove the clkmode. (In other words, the ehci-sh doesn't use the clkmode actually.) And then, According to your other 2 patches, the current platforms don't use the phy_init(). So, if a platform_device doesn't have the platform_data, it is better for ehci-sh to ignore the parameter, I think. Best regards, Yoshihiro Shimoda -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html