Re: [PATCH] usb: phy: phy-generic: propagate clk_get error if clock is required

2017-10-17 Thread Felipe Balbi

Hi,

Lucas Stach  writes:
> 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

2017-10-13 Thread Lucas Stach
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

2017-08-18 Thread 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.

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