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

Reply via email to