diff options
| author | Florian Fainelli <f.fainelli@gmail.com> | 2017-02-04 16:02:44 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-02-07 10:51:46 -0500 |
| commit | 648ea0134069cda7d4940f397bcc6901fb88752a (patch) | |
| tree | 2e898d9c56777f31708c0292170eae5d76c13882 /include/linux/phy.h | |
| parent | 71e0bbde0d88047f66b25721f69a441d46083748 (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.h | 19 |
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 | ||
| 887 | extern struct bus_type mdio_bus_type; | 887 | extern struct bus_type mdio_bus_type; |
| 888 | 888 | ||
| 889 | struct 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) | ||
| 897 | int mdiobus_register_board_info(const struct mdio_board_info *info, | ||
| 898 | unsigned int n); | ||
| 899 | #else | ||
| 900 | static 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 |
