Stop using cvmx_helper_link_autoconf(). We want to remove it in the future,
as it duplicates link state information into platform code for no reason.

Signed-off-by: Aaro Koskinen <aaro.koski...@iki.fi>
---
 drivers/staging/octeon/ethernet-rgmii.c | 5 ++++-
 drivers/staging/octeon/ethernet.c       | 6 ++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/octeon/ethernet-rgmii.c 
b/drivers/staging/octeon/ethernet-rgmii.c
index 48846df..4e73042 100644
--- a/drivers/staging/octeon/ethernet-rgmii.c
+++ b/drivers/staging/octeon/ethernet-rgmii.c
@@ -117,7 +117,10 @@ static void cvm_oct_rgmii_poll(struct net_device *dev)
        cvmx_helper_link_info_t link_info;
        bool status_change;
 
-       link_info = cvmx_helper_link_autoconf(priv->port);
+       link_info = cvmx_helper_link_get(priv->port);
+       if (priv->link_info != link_info.u64 &&
+           cvmx_helper_link_set(priv->port, link_info))
+               link_info.u64 = priv->link_info;
        status_change = priv->link_info != link_info.u64;
        priv->link_info = link_info.u64;
 
diff --git a/drivers/staging/octeon/ethernet.c 
b/drivers/staging/octeon/ethernet.c
index 0bd5c18..5f746b8 100644
--- a/drivers/staging/octeon/ethernet.c
+++ b/drivers/staging/octeon/ethernet.c
@@ -521,8 +521,10 @@ void cvm_oct_link_poll(struct net_device *dev)
        if (link_info.u64 == priv->link_info)
                return;
 
-       link_info = cvmx_helper_link_autoconf(priv->port);
-       priv->link_info = link_info.u64;
+       if (cvmx_helper_link_set(priv->port, link_info))
+               link_info.u64 = priv->link_info;
+       else
+               priv->link_info = link_info.u64;
 
        if (link_info.s.link_up) {
                if (!netif_carrier_ok(dev))
-- 
2.9.2

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to