net: phy: mscc: read 'vsc8531,vddmac' as an u32
authorQuentin Schulz <quentin.schulz@bootlin.com>
Mon, 3 Sep 2018 08:48:49 +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,vddmac' is an
u16, even though it's read as an u16 in the driver.

Let's update the driver to take into consideration that the
'vsc8531,vddmac' 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 aa37e85..49dc231 100644 (file)
@@ -128,7 +128,7 @@ struct vsc8531_private {
 
 #ifdef CONFIG_OF_MDIO
 struct vsc8531_edge_rate_table {
-       u16 vddmac;
+       u32 vddmac;
        u8 slowdown[8];
 };
 
@@ -387,7 +387,7 @@ out_unlock:
 static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev)
 {
        u8 sd;
-       u16 vdd;
+       u32 vdd;
        int rc, i, j;
        struct device *dev = &phydev->mdio.dev;
        struct device_node *of_node = dev->of_node;
@@ -396,7 +396,7 @@ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev)
        if (!of_node)
                return -ENODEV;
 
-       rc = of_property_read_u16(of_node, "vsc8531,vddmac", &vdd);
+       rc = of_property_read_u32(of_node, "vsc8531,vddmac", &vdd);
        if (rc != 0)
                vdd = MSCC_VDDMAC_3300;