mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
6a878184c2
Since version 4.1 the gcc is warning about ignored attributes. This patch is using the equivalent attribute on the struct instead of on each of the structure or union members. GCC Manual: "Specifying Attributes of Types packed This attribute, attached to struct or union type definition, specifies that each member of the structure or union is placed to minimize the memory required. When attached to an enum definition, it indicates that the smallest integral type should be used. Specifying this attribute for struct and union types is equivalent to specifying the packed attribute on each of the structure or union members." Signed-off-by: Jan Blunck <jblunck@suse.de> Cc: Dave Jones <davej@codemonkey.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
82 lines
1.5 KiB
C
82 lines
1.5 KiB
C
/*
|
|
* 3COM "EtherLink MC/32" Descriptions
|
|
*/
|
|
|
|
/*
|
|
* Registers
|
|
*/
|
|
|
|
#define HOST_CMD 0
|
|
#define HOST_CMD_START_RX (1<<3)
|
|
#define HOST_CMD_SUSPND_RX (3<<3)
|
|
#define HOST_CMD_RESTRT_RX (5<<3)
|
|
|
|
#define HOST_CMD_SUSPND_TX 3
|
|
#define HOST_CMD_RESTRT_TX 5
|
|
|
|
|
|
#define HOST_STATUS 2
|
|
#define HOST_STATUS_CRR (1<<6)
|
|
#define HOST_STATUS_CWR (1<<5)
|
|
|
|
|
|
#define HOST_CTRL 6
|
|
#define HOST_CTRL_ATTN (1<<7)
|
|
#define HOST_CTRL_RESET (1<<6)
|
|
#define HOST_CTRL_INTE (1<<2)
|
|
|
|
#define HOST_RAMPAGE 8
|
|
|
|
#define HALTED 0
|
|
#define RUNNING 1
|
|
|
|
struct mc32_mailbox
|
|
{
|
|
u16 mbox;
|
|
u16 data[1];
|
|
} __attribute((packed));
|
|
|
|
struct skb_header
|
|
{
|
|
u8 status;
|
|
u8 control;
|
|
u16 next; /* Do not change! */
|
|
u16 length;
|
|
u32 data;
|
|
} __attribute((packed));
|
|
|
|
struct mc32_stats
|
|
{
|
|
/* RX Errors */
|
|
u32 rx_crc_errors;
|
|
u32 rx_alignment_errors;
|
|
u32 rx_overrun_errors;
|
|
u32 rx_tooshort_errors;
|
|
u32 rx_toolong_errors;
|
|
u32 rx_outofresource_errors;
|
|
|
|
u32 rx_discarded; /* via card pattern match filter */
|
|
|
|
/* TX Errors */
|
|
u32 tx_max_collisions;
|
|
u32 tx_carrier_errors;
|
|
u32 tx_underrun_errors;
|
|
u32 tx_cts_errors;
|
|
u32 tx_timeout_errors;
|
|
|
|
/* various cruft */
|
|
u32 dataA[6];
|
|
u16 dataB[5];
|
|
u32 dataC[14];
|
|
} __attribute((packed));
|
|
|
|
#define STATUS_MASK 0x0F
|
|
#define COMPLETED (1<<7)
|
|
#define COMPLETED_OK (1<<6)
|
|
#define BUFFER_BUSY (1<<5)
|
|
|
|
#define CONTROL_EOP (1<<7) /* End Of Packet */
|
|
#define CONTROL_EOL (1<<6) /* End of List */
|
|
|
|
#define MCA_MC32_ID 0x0041 /* Our MCA ident */
|