aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/phy.h
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2017-02-04 16:02:44 -0500
committerDavid S. Miller <davem@davemloft.net>2017-02-07 10:51:46 -0500
commit648ea0134069cda7d4940f397bcc6901fb88752a (patch)
tree2e898d9c56777f31708c0292170eae5d76c13882 /include/linux/phy.h
parent71e0bbde0d88047f66b25721f69a441d46083748 (diff)
net: phy: Allow pre-declaration of MDIO devices
Allow board support code to collect pre-declarations for MDIO devices by registering them with mdiobus_register_board_info(). SPI and I2C buses have a similar feature, we were missing this for MDIO devices, but this is particularly useful for e.g: MDIO-connected switches which need to provide their port layout (often board-specific) to a MDIO Ethernet switch driver. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/phy.h')
-rw-r--r--include/linux/phy.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 28ae9eafec19..d9bdf53e0514 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -886,6 +886,25 @@ void mdio_bus_exit(void);
886 886
887extern struct bus_type mdio_bus_type; 887extern struct bus_type mdio_bus_type;
888 888
889struct mdio_board_info {
890 const char *bus_id;
891 char modalias[MDIO_NAME_SIZE];
892 int mdio_addr;
893 const void *platform_data;
894};
895
896#if IS_ENABLED(CONFIG_PHYLIB)
897int mdiobus_register_board_info(const struct mdio_board_info *info,
898 unsigned int n);
899#else
900static inline int mdiobus_register_board_info(const struct mdio_board_info *i,
901 unsigned int n)
902{
903 return 0;
904}
905#endif
906
907
889/** 908/**
890 * module_phy_driver() - Helper macro for registering PHY drivers 909 * module_phy_driver() - Helper macro for registering PHY drivers
891 * @__phy_drivers: array of PHY drivers to register 910 * @__phy_drivers: array of PHY drivers to register