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>
58 lines
996 B
C
58 lines
996 B
C
#include "hisax_if.h"
|
|
#include "hisax_isac.h"
|
|
#include <linux/pci.h>
|
|
|
|
#define HSCX_BUFMAX 4096
|
|
|
|
enum {
|
|
AVM_FRITZ_PCI,
|
|
AVM_FRITZ_PNP,
|
|
AVM_FRITZ_PCIV2,
|
|
};
|
|
|
|
struct hdlc_stat_reg {
|
|
#ifdef __BIG_ENDIAN
|
|
u_char fill;
|
|
u_char mode;
|
|
u_char xml;
|
|
u_char cmd;
|
|
#else
|
|
u_char cmd;
|
|
u_char xml;
|
|
u_char mode;
|
|
u_char fill;
|
|
#endif
|
|
} __attribute__((packed));
|
|
|
|
struct fritz_bcs {
|
|
struct hisax_b_if b_if;
|
|
struct fritz_adapter *adapter;
|
|
int mode;
|
|
int channel;
|
|
|
|
union {
|
|
u_int ctrl;
|
|
struct hdlc_stat_reg sr;
|
|
} ctrl;
|
|
u_int stat;
|
|
int rcvidx;
|
|
int fifo_size;
|
|
u_char rcvbuf[HSCX_BUFMAX]; /* B-Channel receive Buffer */
|
|
|
|
int tx_cnt; /* B-Channel transmit counter */
|
|
struct sk_buff *tx_skb; /* B-Channel transmit Buffer */
|
|
};
|
|
|
|
struct fritz_adapter {
|
|
int type;
|
|
spinlock_t hw_lock;
|
|
unsigned int io;
|
|
unsigned int irq;
|
|
struct isac isac;
|
|
|
|
struct fritz_bcs bcs[2];
|
|
|
|
u32 (*read_hdlc_status) (struct fritz_adapter *adapter, int nr);
|
|
void (*write_ctrl) (struct fritz_bcs *bcs, int which);
|
|
};
|
|
|