]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: ethernet: ti: cpsw_ethtool: simplify slave loops
authorIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Tue, 11 Jun 2019 21:59:40 +0000 (00:59 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Jun 2019 01:45:53 +0000 (18:45 -0700)
Only for consistency reasons, do it like in main cpsw.c module
and use ndev reference but not by means of slave.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpsw_ethtool.c

index 6d1c9ebae7cc790309b860e6258875d78bf9e1dd..86697b32194d02afa929990aa80187d66c63d926 100644 (file)
@@ -458,7 +458,6 @@ int cpsw_nway_reset(struct net_device *ndev)
 static void cpsw_suspend_data_pass(struct net_device *ndev)
 {
        struct cpsw_common *cpsw = ndev_to_cpsw(ndev);
-       struct cpsw_slave *slave;
        int i;
 
        /* Disable NAPI scheduling */
@@ -467,12 +466,13 @@ static void cpsw_suspend_data_pass(struct net_device *ndev)
        /* Stop all transmit queues for every network device.
         * Disable re-using rx descriptors with dormant_on.
         */
-       for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++) {
-               if (!(slave->ndev && netif_running(slave->ndev)))
+       for (i = 0; i < cpsw->data.slaves; i++) {
+               ndev = cpsw->slaves[i].ndev;
+               if (!(ndev && netif_running(ndev)))
                        continue;
 
-               netif_tx_stop_all_queues(slave->ndev);
-               netif_dormant_on(slave->ndev);
+               netif_tx_stop_all_queues(ndev);
+               netif_dormant_on(ndev);
        }
 
        /* Handle rest of tx packets and stop cpdma channels */
@@ -483,13 +483,14 @@ static int cpsw_resume_data_pass(struct net_device *ndev)
 {
        struct cpsw_priv *priv = netdev_priv(ndev);
        struct cpsw_common *cpsw = priv->cpsw;
-       struct cpsw_slave *slave;
        int i, ret;
 
        /* Allow rx packets handling */
-       for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++)
-               if (slave->ndev && netif_running(slave->ndev))
-                       netif_dormant_off(slave->ndev);
+       for (i = 0; i < cpsw->data.slaves; i++) {
+               ndev = cpsw->slaves[i].ndev;
+               if (ndev && netif_running(ndev))
+                       netif_dormant_off(ndev);
+       }
 
        /* After this receive is started */
        if (cpsw->usage_count) {
@@ -502,9 +503,11 @@ static int cpsw_resume_data_pass(struct net_device *ndev)
        }
 
        /* Resume transmit for every affected interface */
-       for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++)
-               if (slave->ndev && netif_running(slave->ndev))
-                       netif_tx_start_all_queues(slave->ndev);
+       for (i = 0; i < cpsw->data.slaves; i++) {
+               ndev = cpsw->slaves[i].ndev;
+               if (ndev && netif_running(ndev))
+                       netif_tx_start_all_queues(ndev);
+       }
 
        return 0;
 }
@@ -587,7 +590,7 @@ int cpsw_set_channels_common(struct net_device *ndev,
 {
        struct cpsw_priv *priv = netdev_priv(ndev);
        struct cpsw_common *cpsw = priv->cpsw;
-       struct cpsw_slave *slave;
+       struct net_device *sl_ndev;
        int i, ret;
 
        ret = cpsw_check_ch_settings(cpsw, chs);
@@ -604,20 +607,19 @@ int cpsw_set_channels_common(struct net_device *ndev,
        if (ret)
                goto err;
 
-       for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++) {
-               if (!(slave->ndev && netif_running(slave->ndev)))
+       for (i = 0; i < cpsw->data.slaves; i++) {
+               sl_ndev = cpsw->slaves[i].ndev;
+               if (!(sl_ndev && netif_running(sl_ndev)))
                        continue;
 
                /* Inform stack about new count of queues */
-               ret = netif_set_real_num_tx_queues(slave->ndev,
-                                                  cpsw->tx_ch_num);
+               ret = netif_set_real_num_tx_queues(sl_ndev, cpsw->tx_ch_num);
                if (ret) {
                        dev_err(priv->dev, "cannot set real number of tx queues\n");
                        goto err;
                }
 
-               ret = netif_set_real_num_rx_queues(slave->ndev,
-                                                  cpsw->rx_ch_num);
+               ret = netif_set_real_num_rx_queues(sl_ndev, cpsw->rx_ch_num);
                if (ret) {
                        dev_err(priv->dev, "cannot set real number of rx queues\n");
                        goto err;