With the upcoming ksz9477 SPI support added, the I2C support will be optional. Either the I2C or the SPI bus will be used.
For now, DM_I2C is still mandatory. Signed-off-by: Romain Naour <romain.na...@smile.fr> --- drivers/net/ksz9477.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/ksz9477.c b/drivers/net/ksz9477.c index 82db533c4ec..1190b591fcb 100644 --- a/drivers/net/ksz9477.c +++ b/drivers/net/ksz9477.c @@ -11,7 +11,9 @@ #include <eth_phy.h> #include <linux/delay.h> #include <miiphy.h> -#include <i2c.h> +#if CONFIG_IS_ENABLED(DM_I2C) +# include <i2c.h> +#endif #include <net/dsa.h> #include <asm-generic/gpio.h> @@ -105,6 +107,7 @@ struct ksz_dsa_priv { u32 features; /* chip specific features */ }; +#if CONFIG_IS_ENABLED(DM_I2C) static inline int ksz_i2c_read(struct udevice *dev, u32 reg, u8 *val, int len) { return dm_i2c_read(dev, reg, val, len); @@ -119,6 +122,7 @@ static struct ksz_phy_ops phy_i2c_ops = { .read = ksz_i2c_read, .write = ksz_i2c_write, }; +#endif static inline int ksz_read8(struct udevice *dev, u32 reg, u8 *val) { @@ -587,6 +591,7 @@ static int ksz_probe(struct udevice *dev) parent_id = device_get_uclass_id(dev_get_parent(dev)); switch (parent_id) { +#if CONFIG_IS_ENABLED(DM_I2C) case UCLASS_I2C: { ksz_ops_register(dev, &phy_i2c_ops); @@ -597,6 +602,7 @@ static int ksz_probe(struct udevice *dev) } break; } +#endif default: dev_err(dev, "invalid parent bus (%s)\n", uclass_get_name(parent_id)); -- 2.45.0