[2.6 patch] net/tulip/dmfe.c: fix inline compile errors (fwd)
From: Adrian Bunk
Date: Thu Jul 29 2004 - 16:38:04 EST
FYI:
The patch forwarded below is still required in 2.6.8-rc2-mm1.
----- Forwarded message from Adrian Bunk <bunk@xxxxxxxxx> -----
Date: Thu, 15 Jul 2004 00:03:25 +0200
From: Adrian Bunk <bunk@xxxxxxxxx>
To: sten_wang@xxxxxxxxxxxxxx
Cc: jgarzik@xxxxxxxxx, tulip-users@xxxxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-net@xxxxxxxxxxxxxxx
Subject: [2.6 patch] net/tulip/dmfe.c: fix inline compile errors
Trying to compile drivers/net/tulip/dmfe.c in 2.6.8-rc1-mm1 using
gcc 3.4 results in the following compile error:
<-- snip -->
...
CC drivers/net/tulip/dmfe.o
drivers/net/tulip/dmfe.c: In function `dmfe_rx_packet':
drivers/net/tulip/dmfe.c:323: sorry, unimplemented: inlining failed in
call to 'cal_CRC': function body not available
drivers/net/tulip/dmfe.c:936: sorry, unimplemented: called from here
make[3]: *** [drivers/net/tulip/dmfe.o] Error 1
<-- snip -->
The patch below moves an inlined function above the place where it is
called the first time.
diffstat output:
drivers/net/tulip/dmfe.c | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)
Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx>
--- linux-2.6.8-rc1-mm1-full-3.4/drivers/net/tulip/dmfe.c.old 2004-07-14 23:55:07.000000000 +0200
+++ linux-2.6.8-rc1-mm1-full-3.4/drivers/net/tulip/dmfe.c 2004-07-14 23:55:40.000000000 +0200
@@ -314,13 +314,13 @@
static u8 dmfe_sense_speed(struct dmfe_board_info *);
static void dmfe_process_mode(struct dmfe_board_info *);
static void dmfe_timer(unsigned long);
+static inline u32 cal_CRC(unsigned char *, unsigned int, u8);
static void dmfe_rx_packet(struct DEVICE *, struct dmfe_board_info *);
static void dmfe_free_tx_pkt(struct DEVICE *, struct dmfe_board_info *);
static void dmfe_reuse_skb(struct dmfe_board_info *, struct sk_buff *);
static void dmfe_dynamic_reset(struct DEVICE *);
static void dmfe_free_rxbuffer(struct dmfe_board_info *);
static void dmfe_init_dm910x(struct DEVICE *);
-static inline u32 cal_CRC(unsigned char *, unsigned int, u8);
static void dmfe_parse_srom(struct dmfe_board_info *);
static void dmfe_program_DM9801(struct dmfe_board_info *, int);
static void dmfe_program_DM9802(struct dmfe_board_info *);
@@ -885,6 +885,20 @@
/*
+ * Calculate the CRC valude of the Rx packet
+ * flag = 1 : return the reverse CRC (for the received packet CRC)
+ * 0 : return the normal CRC (for Hash Table index)
+ */
+
+static inline u32 cal_CRC(unsigned char * Data, unsigned int Len, u8 flag)
+{
+ u32 crc = crc32(~0, Data, Len);
+ if (flag) crc = ~crc;
+ return crc;
+}
+
+
+/*
* Receive the come packet and pass to upper layer
*/
@@ -1774,20 +1788,6 @@
/*
- * Calculate the CRC valude of the Rx packet
- * flag = 1 : return the reverse CRC (for the received packet CRC)
- * 0 : return the normal CRC (for Hash Table index)
- */
-
-static inline u32 cal_CRC(unsigned char * Data, unsigned int Len, u8 flag)
-{
- u32 crc = crc32(~0, Data, Len);
- if (flag) crc = ~crc;
- return crc;
-}
-
-
-/*
* Parser SROM and media mode
*/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
----- End forwarded message -----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/