[email protected] <[email protected]> :
[...]
> Some phy's can be configured to enable wake on lan (e.g. at803x or marvell 
> 88E1318S).
> There is no way how to enable wol on CPSW with such connected phys. This patch
> adds this support. It is provided by calling the phy's related code.
> 
> Tested on board with at8030x connected phy. Wol interrupt line is
> connected to GPIO0 on am335x.

This patch adds a feature. It isn't a bugfix. It should thus target
'net-next', not 'net' (it does not apply to net-next as of 2ff1cf12c9 btw).

> 
> Signed-off-by: Matus Ujhelyi <[email protected]>
> ---
>  drivers/net/ethernet/ti/cpsw.c |   23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
> index 22a7a43..fe8d973 100644
> --- a/drivers/net/ethernet/ti/cpsw.c
> +++ b/drivers/net/ethernet/ti/cpsw.c
> @@ -1416,6 +1416,27 @@ static int cpsw_set_settings(struct net_device *ndev, 
> struct ethtool_cmd *ecmd)
>               return -EOPNOTSUPP;
>  }
>  
> +static void cpsw_get_wol(struct net_device *ndev, struct ethtool_wolinfo 
> *wol)
> +{
> +     struct cpsw_priv *priv = netdev_priv(ndev);
> +     int slave_no = cpsw_slave_index(priv);
> +     wol->supported = 0;

Variable declarations and code should be separated: please add an empty
line.

> +     wol->wolopts = 0;
> +     if (priv->slaves[slave_no].phy)
> +             phy_ethtool_get_wol(priv->slaves[slave_no].phy, wol);
> +
> +}

Useless empty line.

> +
> +static int cpsw_set_wol(struct net_device *ndev, struct ethtool_wolinfo *wol)
> +{
> +     struct cpsw_priv *priv = netdev_priv(ndev);
> +     int slave_no = cpsw_slave_index(priv);
> +     if (priv->slaves[slave_no].phy)

Variable declarations and code should be separated: please add an empty
line.

> +             return phy_ethtool_set_wol(priv->slaves[slave_no].phy, wol);
> +     else
> +             return -EOPNOTSUPP;
> +}
> +
>  static const struct ethtool_ops cpsw_ethtool_ops = {
>       .get_drvinfo    = cpsw_get_drvinfo,
>       .get_msglevel   = cpsw_get_msglevel,
> @@ -1426,6 +1447,8 @@ static const struct ethtool_ops cpsw_ethtool_ops = {
>       .set_settings   = cpsw_set_settings,
>       .get_coalesce   = cpsw_get_coalesce,
                     ^^^ tab
>       .set_coalesce   = cpsw_set_coalesce,
                     ^^^ tab
> +     .get_wol        = cpsw_get_wol,
                ^^^^^^^^  spaces, please use tabs.
> +     .set_wol        = cpsw_set_wol,
                ^^^^^^^^  spaces, please use tabs.

-- 
Ueimor
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to