Re: [PATCH] usb: phy: phy-generic: propagate clk_get error if clock is required
Hi, Lucas Stachwrites: > Am Freitag, den 18.08.2017, 18:32 +0200 schrieb Lucas Stach: >> If the clock handle is given in the DT, it means the clock is >> required >> for proper operation of the PHY. In that case a failure to obtain the >> clock must be propagated to stop the driver from probing. This fixes >> working with clocks, which request probe deferral. > > Can we get this patch applied? It fixes a real issue and is pretty > straight forward. already in my tree. -- balbi signature.asc Description: PGP signature
Re: [PATCH] usb: phy: phy-generic: propagate clk_get error if clock is required
Am Freitag, den 18.08.2017, 18:32 +0200 schrieb Lucas Stach: > If the clock handle is given in the DT, it means the clock is > required > for proper operation of the PHY. In that case a failure to obtain the > clock must be propagated to stop the driver from probing. This fixes > working with clocks, which request probe deferral. Can we get this patch applied? It fixes a real issue and is pretty straight forward. Regards, Lucas > > Signed-off-by: Lucas Stach> --- > drivers/usb/phy/phy-generic.c | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/phy/phy-generic.c b/drivers/usb/phy/phy-generic.c > index 89d6e7a5fdb7..1cc02eb3fc65 100644 > --- a/drivers/usb/phy/phy-generic.c > +++ b/drivers/usb/phy/phy-generic.c > @@ -224,7 +224,7 @@ int usb_phy_gen_create_phy(struct device *dev, struct > usb_phy_generic *nop, > > int err = 0; > > > u32 clk_rate = 0; > > - bool needs_vcc = false; > > + bool needs_vcc = false, needs_clk = false; > > > if (dev->of_node) { > > struct device_node *node = dev->of_node; > @@ -233,6 +233,7 @@ int usb_phy_gen_create_phy(struct device *dev, struct > usb_phy_generic *nop, > > clk_rate = 0; > > > needs_vcc = of_property_read_bool(node, "vcc-supply"); > > + needs_clk = of_property_read_bool(node, "clocks"); > > nop->gpiod_reset = devm_gpiod_get_optional(dev, "reset", > > GPIOD_ASIS); > > err = PTR_ERR_OR_ZERO(nop->gpiod_reset); > @@ -275,6 +276,8 @@ int usb_phy_gen_create_phy(struct device *dev, struct > usb_phy_generic *nop, > > if (IS_ERR(nop->clk)) { > > dev_dbg(dev, "Can't get phy clock: %ld\n", > > PTR_ERR(nop->clk)); > > + if (needs_clk) > > + return PTR_ERR(nop->clk); > > } > > > if (!IS_ERR(nop->clk) && clk_rate) { -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] usb: phy: phy-generic: propagate clk_get error if clock is required
If the clock handle is given in the DT, it means the clock is required for proper operation of the PHY. In that case a failure to obtain the clock must be propagated to stop the driver from probing. This fixes working with clocks, which request probe deferral. Signed-off-by: Lucas Stach--- drivers/usb/phy/phy-generic.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/usb/phy/phy-generic.c b/drivers/usb/phy/phy-generic.c index 89d6e7a5fdb7..1cc02eb3fc65 100644 --- a/drivers/usb/phy/phy-generic.c +++ b/drivers/usb/phy/phy-generic.c @@ -224,7 +224,7 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop, int err = 0; u32 clk_rate = 0; - bool needs_vcc = false; + bool needs_vcc = false, needs_clk = false; if (dev->of_node) { struct device_node *node = dev->of_node; @@ -233,6 +233,7 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop, clk_rate = 0; needs_vcc = of_property_read_bool(node, "vcc-supply"); + needs_clk = of_property_read_bool(node, "clocks"); nop->gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_ASIS); err = PTR_ERR_OR_ZERO(nop->gpiod_reset); @@ -275,6 +276,8 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop, if (IS_ERR(nop->clk)) { dev_dbg(dev, "Can't get phy clock: %ld\n", PTR_ERR(nop->clk)); + if (needs_clk) + return PTR_ERR(nop->clk); } if (!IS_ERR(nop->clk) && clk_rate) { -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html