Re: [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v4
- From: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
- Date: Sat, 9 Feb 2008 13:48:05 -0800
On Sat, 9 Feb 2008 22:33:07 +0100
Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> wrote:
Hello,
this patch converts 3c509 driver to isa_driver and pnp_driver. The result is
that autoloading using udev and hibernation works with ISA PnP cards. It also
adds hibernation support for non-PnP ISA cards.
xcvr module parameter was removed as its value was not used.
Tested using 3 ISA cards in various combinations of PnP and non-PnP modes.
EISA and MCA only compile-tested.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
--- linux-2.6.24-orig/drivers/net/3c509.c 2008-01-27 19:48:19.000000000 +0100
+++ linux-2.6.24-pentium/drivers/net/3c509.c 2008-02-07 17:58:45.000000000 +0100
@@ -54,25 +54,24 @@
v1.19a 28Oct2002 Davud Ruggiero <jdr@xxxxxxxxxxxx>
- Increase *read_eeprom udelay to workaround oops with 2 cards.
v1.19b 08Nov2002 Marc Zyngier <maz@xxxxxxxxxxxxxxxxxxx>
- - Introduce driver model for EISA cards.
+ - Introduce driver model for EISA cards.
+ v1.20 04Feb2008 Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
+ - convert to isa_driver and pnp_driver and some cleanups
*/
Don't bother with comment, kernel uses git change log to figure out
who to blame.
#define DRV_NAME "3c509"
-#define DRV_VERSION "1.19b"
-#define DRV_RELDATE "08Nov2002"
+#define DRV_VERSION "1.20"
+#define DRV_RELDATE "04Feb2008"
/* A few values that may be tweaked. */
/* Time in jiffies before concluding the transmitter is hung. */
#define TX_TIMEOUT (400*HZ/1000)
-/* Maximum events (Rx packets, etc.) to handle at each interrupt. */
-static int max_interrupt_work = 10;
#include <linux/module.h>
-#ifdef CONFIG_MCA
#include <linux/mca.h>
-#endif
-#include <linux/isapnp.h>
+#include <linux/isa.h>
+#include <linux/pnp.h>
#include <linux/string.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
@@ -97,10 +96,6 @@
static char version[] __initdata = DRV_NAME ".c:" DRV_VERSION " " DRV_RELDATE " becker@xxxxxxxxx\n";
-#if defined(CONFIG_PM) && (defined(CONFIG_MCA) || defined(CONFIG_EISA))
-#define EL3_SUSPEND
-#endif
-
#ifdef EL3_DEBUG
static int el3_debug = EL3_DEBUG;
#else
@@ -111,6 +106,7 @@
* a global variable so that the mca/eisa probe routines can increment
* it */
static int el3_cards = 0;
+#define EL3_MAX_CARDS 8
/* To minimize the size of the driver source I only define operating
constants if they are used several times. You'll need the manual
@@ -119,7 +115,7 @@
#define EL3_DATA 0x00
#define EL3_CMD 0x0e
#define EL3_STATUS 0x0e
-#define EEPROM_READ 0x80
+#define EEPROM_READ 0x80
#define EL3_IO_EXTENT 16
@@ -168,23 +164,31 @@
*/
#define SKB_QUEUE_SIZE 64
+typedef enum { EL3_ISA, EL3_PNP, EL3_MCA, EL3_EISA } el3_cardtype;
+
No typedef please (see checkpatch)
struct el3_private {
struct net_device_stats stats;
Use network device stats in net_device now
- struct net_device *next_dev;
spinlock_t lock;
/* skb send-queue */
int head, size;
struct sk_buff *queue[SKB_QUEUE_SIZE];
What about sk_buff_head (linked list instead)?
- enum {
- EL3_MCA,
- EL3_PNP,
- EL3_EISA,
- } type; /* type of device */
- struct device *dev;
+ el3_cardtype type;
};
-static int id_port __initdata = 0x110; /* Start with 0x110 to avoid new sound cards.*/
-static struct net_device *el3_root_dev;
+static int id_port;
+static int current_tag;
+static struct net_device *el3_devs[EL3_MAX_CARDS];
I know is only ISA, but having a limit seems silly, can't the device just
use allocated space like other drivers.
+
+/* Parameters that may be passed into the module. */
+static int debug = -1;
+static int irq[] = {-1, -1, -1, -1, -1, -1, -1, -1};
+/* Maximum events (Rx packets, etc.) to handle at each interrupt. */
+static int max_interrupt_work = 10;
+#ifdef CONFIG_PNP
+static int nopnp;
+#endif
--
Stephen Hemminger <stephen.hemminger@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v4
- From: Ondrej Zary
- Re: [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v4
- References:
- [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v3
- From: Ondrej Zary
- Re: [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v3
- From: Marc Zyngier
- [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v4
- From: Ondrej Zary
- [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v3
- Prev by Date: Re: [ofa-general] Re: [patch 0/6] MMU Notifiers V6
- Next by Date: Re: [PATCH 1/8] kgdb: core API and gdb protocol handler
- Previous by thread: [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v4
- Next by thread: Re: [PATCH] [resend] 3c509: convert to isa_driver and pnp_driver v4
- Index(es):
Relevant Pages
|
|