2009-11-17 11:34:15

by William Allen Simpson

[permalink] [raw]
Subject: net-next-2.6 compilation errors: missing wireless/i82593.h

For the past 9-10 days, net-next-2.6 has failed to compile. In addition to
the errors and warnings already reported here last week, since Nov 12th
there has been another missing file. I kept hoping it was temporary, but
no joy.

/home/administer/net-next-2.6/drivers/net/znet.c:107:29: error: wireless/i82593.h: No such file or directory
/home/administer/net-next-2.6/drivers/net/znet.c:133: error: field ?i593_init? has incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?znet_set_multicast_list?:
/home/administer/net-next-2.6/drivers/net/znet.c:235: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:235: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:235: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:235: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:235: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:235: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:247: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:248: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:249: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:250: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:251: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:254: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:255: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:256: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:259: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:260: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:261: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:262: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:265: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:266: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:267: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:268: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:271: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:274: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:277: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:278: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:281: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:282: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:283: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:284: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:285: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:286: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:289: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:290: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:291: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:294: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:297: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:298: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:299: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:300: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:301: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:302: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:303: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:304: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:307: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:310: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:311: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:312: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:315: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:316: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:317: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:318: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:319: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:320: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:323: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:324: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:325: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:326: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:327: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:328: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:329: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:330: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:333: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:334: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:340: error: dereferencing pointer to incomplete type
/home/administer/net-next-2.6/drivers/net/znet.c:345: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:346: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:346: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:346: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:347: error: invalid application of ?sizeof? to incomplete type ?struct i82593_conf_block?
/home/administer/net-next-2.6/drivers/net/znet.c:348: error: ?OP0_CONFIGURE? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:348: error: (Each undeclared identifier is reported only once
/home/administer/net-next-2.6/drivers/net/znet.c:348: error: for each function it appears in.)
/home/administer/net-next-2.6/drivers/net/znet.c:348: error: ?CR0_CHNL? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?znet_tx_timeout?:
/home/administer/net-next-2.6/drivers/net/znet.c:512: error: ?CR0_STATUS_0? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:514: error: ?CR0_STATUS_1? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:516: error: ?CR0_STATUS_2? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:518: error: ?CR0_STATUS_3? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:522: error: ?TX_LOST_CRS? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:525: error: ?OP0_RESET? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?znet_send_packet?:
/home/administer/net-next-2.6/drivers/net/znet.c:549: error: ?CR0_STATUS_0? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:583: error: ?OP0_TRANSMIT? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:583: error: ?CR0_CHNL? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?znet_interrupt?:
/home/administer/net-next-2.6/drivers/net/znet.c:612: error: ?CR0_STATUS_0? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:617: error: ?CR0_STATUS_1? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:619: error: ?CR0_STATUS_2? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:621: error: ?CR0_STATUS_3? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:626: error: ?SR0_INTERRUPT? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:631: error: ?SR0_EVENT_MASK? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:631: error: ?SR0_TRANSMIT_DONE? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:632: error: ?SR0_RETRANSMIT_DONE? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:633: error: ?SR0_TRANSMIT_NO_CRC_DONE? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:638: error: ?TX_OK? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:640: error: ?TX_NCOL_MASK? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:642: error: ?TX_LOST_CTS? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:642: error: ?TX_LOST_CRS? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:644: error: ?TX_UND_RUN? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:646: error: ?TX_HRT_BEAT? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:648: error: ?TX_MAX_COL? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:666: error: ?SR0_RECEPTION? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:667: error: ?SR0_STOP_REG_HIT? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:671: error: ?CR0_INT_ACK? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?znet_rx?:
/home/administer/net-next-2.6/drivers/net/znet.c:688: error: ?CR0_STATUS_2? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:747: error: ?RX_RCV_OK? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:749: error: ?RX_CRC_ERR? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:750: error: ?RX_ALG_ERR? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:756: error: ?RX_OVRRUN? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:758: error: ?RX_SRT_FRM? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?znet_close?:
/home/administer/net-next-2.6/drivers/net/znet.c:814: error: ?OP0_RESET? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?hardware_init?:
/home/administer/net-next-2.6/drivers/net/znet.c:859: error: ?OP0_RESET? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:885: error: ?OP0_CONFIGURE? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:885: error: ?CR0_CHNL? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:893: error: ?OP0_IA_SETUP? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:898: error: ?OP0_RCV_ENABLE? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c: In function ?update_stop_hit?:
/home/administer/net-next-2.6/drivers/net/znet.c:904: error: ?OP0_SWIT_TO_PORT_1? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:904: error: ?CR0_CHNL? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:907: error: ?CR1_STOP_REG_UPDATE? undeclared (first use in this function)
/home/administer/net-next-2.6/drivers/net/znet.c:909: error: ?OP1_SWIT_TO_PORT_0? undeclared (first use in this function)
make[3]: *** [drivers/net/znet.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [drivers/net] Error 2
make[1]: *** [drivers] Error 2
make: *** [sub-make] Error 2


2009-11-17 11:44:14

by David Miller

[permalink] [raw]
Subject: Re: net-next-2.6 compilation errors: missing wireless/i82593.h

From: William Allen Simpson <[email protected]>
Date: Tue, 17 Nov 2009 06:34:15 -0500

> For the past 9-10 days, net-next-2.6 has failed to compile. In
> addition to the errors and warnings already reported here last week,

Those seemed to be for Android drivers and such, so I hope you
reported those failures to the driver maintainers as well as
linux-kernel.

For the time being could you just disable those drivers in your
build just to get work done or do you absolutely need them?

> since Nov 12th there has been another missing file. I kept hoping
> it was temporary, but no joy.
>
> /home/administer/net-next-2.6/drivers/net/znet.c:107:29: error:
> wireless/i82593.h: No such file or directory

That header file got moved out to drivers/staging along with the
wavelan driver.

The header file should instead be moved to, perhaps, include/linux
while there are still other users of it.

That's incredibly clumsy what drivers/net/znet.c is doing.

John please fix this up, thanks!

2009-11-17 11:59:15

by William Allen Simpson

[permalink] [raw]
Subject: Re: net-next-2.6 compilation errors: missing wireless/i82593.h

David Miller wrote:
> From: William Allen Simpson <[email protected]>
> Date: Tue, 17 Nov 2009 06:34:15 -0500
>
>> For the past 9-10 days, net-next-2.6 has failed to compile. In
>> addition to the errors and warnings already reported here last week,
>
> Those seemed to be for Android drivers and such, so I hope you
> reported those failures to the driver maintainers as well as
> linux-kernel.
>
I did, at least some of them. Nothing seems to have been fixed yet.


> For the time being could you just disable those drivers in your
> build just to get work done or do you absolutely need them?
>
I did, at least some of them. Of course, since I'm making changes to
linux/tcp.h and net/tcp.h, an awful lot of drivers seem to include them
one way or another, and I'm trying to ensure nothing breaks (at least
for compilation purposes).


>> since Nov 12th there has been another missing file. I kept hoping
>> it was temporary, but no joy.
>>
>> /home/administer/net-next-2.6/drivers/net/znet.c:107:29: error:
>> wireless/i82593.h: No such file or directory
>
> That header file got moved out to drivers/staging along with the
> wavelan driver.
>
Too bad that CONFIG_STAGING "N" (# CONFIG_STAGING is not set) doesn't
actually turn off all the staging....


> John please fix this up, thanks!
>
Please.

2009-11-17 12:11:42

by Alan

[permalink] [raw]
Subject: Re: net-next-2.6 compilation errors: missing wireless/i82593.h

> >> /home/administer/net-next-2.6/drivers/net/znet.c:107:29: error:
> >> wireless/i82593.h: No such file or directory
> >
> > That header file got moved out to drivers/staging along with the
> > wavelan driver.
> >
> Too bad that CONFIG_STAGING "N" (# CONFIG_STAGING is not set) doesn't
> actually turn off all the staging....

It does - that isn't the problem. Someone moves shared header files out
of the right directory into staging without double checking (lxr is
rather handy..)

Alan

2009-11-17 15:30:35

by John W. Linville

[permalink] [raw]
Subject: [PATCH] znet: fix build failure from i82593.h relocation

znet was including "wireless/i82593.h" (which is a bit wierd), and I
missed that when I relocated i82593.h to drivers/staging/wavelan. Since
I don't have ISA turned-on in my normal .config, I didn't see the build
failures -- mea culpa!

Signed-off-by: John W. Linville <[email protected]>
---
I'll just include this with the wireless-next-2.6 pull request I intend
to send later today...

drivers/net/znet.c | 3 +-
drivers/staging/wavelan/i82593.h | 229 --------------------------------
drivers/staging/wavelan/wavelan_cs.p.h | 2 +-
include/linux/i82593.h | 229 ++++++++++++++++++++++++++++++++
4 files changed, 231 insertions(+), 232 deletions(-)
delete mode 100644 drivers/staging/wavelan/i82593.h
create mode 100644 include/linux/i82593.h

diff --git a/drivers/net/znet.c b/drivers/net/znet.c
index b423473..443c4ee 100644
--- a/drivers/net/znet.c
+++ b/drivers/net/znet.c
@@ -103,8 +103,7 @@
#include <asm/io.h>
#include <asm/dma.h>

-/* This include could be elsewhere, since it is not wireless specific */
-#include "wireless/i82593.h"
+#include <linux/i82593.h>

static char version[] __initdata = "znet.c:v1.02 9/23/94 [email protected]\n";

diff --git a/drivers/staging/wavelan/i82593.h b/drivers/staging/wavelan/i82593.h
deleted file mode 100644
index afac5c7..0000000
--- a/drivers/staging/wavelan/i82593.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Definitions for Intel 82593 CSMA/CD Core LAN Controller
- * The definitions are taken from the 1992 users manual with Intel
- * order number 297125-001.
- *
- * /usr/src/pc/RCS/i82593.h,v 1.1 1996/07/17 15:23:12 root Exp
- *
- * Copyright 1994, Anders Klemets <[email protected]>
- *
- * HISTORY
- * i82593.h,v
- * Revision 1.4 2005/11/4 09:15:00 baroniunas
- * Modified copyright with permission of author as follows:
- *
- * "If I82539.H is the only file with my copyright statement
- * that is included in the Source Forge project, then you have
- * my approval to change the copyright statement to be a GPL
- * license, in the way you proposed on October 10."
- *
- * Revision 1.1 1996/07/17 15:23:12 root
- * Initial revision
- *
- * Revision 1.3 1995/04/05 15:13:58 adj
- * Initial alpha release
- *
- * Revision 1.2 1994/06/16 23:57:31 klemets
- * Mirrored all the fields in the configuration block.
- *
- * Revision 1.1 1994/06/02 20:25:34 klemets
- * Initial revision
- *
- *
- */
-#ifndef _I82593_H
-#define _I82593_H
-
-/* Intel 82593 CSMA/CD Core LAN Controller */
-
-/* Port 0 Command Register definitions */
-
-/* Execution operations */
-#define OP0_NOP 0 /* CHNL = 0 */
-#define OP0_SWIT_TO_PORT_1 0 /* CHNL = 1 */
-#define OP0_IA_SETUP 1
-#define OP0_CONFIGURE 2
-#define OP0_MC_SETUP 3
-#define OP0_TRANSMIT 4
-#define OP0_TDR 5
-#define OP0_DUMP 6
-#define OP0_DIAGNOSE 7
-#define OP0_TRANSMIT_NO_CRC 9
-#define OP0_RETRANSMIT 12
-#define OP0_ABORT 13
-/* Reception operations */
-#define OP0_RCV_ENABLE 8
-#define OP0_RCV_DISABLE 10
-#define OP0_STOP_RCV 11
-/* Status pointer control operations */
-#define OP0_FIX_PTR 15 /* CHNL = 1 */
-#define OP0_RLS_PTR 15 /* CHNL = 0 */
-#define OP0_RESET 14
-
-#define CR0_CHNL (1 << 4) /* 0=Channel 0, 1=Channel 1 */
-#define CR0_STATUS_0 0x00
-#define CR0_STATUS_1 0x20
-#define CR0_STATUS_2 0x40
-#define CR0_STATUS_3 0x60
-#define CR0_INT_ACK (1 << 7) /* 0=No ack, 1=acknowledge */
-
-/* Port 0 Status Register definitions */
-
-#define SR0_NO_RESULT 0 /* dummy */
-#define SR0_EVENT_MASK 0x0f
-#define SR0_IA_SETUP_DONE 1
-#define SR0_CONFIGURE_DONE 2
-#define SR0_MC_SETUP_DONE 3
-#define SR0_TRANSMIT_DONE 4
-#define SR0_TDR_DONE 5
-#define SR0_DUMP_DONE 6
-#define SR0_DIAGNOSE_PASSED 7
-#define SR0_TRANSMIT_NO_CRC_DONE 9
-#define SR0_RETRANSMIT_DONE 12
-#define SR0_EXECUTION_ABORTED 13
-#define SR0_END_OF_FRAME 8
-#define SR0_RECEPTION_ABORTED 10
-#define SR0_DIAGNOSE_FAILED 15
-#define SR0_STOP_REG_HIT 11
-
-#define SR0_CHNL (1 << 4)
-#define SR0_EXECUTION (1 << 5)
-#define SR0_RECEPTION (1 << 6)
-#define SR0_INTERRUPT (1 << 7)
-#define SR0_BOTH_RX_TX (SR0_EXECUTION | SR0_RECEPTION)
-
-#define SR3_EXEC_STATE_MASK 0x03
-#define SR3_EXEC_IDLE 0
-#define SR3_TX_ABORT_IN_PROGRESS 1
-#define SR3_EXEC_ACTIVE 2
-#define SR3_ABORT_IN_PROGRESS 3
-#define SR3_EXEC_CHNL (1 << 2)
-#define SR3_STP_ON_NO_RSRC (1 << 3)
-#define SR3_RCVING_NO_RSRC (1 << 4)
-#define SR3_RCV_STATE_MASK 0x60
-#define SR3_RCV_IDLE 0x00
-#define SR3_RCV_READY 0x20
-#define SR3_RCV_ACTIVE 0x40
-#define SR3_RCV_STOP_IN_PROG 0x60
-#define SR3_RCV_CHNL (1 << 7)
-
-/* Port 1 Command Register definitions */
-
-#define OP1_NOP 0
-#define OP1_SWIT_TO_PORT_0 1
-#define OP1_INT_DISABLE 2
-#define OP1_INT_ENABLE 3
-#define OP1_SET_TS 5
-#define OP1_RST_TS 7
-#define OP1_POWER_DOWN 8
-#define OP1_RESET_RING_MNGMT 11
-#define OP1_RESET 14
-#define OP1_SEL_RST 15
-
-#define CR1_STATUS_4 0x00
-#define CR1_STATUS_5 0x20
-#define CR1_STATUS_6 0x40
-#define CR1_STOP_REG_UPDATE (1 << 7)
-
-/* Receive frame status bits */
-
-#define RX_RCLD (1 << 0)
-#define RX_IA_MATCH (1 << 1)
-#define RX_NO_AD_MATCH (1 << 2)
-#define RX_NO_SFD (1 << 3)
-#define RX_SRT_FRM (1 << 7)
-#define RX_OVRRUN (1 << 8)
-#define RX_ALG_ERR (1 << 10)
-#define RX_CRC_ERR (1 << 11)
-#define RX_LEN_ERR (1 << 12)
-#define RX_RCV_OK (1 << 13)
-#define RX_TYP_LEN (1 << 15)
-
-/* Transmit status bits */
-
-#define TX_NCOL_MASK 0x0f
-#define TX_FRTL (1 << 4)
-#define TX_MAX_COL (1 << 5)
-#define TX_HRT_BEAT (1 << 6)
-#define TX_DEFER (1 << 7)
-#define TX_UND_RUN (1 << 8)
-#define TX_LOST_CTS (1 << 9)
-#define TX_LOST_CRS (1 << 10)
-#define TX_LTCOL (1 << 11)
-#define TX_OK (1 << 13)
-#define TX_COLL (1 << 15)
-
-struct i82593_conf_block {
- u_char fifo_limit : 4,
- forgnesi : 1,
- fifo_32 : 1,
- d6mod : 1,
- throttle_enb : 1;
- u_char throttle : 6,
- cntrxint : 1,
- contin : 1;
- u_char addr_len : 3,
- acloc : 1,
- preamb_len : 2,
- loopback : 2;
- u_char lin_prio : 3,
- tbofstop : 1,
- exp_prio : 3,
- bof_met : 1;
- u_char : 4,
- ifrm_spc : 4;
- u_char : 5,
- slottim_low : 3;
- u_char slottim_hi : 3,
- : 1,
- max_retr : 4;
- u_char prmisc : 1,
- bc_dis : 1,
- : 1,
- crs_1 : 1,
- nocrc_ins : 1,
- crc_1632 : 1,
- : 1,
- crs_cdt : 1;
- u_char cs_filter : 3,
- crs_src : 1,
- cd_filter : 3,
- : 1;
- u_char : 2,
- min_fr_len : 6;
- u_char lng_typ : 1,
- lng_fld : 1,
- rxcrc_xf : 1,
- artx : 1,
- sarec : 1,
- tx_jabber : 1, /* why is this called max_len in the manual? */
- hash_1 : 1,
- lbpkpol : 1;
- u_char : 6,
- fdx : 1,
- : 1;
- u_char dummy_6 : 6, /* supposed to be ones */
- mult_ia : 1,
- dis_bof : 1;
- u_char dummy_1 : 1, /* supposed to be one */
- tx_ifs_retrig : 2,
- mc_all : 1,
- rcv_mon : 2,
- frag_acpt : 1,
- tstrttrs : 1;
- u_char fretx : 1,
- runt_eop : 1,
- hw_sw_pin : 1,
- big_endn : 1,
- syncrqs : 1,
- sttlen : 1,
- tx_eop : 1,
- rx_eop : 1;
- u_char rbuf_size : 5,
- rcvstop : 1,
- : 2;
-};
-
-#define I82593_MAX_MULTICAST_ADDRESSES 128 /* Hardware hashed filter */
-
-#endif /* _I82593_H */
diff --git a/drivers/staging/wavelan/wavelan_cs.p.h b/drivers/staging/wavelan/wavelan_cs.p.h
index 81d9153..8fbfaa8 100644
--- a/drivers/staging/wavelan/wavelan_cs.p.h
+++ b/drivers/staging/wavelan/wavelan_cs.p.h
@@ -446,7 +446,7 @@
#include <pcmcia/ds.h>

/* Wavelan declarations */
-#include "i82593.h" /* Definitions for the Intel chip */
+#include <linux/i82593.h> /* Definitions for the Intel chip */

#include "wavelan_cs.h" /* Others bits of the hardware */

diff --git a/include/linux/i82593.h b/include/linux/i82593.h
new file mode 100644
index 0000000..afac5c7
--- /dev/null
+++ b/include/linux/i82593.h
@@ -0,0 +1,229 @@
+/*
+ * Definitions for Intel 82593 CSMA/CD Core LAN Controller
+ * The definitions are taken from the 1992 users manual with Intel
+ * order number 297125-001.
+ *
+ * /usr/src/pc/RCS/i82593.h,v 1.1 1996/07/17 15:23:12 root Exp
+ *
+ * Copyright 1994, Anders Klemets <[email protected]>
+ *
+ * HISTORY
+ * i82593.h,v
+ * Revision 1.4 2005/11/4 09:15:00 baroniunas
+ * Modified copyright with permission of author as follows:
+ *
+ * "If I82539.H is the only file with my copyright statement
+ * that is included in the Source Forge project, then you have
+ * my approval to change the copyright statement to be a GPL
+ * license, in the way you proposed on October 10."
+ *
+ * Revision 1.1 1996/07/17 15:23:12 root
+ * Initial revision
+ *
+ * Revision 1.3 1995/04/05 15:13:58 adj
+ * Initial alpha release
+ *
+ * Revision 1.2 1994/06/16 23:57:31 klemets
+ * Mirrored all the fields in the configuration block.
+ *
+ * Revision 1.1 1994/06/02 20:25:34 klemets
+ * Initial revision
+ *
+ *
+ */
+#ifndef _I82593_H
+#define _I82593_H
+
+/* Intel 82593 CSMA/CD Core LAN Controller */
+
+/* Port 0 Command Register definitions */
+
+/* Execution operations */
+#define OP0_NOP 0 /* CHNL = 0 */
+#define OP0_SWIT_TO_PORT_1 0 /* CHNL = 1 */
+#define OP0_IA_SETUP 1
+#define OP0_CONFIGURE 2
+#define OP0_MC_SETUP 3
+#define OP0_TRANSMIT 4
+#define OP0_TDR 5
+#define OP0_DUMP 6
+#define OP0_DIAGNOSE 7
+#define OP0_TRANSMIT_NO_CRC 9
+#define OP0_RETRANSMIT 12
+#define OP0_ABORT 13
+/* Reception operations */
+#define OP0_RCV_ENABLE 8
+#define OP0_RCV_DISABLE 10
+#define OP0_STOP_RCV 11
+/* Status pointer control operations */
+#define OP0_FIX_PTR 15 /* CHNL = 1 */
+#define OP0_RLS_PTR 15 /* CHNL = 0 */
+#define OP0_RESET 14
+
+#define CR0_CHNL (1 << 4) /* 0=Channel 0, 1=Channel 1 */
+#define CR0_STATUS_0 0x00
+#define CR0_STATUS_1 0x20
+#define CR0_STATUS_2 0x40
+#define CR0_STATUS_3 0x60
+#define CR0_INT_ACK (1 << 7) /* 0=No ack, 1=acknowledge */
+
+/* Port 0 Status Register definitions */
+
+#define SR0_NO_RESULT 0 /* dummy */
+#define SR0_EVENT_MASK 0x0f
+#define SR0_IA_SETUP_DONE 1
+#define SR0_CONFIGURE_DONE 2
+#define SR0_MC_SETUP_DONE 3
+#define SR0_TRANSMIT_DONE 4
+#define SR0_TDR_DONE 5
+#define SR0_DUMP_DONE 6
+#define SR0_DIAGNOSE_PASSED 7
+#define SR0_TRANSMIT_NO_CRC_DONE 9
+#define SR0_RETRANSMIT_DONE 12
+#define SR0_EXECUTION_ABORTED 13
+#define SR0_END_OF_FRAME 8
+#define SR0_RECEPTION_ABORTED 10
+#define SR0_DIAGNOSE_FAILED 15
+#define SR0_STOP_REG_HIT 11
+
+#define SR0_CHNL (1 << 4)
+#define SR0_EXECUTION (1 << 5)
+#define SR0_RECEPTION (1 << 6)
+#define SR0_INTERRUPT (1 << 7)
+#define SR0_BOTH_RX_TX (SR0_EXECUTION | SR0_RECEPTION)
+
+#define SR3_EXEC_STATE_MASK 0x03
+#define SR3_EXEC_IDLE 0
+#define SR3_TX_ABORT_IN_PROGRESS 1
+#define SR3_EXEC_ACTIVE 2
+#define SR3_ABORT_IN_PROGRESS 3
+#define SR3_EXEC_CHNL (1 << 2)
+#define SR3_STP_ON_NO_RSRC (1 << 3)
+#define SR3_RCVING_NO_RSRC (1 << 4)
+#define SR3_RCV_STATE_MASK 0x60
+#define SR3_RCV_IDLE 0x00
+#define SR3_RCV_READY 0x20
+#define SR3_RCV_ACTIVE 0x40
+#define SR3_RCV_STOP_IN_PROG 0x60
+#define SR3_RCV_CHNL (1 << 7)
+
+/* Port 1 Command Register definitions */
+
+#define OP1_NOP 0
+#define OP1_SWIT_TO_PORT_0 1
+#define OP1_INT_DISABLE 2
+#define OP1_INT_ENABLE 3
+#define OP1_SET_TS 5
+#define OP1_RST_TS 7
+#define OP1_POWER_DOWN 8
+#define OP1_RESET_RING_MNGMT 11
+#define OP1_RESET 14
+#define OP1_SEL_RST 15
+
+#define CR1_STATUS_4 0x00
+#define CR1_STATUS_5 0x20
+#define CR1_STATUS_6 0x40
+#define CR1_STOP_REG_UPDATE (1 << 7)
+
+/* Receive frame status bits */
+
+#define RX_RCLD (1 << 0)
+#define RX_IA_MATCH (1 << 1)
+#define RX_NO_AD_MATCH (1 << 2)
+#define RX_NO_SFD (1 << 3)
+#define RX_SRT_FRM (1 << 7)
+#define RX_OVRRUN (1 << 8)
+#define RX_ALG_ERR (1 << 10)
+#define RX_CRC_ERR (1 << 11)
+#define RX_LEN_ERR (1 << 12)
+#define RX_RCV_OK (1 << 13)
+#define RX_TYP_LEN (1 << 15)
+
+/* Transmit status bits */
+
+#define TX_NCOL_MASK 0x0f
+#define TX_FRTL (1 << 4)
+#define TX_MAX_COL (1 << 5)
+#define TX_HRT_BEAT (1 << 6)
+#define TX_DEFER (1 << 7)
+#define TX_UND_RUN (1 << 8)
+#define TX_LOST_CTS (1 << 9)
+#define TX_LOST_CRS (1 << 10)
+#define TX_LTCOL (1 << 11)
+#define TX_OK (1 << 13)
+#define TX_COLL (1 << 15)
+
+struct i82593_conf_block {
+ u_char fifo_limit : 4,
+ forgnesi : 1,
+ fifo_32 : 1,
+ d6mod : 1,
+ throttle_enb : 1;
+ u_char throttle : 6,
+ cntrxint : 1,
+ contin : 1;
+ u_char addr_len : 3,
+ acloc : 1,
+ preamb_len : 2,
+ loopback : 2;
+ u_char lin_prio : 3,
+ tbofstop : 1,
+ exp_prio : 3,
+ bof_met : 1;
+ u_char : 4,
+ ifrm_spc : 4;
+ u_char : 5,
+ slottim_low : 3;
+ u_char slottim_hi : 3,
+ : 1,
+ max_retr : 4;
+ u_char prmisc : 1,
+ bc_dis : 1,
+ : 1,
+ crs_1 : 1,
+ nocrc_ins : 1,
+ crc_1632 : 1,
+ : 1,
+ crs_cdt : 1;
+ u_char cs_filter : 3,
+ crs_src : 1,
+ cd_filter : 3,
+ : 1;
+ u_char : 2,
+ min_fr_len : 6;
+ u_char lng_typ : 1,
+ lng_fld : 1,
+ rxcrc_xf : 1,
+ artx : 1,
+ sarec : 1,
+ tx_jabber : 1, /* why is this called max_len in the manual? */
+ hash_1 : 1,
+ lbpkpol : 1;
+ u_char : 6,
+ fdx : 1,
+ : 1;
+ u_char dummy_6 : 6, /* supposed to be ones */
+ mult_ia : 1,
+ dis_bof : 1;
+ u_char dummy_1 : 1, /* supposed to be one */
+ tx_ifs_retrig : 2,
+ mc_all : 1,
+ rcv_mon : 2,
+ frag_acpt : 1,
+ tstrttrs : 1;
+ u_char fretx : 1,
+ runt_eop : 1,
+ hw_sw_pin : 1,
+ big_endn : 1,
+ syncrqs : 1,
+ sttlen : 1,
+ tx_eop : 1,
+ rx_eop : 1;
+ u_char rbuf_size : 5,
+ rcvstop : 1,
+ : 2;
+};
+
+#define I82593_MAX_MULTICAST_ADDRESSES 128 /* Hardware hashed filter */
+
+#endif /* _I82593_H */
--
1.6.2.5

2009-11-17 15:36:22

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] znet: fix build failure from i82593.h relocation

From: "John W. Linville" <[email protected]>
Date: Tue, 17 Nov 2009 10:20:49 -0500

> I'll just include this with the wireless-next-2.6 pull request I intend
> to send later today...

Sounds good.