git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
net
/
pcmcia
/
fmvj18x_cs.c
diff --git
a/drivers/net/pcmcia/fmvj18x_cs.c
b/drivers/net/pcmcia/fmvj18x_cs.c
index
ea93b8f
..
0d7de61
100644
(file)
--- a/
drivers/net/pcmcia/fmvj18x_cs.c
+++ b/
drivers/net/pcmcia/fmvj18x_cs.c
@@
-29,7
+29,7
@@
======================================================================*/
#define DRV_NAME "fmvj18x_cs"
======================================================================*/
#define DRV_NAME "fmvj18x_cs"
-#define DRV_VERSION "2.
8
"
+#define DRV_VERSION "2.
9
"
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/kernel.h>
@@
-97,13
+97,13
@@
static int fjn_config(struct net_device *dev, struct ifmap *map);
static int fjn_open(struct net_device *dev);
static int fjn_close(struct net_device *dev);
static int fjn_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int fjn_open(struct net_device *dev);
static int fjn_close(struct net_device *dev);
static int fjn_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t fjn_interrupt(int irq, void *dev_id
, struct pt_regs *regs
);
+static irqreturn_t fjn_interrupt(int irq, void *dev_id);
static void fjn_rx(struct net_device *dev);
static void fjn_reset(struct net_device *dev);
static struct net_device_stats *fjn_get_stats(struct net_device *dev);
static void set_rx_mode(struct net_device *dev);
static void fjn_tx_timeout(struct net_device *dev);
static void fjn_rx(struct net_device *dev);
static void fjn_reset(struct net_device *dev);
static struct net_device_stats *fjn_get_stats(struct net_device *dev);
static void set_rx_mode(struct net_device *dev);
static void fjn_tx_timeout(struct net_device *dev);
-static struct ethtool_ops netdev_ethtool_ops;
+static
const
struct ethtool_ops netdev_ethtool_ops;
/*
card type
/*
card type
@@
-342,7
+342,7
@@
static int fmvj18x_config(struct pcmcia_device *link)
tuple_t tuple;
cisparse_t parse;
u_short buf[32];
tuple_t tuple;
cisparse_t parse;
u_short buf[32];
- int i, last_fn
, last_ret
, ret;
+ int i, last_fn
= 0, last_ret = 0
, ret;
kio_addr_t ioaddr;
cardtype_t cardtype;
char *card_name = "unknown";
kio_addr_t ioaddr;
cardtype_t cardtype;
char *card_name = "unknown";
@@
-350,21
+350,9
@@
static int fmvj18x_config(struct pcmcia_device *link)
DEBUG(0, "fmvj18x_config(0x%p)\n", link);
DEBUG(0, "fmvj18x_config(0x%p)\n", link);
- /*
- This reads the card's CONFIG tuple to find its configuration
- registers.
- */
- tuple.DesiredTuple = CISTPL_CONFIG;
- CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple));
tuple.TupleData = (u_char *)buf;
tuple.TupleDataMax = 64;
tuple.TupleOffset = 0;
tuple.TupleData = (u_char *)buf;
tuple.TupleDataMax = 64;
tuple.TupleOffset = 0;
- CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple));
- CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse));
-
- link->conf.ConfigBase = parse.config.base;
- link->conf.Present = parse.config.rmask[0];
-
tuple.DesiredTuple = CISTPL_FUNCE;
tuple.TupleOffset = 0;
if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) {
tuple.DesiredTuple = CISTPL_FUNCE;
tuple.TupleOffset = 0;
if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) {
@@
-374,17
+362,12
@@
static int fmvj18x_config(struct pcmcia_device *link)
CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple));
CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse));
link->conf.ConfigIndex = parse.cftable_entry.index;
CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple));
CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse));
link->conf.ConfigIndex = parse.cftable_entry.index;
- tuple.DesiredTuple = CISTPL_MANFID;
- if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS)
- CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple));
- else
- buf[0] = 0xffff;
- switch (le16_to_cpu(buf[0])) {
+ switch (link->manf_id) {
case MANFID_TDK:
cardtype = TDK;
case MANFID_TDK:
cardtype = TDK;
- if (l
e16_to_cpu(buf[1])
== PRODID_TDK_GN3410
- || l
e16_to_cpu(buf[1])
== PRODID_TDK_NP9610
- || l
e16_to_cpu(buf[1])
== PRODID_TDK_MN3200) {
+ if (l
ink->card_id
== PRODID_TDK_GN3410
+ || l
ink->card_id
== PRODID_TDK_NP9610
+ || l
ink->card_id
== PRODID_TDK_MN3200) {
/* MultiFunction Card */
link->conf.ConfigBase = 0x800;
link->conf.ConfigIndex = 0x47;
/* MultiFunction Card */
link->conf.ConfigBase = 0x800;
link->conf.ConfigIndex = 0x47;
@@
-395,11
+378,11
@@
static int fmvj18x_config(struct pcmcia_device *link)
cardtype = CONTEC;
break;
case MANFID_FUJITSU:
cardtype = CONTEC;
break;
case MANFID_FUJITSU:
- if (l
e16_to_cpu(buf[1])
== PRODID_FUJITSU_MBH10302)
+ if (l
ink->card_id
== PRODID_FUJITSU_MBH10302)
/* RATOC REX-5588/9822/4886's PRODID are 0004(=MBH10302),
but these are MBH10304 based card. */
cardtype = MBH10304;
/* RATOC REX-5588/9822/4886's PRODID are 0004(=MBH10302),
but these are MBH10304 based card. */
cardtype = MBH10304;
- else if (l
e16_to_cpu(buf[1])
== PRODID_FUJITSU_MBH10304)
+ else if (l
ink->card_id
== PRODID_FUJITSU_MBH10304)
cardtype = MBH10304;
else
cardtype = LA501;
cardtype = MBH10304;
else
cardtype = LA501;
@@
-409,14
+392,9
@@
static int fmvj18x_config(struct pcmcia_device *link)
}
} else {
/* old type card */
}
} else {
/* old type card */
- tuple.DesiredTuple = CISTPL_MANFID;
- if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS)
- CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple));
- else
- buf[0] = 0xffff;
- switch (le16_to_cpu(buf[0])) {
+ switch (link->manf_id) {
case MANFID_FUJITSU:
case MANFID_FUJITSU:
- if (l
e16_to_cpu(buf[1])
== PRODID_FUJITSU_MBH10304) {
+ if (l
ink->card_id
== PRODID_FUJITSU_MBH10304) {
cardtype = XXX10304; /* MBH10304 with buggy CIS */
link->conf.ConfigIndex = 0x20;
} else {
cardtype = XXX10304; /* MBH10304 with buggy CIS */
link->conf.ConfigIndex = 0x20;
} else {
@@
-733,7
+711,7
@@
module_exit(exit_fmvj18x_cs);
/*====================================================================*/
/*====================================================================*/
-static irqreturn_t fjn_interrupt(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t fjn_interrupt(int irq, void *dev_id)
{
struct net_device *dev = dev_id;
local_info_t *lp = netdev_priv(dev);
{
struct net_device *dev = dev_id;
local_info_t *lp = netdev_priv(dev);
@@
-1092,7
+1070,7
@@
static void netdev_set_msglevel(struct net_device *dev, u32 level)
}
#endif /* PCMCIA_DEBUG */
}
#endif /* PCMCIA_DEBUG */
-static struct ethtool_ops netdev_ethtool_ops = {
+static
const
struct ethtool_ops netdev_ethtool_ops = {
.get_drvinfo = netdev_get_drvinfo,
#ifdef PCMCIA_DEBUG
.get_msglevel = netdev_get_msglevel,
.get_drvinfo = netdev_get_drvinfo,
#ifdef PCMCIA_DEBUG
.get_msglevel = netdev_get_msglevel,
@@
-1193,8
+1171,6
@@
static void set_rx_mode(struct net_device *dev)
outb(CONFIG0_RST_1, ioaddr + CONFIG_0);
if (dev->flags & IFF_PROMISC) {
outb(CONFIG0_RST_1, ioaddr + CONFIG_0);
if (dev->flags & IFF_PROMISC) {
- /* Unconditionally log net taps. */
- printk("%s: Promiscuous mode enabled.\n", dev->name);
memset(mc_filter, 0xff, sizeof(mc_filter));
outb(3, ioaddr + RX_MODE); /* Enable promiscuous mode */
} else if (dev->mc_count > MC_FILTERBREAK
memset(mc_filter, 0xff, sizeof(mc_filter));
outb(3, ioaddr + RX_MODE); /* Enable promiscuous mode */
} else if (dev->mc_count > MC_FILTERBREAK