[RFC,13/13,net-next] 8390: xsurf100: avoid including lib8390.c

Message ID 20210515221320.1255291-14-arnd@kernel.org
State New
Headers show
Series
  • drivers/net/Space.c cleanup
Related show

Commit Message

Arnd Bergmann May 15, 2021, 10:13 p.m.
From: Arnd Bergmann <arnd@arndb.de>


This driver always warns about unused functions because it includes
an file that it doesn't actually need:

In file included from drivers/net/ethernet/8390/xsurf100.c:48:
drivers/net/ethernet/8390/lib8390.c:995:27: error: '____alloc_ei_netdev' defined but not used [-Werror=unused-function]
  995 | static struct net_device *____alloc_ei_netdev(int size)
      |                           ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/8390/lib8390.c:957:13: error: '__ei_set_multicast_list' defined but not used [-Werror=unused-function]
  957 | static void __ei_set_multicast_list(struct net_device *dev)
      |             ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/8390/lib8390.c:857:33: error: '__ei_get_stats' defined but not used [-Werror=unused-function]
  857 | static struct net_device_stats *__ei_get_stats(struct net_device *dev)
      |                                 ^~~~~~~~~~~~~~
drivers/net/ethernet/8390/lib8390.c:512:13: error: '__ei_poll' defined but not used [-Werror=unused-function]
  512 | static void __ei_poll(struct net_device *dev)
      |             ^~~~~~~~~
drivers/net/ethernet/8390/lib8390.c:303:20: error: '__ei_start_xmit' defined but not used [-Werror=unused-function]
  303 | static netdev_tx_t __ei_start_xmit(struct sk_buff *skb,
      |                    ^~~~~~~~~~~~~~~
drivers/net/ethernet/8390/lib8390.c:257:13: error: '__ei_tx_timeout' defined but not used [-Werror=unused-function]
  257 | static void __ei_tx_timeout(struct net_device *dev, unsigned int txqueue)
      |             ^~~~~~~~~~~~~~~
drivers/net/ethernet/8390/lib8390.c:233:12: error: '__ei_close' defined but not used [-Werror=unused-function]
  233 | static int __ei_close(struct net_device *dev)
      |            ^~~~~~~~~~
drivers/net/ethernet/8390/lib8390.c:204:12: error: '__ei_open' defined but not used [-Werror=unused-function]
  204 | static int __ei_open(struct net_device *dev)
      |            ^~~~~~~~~

Use the normal library module instead and call the NS8390p_init()
function.

Fixes: 861928f4e60e ("net-next: New ax88796 platform driver for Amiga X-Surf 100 Zorro board (m68k)")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/net/ethernet/8390/Makefile   | 2 +-
 drivers/net/ethernet/8390/xsurf100.c | 7 ++-----
 2 files changed, 3 insertions(+), 6 deletions(-)

-- 
2.29.2

Comments

Finn Thain May 16, 2021, 4:24 a.m. | #1
On Sun, 16 May 2021, Arnd Bergmann wrote:

> From: Arnd Bergmann <arnd@arndb.de>

> 

> This driver always warns about unused functions because it includes

> an file that it doesn't actually need:

> 


I don't think you can omit #include "lib8390.c" here without changing 
driver behaviour, because of the macros in effect.

I think this change would need some actual testing unless you can show 
that the module binary does not change.
Geert Uytterhoeven May 16, 2021, 9:04 a.m. | #2
On Sun, May 16, 2021 at 6:24 AM Finn Thain <fthain@telegraphics.com.au> wrote:
> On Sun, 16 May 2021, Arnd Bergmann wrote:

> > From: Arnd Bergmann <arnd@arndb.de>

> >

> > This driver always warns about unused functions because it includes

> > an file that it doesn't actually need:

>

> I don't think you can omit #include "lib8390.c" here without changing

> driver behaviour, because of the macros in effect.

>

> I think this change would need some actual testing unless you can show

> that the module binary does not change.


Michael posted a similar but different patch a while ago, involving
calling ax_NS8390_reinit():
https://lore.kernel.org/linux-m68k/1528604559-972-3-git-send-email-schmitzmic@gmail.com/

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Arnd Bergmann May 16, 2021, 9:39 a.m. | #3
On Sun, May 16, 2021 at 11:04 AM Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>

> On Sun, May 16, 2021 at 6:24 AM Finn Thain <fthain@telegraphics.com.au> wrote:

> > On Sun, 16 May 2021, Arnd Bergmann wrote:

> > > From: Arnd Bergmann <arnd@arndb.de>

> > >

> > > This driver always warns about unused functions because it includes

> > > an file that it doesn't actually need:

> >

> > I don't think you can omit #include "lib8390.c" here without changing

> > driver behaviour, because of the macros in effect.

> >

> > I think this change would need some actual testing unless you can show

> > that the module binary does not change.

>

> Michael posted a similar but different patch a while ago, involving

> calling ax_NS8390_reinit():

> https://lore.kernel.org/linux-m68k/1528604559-972-3-git-send-email-schmitzmic@gmail.com/


Ah nice. As far as I can tell, the two versions are functionally equivalent
based on my reading of the port accessors, but he probably tested his
version, so I'll drop mine from this series. Nothing else depends on this
one, I just included it since it was an obvious thing to fix.

        Arnd

Patch

diff --git a/drivers/net/ethernet/8390/Makefile b/drivers/net/ethernet/8390/Makefile
index 85c83c566ec6..304897d5f0f9 100644
--- a/drivers/net/ethernet/8390/Makefile
+++ b/drivers/net/ethernet/8390/Makefile
@@ -16,5 +16,5 @@  obj-$(CONFIG_PCMCIA_PCNET) += pcnet_cs.o 8390.o
 obj-$(CONFIG_STNIC) += stnic.o 8390.o
 obj-$(CONFIG_ULTRA) += smc-ultra.o 8390.o
 obj-$(CONFIG_WD80x3) += wd.o 8390.o
-obj-$(CONFIG_XSURF100) += xsurf100.o
+obj-$(CONFIG_XSURF100) += xsurf100.o 8390.o
 obj-$(CONFIG_ZORRO8390) += zorro8390.o
diff --git a/drivers/net/ethernet/8390/xsurf100.c b/drivers/net/ethernet/8390/xsurf100.c
index e2c963821ffe..11d5d43e7202 100644
--- a/drivers/net/ethernet/8390/xsurf100.c
+++ b/drivers/net/ethernet/8390/xsurf100.c
@@ -42,10 +42,7 @@ 
 /* Ensure we have our RCR base value */
 #define AX88796_PLATFORM
 
-static unsigned char version[] =
-		"ax88796.c: Copyright 2005,2007 Simtec Electronics\n";
-
-#include "lib8390.c"
+#include "8390.h"
 
 /* from ne.c */
 #define NE_CMD		EI_SHIFT(0x00)
@@ -232,7 +229,7 @@  static void xs100_block_output(struct net_device *dev, int count,
 		if (jiffies - dma_start > 2 * HZ / 100) {	/* 20ms */
 			netdev_warn(dev, "timeout waiting for Tx RDC.\n");
 			ei_local->reset_8390(dev);
-			ax_NS8390_init(dev, 1);
+			NS8390p_init(dev, 1);
 			break;
 		}
 	}