Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751418AbcLEIQP (ORCPT ); Mon, 5 Dec 2016 03:16:15 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:38477 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750841AbcLEIQN (ORCPT ); Mon, 5 Dec 2016 03:16:13 -0500 From: Nikita Yushchenko To: "David S. Miller" , Fugang Duan , Troy Kisky , Andrew Lunn , Eric Nelson , Philippe Reynes , Johannes Berg , netdev@vger.kernel.org Cc: Chris Healy , Fabio Estevam , linux-kernel@vger.kernel.org, Nikita Yushchenko Subject: [patch net v2] net: fec: fix compile with CONFIG_M5272 Date: Mon, 5 Dec 2016 11:16:03 +0300 Message-Id: <1480925763-20254-1-git-send-email-nikita.yoush@cogentembedded.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2386 Lines: 68 Commit 4dfb80d18d05 ("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: 4dfb80d18d05 ("net: fec: cache statistics while device is down") Signed-off-by: Nikita Yushchenko --- Changes since v1: - instead of #ifdef'ing calls to fec_enet_update_ethtool_stats(), add definition of empty fec_enet_update_ethtool_stats() for CONFIG_M5272 case, - add FEC_STATS_SIZE macro to avoid #ifdef in the middle of alloc_etherdev_mqs() args. drivers/net/ethernet/freescale/fec_main.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 5f77caa59534..741cf4a57bfc 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -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_STAT_SIZE, num_tx_qs, num_rx_qs); if (!ndev) return -ENOMEM; -- 2.1.4