From: Eugeniy Paltsev Date: Tue, 6 Feb 2018 14:12:09 +0000 (+0300) Subject: NET: designware: fix clock enable X-Git-Tag: v2018.03-rc4~24^2~2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1693a577be14a92e61563bad306aa11a359757f5;p=oweals%2Fu-boot.git NET: designware: fix clock enable After commit ba1f966725223 ("net: designware: add clock support") we got NET broken on axs101 and axs103 platforms. Some clock don't support gating so their clock drivers don't implement .enable/.disable callbacks. In such case clk_enable returns -ENOSYS. Also some clock drivers implement .enable/.disable callbacks not for all clock IDs and return -ENOSYS (or -ENOTSUPP) for others. If we have such clock in 'clocks' list of designware ethernet controller node we fail to probe designware ethernet. Fix it. Signed-off-by: Eugeniy Paltsev Reviewed-by: Patrice Chotard Acked-by: Joe Hershberger Reviewed-by: Philipp Tomsich --- diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 6d5307128d..43670a7d0c 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -684,7 +684,7 @@ int designware_eth_probe(struct udevice *dev) break; err = clk_enable(&priv->clocks[i]); - if (err) { + if (err && err != -ENOSYS && err != -ENOTSUPP) { pr_err("failed to enable clock %d\n", i); clk_free(&priv->clocks[i]); goto clk_err;