summaryrefslogtreecommitdiff
path: root/include/linux/mdio
diff options
context:
space:
mode:
authorMarek BehĂșn <kabel@kernel.org>2022-09-30 16:21:08 +0200
committerDavid S. Miller <davem@davemloft.net>2022-10-03 11:08:33 +0100
commite85b1347ace677c3822c12d9332dfaaffe594da6 (patch)
tree393079f23e9d9b2ee7bfd3b83eefbc36a814b1de /include/linux/mdio
parent13c8adcf221f1ff407115d3269e0fb57e8cecf82 (diff)
net: sfp: create/destroy I2C mdiobus before PHY probe/after PHY release
Instead of configuring the I2C mdiobus when SFP driver is probed, create/destroy the mdiobus before the PHY is probed for/after it is released. This way we can tell the mdio-i2c code which protocol to use for each SFP transceiver. Move the code that determines MDIO I2C protocol from sfp_sm_probe_for_phy() to sfp_sm_mod_probe(), where most of the SFP ID parsing is done. Don't allocate I2C bus if no PHY is expected. Signed-off-by: Marek BehĂșn <kabel@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/mdio')
-rw-r--r--include/linux/mdio/mdio-i2c.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/mdio/mdio-i2c.h b/include/linux/mdio/mdio-i2c.h
index b1d27f7cd23f..3bde1a555a49 100644
--- a/include/linux/mdio/mdio-i2c.h
+++ b/include/linux/mdio/mdio-i2c.h
@@ -11,6 +11,12 @@ struct device;
struct i2c_adapter;
struct mii_bus;
+enum mdio_i2c_proto {
+ MDIO_I2C_NONE,
+ MDIO_I2C_MARVELL_C22,
+ MDIO_I2C_C45,
+};
+
struct mii_bus *mdio_i2c_alloc(struct device *parent, struct i2c_adapter *i2c);
#endif