Thanks. We'll implement these along with the changes suggested by others and
post this driver again.
-Amit
On Tuesday 04 Apr 2006 1:11 am, Francois Romieu wrote:
> Linsys Contractor Amit S. Kale <[EMAIL PROTECTED]> :
> > diff -Naru linux-2.6.16_orig/drivers/net/netxen/netxen_nic_ethtool.c
> > linux-2.6.16/drivers/net/netxen/netxen_nic_ethtool.c ---
> > linux-2.6.16_orig/drivers/net/netxen/netxen_nic_ethtool.c 1969-12-31
> > 16:00:00.000000000 -0800 +++
> > linux-2.6.16/drivers/net/netxen/netxen_nic_ethtool.c 2006-03-24
> > 14:13:57.000000000 -0800
>
> [...]
>
> > +static const struct netxen_nic_stats netxen_nic_gstrings_stats[] = {
> > + { "rcvd bad skb", NetXen_NIC_STAT(stats.rcvdbadskb) },
> > + { "xmit called", NetXen_NIC_STAT(stats.xmitcalled) },
> > + { "xmited frames", NetXen_NIC_STAT(stats.xmitedframes) },
> > + { "xmit finished", NetXen_NIC_STAT(stats.xmitfinished) },
> > + { "bad skb len", NetXen_NIC_STAT(stats.badskblen) },
> > + { "no cmd desc", NetXen_NIC_STAT(stats.nocmddescriptor) },
> > + { "polled", NetXen_NIC_STAT(stats.polled) },
> > + { "uphappy", NetXen_NIC_STAT(stats.uphappy) },
> > + { "updropped", NetXen_NIC_STAT(stats.updropped) },
> > + { "uplcong", NetXen_NIC_STAT(stats.uplcong) },
> > + { "uphcong", NetXen_NIC_STAT(stats.uphcong) },
> > + { "upmcong", NetXen_NIC_STAT(stats.upmcong) },
> > + { "updunno", NetXen_NIC_STAT(stats.updunno) },
> > + { "skb freed", NetXen_NIC_STAT(stats.skbfreed) },
> > + { "tx dropped", NetXen_NIC_STAT(stats.txdropped) },
> > + { "tx null skb", NetXen_NIC_STAT(stats.txnullskb) },
> > + { "csummed", NetXen_NIC_STAT(stats.csummed) },
> > + { "no rcv", NetXen_NIC_STAT(stats.no_rcv) },
> > + { "rx bytes", NetXen_NIC_STAT(stats.rxbytes) },
> > + { "tx bytes", NetXen_NIC_STAT(stats.txbytes) },
> > +};
>
> Please use "_" instead of " " (see drivers/net/).
>
> [...]
>
> > +static int
> > +netxen_nic_get_eeprom_len(struct net_device *netdev)
> > +{
> > + struct netxen_port *port = netdev->priv;
>
> s/netdev->priv/netdev_priv(netdev)/
>
> Btw it is quite common to use 'dev' instead of 'netdev'. Your call.
>
> [...]
>
> > +static void
> > +netxen_nic_get_regs(struct net_device *netdev, struct ethtool_regs
> > *regs, void *p) +{
> > + struct netxen_port *port = netdev->priv;
> > + struct netxen_adapter_s *adapter = port->adapter;
> > + netxen_crbword_t mode, *regs_buff = p;
> > + unsigned long flags;
> > + void *addr;
> > +
> > + memset(p, 0, NetXen_NIC_REGS_LEN);
> > + regs->version = (1 << 24) | (adapter->ahw.revision_id << 16) |
> > + adapter->ahw.device_id;
> > + write_lock_irqsave(&adapter->adapter_lock, flags);
> > + // which mode
> > + NetXen_NIC_LOCKED_READ_REG(NetXen_NIU_MODE, ®s_buff[0]);
> > + mode = regs_buff[0];
> > +
> > + // Common registers to all the modes
> > + NetXen_NIC_LOCKED_READ_REG(NetXen_NIU_STRAP_VALUE_SAVE_HIGHER,
> > ®s_buff[2]); + switch(mode) {
> > + case 4: {//XGB Mode
> > + NetXen_NIC_LOCKED_READ_REG(NetXen_NIU_XG_SINGLE_TERM,
> > ®s_buff[3]); +
> > NetXen_NIC_LOCKED_READ_REG(NetXen_NIU_XG_DRIVE_HI, ®s_buff[4]); +
> > NetXen_NIC_LOCKED_READ_REG(NetXen_NIU_XG_DRIVE_LO,
> > ®s_buff[5]);
>
> [snip]
>
> No need to unroll the loop: please use some data array + a for loop.
>
> [...]
>
> > +static int
> > +netxen_nic_set_wol(struct net_device *netdev, struct ethtool_wolinfo
> > *wol) +{
> > + // can't implement as WOL register is not known !!
> > + return 0;
>
> If it can not be implemented, it should return something < 0, say -EINVAL.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html