[PATCH 8/9] net: ksz9477: prepare ksz9477 without I2C support
Romain Naour
romain.naour at smile.fr
Tue Oct 8 09:54:31 CEST 2024
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.naour at 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
More information about the U-Boot
mailing list