Re: [RFC net-next] net: phy: at803x: add cable diagnostics support

From: Andrew Lunn
Date: Tue May 05 2020 - 09:07:48 EST


> +static int at803x_cable_test_get_status(struct phy_device *phydev,
> + bool *finished)
> +{
> + struct at803x_priv *priv = phydev->priv;
> + static const int ethtool_pair[] = {
> + ETHTOOL_A_CABLE_PAIR_0, ETHTOOL_A_CABLE_PAIR_1,
> + ETHTOOL_A_CABLE_PAIR_2, ETHTOOL_A_CABLE_PAIR_3};

If you put one per line, you will keep the reverse christmas tree, and
David will be happy.

> + int pair, val, ret;
> + unsigned int delay_ms;

Well, David will be happy if you move this as well.

> + *finished = false;
> +
> + if (priv->cdt_start) {
> + delay_ms = AT803X_CDT_DELAY_MS;
> + delay_ms -= jiffies_delta_to_msecs(jiffies - priv->cdt_start);
> + if (delay_ms > 0)
> + msleep(delay_ms);
> + }
> +
> + for (pair = 0; pair < 4; pair++) {
> + ret = at803x_cdt_start(phydev, pair);
> + if (ret)
> + return ret;
> +
> + ret = at803x_cdt_wait_for_completion(phydev);
> + if (ret)
> + return ret;
> +
> + val = phy_read(phydev, AT803X_CDT_STATUS);
> + if (val < 0)
> + return val;
> +
> + ethnl_cable_test_result(phydev, ethtool_pair[pair],
> + at803x_cdt_test_result(val));
> +
> + if (at803x_cdt_fault_length_valid(val))
> + continue;

The name is not very intuitive. It return false if it is valid?

Otherwise, this looks good.

Andrew