Hi,

On 01/07/2014 10:31 AM, Kishon Vijay Abraham I wrote:
Hi,

On Monday 06 January 2014 04:36 AM, Hans de Goede wrote:
Printing an error on probe-deferral clearly is not the right thing to do.
While at it I've also silenced the error in case of -ENODATA, so that
devm_phy_get can be used to get an optional phy without causing errors to

What do you mean by optional phy here?

Some generic platform drivers, ie drivers/usb/host/ehci-platform.c
(with some extensions to make it more generic I'm working on), may
take a phy in the devicetree-node, but having a phy is not mandatory,
the code using the phy will all be guarded against the phy not being
there and only call phy_ functions if it is actually there.

For this use case it would be nice if in this case devm_phy_get would
return an error code, but not do a dev_err, so as to not pollute dmesg
with irrelevant / wrong error messages.

The regulator core has devm_regulator_get_optional for this, so
if you don't want this silent behavior in devm_phy_get by default,
I can do write a different patch adding devm_phy_get_optional
instead.

Also I've just realized that this check:

+               if (err != -EPROBE_DEFER && err != -ENODATA)
+                       dev_err(dev, "unable to get phy\n");

Is incomplete to also be silent when no phy-names are specified,
it should be:

        if (err != -EPROBE_DEFER && err != -ENODATA && err != -EINVAL)
                dev_err(dev, "unable to get phy\n");

I'll fix this (or add a devm_phy_get_optional) in v2 of this set.

Regards,

Hans

--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to