Re: [PATCH v2 net] net: phy: Fix LED mode in DT single property.
On Fri, Feb 24, 2017 at 4:47 AM, Raju Lakkaraju wrote: > From: Raju Lakkaraju > > Fix the LED mode DT parameters combine to a single property > and change the vendor prefix i.e. mscc. > > Signed-off-by: Raju Lakkaraju > --- > Change set: > v0: Fix the LED mode DT parameters combine to a single property > v1: Fix the build test ERROR > v2: Add default LED mode "vsc85xx_dt_led_mode_get" function. See my comments on v1. > .../devicetree/bindings/net/mscc-phy-vsc8531.txt | 20 +++ > drivers/net/phy/mscc.c | 65 > -- > 2 files changed, 45 insertions(+), 40 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt > b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt > index 0eedabe..2253de5 100644 > --- a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt > +++ b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt > @@ -6,12 +6,12 @@ Required properties: > Documentation/devicetree/bindings/net/phy.txt > > Optional properties: > -- vsc8531,vddmac : The vddmac in mV. Allowed values is listed > +- mscc,vddmac : The vddmac in mV. Allowed values is listed > in the first row of Table 1 (below). > This property is only used in combination > with the 'edge-slowdown' property. > Default value is 3300. > -- vsc8531,edge-slowdown: % the edge should be slowed down relative to > +- mscc,edge-slowdown : % the edge should be slowed down relative to > the fastest possible edge time. > Edge rate sets the drive strength of the MAC > interface output signals. Changing the > @@ -27,14 +27,11 @@ Optional properties: > 'vddmac'. > Default value is 0%. > Ref: Table:1 - Edge rate change (below). > -- vsc8531,led-0-mode : LED mode. Specify how the LED[0] should behave. > +- mscc,led-mode: LED mode. Specify how the LED[0] and LED[1] > should behave. > Allowed values are define in > "include/dt-bindings/net/mscc-phy-vsc8531.h". > - Default value is VSC8531_LINK_1000_ACTIVITY (1). > -- vsc8531,led-1-mode : LED mode. Specify how the LED[1] should behave. > - Allowed values are define in > - "include/dt-bindings/net/mscc-phy-vsc8531.h". > - Default value is VSC8531_LINK_100_ACTIVITY (2). > + Default LED[0] value is VSC8531_LINK_1000_ACTIVITY > (1). > + Default LED[1] value is VSC8531_LINK_100_ACTIVITY > (2). > > Table: 1 - Edge rate change > | > @@ -66,8 +63,7 @@ Example: > > vsc8531_0: ethernet-phy@0 { > compatible = "ethernet-phy-id0007.0570"; > -vsc8531,vddmac = <3300>; > -vsc8531,edge-slowdown = <7>; > -vsc8531,led-0-mode = ; > -vsc8531,led-1-mode = ; > +mscc,vddmac= /bits/ 16 <3300>; > +mscc,edge-slowdown = /bits/ 8 <7>; > +mscc,led-mode = ; > }; > diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c > index 650c266..5cd705b 100644 > --- a/drivers/net/phy/mscc.c > +++ b/drivers/net/phy/mscc.c > @@ -385,11 +385,11 @@ 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_u16(of_node, "mscc,vddmac", &vdd); > if (rc != 0) > vdd = MSCC_VDDMAC_3300; > > - rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", &sd); > + rc = of_property_read_u8(of_node, "mscc,edge-slowdown", &sd); > if (rc != 0) > sd = 0; > > @@ -402,26 +402,43 @@ static int vsc85xx_edge_rate_magic_get(struct > phy_device *phydev) > return -EINVAL; > } > > -static int vsc85xx_dt_led_mode_get(struct phy_device *phydev, > - char *led, > - u8 default_mode) > +static int vsc85xx_dt_led_mode_get(struct phy_device *phydev, char *led) > { > struct device *dev = &phydev->mdio.dev; > struct device_node *of_node = dev->of_node; > - u8 led_mode; > - int err; > + struct vsc8531_private *vsc8531 = phydev->priv; > + u8 led_0_mode = VSC8531_LINK_1000_ACTIVITY; > + u8 led_1_mode = VSC8531_LINK_100_ACTIVITY; > + const __be32 *paddr_end; > + const __be32 *paddr; > + int len; > > if (!of_node) > return -ENODEV; > > -
[PATCH v2 net] net: phy: Fix LED mode in DT single property.
From: Raju Lakkaraju Fix the LED mode DT parameters combine to a single property and change the vendor prefix i.e. mscc. Signed-off-by: Raju Lakkaraju --- Change set: v0: Fix the LED mode DT parameters combine to a single property v1: Fix the build test ERROR v2: Add default LED mode "vsc85xx_dt_led_mode_get" function. .../devicetree/bindings/net/mscc-phy-vsc8531.txt | 20 +++ drivers/net/phy/mscc.c | 65 -- 2 files changed, 45 insertions(+), 40 deletions(-) diff --git a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt index 0eedabe..2253de5 100644 --- a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt +++ b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt @@ -6,12 +6,12 @@ Required properties: Documentation/devicetree/bindings/net/phy.txt Optional properties: -- vsc8531,vddmac : The vddmac in mV. Allowed values is listed +- mscc,vddmac : The vddmac in mV. Allowed values is listed in the first row of Table 1 (below). This property is only used in combination with the 'edge-slowdown' property. Default value is 3300. -- vsc8531,edge-slowdown: % the edge should be slowed down relative to +- mscc,edge-slowdown : % the edge should be slowed down relative to the fastest possible edge time. Edge rate sets the drive strength of the MAC interface output signals. Changing the @@ -27,14 +27,11 @@ Optional properties: 'vddmac'. Default value is 0%. Ref: Table:1 - Edge rate change (below). -- vsc8531,led-0-mode : LED mode. Specify how the LED[0] should behave. +- mscc,led-mode: LED mode. Specify how the LED[0] and LED[1] should behave. Allowed values are define in "include/dt-bindings/net/mscc-phy-vsc8531.h". - Default value is VSC8531_LINK_1000_ACTIVITY (1). -- vsc8531,led-1-mode : LED mode. Specify how the LED[1] should behave. - Allowed values are define in - "include/dt-bindings/net/mscc-phy-vsc8531.h". - Default value is VSC8531_LINK_100_ACTIVITY (2). + Default LED[0] value is VSC8531_LINK_1000_ACTIVITY (1). + Default LED[1] value is VSC8531_LINK_100_ACTIVITY (2). Table: 1 - Edge rate change | @@ -66,8 +63,7 @@ Example: vsc8531_0: ethernet-phy@0 { compatible = "ethernet-phy-id0007.0570"; -vsc8531,vddmac = <3300>; -vsc8531,edge-slowdown = <7>; -vsc8531,led-0-mode = ; -vsc8531,led-1-mode = ; +mscc,vddmac= /bits/ 16 <3300>; +mscc,edge-slowdown = /bits/ 8 <7>; +mscc,led-mode = ; }; diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c index 650c266..5cd705b 100644 --- a/drivers/net/phy/mscc.c +++ b/drivers/net/phy/mscc.c @@ -385,11 +385,11 @@ 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_u16(of_node, "mscc,vddmac", &vdd); if (rc != 0) vdd = MSCC_VDDMAC_3300; - rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", &sd); + rc = of_property_read_u8(of_node, "mscc,edge-slowdown", &sd); if (rc != 0) sd = 0; @@ -402,26 +402,43 @@ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev) return -EINVAL; } -static int vsc85xx_dt_led_mode_get(struct phy_device *phydev, - char *led, - u8 default_mode) +static int vsc85xx_dt_led_mode_get(struct phy_device *phydev, char *led) { struct device *dev = &phydev->mdio.dev; struct device_node *of_node = dev->of_node; - u8 led_mode; - int err; + struct vsc8531_private *vsc8531 = phydev->priv; + u8 led_0_mode = VSC8531_LINK_1000_ACTIVITY; + u8 led_1_mode = VSC8531_LINK_100_ACTIVITY; + const __be32 *paddr_end; + const __be32 *paddr; + int len; if (!of_node) return -ENODEV; - led_mode = default_mode; - err = of_property_read_u8(of_node, led, &led_mode); - if (!err && (led_mode > 15 || led_mode == 7 || led_mode == 11)) { - phydev_err(phydev, "DT %s invalid\n", led); + paddr = of_get_property(of_node, "mscc,led-mode", &le
Re: [PATCH v2 net] net: phy: Fix LED mode in DT single property.
Hi Raju, [auto build test ERROR on net/master] url: https://github.com/0day-ci/linux/commits/Raju-Lakkaraju/net-phy-Fix-LED-mode-in-DT-single-property/20170224-171412 config: i386-randconfig-x011-201708 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/net/phy/mscc.c: In function 'vsc85xx_dt_led_mode_get': >> drivers/net/phy/mscc.c:452:2: error: 'vsc8531' undeclared (first use in this >> function) vsc8531->led_0_mode = VSC8531_LINK_1000_ACTIVITY; ^~~ drivers/net/phy/mscc.c:452:2: note: each undeclared identifier is reported only once for each function it appears in vim +/vsc8531 +452 drivers/net/phy/mscc.c 446 { 447 return 0; 448 } 449 450 static int vsc85xx_dt_led_mode_get(struct phy_device *phydev, char *led) 451 { > 452 vsc8531->led_0_mode = VSC8531_LINK_1000_ACTIVITY; 453 vsc8531->led_1_mode = VSC8531_LINK_100_ACTIVITY; 454 return 0; 455 } --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[PATCH v2 net] net: phy: Fix LED mode in DT single property.
From: Raju Lakkaraju Fix the LED mode DT parameters combine to a single property and change the vendor prefix i.e. mscc. Signed-off-by: Raju Lakkaraju --- Change set: v0: Fix the LED mode DT parameters combine to a single property v1: Fix the build test ERROR v2: Add default LED mode "vsc85xx_dt_led_mode_get" function. .../devicetree/bindings/net/mscc-phy-vsc8531.txt | 20 +++ drivers/net/phy/mscc.c | 65 -- 2 files changed, 45 insertions(+), 40 deletions(-) diff --git a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt index 0eedabe..2253de5 100644 --- a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt +++ b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt @@ -6,12 +6,12 @@ Required properties: Documentation/devicetree/bindings/net/phy.txt Optional properties: -- vsc8531,vddmac : The vddmac in mV. Allowed values is listed +- mscc,vddmac : The vddmac in mV. Allowed values is listed in the first row of Table 1 (below). This property is only used in combination with the 'edge-slowdown' property. Default value is 3300. -- vsc8531,edge-slowdown: % the edge should be slowed down relative to +- mscc,edge-slowdown : % the edge should be slowed down relative to the fastest possible edge time. Edge rate sets the drive strength of the MAC interface output signals. Changing the @@ -27,14 +27,11 @@ Optional properties: 'vddmac'. Default value is 0%. Ref: Table:1 - Edge rate change (below). -- vsc8531,led-0-mode : LED mode. Specify how the LED[0] should behave. +- mscc,led-mode: LED mode. Specify how the LED[0] and LED[1] should behave. Allowed values are define in "include/dt-bindings/net/mscc-phy-vsc8531.h". - Default value is VSC8531_LINK_1000_ACTIVITY (1). -- vsc8531,led-1-mode : LED mode. Specify how the LED[1] should behave. - Allowed values are define in - "include/dt-bindings/net/mscc-phy-vsc8531.h". - Default value is VSC8531_LINK_100_ACTIVITY (2). + Default LED[0] value is VSC8531_LINK_1000_ACTIVITY (1). + Default LED[1] value is VSC8531_LINK_100_ACTIVITY (2). Table: 1 - Edge rate change | @@ -66,8 +63,7 @@ Example: vsc8531_0: ethernet-phy@0 { compatible = "ethernet-phy-id0007.0570"; -vsc8531,vddmac = <3300>; -vsc8531,edge-slowdown = <7>; -vsc8531,led-0-mode = ; -vsc8531,led-1-mode = ; +mscc,vddmac= /bits/ 16 <3300>; +mscc,edge-slowdown = /bits/ 8 <7>; +mscc,led-mode = ; }; diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c index 650c266..30bc9ec 100644 --- a/drivers/net/phy/mscc.c +++ b/drivers/net/phy/mscc.c @@ -385,11 +385,11 @@ 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_u16(of_node, "mscc,vddmac", &vdd); if (rc != 0) vdd = MSCC_VDDMAC_3300; - rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", &sd); + rc = of_property_read_u8(of_node, "mscc,edge-slowdown", &sd); if (rc != 0) sd = 0; @@ -402,26 +402,43 @@ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev) return -EINVAL; } -static int vsc85xx_dt_led_mode_get(struct phy_device *phydev, - char *led, - u8 default_mode) +static int vsc85xx_dt_led_mode_get(struct phy_device *phydev, char *led) { struct device *dev = &phydev->mdio.dev; struct device_node *of_node = dev->of_node; - u8 led_mode; - int err; + struct vsc8531_private *vsc8531 = phydev->priv; + u8 led_0_mode = VSC8531_LINK_1000_ACTIVITY; + u8 led_1_mode = VSC8531_LINK_100_ACTIVITY; + const __be32 *paddr_end; + const __be32 *paddr; + int len; if (!of_node) return -ENODEV; - led_mode = default_mode; - err = of_property_read_u8(of_node, led, &led_mode); - if (!err && (led_mode > 15 || led_mode == 7 || led_mode == 11)) { - phydev_err(phydev, "DT %s invalid\n", led); + paddr = of_get_property(of_node, "mscc,led-mode", &le