netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] net: m68k: Allow modular build
@ 2015-09-29  8:24 Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 1/5] net: mac8390: " Geert Uytterhoeven
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2015-09-29  8:24 UTC (permalink / raw)
  To: David S. Miller, Paul Gortmaker
  Cc: Finn Thain, Joshua Thompson, Philip Blundell, netdev, linux-m68k,
	Geert Uytterhoeven

	Hi David, Paul,

This patch series makes the remaining m68k Ethernet drivers modular.
It's an alternative to the last 3 patches of Paul Gortmaker's series
"[PATCH net-next 0/6] make non-modular code explicitly non-modular".

Note that "[PATCH 5/5] net: macmace: Allow modular build" depends on
"[PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base
address to modules". Feel free to take the dependency through the netdev
tree to avoid modular build breakage.

This was compile-tested only (mac_defconfig + allmodconfig) due to lack
of hardware.

Thanks!

Geert Uytterhoeven (5):
  net: mac8390: Allow modular build
  net: 7990: Export lance_poll() to modules
  net: hplance: Allow modular build
  m68k/mac: Export Peripheral System Controller (PSC) base address to
    modules
  net: macmace: Allow modular build

 arch/m68k/mac/psc.c                 |  1 +
 drivers/net/ethernet/8390/Kconfig   |  2 +-
 drivers/net/ethernet/8390/mac8390.c | 32 ++++++++++----------------------
 drivers/net/ethernet/amd/7990.c     |  1 +
 drivers/net/ethernet/amd/Kconfig    |  2 +-
 drivers/net/ethernet/apple/Kconfig  |  2 +-
 6 files changed, 15 insertions(+), 25 deletions(-)

-- 
1.9.1

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/5] net: mac8390: Allow modular build
  2015-09-29  8:24 [PATCH 0/5] net: m68k: Allow modular build Geert Uytterhoeven
@ 2015-09-29  8:24 ` Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 2/5] net: 7990: Export lance_poll() to modules Geert Uytterhoeven
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2015-09-29  8:24 UTC (permalink / raw)
  To: David S. Miller, Paul Gortmaker
  Cc: Finn Thain, Joshua Thompson, Philip Blundell, netdev, linux-m68k,
	Geert Uytterhoeven

The modular driver supports only one card, just like the built-in
driver.

Note that this limitation is a problem which affects all Nubus card
drivers, because they have to do all their own bus matching, because
Nubus still lacks the necessary driver model support.

Suggested-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/net/ethernet/8390/Kconfig   |  2 +-
 drivers/net/ethernet/8390/mac8390.c | 32 ++++++++++----------------------
 2 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig
index edf72258ab1ddabe..29c3075bfb052f1d 100644
--- a/drivers/net/ethernet/8390/Kconfig
+++ b/drivers/net/ethernet/8390/Kconfig
@@ -64,7 +64,7 @@ config ARM_ETHERH
 	  should say Y to this option if you wish to use it with Linux.
 
 config MAC8390
-	bool "Macintosh NS 8390 based ethernet cards"
+	tristate "Macintosh NS 8390 based ethernet cards"
 	depends on MAC
 	select CRC32
 	---help---
diff --git a/drivers/net/ethernet/8390/mac8390.c b/drivers/net/ethernet/8390/mac8390.c
index 65cf60f6718c52fa..b9283901136e974a 100644
--- a/drivers/net/ethernet/8390/mac8390.c
+++ b/drivers/net/ethernet/8390/mac8390.c
@@ -454,34 +454,22 @@ MODULE_AUTHOR("David Huggins-Daines <dhd@debian.org> and others");
 MODULE_DESCRIPTION("Macintosh NS8390-based Nubus Ethernet driver");
 MODULE_LICENSE("GPL");
 
-/* overkill, of course */
-static struct net_device *dev_mac8390[15];
-int init_module(void)
+static struct net_device *dev_mac8390;
+
+int __init init_module(void)
 {
-	int i;
-	for (i = 0; i < 15; i++) {
-		struct net_device *dev = mac8390_probe(-1);
-		if (IS_ERR(dev))
-			break;
-		dev_mac890[i] = dev;
-	}
-	if (!i) {
-		pr_notice("No useable cards found, driver NOT installed.\n");
-		return -ENODEV;
+	dev_mac8390 = mac8390_probe(-1);
+	if (IS_ERR(dev_mac8390)) {
+		pr_warn("mac8390: No card found\n");
+		return PTR_ERR(dev_mac8390);
 	}
 	return 0;
 }
 
-void cleanup_module(void)
+void __exit cleanup_module(void)
 {
-	int i;
-	for (i = 0; i < 15; i++) {
-		struct net_device *dev = dev_mac890[i];
-		if (dev) {
-			unregister_netdev(dev);
-			free_netdev(dev);
-		}
-	}
+	unregister_netdev(dev_mac8390);
+	free_netdev(dev_mac8390);
 }
 
 #endif /* MODULE */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/5] net: 7990: Export lance_poll() to modules
  2015-09-29  8:24 [PATCH 0/5] net: m68k: Allow modular build Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 1/5] net: mac8390: " Geert Uytterhoeven
@ 2015-09-29  8:24 ` Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 3/5] net: hplance: Allow modular build Geert Uytterhoeven
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2015-09-29  8:24 UTC (permalink / raw)
  To: David S. Miller, Paul Gortmaker
  Cc: Finn Thain, Joshua Thompson, Philip Blundell, netdev, linux-m68k,
	Geert Uytterhoeven

If CONFIG_HPLANCE=m and CONFIG_NET_POLL_CONTROLLER=y:

    ERROR: "lance_poll" [drivers/net/ethernet/amd/hplance.ko] undefined!

Add the missing export to fix this.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/net/ethernet/amd/7990.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/amd/7990.c b/drivers/net/ethernet/amd/7990.c
index 98a10d555b793e02..66d0b73c39c03ba2 100644
--- a/drivers/net/ethernet/amd/7990.c
+++ b/drivers/net/ethernet/amd/7990.c
@@ -661,6 +661,7 @@ void lance_poll(struct net_device *dev)
 	spin_unlock(&lp->devlock);
 	lance_interrupt(dev->irq, dev);
 }
+EXPORT_SYMBOL_GPL(lance_poll);
 #endif
 
 MODULE_LICENSE("GPL");
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/5] net: hplance: Allow modular build
  2015-09-29  8:24 [PATCH 0/5] net: m68k: Allow modular build Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 1/5] net: mac8390: " Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 2/5] net: 7990: Export lance_poll() to modules Geert Uytterhoeven
@ 2015-09-29  8:24 ` Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base address to modules Geert Uytterhoeven
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2015-09-29  8:24 UTC (permalink / raw)
  To: David S. Miller, Paul Gortmaker
  Cc: Finn Thain, Joshua Thompson, Philip Blundell, netdev, linux-m68k,
	Geert Uytterhoeven

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/net/ethernet/amd/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/amd/Kconfig b/drivers/net/ethernet/amd/Kconfig
index afc62ea804fc35d4..0038709fd317d83c 100644
--- a/drivers/net/ethernet/amd/Kconfig
+++ b/drivers/net/ethernet/amd/Kconfig
@@ -100,7 +100,7 @@ config DECLANCE
 	  DEPCA series.  (This chipset is better known via the NE2100 cards.)
 
 config HPLANCE
-	bool "HP on-board LANCE support"
+	tristate "HP on-board LANCE support"
 	depends on DIO
 	select CRC32
 	---help---
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base address to modules
  2015-09-29  8:24 [PATCH 0/5] net: m68k: Allow modular build Geert Uytterhoeven
                   ` (2 preceding siblings ...)
  2015-09-29  8:24 ` [PATCH 3/5] net: hplance: Allow modular build Geert Uytterhoeven
@ 2015-09-29  8:24 ` Geert Uytterhoeven
  2015-09-29  8:24 ` [PATCH 5/5] net: macmace: Allow modular build Geert Uytterhoeven
  2015-09-30  4:11 ` [PATCH 0/5] net: m68k: " David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2015-09-29  8:24 UTC (permalink / raw)
  To: David S. Miller, Paul Gortmaker
  Cc: Finn Thain, Joshua Thompson, Philip Blundell, netdev, linux-m68k,
	Geert Uytterhoeven

If CONFIG_MACMACE=m:

    ERROR: psc [drivers/net/ethernet/apple/macmace.ko] undefined!

Add the missing export to fix this.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
I'm OK with this going in through the netdev tree, as "net: macmace:
Allow modular build" depends on it.
---
 arch/m68k/mac/psc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/m68k/mac/psc.c b/arch/m68k/mac/psc.c
index cd38f29955c87421..2290c0cae48beb8a 100644
--- a/arch/m68k/mac/psc.c
+++ b/arch/m68k/mac/psc.c
@@ -29,6 +29,7 @@
 
 int psc_present;
 volatile __u8 *psc;
+EXPORT_SYMBOL_GPL(psc);
 
 /*
  * Debugging dump, used in various places to see what's going on.
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 5/5] net: macmace: Allow modular build
  2015-09-29  8:24 [PATCH 0/5] net: m68k: Allow modular build Geert Uytterhoeven
                   ` (3 preceding siblings ...)
  2015-09-29  8:24 ` [PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base address to modules Geert Uytterhoeven
@ 2015-09-29  8:24 ` Geert Uytterhoeven
  2015-09-30  4:11 ` [PATCH 0/5] net: m68k: " David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2015-09-29  8:24 UTC (permalink / raw)
  To: David S. Miller, Paul Gortmaker
  Cc: Finn Thain, Joshua Thompson, Philip Blundell, netdev, linux-m68k,
	Geert Uytterhoeven

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
This depends on "[PATCH 4/5] m68k/mac: Export Peripheral System
Controller (PSC) base address to modules".
---
 drivers/net/ethernet/apple/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/apple/Kconfig b/drivers/net/ethernet/apple/Kconfig
index d19a41b0c6d26691..31071297896c96b5 100644
--- a/drivers/net/ethernet/apple/Kconfig
+++ b/drivers/net/ethernet/apple/Kconfig
@@ -51,7 +51,7 @@ config BMAC
 	  will be called bmac.
 
 config MACMACE
-	bool "Macintosh (AV) onboard MACE ethernet"
+	tristate "Macintosh (AV) onboard MACE ethernet"
 	depends on MAC
 	select CRC32
 	---help---
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/5] net: m68k: Allow modular build
  2015-09-29  8:24 [PATCH 0/5] net: m68k: Allow modular build Geert Uytterhoeven
                   ` (4 preceding siblings ...)
  2015-09-29  8:24 ` [PATCH 5/5] net: macmace: Allow modular build Geert Uytterhoeven
@ 2015-09-30  4:11 ` David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2015-09-30  4:11 UTC (permalink / raw)
  To: geert; +Cc: paul.gortmaker, fthain, funaho, philb, netdev, linux-m68k

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: Tue, 29 Sep 2015 10:24:01 +0200

> This patch series makes the remaining m68k Ethernet drivers modular.
> It's an alternative to the last 3 patches of Paul Gortmaker's series
> "[PATCH net-next 0/6] make non-modular code explicitly non-modular".
> 
> Note that "[PATCH 5/5] net: macmace: Allow modular build" depends on
> "[PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base
> address to modules". Feel free to take the dependency through the netdev
> tree to avoid modular build breakage.
> 
> This was compile-tested only (mac_defconfig + allmodconfig) due to lack
> of hardware.

Series applied, thanks Geert.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-09-30  4:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-29  8:24 [PATCH 0/5] net: m68k: Allow modular build Geert Uytterhoeven
2015-09-29  8:24 ` [PATCH 1/5] net: mac8390: " Geert Uytterhoeven
2015-09-29  8:24 ` [PATCH 2/5] net: 7990: Export lance_poll() to modules Geert Uytterhoeven
2015-09-29  8:24 ` [PATCH 3/5] net: hplance: Allow modular build Geert Uytterhoeven
2015-09-29  8:24 ` [PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base address to modules Geert Uytterhoeven
2015-09-29  8:24 ` [PATCH 5/5] net: macmace: Allow modular build Geert Uytterhoeven
2015-09-30  4:11 ` [PATCH 0/5] net: m68k: " David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).