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