]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
net: fec: fix compile with CONFIG_M5272
authorNikita Yushchenko <nikita.yoush@cogentembedded.com>
Tue, 6 Dec 2016 06:26:53 +0000 (09:26 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Dec 2016 16:40:15 +0000 (11:40 -0500)
Commit 80cca775cdc4 ("net: fec: cache statistics while device is down")
introduced unconditional statistics-related actions.

However, when driver is compiled with CONFIG_M5272, staticsics-related
definitions do not exist, which results into build errors.

Fix that by adding explicit handling of !defined(CONFIG_M5272) case.

Fixes: 80cca775cdc4 ("net: fec: cache statistics while device is down")
Signed-off-by: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_main.c

index 5f77caa59534d7e79f63ea5a718bccef6b61d7ee..12aef1b15356b00ad0139d6cb26f264ace84925d 100644 (file)
@@ -2313,6 +2313,8 @@ static const struct fec_stat {
        { "IEEE_rx_octets_ok", IEEE_R_OCTETS_OK },
 };
 
+#define FEC_STATS_SIZE         (ARRAY_SIZE(fec_stats) * sizeof(u64))
+
 static void fec_enet_update_ethtool_stats(struct net_device *dev)
 {
        struct fec_enet_private *fep = netdev_priv(dev);
@@ -2330,7 +2332,7 @@ static void fec_enet_get_ethtool_stats(struct net_device *dev,
        if (netif_running(dev))
                fec_enet_update_ethtool_stats(dev);
 
-       memcpy(data, fep->ethtool_stats, ARRAY_SIZE(fec_stats) * sizeof(u64));
+       memcpy(data, fep->ethtool_stats, FEC_STATS_SIZE);
 }
 
 static void fec_enet_get_strings(struct net_device *netdev,
@@ -2355,6 +2357,12 @@ static int fec_enet_get_sset_count(struct net_device *dev, int sset)
                return -EOPNOTSUPP;
        }
 }
+
+#else  /* !defined(CONFIG_M5272) */
+#define FEC_STATS_SIZE 0
+static inline void fec_enet_update_ethtool_stats(struct net_device *dev)
+{
+}
 #endif /* !defined(CONFIG_M5272) */
 
 static int fec_enet_nway_reset(struct net_device *dev)
@@ -3293,8 +3301,7 @@ fec_probe(struct platform_device *pdev)
 
        /* Init network device */
        ndev = alloc_etherdev_mqs(sizeof(struct fec_enet_private) +
-                                 ARRAY_SIZE(fec_stats) * sizeof(u64),
-                                 num_tx_qs, num_rx_qs);
+                                 FEC_STATS_SIZE, num_tx_qs, num_rx_qs);
        if (!ndev)
                return -ENOMEM;