* [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 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.