public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* [PATCH] e1000 module parameter incompatiablity
       [not found] <468F3FDA28AA87429AD807992E22D07E0158A1CD@orsmsx408>
@ 2004-06-08 18:04 ` Stephen Hemminger
  2004-06-08 18:39   ` Jeff Garzik
  2004-06-16 22:21 ` [PATCH 2.6.7] e1000 sparse cleanup Stephen Hemminger
  1 sibling, 1 reply; 6+ messages in thread
From: Stephen Hemminger @ 2004-06-08 18:04 UTC (permalink / raw)
  To: Venkatesan, Ganesh; +Cc: cramerj, Ronciak, John, Jeff Garzik, netdev

E1000 driver is mixing new style 'module_param' with old style 'MODULE_PARM'
this generates the runtime warning
	e1000: Ignoring new-style parameters in presence of obsolete ones
and prevents using module parameters to set ring size.

Signed-off-by: Stephen Hemminger <shemminger@osdl•org>


diff -Nru a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
--- a/drivers/net/e1000/e1000_main.c	2004-06-08 11:01:58 -07:00
+++ b/drivers/net/e1000/e1000_main.c	2004-06-08 11:01:58 -07:00
@@ -202,8 +202,8 @@
 MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver");
 MODULE_LICENSE("GPL");
 
-static int debug = 3;
-module_param(debug, int, 0);
+static int debug = NETIF_MSG_DRV | NETIF_MSG_PROBE;
+MODULE_PARM(debug, "i");
 MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
 
 /**

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

* Re: [PATCH] e1000 module parameter incompatiablity
  2004-06-08 18:04 ` [PATCH] e1000 module parameter incompatiablity Stephen Hemminger
@ 2004-06-08 18:39   ` Jeff Garzik
  2004-06-08 19:39     ` Stephen Hemminger
  2004-06-09 20:32     ` [PATCH] e1000 module parameters use new format Stephen Hemminger
  0 siblings, 2 replies; 6+ messages in thread
From: Jeff Garzik @ 2004-06-08 18:39 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Venkatesan, Ganesh, cramerj, Ronciak, John, netdev

Stephen Hemminger wrote:
> E1000 driver is mixing new style 'module_param' with old style 'MODULE_PARM'
> this generates the runtime warning
> 	e1000: Ignoring new-style parameters in presence of obsolete ones
> and prevents using module parameters to set ring size.
> 
> Signed-off-by: Stephen Hemminger <shemminger@osdl•org>

why not fix the others?

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

* RE: [PATCH] e1000 module parameter incompatiablity
@ 2004-06-08 18:40 Venkatesan, Ganesh
  0 siblings, 0 replies; 6+ messages in thread
From: Venkatesan, Ganesh @ 2004-06-08 18:40 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: cramerj, Ronciak, John, Jeff Garzik, netdev

Applied to our development tree.

Thanks,
ganesh 
 
-------------------------------------------------
Ganesh Venkatesan
Network/Storage Division, Hillsboro, OR

-----Original Message-----
From: Stephen Hemminger [mailto:shemminger@osdl•org] 
Sent: Tuesday, June 08, 2004 11:04 AM
To: Venkatesan, Ganesh
Cc: cramerj; Ronciak, John; Jeff Garzik; netdev@oss•sgi.com
Subject: [PATCH] e1000 module parameter incompatiablity

E1000 driver is mixing new style 'module_param' with old style
'MODULE_PARM'
this generates the runtime warning
	e1000: Ignoring new-style parameters in presence of obsolete
ones
and prevents using module parameters to set ring size.

Signed-off-by: Stephen Hemminger <shemminger@osdl•org>


diff -Nru a/drivers/net/e1000/e1000_main.c
b/drivers/net/e1000/e1000_main.c
--- a/drivers/net/e1000/e1000_main.c	2004-06-08 11:01:58 -07:00
+++ b/drivers/net/e1000/e1000_main.c	2004-06-08 11:01:58 -07:00
@@ -202,8 +202,8 @@
 MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver");
 MODULE_LICENSE("GPL");
 
-static int debug = 3;
-module_param(debug, int, 0);
+static int debug = NETIF_MSG_DRV | NETIF_MSG_PROBE;
+MODULE_PARM(debug, "i");
 MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
 
 /**

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

* Re: [PATCH] e1000 module parameter incompatiablity
  2004-06-08 18:39   ` Jeff Garzik
@ 2004-06-08 19:39     ` Stephen Hemminger
  2004-06-09 20:32     ` [PATCH] e1000 module parameters use new format Stephen Hemminger
  1 sibling, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2004-06-08 19:39 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Venkatesan, Ganesh, cramerj, Ronciak, John, netdev

On Tue, 08 Jun 2004 14:39:21 -0400
Jeff Garzik <jgarzik@pobox•com> wrote:

> Stephen Hemminger wrote:
> > E1000 driver is mixing new style 'module_param' with old style 'MODULE_PARM'
> > this generates the runtime warning
> > 	e1000: Ignoring new-style parameters in presence of obsolete ones
> > and prevents using module parameters to set ring size.
> > 
> > Signed-off-by: Stephen Hemminger <shemminger@osdl•org>
> 
> why not fix the others?

Cause their buried in ugly macros in another place.

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

* [PATCH] e1000 module parameters use new format
  2004-06-08 18:39   ` Jeff Garzik
  2004-06-08 19:39     ` Stephen Hemminger
@ 2004-06-09 20:32     ` Stephen Hemminger
  1 sibling, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2004-06-09 20:32 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Venkatesan, Ganesh, cramerj, Ronciak, John, netdev

The e1000 driver was mixing old/new module parameter methods.
Okay, here is the other way to fix it by making the other module
parameters the new format..

Signed-off-by: Stephen Hemminger <shemminger@osdl•org>

 
diff -Nru a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
--- a/drivers/net/e1000/e1000_param.c	2004-06-09 13:31:00 -07:00
+++ b/drivers/net/e1000/e1000_param.c	2004-06-09 13:31:00 -07:00
@@ -55,10 +55,11 @@
  * over and over (plus this helps to avoid typo bugs).
  */
 
-#define E1000_PARAM(X, S) \
-static const int __devinitdata X[E1000_MAX_NIC + 1] = E1000_PARAM_INIT; \
-MODULE_PARM(X, "1-" __MODULE_STRING(E1000_MAX_NIC) "i"); \
-MODULE_PARM_DESC(X, S);
+#define E1000_PARAM(name, desc) \
+static int __devinitdata name[E1000_MAX_NIC + 1] = E1000_PARAM_INIT; \
+static int num_##name = 0; \
+module_param_array(name, int, num_##name, 0); \
+MODULE_PARM_DESC(name, desc);
 
 /* Transmit Descriptor Count
  *

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

* [PATCH 2.6.7] e1000 sparse cleanup
       [not found] <468F3FDA28AA87429AD807992E22D07E0158A1CD@orsmsx408>
  2004-06-08 18:04 ` [PATCH] e1000 module parameter incompatiablity Stephen Hemminger
@ 2004-06-16 22:21 ` Stephen Hemminger
  1 sibling, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2004-06-16 22:21 UTC (permalink / raw)
  To: Venkatesan, Ganesh; +Cc: cramerj, Ronciak, John, Jeff Garzik, netdev

The following gets rid of warnings from sparse checking tool.
It doesn't like
	"#if X"  when "#ifdef X" is intended
	declaring inline functions before they are used.
--------
diff -Nru a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h
--- a/drivers/net/e1000/e1000.h	2004-06-16 15:18:09 -07:00
+++ b/drivers/net/e1000/e1000.h	2004-06-16 15:18:09 -07:00
@@ -82,7 +82,7 @@
 
 #include "e1000_hw.h"
 
-#if DBG
+#ifdef DBG
 #define E1000_DBG(args...) printk(KERN_DEBUG "e1000: " args)
 #else
 #define E1000_DBG(args...)
diff -Nru a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
--- a/drivers/net/e1000/e1000_main.c	2004-06-16 15:18:09 -07:00
+++ b/drivers/net/e1000/e1000_main.c	2004-06-16 15:18:09 -07:00
@@ -132,8 +132,6 @@
 static struct net_device_stats * e1000_get_stats(struct net_device *netdev);
 static int e1000_change_mtu(struct net_device *netdev, int new_mtu);
 static int e1000_set_mac(struct net_device *netdev, void *p);
-static inline void e1000_irq_disable(struct e1000_adapter *adapter);
-static inline void e1000_irq_enable(struct e1000_adapter *adapter);
 static irqreturn_t e1000_intr(int irq, void *data, struct pt_regs *regs);
 static boolean_t e1000_clean_tx_irq(struct e1000_adapter *adapter);
 #ifdef CONFIG_E1000_NAPI
@@ -150,9 +148,6 @@
 void set_ethtool_ops(struct net_device *netdev);
 static void e1000_enter_82542_rst(struct e1000_adapter *adapter);
 static void e1000_leave_82542_rst(struct e1000_adapter *adapter);
-static inline void e1000_rx_checksum(struct e1000_adapter *adapter,
-                                     struct e1000_rx_desc *rx_desc,
-                                     struct sk_buff *skb);
 static void e1000_tx_timeout(struct net_device *dev);
 static void e1000_tx_timeout_task(struct net_device *dev);
 static void e1000_smartspeed(struct e1000_adapter *adapter);
@@ -206,6 +201,35 @@
 module_param(debug, int, 0);
 MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
 
+
+/**
+ * e1000_irq_disable - Mask off interrupt generation on the NIC
+ * @adapter: board private structure
+ **/
+
+static inline void
+e1000_irq_disable(struct e1000_adapter *adapter)
+{
+	atomic_inc(&adapter->irq_sem);
+	E1000_WRITE_REG(&adapter->hw, IMC, ~0);
+	E1000_WRITE_FLUSH(&adapter->hw);
+	synchronize_irq(adapter->pdev->irq);
+}
+
+/**
+ * e1000_irq_enable - Enable default interrupt generation settings
+ * @adapter: board private structure
+ **/
+
+static inline void
+e1000_irq_enable(struct e1000_adapter *adapter)
+{
+	if(atomic_dec_and_test(&adapter->irq_sem)) {
+		E1000_WRITE_REG(&adapter->hw, IMS, IMS_ENABLE_MASK);
+		E1000_WRITE_FLUSH(&adapter->hw);
+	}
+}
+
 /**
  * e1000_init_module - Driver Registration Routine
  *
@@ -2047,34 +2071,6 @@
 }
 
 /**
- * e1000_irq_disable - Mask off interrupt generation on the NIC
- * @adapter: board private structure
- **/
-
-static inline void
-e1000_irq_disable(struct e1000_adapter *adapter)
-{
-	atomic_inc(&adapter->irq_sem);
-	E1000_WRITE_REG(&adapter->hw, IMC, ~0);
-	E1000_WRITE_FLUSH(&adapter->hw);
-	synchronize_irq(adapter->pdev->irq);
-}
-
-/**
- * e1000_irq_enable - Enable default interrupt generation settings
- * @adapter: board private structure
- **/
-
-static inline void
-e1000_irq_enable(struct e1000_adapter *adapter)
-{
-	if(atomic_dec_and_test(&adapter->irq_sem)) {
-		E1000_WRITE_REG(&adapter->hw, IMS, IMS_ENABLE_MASK);
-		E1000_WRITE_FLUSH(&adapter->hw);
-	}
-}
-
-/**
  * e1000_intr - Interrupt Handler
  * @irq: interrupt number
  * @data: pointer to a network interface device structure
@@ -2219,6 +2215,41 @@
 }
 
 /**
+ * e1000_rx_checksum - Receive Checksum Offload for 82543
+ * @adapter: board private structure
+ * @rx_desc: receive descriptor
+ * @sk_buff: socket buffer with received data
+ **/
+
+static inline void
+e1000_rx_checksum(struct e1000_adapter *adapter,
+                  struct e1000_rx_desc *rx_desc,
+                  struct sk_buff *skb)
+{
+	/* 82543 or newer only */
+	if((adapter->hw.mac_type < e1000_82543) ||
+	/* Ignore Checksum bit is set */
+	(rx_desc->status & E1000_RXD_STAT_IXSM) ||
+	/* TCP Checksum has not been calculated */
+	(!(rx_desc->status & E1000_RXD_STAT_TCPCS))) {
+		skb->ip_summed = CHECKSUM_NONE;
+		return;
+	}
+
+	/* At this point we know the hardware did the TCP checksum */
+	/* now look at the TCP checksum error bit */
+	if(rx_desc->errors & E1000_RXD_ERR_TCPE) {
+		/* let the stack verify checksum errors */
+		skb->ip_summed = CHECKSUM_NONE;
+		adapter->hw_csum_err++;
+	} else {
+	/* TCP checksum is good */
+		skb->ip_summed = CHECKSUM_UNNECESSARY;
+		adapter->hw_csum_good++;
+	}
+}
+
+/**
  * e1000_clean_rx_irq - Send received data up the network stack,
  * @adapter: board private structure
  **/
@@ -2573,40 +2604,6 @@
 	return E1000_SUCCESS;
 }
 
-/**
- * e1000_rx_checksum - Receive Checksum Offload for 82543
- * @adapter: board private structure
- * @rx_desc: receive descriptor
- * @sk_buff: socket buffer with received data
- **/
-
-static inline void
-e1000_rx_checksum(struct e1000_adapter *adapter,
-                  struct e1000_rx_desc *rx_desc,
-                  struct sk_buff *skb)
-{
-	/* 82543 or newer only */
-	if((adapter->hw.mac_type < e1000_82543) ||
-	/* Ignore Checksum bit is set */
-	(rx_desc->status & E1000_RXD_STAT_IXSM) ||
-	/* TCP Checksum has not been calculated */
-	(!(rx_desc->status & E1000_RXD_STAT_TCPCS))) {
-		skb->ip_summed = CHECKSUM_NONE;
-		return;
-	}
-
-	/* At this point we know the hardware did the TCP checksum */
-	/* now look at the TCP checksum error bit */
-	if(rx_desc->errors & E1000_RXD_ERR_TCPE) {
-		/* let the stack verify checksum errors */
-		skb->ip_summed = CHECKSUM_NONE;
-		adapter->hw_csum_err++;
-	} else {
-	/* TCP checksum is good */
-		skb->ip_summed = CHECKSUM_UNNECESSARY;
-		adapter->hw_csum_good++;
-	}
-}
 
 void
 e1000_pci_set_mwi(struct e1000_hw *hw)
diff -Nru a/drivers/net/e1000/e1000_osdep.h b/drivers/net/e1000/e1000_osdep.h
--- a/drivers/net/e1000/e1000_osdep.h	2004-06-16 15:18:09 -07:00
+++ b/drivers/net/e1000/e1000_osdep.h	2004-06-16 15:18:09 -07:00
@@ -63,7 +63,7 @@
 
 #define MSGOUT(S, A, B)	printk(KERN_DEBUG S "\n", A, B)
 
-#if DBG
+#ifdef DBG
 #define DEBUGOUT(S)		printk(KERN_DEBUG S "\n")
 #define DEBUGOUT1(S, A...)	printk(KERN_DEBUG S "\n", A)
 #else

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

end of thread, other threads:[~2004-06-16 22:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <468F3FDA28AA87429AD807992E22D07E0158A1CD@orsmsx408>
2004-06-08 18:04 ` [PATCH] e1000 module parameter incompatiablity Stephen Hemminger
2004-06-08 18:39   ` Jeff Garzik
2004-06-08 19:39     ` Stephen Hemminger
2004-06-09 20:32     ` [PATCH] e1000 module parameters use new format Stephen Hemminger
2004-06-16 22:21 ` [PATCH 2.6.7] e1000 sparse cleanup Stephen Hemminger
2004-06-08 18:40 [PATCH] e1000 module parameter incompatiablity Venkatesan, Ganesh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox