[PATCH 1/2] phy-core: Don't print an error on probe deferral or nodata
From: Hans de Goede <hidden>
Date: 2014-01-07 09:53:00
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:quoted
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 toWhat 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:
quoted
+ 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