From: Nikita Yushchenko <nikita.yo...@cogentembedded.com> Sent: Sunday, December 04, 2016 11:18 PM >To: David S. Miller <da...@davemloft.net>; Andy Duan ><fugang.d...@nxp.com>; Troy Kisky <troy.ki...@boundarydevices.com>; >Andrew Lunn <and...@lunn.ch>; Eric Nelson <e...@nelint.com>; Philippe >Reynes <trem...@gmail.com>; Johannes Berg <johan...@sipsolutions.net>; >netdev@vger.kernel.org >Cc: Chris Healy <cphe...@gmail.com>; Fabio Estevam ><fabio.este...@nxp.com>; linux-ker...@vger.kernel.org; Nikita >Yushchenko <nikita.yo...@cogentembedded.com> >Subject: [patch net] net: fec: fix compile with CONFIG_M5272 > >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 needed #if !defined(CONFIG_M5272). > >Fixes: 4dfb80d18d05 ("net: fec: cache statistics while device is down") >Signed-off-by: Nikita Yushchenko <nikita.yo...@cogentembedded.com> >--- > drivers/net/ethernet/freescale/fec_main.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > >diff --git a/drivers/net/ethernet/freescale/fec_main.c >b/drivers/net/ethernet/freescale/fec_main.c >index 6a20c24a2003..89e902767abb 100644 >--- a/drivers/net/ethernet/freescale/fec_main.c >+++ b/drivers/net/ethernet/freescale/fec_main.c >@@ -2884,7 +2884,9 @@ fec_enet_close(struct net_device *ndev) > if (fep->quirks & FEC_QUIRK_ERR006687) > imx6q_cpuidle_fec_irqs_unused(); > >+#if !defined(CONFIG_M5272) > fec_enet_update_ethtool_stats(ndev); >+#endif It is better to define fec_enet_update_ethtool_stats() for CONFIG_M5272 like static void fec_enet_update_ethtool_stats(struct net_device *dev){}, or directly return in .fec_enet_update_ethtool_stats(): @@ -2315,6 +2315,10 @@ static void fec_enet_update_ethtool_stats(struct net_device *dev) struct fec_enet_private *fep = netdev_priv(dev); int i;
+#if defined(CONFIG_M5272) + return; +#endif + > > fec_enet_clk_enable(ndev, false); > pinctrl_pm_select_sleep_state(&fep->pdev->dev); >@@ -3192,7 +3194,9 @@ static int fec_enet_init(struct net_device *ndev) > > fec_restart(ndev); > >+#if !defined(CONFIG_M5272) > fec_enet_update_ethtool_stats(ndev); >+#endif > ditto > return 0; > } >@@ -3292,9 +3296,11 @@ fec_probe(struct platform_device *pdev) > fec_enet_get_queue_num(pdev, &num_tx_qs, &num_rx_qs); > > /* Init network device */ >- ndev = alloc_etherdev_mqs(sizeof(struct fec_enet_private) + >- ARRAY_SIZE(fec_stats) * sizeof(u64), >- num_tx_qs, num_rx_qs); >+ ndev = alloc_etherdev_mqs(sizeof(struct fec_enet_private) #if >+!defined(CONFIG_M5272) >+ + ARRAY_SIZE(fec_stats) * sizeof(u64) >#endif >+ , num_tx_qs, num_rx_qs); > if (!ndev) > return -ENOMEM; > >-- >2.1.4