| From 39eb4037f82c77fea71cbc7beeacc880fd3d7f88 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 3 Sep 2018 10:48:50 +0200 |
| Subject: net: phy: mscc: read 'vsc8531, edge-slowdown' as an u32 |
| |
| From: Quentin Schulz <quentin.schulz@bootlin.com> |
| |
| [ Upstream commit 36c53cf0f46526b898390659b125155939f67892 ] |
| |
| In the DT binding, it is specified nowhere that 'vsc8531,edge-slowdown' |
| is an u8, even though it's read as an u8 in the driver. |
| |
| Let's update the driver to take into consideration that the |
| 'vsc8531,edge-slowdown' property is of the default type u32. |
| |
| Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/phy/mscc.c | 7 +++---- |
| 1 file changed, 3 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c |
| index 53d63a71a03e2..36647b70b9a36 100644 |
| --- a/drivers/net/phy/mscc.c |
| +++ b/drivers/net/phy/mscc.c |
| @@ -112,7 +112,7 @@ struct vsc8531_private { |
| #ifdef CONFIG_OF_MDIO |
| struct vsc8531_edge_rate_table { |
| u32 vddmac; |
| - u8 slowdown[8]; |
| + u32 slowdown[8]; |
| }; |
| |
| static const struct vsc8531_edge_rate_table edge_table[] = { |
| @@ -375,8 +375,7 @@ out_unlock: |
| #ifdef CONFIG_OF_MDIO |
| static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev) |
| { |
| - u8 sd; |
| - u32 vdd; |
| + u32 vdd, sd; |
| int rc, i, j; |
| struct device *dev = &phydev->mdio.dev; |
| struct device_node *of_node = dev->of_node; |
| @@ -389,7 +388,7 @@ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev) |
| if (rc != 0) |
| vdd = MSCC_VDDMAC_3300; |
| |
| - rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", &sd); |
| + rc = of_property_read_u32(of_node, "vsc8531,edge-slowdown", &sd); |
| if (rc != 0) |
| sd = 0; |
| |
| -- |
| 2.20.1 |
| |