public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2.4.28-pre4] e1000 driver, gcc-3.4 inlining fix
@ 2004-10-10  9:21 O.Sezer
  0 siblings, 0 replies; only message in thread
From: O.Sezer @ 2004-10-10  9:21 UTC (permalink / raw)
  To: marcelo.tosatti; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 433 bytes --]

Marcelo:
The changes to e1000_main.c introduced in -pre4 via the cset:
"e1000 - white space corrections, other cleanups" results in
the compiler failure below:

e1000_main.c: In function `e1000_up':
e1000_main.c:132: sorry, unimplemented: inlining failed in call to 
'e1000_irq_enable': function body not available
e1000_main.c:277: sorry, unimplemented: called from here

The attached patch, taken from 2.6, fixes it.

Ozkan Sezer


[-- Attachment #2: e1000_gcc34.diff --]
[-- Type: text/plain, Size: 2222 bytes --]

--- 28p4/drivers/net/e1000/e1000_main.c.BAK	2004-10-09 14:45:37.000000000 +0300
+++ 28p4/drivers/net/e1000/e1000_main.c	2004-10-10 12:15:15.000000000 +0300
@@ -128,8 +128,8 @@
 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 void e1000_irq_disable(struct e1000_adapter *adapter);
+static 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
@@ -146,9 +146,9 @@
 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_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);
@@ -2063,7 +2063,7 @@
  * @adapter: board private structure
  **/
 
-static inline void
+static void
 e1000_irq_disable(struct e1000_adapter *adapter)
 {
 	atomic_inc(&adapter->irq_sem);
@@ -2077,7 +2077,7 @@
  * @adapter: board private structure
  **/
 
-static inline void
+static void
 e1000_irq_enable(struct e1000_adapter *adapter)
 {
 	if(likely(atomic_dec_and_test(&adapter->irq_sem))) {
@@ -2582,7 +2582,7 @@
  * @sk_buff: socket buffer with received data
  **/
 
-static inline void
+static void
 e1000_rx_checksum(struct e1000_adapter *adapter,
                   struct e1000_rx_desc *rx_desc,
                   struct sk_buff *skb)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-10-10  9:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-10  9:21 [PATCH 2.4.28-pre4] e1000 driver, gcc-3.4 inlining fix O.Sezer

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