Commit 6a878184 authored by Jan Blunck's avatar Jan Blunck Committed by Linus Torvalds

[PATCH] Eliminate __attribute__ ((packed)) warnings for gcc-4.1

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: default avatarJan Blunck <jblunck@suse.de>
Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent d8a33496
......@@ -396,17 +396,17 @@ struct isar_hw {
struct hdlc_stat_reg {
#ifdef __BIG_ENDIAN
u_char fill __attribute__((packed));
u_char mode __attribute__((packed));
u_char xml __attribute__((packed));
u_char cmd __attribute__((packed));
u_char fill;
u_char mode;
u_char xml;
u_char cmd;
#else
u_char cmd __attribute__((packed));
u_char xml __attribute__((packed));
u_char mode __attribute__((packed));
u_char fill __attribute__((packed));
u_char cmd;
u_char xml;
u_char mode;
u_char fill;
#endif
};
} __attribute__((packed));
struct hdlc_hw {
union {
......
......@@ -12,17 +12,17 @@ enum {
struct hdlc_stat_reg {
#ifdef __BIG_ENDIAN
u_char fill __attribute__((packed));
u_char mode __attribute__((packed));
u_char xml __attribute__((packed));
u_char cmd __attribute__((packed));
u_char fill;
u_char mode;
u_char xml;
u_char cmd;
#else
u_char cmd __attribute__((packed));
u_char xml __attribute__((packed));
u_char mode __attribute__((packed));
u_char fill __attribute__((packed));
u_char cmd;
u_char xml;
u_char mode;
u_char fill;
#endif
};
} __attribute__((packed));
struct fritz_bcs {
struct hisax_b_if b_if;
......
......@@ -32,43 +32,43 @@
struct mc32_mailbox
{
u16 mbox __attribute((packed));
u16 data[1] __attribute((packed));
};
u16 mbox;
u16 data[1];
} __attribute((packed));
struct skb_header
{
u8 status __attribute((packed));
u8 control __attribute((packed));
u16 next __attribute((packed)); /* Do not change! */
u16 length __attribute((packed));
u32 data __attribute((packed));
};
u8 status;
u8 control;
u16 next; /* Do not change! */
u16 length;
u32 data;
} __attribute((packed));
struct mc32_stats
{
/* RX Errors */
u32 rx_crc_errors __attribute((packed));
u32 rx_alignment_errors __attribute((packed));
u32 rx_overrun_errors __attribute((packed));
u32 rx_tooshort_errors __attribute((packed));
u32 rx_toolong_errors __attribute((packed));
u32 rx_outofresource_errors __attribute((packed));
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 __attribute((packed)); /* via card pattern match filter */
u32 rx_discarded; /* via card pattern match filter */
/* TX Errors */
u32 tx_max_collisions __attribute((packed));
u32 tx_carrier_errors __attribute((packed));
u32 tx_underrun_errors __attribute((packed));
u32 tx_cts_errors __attribute((packed));
u32 tx_timeout_errors __attribute((packed)) ;
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] __attribute((packed));
u16 dataB[5] __attribute((packed));
u32 dataC[14] __attribute((packed));
};
u32 dataA[6];
u16 dataB[5];
u32 dataC[14];
} __attribute((packed));
#define STATUS_MASK 0x0F
#define COMPLETED (1<<7)
......
......@@ -577,8 +577,8 @@ struct ring_descr_hw {
struct {
u8 addr_res[3];
volatile u8 status; /* descriptor status */
} rd_s __attribute__((packed));
} rd_u __attribute((packed));
} __attribute__((packed)) rd_s;
} __attribute((packed)) rd_u;
} __attribute__ ((packed));
#define rd_addr rd_u.addr
......
......@@ -329,9 +329,9 @@ static int sdla_cpuspeed(struct net_device *dev, struct ifreq *ifr)
struct _dlci_stat
{
short dlci __attribute__((packed));
char flags __attribute__((packed));
};
short dlci;
char flags;
} __attribute__((packed));
struct _frad_stat
{
......
......@@ -155,15 +155,15 @@ struct elapaarp {
#define AARP_REQUEST 1
#define AARP_REPLY 2
#define AARP_PROBE 3
__u8 hw_src[ETH_ALEN] __attribute__ ((packed));
__u8 pa_src_zero __attribute__ ((packed));
__be16 pa_src_net __attribute__ ((packed));
__u8 pa_src_node __attribute__ ((packed));
__u8 hw_dst[ETH_ALEN] __attribute__ ((packed));
__u8 pa_dst_zero __attribute__ ((packed));
__be16 pa_dst_net __attribute__ ((packed));
__u8 pa_dst_node __attribute__ ((packed));
};
__u8 hw_src[ETH_ALEN];
__u8 pa_src_zero;
__be16 pa_src_net;
__u8 pa_src_node;
__u8 hw_dst[ETH_ALEN];
__u8 pa_dst_zero;
__be16 pa_dst_net;
__u8 pa_dst_node;
} __attribute__ ((packed));
static __inline__ struct elapaarp *aarp_hdr(struct sk_buff *skb)
{
......
......@@ -38,11 +38,11 @@ extern unsigned int cycx_debug;
/* Data Structures */
/* X.25 Command Block. */
struct cycx_x25_cmd {
u16 command PACKED;
u16 link PACKED; /* values: 0 or 1 */
u16 len PACKED; /* values: 0 thru 0x205 (517) */
u32 buf PACKED;
};
u16 command;
u16 link; /* values: 0 or 1 */
u16 len; /* values: 0 thru 0x205 (517) */
u32 buf;
} PACKED;
/* Defines for the 'command' field. */
#define X25_CONNECT_REQUEST 0x4401
......@@ -92,34 +92,34 @@ struct cycx_x25_cmd {
* @flags - see dosx25.doc, in portuguese, for details
*/
struct cycx_x25_config {
u8 link PACKED;
u8 speed PACKED;
u8 clock PACKED;
u8 n2 PACKED;
u8 n2win PACKED;
u8 n3win PACKED;
u8 nvc PACKED;
u8 pktlen PACKED;
u8 locaddr PACKED;
u8 remaddr PACKED;
u16 t1 PACKED;
u16 t2 PACKED;
u8 t21 PACKED;
u8 npvc PACKED;
u8 t23 PACKED;
u8 flags PACKED;
};
u8 link;
u8 speed;
u8 clock;
u8 n2;
u8 n2win;
u8 n3win;
u8 nvc;
u8 pktlen;
u8 locaddr;
u8 remaddr;
u16 t1;
u16 t2;
u8 t21;
u8 npvc;
u8 t23;
u8 flags;
} PACKED;
struct cycx_x25_stats {
u16 rx_crc_errors PACKED;
u16 rx_over_errors PACKED;
u16 n2_tx_frames PACKED;
u16 n2_rx_frames PACKED;
u16 tx_timeouts PACKED;
u16 rx_timeouts PACKED;
u16 n3_tx_packets PACKED;
u16 n3_rx_packets PACKED;
u16 tx_aborts PACKED;
u16 rx_aborts PACKED;
};
u16 rx_crc_errors;
u16 rx_over_errors;
u16 n2_tx_frames;
u16 n2_rx_frames;
u16 tx_timeouts;
u16 rx_timeouts;
u16 n3_tx_packets;
u16 n3_rx_packets;
u16 tx_aborts;
u16 rx_aborts;
} PACKED;
#endif /* _CYCX_X25_H */
......@@ -131,17 +131,17 @@ struct frad_conf
/* these are the fields of an RFC 1490 header */
struct frhdr
{
unsigned char control __attribute__((packed));
unsigned char control;
/* for IP packets, this can be the NLPID */
unsigned char pad __attribute__((packed));
unsigned char pad;
unsigned char NLPID __attribute__((packed));
unsigned char OUI[3] __attribute__((packed));
unsigned short PID __attribute__((packed));
unsigned char NLPID;
unsigned char OUI[3];
unsigned short PID;
#define IP_NLPID pad
};
} __attribute__((packed));
/* see RFC 1490 for the definition of the following */
#define FRAD_I_UI 0x03
......
......@@ -282,43 +282,43 @@ typedef struct setup_parm {
typedef struct T30_s {
/* session parameters */
__u8 resolution __attribute__ ((packed));
__u8 rate __attribute__ ((packed));
__u8 width __attribute__ ((packed));
__u8 length __attribute__ ((packed));
__u8 compression __attribute__ ((packed));
__u8 ecm __attribute__ ((packed));
__u8 binary __attribute__ ((packed));
__u8 scantime __attribute__ ((packed));
__u8 id[FAXIDLEN] __attribute__ ((packed));
__u8 resolution;
__u8 rate;
__u8 width;
__u8 length;
__u8 compression;
__u8 ecm;
__u8 binary;
__u8 scantime;
__u8 id[FAXIDLEN];
/* additional parameters */
__u8 phase __attribute__ ((packed));
__u8 direction __attribute__ ((packed));
__u8 code __attribute__ ((packed));
__u8 badlin __attribute__ ((packed));
__u8 badmul __attribute__ ((packed));
__u8 bor __attribute__ ((packed));
__u8 fet __attribute__ ((packed));
__u8 pollid[FAXIDLEN] __attribute__ ((packed));
__u8 cq __attribute__ ((packed));
__u8 cr __attribute__ ((packed));
__u8 ctcrty __attribute__ ((packed));
__u8 minsp __attribute__ ((packed));
__u8 phcto __attribute__ ((packed));
__u8 rel __attribute__ ((packed));
__u8 nbc __attribute__ ((packed));
__u8 phase;
__u8 direction;
__u8 code;
__u8 badlin;
__u8 badmul;
__u8 bor;
__u8 fet;
__u8 pollid[FAXIDLEN];
__u8 cq;
__u8 cr;
__u8 ctcrty;
__u8 minsp;
__u8 phcto;
__u8 rel;
__u8 nbc;
/* remote station parameters */
__u8 r_resolution __attribute__ ((packed));
__u8 r_rate __attribute__ ((packed));
__u8 r_width __attribute__ ((packed));
__u8 r_length __attribute__ ((packed));
__u8 r_compression __attribute__ ((packed));
__u8 r_ecm __attribute__ ((packed));
__u8 r_binary __attribute__ ((packed));
__u8 r_scantime __attribute__ ((packed));
__u8 r_id[FAXIDLEN] __attribute__ ((packed));
__u8 r_code __attribute__ ((packed));
} T30_s;
__u8 r_resolution;
__u8 r_rate;
__u8 r_width;
__u8 r_length;
__u8 r_compression;
__u8 r_ecm;
__u8 r_binary;
__u8 r_scantime;
__u8 r_id[FAXIDLEN];
__u8 r_code;
} __attribute__((packed)) T30_s;
#define ISDN_TTY_FAX_CONN_IN 0
#define ISDN_TTY_FAX_CONN_OUT 1
......
......@@ -20,29 +20,29 @@
#define NCP_DEALLOC_SLOT_REQUEST (0x5555)
struct ncp_request_header {
__u16 type __attribute__((packed));
__u8 sequence __attribute__((packed));
__u8 conn_low __attribute__((packed));
__u8 task __attribute__((packed));
__u8 conn_high __attribute__((packed));
__u8 function __attribute__((packed));
__u8 data[0] __attribute__((packed));
};
__u16 type;
__u8 sequence;
__u8 conn_low;
__u8 task;
__u8 conn_high;
__u8 function;
__u8 data[0];
} __attribute__((packed));
#define NCP_REPLY (0x3333)
#define NCP_WATCHDOG (0x3E3E)
#define NCP_POSITIVE_ACK (0x9999)
struct ncp_reply_header {
__u16 type __attribute__((packed));
__u8 sequence __attribute__((packed));
__u8 conn_low __attribute__((packed));
__u8 task __attribute__((packed));
__u8 conn_high __attribute__((packed));
__u8 completion_code __attribute__((packed));
__u8 connection_state __attribute__((packed));
__u8 data[0] __attribute__((packed));
};
__u16 type;
__u8 sequence;
__u8 conn_low;
__u8 task;
__u8 conn_high;
__u8 completion_code;
__u8 connection_state;
__u8 data[0];
} __attribute__((packed));
#define NCP_VOLNAME_LEN (16)
#define NCP_NUMBER_OF_VOLUMES (256)
......@@ -128,37 +128,37 @@ struct nw_nfs_info {
};
struct nw_info_struct {
__u32 spaceAlloc __attribute__((packed));
__le32 attributes __attribute__((packed));
__u16 flags __attribute__((packed));
__le32 dataStreamSize __attribute__((packed));
__le32 totalStreamSize __attribute__((packed));
__u16 numberOfStreams __attribute__((packed));
__le16 creationTime __attribute__((packed));
__le16 creationDate __attribute__((packed));
__u32 creatorID __attribute__((packed));
__le16 modifyTime __attribute__((packed));
__le16 modifyDate __attribute__((packed));
__u32 modifierID __attribute__((packed));
__le16 lastAccessDate __attribute__((packed));
__u16 archiveTime __attribute__((packed));
__u16 archiveDate __attribute__((packed));
__u32 archiverID __attribute__((packed));
__u16 inheritedRightsMask __attribute__((packed));
__le32 dirEntNum __attribute__((packed));
__le32 DosDirNum __attribute__((packed));
__u32 volNumber __attribute__((packed));
__u32 EADataSize __attribute__((packed));
__u32 EAKeyCount __attribute__((packed));
__u32 EAKeySize __attribute__((packed));
__u32 NSCreator __attribute__((packed));
__u8 nameLen __attribute__((packed));
__u8 entryName[256] __attribute__((packed));
__u32 spaceAlloc;
__le32 attributes;
__u16 flags;
__le32 dataStreamSize;
__le32 totalStreamSize;
__u16 numberOfStreams;
__le16 creationTime;
__le16 creationDate;
__u32 creatorID;
__le16 modifyTime;
__le16 modifyDate;
__u32 modifierID;
__le16 lastAccessDate;
__u16 archiveTime;
__u16 archiveDate;
__u32 archiverID;
__u16 inheritedRightsMask;
__le32 dirEntNum;
__le32 DosDirNum;
__u32 volNumber;
__u32 EADataSize;
__u32 EAKeyCount;
__u32 EAKeySize;
__u32 NSCreator;
__u8 nameLen;
__u8 entryName[256];
/* libncp may depend on there being nothing after entryName */
#ifdef __KERNEL__
struct nw_nfs_info nfs;
#endif
};
} __attribute__((packed));
/* modify mask - use with MODIFY_DOS_INFO structure */
#define DM_ATTRIBUTES (cpu_to_le32(0x02))
......@@ -176,26 +176,26 @@ struct nw_info_struct {
#define DM_MAXIMUM_SPACE (cpu_to_le32(0x2000))
struct nw_modify_dos_info {
__le32 attributes __attribute__((packed));
__le16 creationDate __attribute__((packed));
__le16 creationTime __attribute__((packed));
__u32 creatorID __attribute__((packed));
__le16 modifyDate __attribute__((packed));
__le16 modifyTime __attribute__((packed));
__u32 modifierID __attribute__((packed));
__u16 archiveDate __attribute__((packed));
__u16 archiveTime __attribute__((packed));
__u32 archiverID __attribute__((packed));
__le16 lastAccessDate __attribute__((packed));
__u16 inheritanceGrantMask __attribute__((packed));
__u16 inheritanceRevokeMask __attribute__((packed));
__u32 maximumSpace __attribute__((packed));
};
__le32 attributes;
__le16 creationDate;
__le16 creationTime;
__u32 creatorID;
__le16 modifyDate;
__le16 modifyTime;
__u32 modifierID;
__u16 archiveDate;
__u16 archiveTime;
__u32 archiverID;
__le16 lastAccessDate;
__u16 inheritanceGrantMask;
__u16 inheritanceRevokeMask;
__u32 maximumSpace;
} __attribute__((packed));
struct nw_search_sequence {
__u8 volNumber __attribute__((packed));
__u32 dirBase __attribute__((packed));
__u32 sequence __attribute__((packed));
};
__u8 volNumber;
__u32 dirBase;
__u32 sequence;
} __attribute__((packed));
#endif /* _LINUX_NCP_H */
......@@ -293,46 +293,46 @@ void sdla(void *cfg_info, char *dev, struct frad_conf *conf, int quiet);
#define SDLA_S508_INTEN 0x10
struct sdla_cmd {
char opp_flag __attribute__((packed));
char cmd __attribute__((packed));
short length __attribute__((packed));
char retval __attribute__((packed));
short dlci __attribute__((packed));
char flags __attribute__((packed));
short rxlost_int __attribute__((packed));
long rxlost_app __attribute__((packed));
char reserve[2] __attribute__((packed));
char data[SDLA_MAX_DATA] __attribute__((packed)); /* transfer data buffer */
};
char opp_flag;
char cmd;
short length;
char retval;
short dlci;
char flags;
short rxlost_int;
long rxlost_app;
char reserve[2];
char data[SDLA_MAX_DATA]; /* transfer data buffer */
} __attribute__((packed));
struct intr_info {
char flags __attribute__((packed));
short txlen __attribute__((packed));
char irq __attribute__((packed));
char flags2 __attribute__((packed));
short timeout __attribute__((packed));
};
char flags;
short txlen;
char irq;
char flags2;
short timeout;
} __attribute__((packed));
/* found in the 508's control window at RXBUF_INFO */
struct buf_info {
unsigned short rse_num __attribute__((packed));
unsigned long rse_base __attribute__((packed));
unsigned long rse_next __attribute__((packed));
unsigned long buf_base __attribute__((packed));
unsigned short reserved __attribute__((packed));
unsigned long buf_top __attribute__((packed));
};
unsigned short rse_num;
unsigned long rse_base;
unsigned long rse_next;
unsigned long buf_base;
unsigned short reserved;
unsigned long buf_top;
} __attribute__((packed));
/* structure pointed to by rse_base in RXBUF_INFO struct */
struct buf_entry {
char opp_flag __attribute__((packed));
short length __attribute__((packed));
short dlci __attribute__((packed));
char flags __attribute__((packed));
short timestamp __attribute__((packed));
short reserved[2] __attribute__((packed));
long buf_addr __attribute__((packed));
};
char opp_flag;
short length;
short dlci;
char flags;
short timestamp;
short reserved[2];
long buf_addr;
} __attribute__((packed));
#endif
......
......@@ -434,22 +434,22 @@ typedef struct wf_multisample {
} wavefront_multisample;
typedef struct wf_alias {
INT16 OriginalSample __attribute__ ((packed));
struct wf_sample_offset sampleStartOffset __attribute__ ((packed));
struct wf_sample_offset loopStartOffset __attribute__ ((packed));
struct wf_sample_offset sampleEndOffset __attribute__ ((packed));
struct wf_sample_offset loopEndOffset __attribute__ ((packed));
INT16 FrequencyBias __attribute__ ((packed));
UCHAR8 SampleResolution:2 __attribute__ ((packed));
UCHAR8 Unused1:1 __attribute__ ((packed));
UCHAR8 Loop:1 __attribute__ ((packed));
UCHAR8 Bidirectional:1 __attribute__ ((packed));
UCHAR8 Unused2:1 __attribute__ ((packed));
UCHAR8 Reverse:1 __attribute__ ((packed));
UCHAR8 Unused3:1 __attribute__ ((packed));
INT16 OriginalSample;
struct wf_sample_offset sampleStartOffset;
struct wf_sample_offset loopStartOffset;
struct wf_sample_offset sampleEndOffset;
struct wf_sample_offset loopEndOffset;
<