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