From: Yoshinori Sato <ysato@users.sourceforge.jp>
To: Linus Torvalds <torvalds@osdl.org>
Cc: linux kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH] H8/300 ne driver module fix
Date: Sun, 23 May 2004 22:57:31 +0900 [thread overview]
Message-ID: <m2wu33s0tw.wl%ysato@users.sourceforge.jp> (raw)
In-Reply-To: <m2y8njs4e8.wl%ysato@users.sourceforge.jp>
- module suppot fix
--
Yoshinori Sato
<ysato@users.sourceforge.jp>
diff -u linux-2.6.6-bk9/drivers/net/8390.h linux-2.6.6-h8300/drivers/net/8390.h
--- linux-2.6.6-bk9/drivers/net/8390.h 2004-05-23 21:11:58.000000000 +0900
+++ linux-2.6.6-h8300/drivers/net/8390.h 2004-05-23 22:49:24.000000000 +0900
@@ -143,7 +143,7 @@
#define inb_p(_p) inb(_p)
#define outb_p(_v,_p) outb(_v,_p)
-#elif defined(CONFIG_NET_CBUS) || defined(CONFIG_NE_H8300)
+#elif defined(CONFIG_NET_CBUS) || defined(CONFIG_NE_H8300) || defined(CONFIG_NE_H8300_MODULE)
#define EI_SHIFT(x) (ei_local->reg_offset[x])
#else
#define EI_SHIFT(x) (x)
diff -u linux-2.6.6-bk9/drivers/net/Kconfig linux-2.6.6-h8300/drivers/net/Kconfig
--- linux-2.6.6-bk9/drivers/net/Kconfig 2004-05-23 21:11:58.000000000 +0900
+++ linux-2.6.6-h8300/drivers/net/Kconfig 2004-05-23 22:47:06.000000000 +0900
@@ -1829,7 +1829,7 @@
controller on the Motorola ColdFire 5272 processor.
config NE_H8300
- bool "NE2000 compatible support for H8/300"
+ tristate "NE2000 compatible support for H8/300"
depends on H8300 && NET_ETHERNET
help
Say Y here if you want to use the NE2000 compatible
diff -u linux-2.6.6-bk9/drivers/net/ne-h8300.c linux-2.6.6-h8300/drivers/net/ne-h8300.c
--- linux-2.6.6-bk9/drivers/net/ne-h8300.c 2004-05-23 21:11:58.000000000 +0900
+++ linux-2.6.6-h8300/drivers/net/ne-h8300.c 2004-05-23 22:40:01.000000000 +0900
@@ -260,8 +260,8 @@
bus_width &= 1 << ((ioaddr >> 21) & 7);
ei_status.word16 = (bus_width == 0); /* temporary setting */
for(i = 0; i < 16 /*sizeof(SA_prom)*/; i++) {
- SA_prom[i] = inb(ioaddr + NE_DATAPORT);
- inb(ioaddr + NE_DATAPORT); /* dummy read */
+ SA_prom[i] = inb_p(ioaddr + NE_DATAPORT);
+ inb_p(ioaddr + NE_DATAPORT); /* dummy read */
}
start_page = NESM_START_PG;
@@ -590,7 +590,7 @@
\f
#ifdef MODULE
-#define MAX_NE_CARDS 4 /* Max number of NE cards per module */
+#define MAX_NE_CARDS 1 /* Max number of NE cards per module */
static struct net_device *dev_ne[MAX_NE_CARDS];
static int io[MAX_NE_CARDS];
static int irq[MAX_NE_CARDS];
@@ -599,7 +599,7 @@
MODULE_PARM(io, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
MODULE_PARM(bad, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
-MODULE_PARM_DESC(io, "I/O base address(es),required");
+MODULE_PARM_DESC(io, "I/O base address(es)");
MODULE_PARM_DESC(irq, "IRQ number(s)");
MODULE_DESCRIPTION("H8/300 NE2000 Ethernet driver");
MODULE_LICENSE("GPL");
@@ -612,26 +612,35 @@
int init_module(void)
{
int this_dev, found = 0;
+ int err;
for (this_dev = 0; this_dev < MAX_NE_CARDS; this_dev++) {
struct net_device *dev = alloc_ei_netdev();
if (!dev)
break;
- dev->irq = irq[this_dev];
- dev->mem_end = bad[this_dev];
- dev->base_addr = io[this_dev];
- if (do_ne_probe(dev) == 0) {
- if (register_netdev(dev) == 0) {
- dev_ne[found++] = dev;
- continue;
+ if (io[this_dev]) {
+ dev->irq = irq[this_dev];
+ dev->mem_end = bad[this_dev];
+ dev->base_addr = io[this_dev];
+ } else {
+ dev->base_addr = h8300_ne_base[this_dev];
+ dev->irq = h8300_ne_irq[this_dev];
+ }
+ err = init_reg_offset(dev, dev->base_addr);
+ if (!err) {
+ if (do_ne_probe(dev) == 0) {
+ if (register_netdev(dev) == 0) {
+ dev_ne[found++] = dev;
+ continue;
+ }
+ cleanup_card(dev);
}
- cleanup_card(dev);
}
free_netdev(dev);
if (found)
break;
if (io[this_dev] != 0)
- printk(KERN_WARNING "ne.c: No NE*000 card found at i/o = %#x\n", io[this_dev]);
+ printk(KERN_WARNING "ne.c: No NE*000 card found at i/o = %#x\n", dev->base_addr);
else
printk(KERN_NOTICE "ne.c: You must supply \"io=0xNNN\" value(s) for ISA cards.\n");
return -ENXIO;
prev parent reply other threads:[~2004-05-23 13:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-23 12:40 [PATCH] H8/300 module fix Yoshinori Sato
2004-05-23 13:57 ` Yoshinori Sato [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2wu33s0tw.wl%ysato@users.sourceforge.jp \
--to=ysato@users.sourceforge.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.