diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2013-11-15 01:23:32 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@linaro.org> | 2014-02-03 09:19:39 -0500 |
commit | cf4c9eb5a451ba26246477dd3168e98b7a5c1b1c (patch) | |
tree | 5b45e915c35cd6b0a12305d74e15fda9f61c2c7f /drivers/of/of_net.c | |
parent | f5fab57dc99eeb01bf09a4262cb4bab786ccffb2 (diff) |
of: make of_get_phy_mode parse 'phy-connection-type'
Per the ePAPR v1.1 specification, 'phy-connection-type' is the canonical
property name for describing an Ethernet to PHY connection type. Make
sure that of_get_phy_mode() also attempts to parse that property and
update the comments mentioning 'phy-mode' to also include
'phy-connection-type'.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Grant Likely <grant.likely@linaro.org>
Diffstat (limited to 'drivers/of/of_net.c')
-rw-r--r-- | drivers/of/of_net.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c index a208a457558c..a3df3428dac6 100644 --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c | |||
@@ -13,8 +13,8 @@ | |||
13 | 13 | ||
14 | /** | 14 | /** |
15 | * It maps 'enum phy_interface_t' found in include/linux/phy.h | 15 | * It maps 'enum phy_interface_t' found in include/linux/phy.h |
16 | * into the device tree binding of 'phy-mode', so that Ethernet | 16 | * into the device tree binding of 'phy-mode' or 'phy-connection-type', |
17 | * device driver can get phy interface from device tree. | 17 | * so that Ethernet device driver can get phy interface from device tree. |
18 | */ | 18 | */ |
19 | static const char *phy_modes[] = { | 19 | static const char *phy_modes[] = { |
20 | [PHY_INTERFACE_MODE_NA] = "", | 20 | [PHY_INTERFACE_MODE_NA] = "", |
@@ -37,8 +37,9 @@ static const char *phy_modes[] = { | |||
37 | * of_get_phy_mode - Get phy mode for given device_node | 37 | * of_get_phy_mode - Get phy mode for given device_node |
38 | * @np: Pointer to the given device_node | 38 | * @np: Pointer to the given device_node |
39 | * | 39 | * |
40 | * The function gets phy interface string from property 'phy-mode', | 40 | * The function gets phy interface string from property 'phy-mode' or |
41 | * and return its index in phy_modes table, or errno in error case. | 41 | * 'phy-connection-type', and return its index in phy_modes table, or errno in |
42 | * error case. | ||
42 | */ | 43 | */ |
43 | int of_get_phy_mode(struct device_node *np) | 44 | int of_get_phy_mode(struct device_node *np) |
44 | { | 45 | { |
@@ -47,6 +48,8 @@ int of_get_phy_mode(struct device_node *np) | |||
47 | 48 | ||
48 | err = of_property_read_string(np, "phy-mode", &pm); | 49 | err = of_property_read_string(np, "phy-mode", &pm); |
49 | if (err < 0) | 50 | if (err < 0) |
51 | err = of_property_read_string(np, "phy-connection-type", &pm); | ||
52 | if (err < 0) | ||
50 | return err; | 53 | return err; |
51 | 54 | ||
52 | for (i = 0; i < ARRAY_SIZE(phy_modes); i++) | 55 | for (i = 0; i < ARRAY_SIZE(phy_modes); i++) |