net: phy: mscc: read 'vsc8531, edge-slowdown' as an u32
authorQuentin Schulz <quentin.schulz@bootlin.com>
Mon, 3 Sep 2018 08:48:50 +0000 (10:48 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 Sep 2018 17:47:53 +0000 (10:47 -0700)
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>
drivers/net/phy/mscc.c

index 49dc231..3c7b02b 100644 (file)
@@ -129,7 +129,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[] = {
@@ -386,8 +386,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;
@@ -400,7 +399,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;