
This phy cannot be used when OF_CONTROL is not enabled. A few boards expect it to build, though, so add a runtime check for this case.
Signed-off-by: Simon Glass sjg@chromium.org ---
Changes in v6: - Add new patch for atheros
drivers/net/phy/atheros.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/atheros.c b/drivers/net/phy/atheros.c index f922fecd6b5..cc772f3060f 100644 --- a/drivers/net/phy/atheros.c +++ b/drivers/net/phy/atheros.c @@ -7,6 +7,7 @@ * Copyright (c) 2019 Michael Walle michael@walle.cc */ #include <common.h> +#include <log.h> #include <phy.h> #include <dm/device_compat.h> #include <linux/bitfield.h> @@ -197,6 +198,16 @@ static int ar803x_of_init(struct phy_device *phydev) u32 strength, freq, min_uV, max_uV; int sel;
+ /* + * This driver requires OF_CONTROL but this is included on some boards + * that don't support it in SPL. Return an error so the board vendor + * can resolve this. + */ + if (!CONFIG_IS_ENABLED(OF_CONTROL)) { + log_err("atheros driver requires OF_CONTROL enabled"); + return -ENOSYS; + } + node = phy_get_ofnode(phydev); if (!ofnode_valid(node)) return -EINVAL;