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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel