Re: [PATCH v2 net] net: phy: Fix LED mode in DT single property.

2017-02-27 Thread Rob Herring
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", );
> +   rc = of_property_read_u16(of_node, "mscc,vddmac", );
> if (rc != 0)
> vdd = MSCC_VDDMAC_3300;
>
> -   rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", );
> +   rc = of_property_read_u8(of_node, "mscc,edge-slowdown", );
> 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 = >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 

[PATCH v2 net] net: phy: Fix LED mode in DT single property.

2017-02-24 Thread Raju Lakkaraju
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", );
+   rc = of_property_read_u16(of_node, "mscc,vddmac", );
if (rc != 0)
vdd = MSCC_VDDMAC_3300;
 
-   rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", );
+   rc = of_property_read_u8(of_node, "mscc,edge-slowdown", );
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 = >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, _mode);
-   if (!err && (led_mode > 15 || led_mode == 7 || led_mode == 11)) {
-   phydev_err(phydev, "DT %s invalid\n", led);
+   paddr = 

Re: [PATCH v2 net] net: phy: Fix LED mode in DT single property.

2017-02-24 Thread kbuild test robot
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.

2017-02-24 Thread Raju Lakkaraju
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", );
+   rc = of_property_read_u16(of_node, "mscc,vddmac", );
if (rc != 0)
vdd = MSCC_VDDMAC_3300;
 
-   rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", );
+   rc = of_property_read_u8(of_node, "mscc,edge-slowdown", );
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 = >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, _mode);
-   if (!err && (led_mode > 15 || led_mode == 7 || led_mode == 11)) {
-   phydev_err(phydev, "DT %s invalid\n", led);
+   paddr =