Message ID | 1467029359-6812-4-git-send-email-yoshihiro.shimoda.uh@renesas.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Geert Uytterhoeven |
Headers | show |
On Mon, Jun 27, 2016 at 09:09:19PM +0900, Yoshihiro Shimoda wrote: > This patch uses devm_usb_get_phy_by_phandle() instead of usb_get_phy() > for device tree environment. This change is not compabile with the > previous code, but it is no problem because nobody calls usb_bind_phy() > for this driver now. > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > --- > Documentation/devicetree/bindings/usb/renesas_usbhs.txt | 3 ++- > drivers/usb/renesas_usbhs/mod_gadget.c | 7 ++++++- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt > index b604056..a419aea 100644 > --- a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt > +++ b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt > @@ -24,8 +24,9 @@ Optional properties: > - renesas,buswait: Integer to use BUSWAIT register > - renesas,enable-gpio: A gpio specifier to check GPIO determining if USB > function should be enabled > - - phys: phandle + phy specifier pair > + - phys: phandle of *Generic PHY* + phy specifier pair > - phy-names: must be "usb" > + - usb-phy: phandle of usb phy No. The binding should not change based on which kernel subsystem handles this. The USB-PHY code should learn to parse 'phys' if you want to use that subsystem. > - dmas: Must contain a list of references to DMA specifiers. > - dma-names : named "ch%d", where %d is the channel number ranging from zero > to the number of channels (DnFIFOs) minus one.
Hi, > From: Rob Herring > Sent: Wednesday, June 29, 2016 5:57 AM > > On Mon, Jun 27, 2016 at 09:09:19PM +0900, Yoshihiro Shimoda wrote: > > This patch uses devm_usb_get_phy_by_phandle() instead of usb_get_phy() > > for device tree environment. This change is not compabile with the > > previous code, but it is no problem because nobody calls usb_bind_phy() > > for this driver now. > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > --- > > Documentation/devicetree/bindings/usb/renesas_usbhs.txt | 3 ++- > > drivers/usb/renesas_usbhs/mod_gadget.c | 7 ++++++- > > 2 files changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt > b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt > > index b604056..a419aea 100644 > > --- a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt > > +++ b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt > > @@ -24,8 +24,9 @@ Optional properties: > > - renesas,buswait: Integer to use BUSWAIT register > > - renesas,enable-gpio: A gpio specifier to check GPIO determining if USB > > function should be enabled > > - - phys: phandle + phy specifier pair > > + - phys: phandle of *Generic PHY* + phy specifier pair > > - phy-names: must be "usb" > > + - usb-phy: phandle of usb phy > > No. The binding should not change based on which kernel subsystem > handles this. The USB-PHY code should learn to parse 'phys' if you want > to use that subsystem. Thank you for the review. The "phys" is for Generic PHY even if this patch is applied. So, I think that I should make a patch to revise the explanation at first? I would to write overview of renesas_usbhs driver and a question below: < phys > - This is a generic phy property. - The renesas_usbhs driver will use it to turn on/off the PHY - Almost all platforms use this generic phy instance. < usb-phy > - This is a USB-PHY property. - The renesas_usbhs driver will use it to call an OTG related function. (otg_set_peripheral) - The renesas_usbhs driver will NOT use it to turn the power on/off. - Some platforms don't use this USB-PHY instance. - In other words, some platforms use both a generic phy and USB-PHY. - Is it not suitable from the device tree point of view? Best regards, Yoshihiro Shimoda > > - dmas: Must contain a list of references to DMA specifiers. > > - dma-names : named "ch%d", where %d is the channel number ranging from zero > > to the number of channels (DnFIFOs) minus one.
diff --git a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt index b604056..a419aea 100644 --- a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt +++ b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt @@ -24,8 +24,9 @@ Optional properties: - renesas,buswait: Integer to use BUSWAIT register - renesas,enable-gpio: A gpio specifier to check GPIO determining if USB function should be enabled - - phys: phandle + phy specifier pair + - phys: phandle of *Generic PHY* + phy specifier pair - phy-names: must be "usb" + - usb-phy: phandle of usb phy - dmas: Must contain a list of references to DMA specifiers. - dma-names : named "ch%d", where %d is the channel number ranging from zero to the number of channels (DnFIFOs) minus one. diff --git a/drivers/usb/renesas_usbhs/mod_gadget.c b/drivers/usb/renesas_usbhs/mod_gadget.c index 6e60297..ba1da69 100644 --- a/drivers/usb/renesas_usbhs/mod_gadget.c +++ b/drivers/usb/renesas_usbhs/mod_gadget.c @@ -1071,7 +1071,12 @@ int usbhs_mod_gadget_probe(struct usbhs_priv *priv) goto usbhs_mod_gadget_probe_err_gpriv; } - gpriv->transceiver = usb_get_phy(USB_PHY_TYPE_UNDEFINED); + gpriv->transceiver = devm_usb_get_phy_by_phandle(dev, "usb-phy", 0); + if (PTR_ERR(gpriv->transceiver) == -EPROBE_DEFER) { + ret = -EPROBE_DEFER; + goto err_add_udc; + } + dev_info(dev, "%stransceiver found\n", !IS_ERR_OR_NULL(gpriv->transceiver) ? "" : "no ");
This patch uses devm_usb_get_phy_by_phandle() instead of usb_get_phy() for device tree environment. This change is not compabile with the previous code, but it is no problem because nobody calls usb_bind_phy() for this driver now. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> --- Documentation/devicetree/bindings/usb/renesas_usbhs.txt | 3 ++- drivers/usb/renesas_usbhs/mod_gadget.c | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-)