cleanup patch.
Use new __packed annotation in drivers/net/
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 {
        u16 mbox;
        u16 data[1];
-} __attribute((packed));
+} __packed;
 
 struct skb_header
 {
        u16 next;       /* Do not change! */
        u16 length;
        u32 data;
-} __attribute((packed));
+} __packed;
 
 struct mc32_stats
 {
        u32 dataA[6];
        u16 dataB[5];
        u32 dataC[14];
-} __attribute((packed));
+} __packed;
 
 #define STATUS_MASK    0x0F
 #define COMPLETED      (1<<7)
 
        __le32                  rx_ok_mcast;
        __le16                  tx_abort;
        __le16                  tx_underrun;
-} __attribute__((packed));
+} __packed;
 
 struct cp_extra_stats {
        unsigned long           rx_frags;
 
        __le16 buf_len;         /* Size of the receive buffer in host memory */
        u16 coalese;            /* Update consumer index to host after the
                                 * reception of this frame */
-       /* __attribute__ ((packed)) is required */
-} __attribute__ ((packed));
+       /* __packed is required */
+} __packed;
 
 /*
  * The L1 transmit packet descriptor is comprised of four 32-bit words.
 
                u16 time;                       /* + 0x7c     0x3e */
        } tx;
        _MSCAN_RESERVED_(32, 2);                /* + 0x7e          */
-} __attribute__ ((packed));
+} __packed;
 
 #undef _MSCAN_RESERVED_
 #define MSCAN_REGION   sizeof(struct mscan)
 
 };
 
 /* Main message type used between library and application */
-struct __attribute__ ((packed)) ems_cpc_msg {
+struct __packed ems_cpc_msg {
        u8 type;        /* type of message */
        u8 length;      /* length of data within union 'msg' */
        u8 msgid;       /* confirmation handle */
 
        u8      RxPktReady;
        u8      RxStatus;
        __le16  RxLen;
-} __attribute__((__packed__));
+} __packed;
 
 /*
  *  Received a packet and pass to upper layer
 
                        u8 immediate_data[SWQE2_MAX_IMM];
                        /* 0xd0 */
                        struct ehea_vsgentry sg_list[EHEA_MAX_WQE_SG_ENTRIES-1];
-               } immdata_desc __attribute__ ((packed));
+               } immdata_desc __packed;
 
                /*  Send WQE Format 3 */
                struct {
 
                u16 length;
                u8 value[0];
        } tlv[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define VIC_PROVINFO_MAX_DATA          1385
 #define VIC_PROVINFO_MAX_TLV_DATA (VIC_PROVINFO_MAX_DATA - \
 
        u8 reserved[28];        /* Space holder */
        u32 utbipar;            /* TBI phy address reg (only on UCC) */
        u8 res4[2728];
-} __attribute__ ((packed));
+} __packed;
 
 int fsl_pq_mdio_read(struct mii_bus *bus, int mii_id, int regnum);
 int fsl_pq_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value);
 
   __u8 control;                 /*Slot control/status see below */
   __u32 address;                /*Slot buffer address */
 }
-__attribute__ ((packed));
+__packed;
 
 #define OBOE_NTASKS OBOE_TXRING_OFFSET_IN_SLOTS
 
 
        __u8  bmAdditionalBOFs;
        __u8  bIrdaRateSniff;
        __u8  bMaxUnicastList;
-} __attribute__ ((packed));
+} __packed;
 
 /* class specific interface request to get the IrDA-USB class descriptor
  * (6.2.5, USB-IrDA class spec 1.0) */
 
        __le32 baudrate;        /* baud rate, little endian */
        __u8 flags;
        __u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define KS_DATA_5_BITS 0x00
 #define KS_DATA_6_BITS 0x01
 
        __le32 baudrate;        /* baud rate, little endian */
        __u8 flags;
        __u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define KS_DATA_5_BITS 0x00
 #define KS_DATA_6_BITS 0x01
 
                struct {
                        u8              addr_res[3];
                        volatile u8     status;         /* descriptor status */
-               } __attribute__((packed)) rd_s;
-       } __attribute((packed)) rd_u;
-} __attribute__ ((packed));
+               } __packed rd_s;
+       } __packed rd_u;
+} __packed;
 
 #define rd_addr                rd_u.addr
 #define rd_status      rd_u.rd_s.status
 
                u32             raw[6];
                struct {
                        __be32  cqn;
-               } __attribute__((packed)) comp;
+               } __packed comp;
                struct {
                        u16     reserved1;
                        __be16  token;
                        u8      reserved3[3];
                        u8      status;
                        __be64  out_param;
-               } __attribute__((packed)) cmd;
+               } __packed cmd;
                struct {
                        __be32  qpn;
-               } __attribute__((packed)) qp;
+               } __packed qp;
                struct {
                        __be32  srqn;
-               } __attribute__((packed)) srq;
+               } __packed srq;
                struct {
                        __be32  cqn;
                        u32     reserved1;
                        u8      reserved2[3];
                        u8      syndrome;
-               } __attribute__((packed)) cq_err;
+               } __packed cq_err;
                struct {
                        u32     reserved1[2];
                        __be32  port;
-               } __attribute__((packed)) port_change;
+               } __packed port_change;
        }                       event;
        u8                      reserved3[3];
        u8                      owner;
-} __attribute__((packed));
+} __packed;
 
 static void eq_set_ci(struct mlx4_eq *eq, int req_not)
 {
 
        __be32 mtt_sz;
        __be32 entity_size;
        __be32 first_byte_offset;
-} __attribute__((packed));
+} __packed;
 
 #define MLX4_MPT_FLAG_SW_OWNS      (0xfUL << 28)
 #define MLX4_MPT_FLAG_FREE         (0x3UL << 28)
 
        u16 bss_type;    /* infra or adhoc */
        u16 auth_method; /* shared key or open */
        u16 op_mode; /* B/G */
-} __attribute__((packed));
+} __packed;
 
 
 /* for GELIC_EURUS_CMD_WEP_CFG */
        /* all fields are big endian */
        u16 security;
        u8 key[4][16];
-} __attribute__((packed));
+} __packed;
 
 /* for GELIC_EURUS_CMD_WPA_CFG */
 enum gelic_eurus_wpa_security {
        u16 security;
        u16 psk_type; /* psk key encoding type */
        u8 psk[GELIC_WL_EURUS_PSK_MAX_LEN]; /* psk key; hex or passphrase */
-} __attribute__((packed));
+} __packed;
 
 /* for GELIC_EURUS_CMD_{START,GET}_SCAN */
 enum gelic_eurus_scan_capability {
        __be32 reserved3;
        __be32 reserved4;
        u8 elements[0]; /* ie */
-} __attribute__ ((packed));
+} __packed;
 
 /* the hypervisor returns bbs up to 16 */
 #define GELIC_EURUS_MAX_SCAN  (16)
 struct gelic_eurus_rssi_info {
        /* big endian */
        __be16 rssi;
-} __attribute__ ((packed));
+} __packed;
 
 
 /* for 'stat' member of gelic_wl_info */
 
 #define TX_DESC_LEN_MASK       0x000fffff
 #define TX_DESC_C      0x40000000
 #define TX_DESC_E      0x80000000
-} __attribute((packed));
+} __packed;
 
 /*
  * IOCB Definitions...
        __le16 vlan_tci;
        __le16 reserved4;
        struct tx_buf_desc tbd[TX_DESC_PER_IOCB];
-} __attribute((packed));
+} __packed;
 
 struct ob_mac_iocb_rsp {
        u8 opcode;              /* */
        u32 tid;
        u32 txq_idx;
        __le32 reserved[13];
-} __attribute((packed));
+} __packed;
 
 struct ob_mac_tso_iocb_req {
        u8 opcode;
        __le16 vlan_tci;
        __le16 mss;
        struct tx_buf_desc tbd[TX_DESC_PER_IOCB];
-} __attribute((packed));
+} __packed;
 
 struct ob_mac_tso_iocb_rsp {
        u8 opcode;
        u32 tid;
        u32 txq_idx;
        __le32 reserved2[13];
-} __attribute((packed));
+} __packed;
 
 struct ib_mac_iocb_rsp {
        u8 opcode;              /* 0x20 */
 #define IB_MAC_IOCB_RSP_HL     0x80
        __le32 hdr_len;         /* */
        __le64 hdr_addr;        /* */
-} __attribute((packed));
+} __packed;
 
 struct ib_ae_iocb_rsp {
        u8 opcode;
 #define PCI_ERR_ANON_BUF_RD        0x40
        u8 q_id;
        __le32 reserved[15];
-} __attribute((packed));
+} __packed;
 
 /*
  * These three structures are for generic
        __le16 length;
        __le32 tid;
        __le32 reserved[14];
-} __attribute((packed));
+} __packed;
 
 struct net_req_iocb {
        u8 opcode;
        __le16 flags1;
        __le32 tid;
        __le32 reserved1[30];
-} __attribute((packed));
+} __packed;
 
 /*
  * tx ring initialization control block for chip.
        __le16 rid;
        __le64 addr;
        __le64 cnsmr_idx_addr;
-} __attribute((packed));
+} __packed;
 
 /*
  * rx ring initialization control block for chip.
        __le64 sbq_addr;
        __le16 sbq_buf_size;
        __le16 sbq_len;         /* entry count */
-} __attribute((packed));
+} __packed;
 
 struct ricb {
        u8 base_cq;
        u8 hash_cq_id[1024];
        __le32 ipv6_hash_key[10];
        __le32 ipv4_hash_key[4];
-} __attribute((packed));
+} __packed;
 
 /* SOFTWARE/DRIVER DATA STRUCTURES. */
 
 
        struct udphdr udp;
        __be16 iteration;
        const char msg[64];
-} __attribute__ ((packed));
+} __packed;
 
 /* Loopback test source MAC address */
 static const unsigned char payload_source[ETH_ALEN] = {
 
        __le16  length; /* also vlan tag or checksum start */
        u8      ctrl;
        u8      opcode;
-} __attribute((packed));
+} __packed;
 
 struct sky2_rx_le {
        __le32  addr;
        __le16  length;
        u8      ctrl;
        u8      opcode;
-} __attribute((packed));
+} __packed;
 
 struct sky2_status_le {
        __le32  status; /* also checksum */
        __le16  length; /* also vlan tag */
        u8      css;
        u8      opcode;
-} __attribute((packed));
+} __packed;
 
 struct tx_ring_info {
        struct sk_buff  *skb;
 
        u32 va_lo;
        u32 va_hi;
        struct pbl pbl[0];      /* Fragments */
-} __attribute__ ((packed));
+} __packed;
 
 /* Register region size */
 #define BDX_REGS_SIZE    0x1000
 
        u16                     csr13;
        u16                     csr14;
        u16                     csr15;
-} __attribute__((packed));
+} __packed;
 
 struct de_srom_info_leaf {
        u16                     default_media;
        u8                      n_blocks;
        u8                      unused;
-} __attribute__((packed));
+} __packed;
 
 struct de_desc {
        __le32                  opts1;
 
        struct rx_free                  rxBuff[RXFREE_ENTRIES]  __3xp_aligned;
        u32                             zeroWord;
        struct tx_desc                  txHi[TXHI_ENTRIES];
-} __attribute__ ((packed));
+} __packed;
 
 struct rxbuff_ent {
        struct sk_buff *skb;
 
        volatile __le32 cmdCleared;
        volatile __le32 respReady;
        volatile __le32 rxHiReady;
-} __attribute__ ((packed));
+} __packed;
 
 /* The host<->Typhoon interface
  * Our means of communicating where things are
        __le32 rxHiAddr;
        __le32 rxHiAddrHi;
        __le32 rxHiSize;
-} __attribute__ ((packed));
+} __packed;
 
 /* The Typhoon transmit/fragment descriptor
  *
 #define TYPHOON_TX_PF_VLAN_MASK                cpu_to_le32(0x0ffff000)
 #define TYPHOON_TX_PF_INTERNAL         cpu_to_le32(0xf0000000)
 #define TYPHOON_TX_PF_VLAN_TAG_SHIFT   12
-} __attribute__ ((packed));
+} __packed;
 
 /* The TCP Segmentation offload option descriptor
  *
        __le32 respAddrLo;
        __le32 bytesTx;
        __le32 status;
-} __attribute__ ((packed));
+} __packed;
 
 /* The IPSEC Offload descriptor
  *
        __le32 sa1;
        __le32 sa2;
        __le32 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /* The Typhoon receive descriptor (Updated by NIC)
  *
 #define TYPHOON_RX_UNKNOWN_SA          cpu_to_le16(0x0100)
 #define TYPHOON_RX_ESP_FORMAT_ERR      cpu_to_le16(0x0200)
        __be32 vlanTag;
-} __attribute__ ((packed));
+} __packed;
 
 /* The Typhoon free buffer descriptor, used to give a buffer to the NIC
  *
        __le32 physAddrHi;
        u32 virtAddr;
        u32 virtAddrHi;
-} __attribute__ ((packed));
+} __packed;
 
 /* The Typhoon command descriptor, used for commands and responses
  *
        __le16 parm1;
        __le32 parm2;
        __le32 parm3;
-} __attribute__ ((packed));
+} __packed;
 
 /* The Typhoon response descriptor, see command descriptor for details
  */
        __le16 parm1;
        __le32 parm2;
        __le32 parm3;
-} __attribute__ ((packed));
+} __packed;
 
 #define INIT_COMMAND_NO_RESPONSE(x, command)                           \
        do { struct cmd_desc *_ptr = (x);                               \
 #define TYPHOON_LINK_HALF_DUPLEX       cpu_to_le32(0x00000000)
        __le32 unused2;
        __le32 unused3;
-} __attribute__ ((packed));
+} __packed;
 
 /* TYPHOON_CMD_XCVR_SELECT xcvr values (resp.parm1)
  */
        u32 index;
        u32 unused;
        u32 unused2;
-} __attribute__ ((packed));
+} __packed;
 
 /* TYPHOON_CMD_SET_OFFLOAD_TASKS bits (cmd.parm2 (Tx) & cmd.parm3 (Rx))
  * This is all for IPv4.
        __le32 numSections;
        __le32 startAddr;
        __le32 hmacDigest[5];
-} __attribute__ ((packed));
+} __packed;
 
 struct typhoon_section_header {
        __le32 len;
        u16 checksum;
        u16 reserved;
        __le32 startAddr;
-} __attribute__ ((packed));
+} __packed;
 
 /* The Typhoon Register offsets
  */
 
        u32 scar;               /* Statistics carry register */
        u32 scam;               /* Statistics caryy mask register */
        u8 res5[0x200 - 0x1c4];
-} __attribute__ ((packed));
+} __packed;
 
 /* UCC GETH TEMODR Register */
 #define TEMODER_TX_RMON_STATISTICS_ENABLE       0x0100 /* enable Tx statistics
 
 struct ucc_geth_thread_data_tx {
        u8 res0[104];
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_thread_data_rx {
        u8 res0[40];
-} __attribute__ ((packed));
+} __packed;
 
 /* Send Queue Queue-Descriptor */
 struct ucc_geth_send_queue_qd {
        u8 res0[0x8];
        u32 last_bd_completed_address;/* initialize to last entry in BD ring */
        u8 res1[0x30];
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_send_queue_mem_region {
        struct ucc_geth_send_queue_qd sqqd[NUM_TX_QUEUES];
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_thread_tx_pram {
        u8 res0[64];
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_thread_rx_pram {
        u8 res0[128];
-} __attribute__ ((packed));
+} __packed;
 
 #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING        64
 #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_8      64
                                      /**< weight factor for queues   */
        u32 minw;               /* temporary variable handled by QE */
        u8 res1[0x70 - 0x64];
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_tx_firmware_statistics_pram {
        u32 sicoltx;            /* single collision */
                                   and 1518 octets */
        u32 txpktsjumbo;        /* total packets (including bad) between 1024
                                   and MAXLength octets */
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_rx_firmware_statistics_pram {
        u32 frrxfcser;          /* frames with crc error */
                                   replaced */
        u32 insertvlan;         /* total frames that had their VLAN tag
                                   inserted */
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_rx_interrupt_coalescing_entry {
        u32 interruptcoalescingmaxvalue;        /* interrupt coalescing max
        u32 interruptcoalescingcounter; /* interrupt coalescing counter,
                                           initialize to
                                           interruptcoalescingmaxvalue */
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_rx_interrupt_coalescing_table {
        struct ucc_geth_rx_interrupt_coalescing_entry coalescingentry[NUM_RX_QUEUES];
                                       /**< interrupt coalescing entry */
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_rx_prefetched_bds {
        struct qe_bd bd[NUM_BDS_IN_PREFETCHED_BDS];     /* prefetched bd */
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_rx_bd_queues_entry {
        u32 bdbaseptr;          /* BD base pointer */
        u32 bdptr;              /* BD pointer */
        u32 externalbdbaseptr;  /* external BD base pointer */
        u32 externalbdptr;      /* external BD pointer */
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_tx_global_pram {
        u16 temoder;
        u32 tqptr;              /* a base pointer to the Tx Queues Memory
                                   Region */
        u8 res2[0x80 - 0x74];
-} __attribute__ ((packed));
+} __packed;
 
 /* structure representing Extended Filtering Global Parameters in PRAM */
 struct ucc_geth_exf_global_pram {
        u32 l2pcdptr;           /* individual address filter, high */
        u8 res0[0x10 - 0x04];
-} __attribute__ ((packed));
+} __packed;
 
 struct ucc_geth_rx_global_pram {
        u32 remoder;            /* ethernet mode reg. */
        u32 exfGlobalParam;     /* base address for extended filtering global
                                   parameters */
        u8 res6[0x100 - 0xC4];  /* Initialize to zero */
-} __attribute__ ((packed));
+} __packed;
 
 #define GRACEFUL_STOP_ACKNOWLEDGE_RX            0x01
 
        u32 txglobal;           /* tx global */
        u32 txthread[ENET_INIT_PARAM_MAX_ENTRIES_TX];   /* tx threads */
        u8 res3[0x1];
-} __attribute__ ((packed));
+} __packed;
 
 #define ENET_INIT_PARAM_RGF_SHIFT               (32 - 4)
 #define ENET_INIT_PARAM_TGF_SHIFT               (32 - 8)
        u16 h;                  /* address (MSB) */
        u16 m;                  /* address */
        u16 l;                  /* address (LSB) */
-} __attribute__ ((packed));
+} __packed;
 
 /* structure representing 82xx Address Filtering PRAM */
 struct ucc_geth_82xx_address_filtering_pram {
        struct ucc_geth_82xx_enet_address __iomem taddr;
        struct ucc_geth_82xx_enet_address __iomem paddr[NUM_OF_PADDRS];
        u8 res0[0x40 - 0x38];
-} __attribute__ ((packed));
+} __packed;
 
 /* GETH Tx firmware statistics structure, used when calling
    UCC_GETH_GetStatistics. */
                                   and 1518 octets */
        u32 txpktsjumbo;        /* total packets (including bad) between 1024
                                   and MAXLength octets */
-} __attribute__ ((packed));
+} __packed;
 
 /* GETH Rx firmware statistics structure, used when calling
    UCC_GETH_GetStatistics. */
                                   replaced */
        u32 insertvlan;         /* total frames that had their VLAN tag
                                   inserted */
-} __attribute__ ((packed));
+} __packed;
 
 /* GETH hardware statistics structure, used when calling
    UCC_GETH_GetStatistics. */
        u32 rbca;               /* Total number of frames received successfully
                                   that had destination address equal to the
                                   broadcast address */
-} __attribute__ ((packed));
+} __packed;
 
 /* UCC GETH Tx errors returned via TxConf callback */
 #define TX_ERRORS_DEF      0x0200
 
        __le16 res2;
        u8 status;
        __le16 res3;
-} __attribute__ ((packed));
+} __packed;
 
 static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
                            u16 size, void *data)
 
        u16 wIndex;
        u16 wLength;
        u16 UART_state_bitmap;
-} __attribute__((packed));
+} __packed;
 
 struct hso_tiocmget {
        struct mutex mutex;
 
        __le16 segment_size;
        __u16 max_multicast_filters;
        __u8 reserved3;
-} __attribute__ ((packed));
+} __packed;
 
 /****************************************************************
  *     kaweth_device
 
        // all else is optional, and must start with:
        // __le16       vendorId;       // from usb-if
        // __le16       productId;
-} __attribute__((__packed__));
+} __packed;
 
 #define        PAD_BYTE        ((unsigned char)0xAC)
 
 struct nc_trailer {
        __le16  packet_id;
-} __attribute__((__packed__));
+} __packed;
 
 // packets may use FLAG_FRAMING_NC and optional pad
 #define FRAMED_SIZE(mtu) (sizeof (struct nc_header) \
 
        u8 gw_addr_len; /* NW-supplied GW address len */
        u8 gw_addr[16]; /* NW-supplied GW address (bigendian) */
        u8 reserved[8];
-} __attribute__ ((packed));
+} __packed;
 
 #define SIERRA_NET_LSI_COMMON_LEN      4
 #define SIERRA_NET_LSI_UMTS_LEN        (sizeof(struct lsi_umts))
 
        __le32 pa_low;          /* Low 32 bit PCI address */
        __le16 pa_high;         /* Next 16 bit PCI address (48 total) */
        __le16 size;            /* bits 0--14 - frame size, bit 15 - enable int. */
-} __attribute__ ((__packed__));
+} __packed;
 
 /*
  *     Transmit descriptor
        __le16 vlan;
        u8 TCR;
        u8 cmd;                 /* bits 0--1 - TCPLS, bits 4--7 - CMDZ */
-} __attribute__ ((__packed__));
+} __packed;
 
 enum {
        TD_QUEUE = cpu_to_le16(0x8000)
        __le32 pa_low;
        __le16 pa_high;
        __le16 size;            /* bits 0--13 - size, bit 15 - queue */
-} __attribute__ ((__packed__));
+} __packed;
 
 struct tx_desc {
        struct tdesc0 tdesc0;
 
        volatile __le16 PatternCRC[8];  /* 0xB0 */
        volatile __le32 ByteMask[4][4]; /* 0xC0 */
-} __attribute__ ((__packed__));
+} __packed;
 
 
 enum hw_mib {
        u8 ar_sip[4];
        u8 ar_tha[ETH_ALEN];
        u8 ar_tip[4];
-} __attribute__ ((__packed__));
+} __packed;
 
 struct _magic_packet {
        u8 dest_mac[6];
        __be16 type;
        u8 MAC[16][6];
        u8 password[6];
-} __attribute__ ((__packed__));
+} __packed;
 
 /*
  *     Store for chip context when saving and restoring status. Not
 
        u16 len;                /* Data Length */
        u8 stat;                /* Status */
        u8 unused;              /* pads to 2-byte boundary */
-}__attribute__ ((packed)) pkt_desc;
+}__packed pkt_desc;
 
 
 /* Packet Descriptor Status bits */
 
        u8 address;
        u8 control;
        __be16 protocol;
-}__attribute__ ((packed));
+}__packed;
 
 
 struct cisco_packet {
        __be32 par2;
        __be16 rel;             /* reliability */
        __be32 time;
-}__attribute__ ((packed));
+}__packed;
 #define        CISCO_PACKET_LEN        18
 #define        CISCO_BIG_PACKET_LEN    20
 
 
        unsigned de:    1;
        unsigned ea2:   1;
 #endif
-}__attribute__ ((packed)) fr_hdr;
+}__packed fr_hdr;
 
 
 typedef struct pvc_device_struct {
 
 {
        short dlci;
        char  flags;
-} __attribute__((packed));
+} __packed;
 
 struct _frad_stat 
 {
 
        struct i2400m_l3l4_hdr hdr;
        struct i2400m_tlv_hdr tlv;
        __le32 val;
-} __attribute__((packed));
+} __packed;
 
 
 /*
 
        struct {
                struct i2400m_bootrom_header cmd;
                u8 cmd_payload[chunk_len];
-       } __attribute__((packed)) *buf;
+       } __packed *buf;
        struct i2400m_bootrom_header ack;
 
        d_fnstart(5, dev, "(i2400m %p chunk %p __chunk_len %zu addr 0x%08lx "
        struct {
                struct i2400m_bootrom_header cmd;
                u8 cmd_pl[0];
-       } __attribute__((packed)) *cmd_buf;
+       } __packed *cmd_buf;
        size_t signature_block_offset, signature_block_size;
 
        d_fnstart(3, dev, "offset %zu\n", offset);
        struct {
                struct i2400m_bootrom_header ack;
                u8 ack_pl[16];
-       } __attribute__((packed)) ack_buf;
+       } __packed ack_buf;
 
        d_fnstart(5, dev, "(i2400m %p)\n", i2400m);
        cmd = i2400m->bm_cmd_buf;
        struct {
                struct i2400m_bootrom_header cmd;
                struct i2400m_bcf_hdr cmd_pl;
-       } __attribute__((packed)) *cmd_buf;
+       } __packed *cmd_buf;
        struct i2400m_bootrom_header ack;
 
        d_fnstart(5, dev, "(i2400m %p bcf_hdr %p)\n", i2400m, bcf_hdr);
 
        struct {
                struct i2400m_l3l4_hdr hdr;
                struct i2400m_tlv_rf_operation sw_rf;
-       } __attribute__((packed)) *cmd;
+       } __packed *cmd;
        char strerr[32];
 
        d_fnstart(4, dev, "(wimax_dev %p state %d)\n", wimax_dev, state);
 
        __le32 FEMR;            /* 0x104 */
        __le32 FPSR;            /* 0x108 */
        __le32 FFER;            /* 0x10C */
-} __attribute__ ((packed));
+} __packed;
 
 /* CSR0 - PAR (PCI Address Register) */
 #define ADM8211_PAR_MWIE       (1 << 24)
        u8 entry_control;       // huh??
        u16 reserved_1;
        u32 reserved_2;
-} __attribute__ ((packed));
+} __packed;
 
 
 #define RX_COPY_BREAK 128
        u8      lnags_threshold[14];    /* 0x70 */
        __le16  checksum;               /* 0x7E */
        u8      cis_data[0];            /* 0x80, 384 bytes */
-} __attribute__ ((packed));
+} __packed;
 
 struct adm8211_priv {
        struct pci_dev *pdev;
 
        u8 mac[ETH_ALEN];
        __le16 klen;
        u8 key[16];
-} __attribute__ ((packed));
+} __packed;
 
 /* These structures are from the Aironet's PC4500 Developers Manual */
 typedef struct Ssid Ssid;
 struct Ssid {
        __le16 len;
        u8 ssid[32];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct SsidRid SsidRid;
 struct SsidRid {
        __le16 len;
        Ssid ssids[3];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct ModulationRid ModulationRid;
 struct ModulationRid {
 #define MOD_DEFAULT cpu_to_le16(0)
 #define MOD_CCK cpu_to_le16(1)
 #define MOD_MOK cpu_to_le16(2)
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct ConfigRid ConfigRid;
 struct ConfigRid {
 #define MAGIC_STAY_IN_CAM (1<<10)
        u8 magicControl;
        __le16 autoWake;
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct StatusRid StatusRid;
 struct StatusRid {
 #define STAT_LEAPFAILED 91
 #define STAT_LEAPTIMEDOUT 92
 #define STAT_LEAPCOMPLETE 93
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct StatsRid StatsRid;
 struct StatsRid {
        __le16 len;
        __le16 spacer;
        __le32 vals[100];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct APListRid APListRid;
 struct APListRid {
        __le16 len;
        u8 ap[4][ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct CapabilityRid CapabilityRid;
 struct CapabilityRid {
        __le16 bootBlockVer;
        __le16 requiredHard;
        __le16 extSoftCap;
-} __attribute__ ((packed));
+} __packed;
 
 /* Only present on firmware >= 5.30.17 */
 typedef struct BSSListRidExtra BSSListRidExtra;
   __le16 unknown[4];
   u8 fixed[12]; /* WLAN management frame */
   u8 iep[624];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct BSSListRid BSSListRid;
 struct BSSListRid {
 
   /* Only present on firmware >= 5.30.17 */
   BSSListRidExtra extra;
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct {
   BSSListRid bss;
 struct tdsRssiEntry {
   u8 rssipct;
   u8 rssidBm;
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct tdsRssiRid tdsRssiRid;
 struct tdsRssiRid {
   u16 len;
   tdsRssiEntry x[256];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct MICRid MICRid;
 struct MICRid {
        u8  multicast[16];
        __le16 unicastValid;
        u8  unicast[16];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct MICBuffer MICBuffer;
 struct MICBuffer {
        } u;
        __be32 mic;
        __be32 seq;
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct {
        u8 da[ETH_ALEN];
        u8 rate;
        u8 freq;
        __le16 tmp[4];
-} __attribute__ ((packed));
+} __packed;
 
 typedef struct {
        unsigned int  ctl: 15;
 
        unsigned char poll_timeout[3];
        unsigned char state;
        unsigned char string;
-} __attribute__((packed));
+} __packed;
 
 static inline int at76_is_intersil(enum board_type board)
 {
 
        u8 reserved2[14];
        u8 cr15_values[14];
        u8 reserved3[3];
-} __attribute__((packed));
+} __packed;
 
 struct hwcfg_rfmd {
        u8 cr20_values[14];
        u8 low_power_values[14];
        u8 normal_power_values[14];
        u8 reserved1[3];
-} __attribute__((packed));
+} __packed;
 
 struct hwcfg_intersil {
        u8 mac_addr[ETH_ALEN];
        u8 pidvid[4];
        u8 regulatory_domain;
        u8 reserved[1];
-} __attribute__((packed));
+} __packed;
 
 union at76_hwcfg {
        struct hwcfg_intersil i;
        u8 ssid_len;
        u8 short_preamble;
        __le16 beacon_period;
-} __attribute__((packed));
+} __packed;
 
 struct at76_command {
        u8 cmd;
        u8 reserved;
        __le16 size;
        u8 data[0];
-} __attribute__((packed));
+} __packed;
 
 /* Length of Atmel-specific Rx header before 802.11 frame */
 #define AT76_RX_HDRLEN offsetof(struct at76_rx_buffer, packet)
        u8 noise_level;
        __le32 rx_time;
        u8 packet[IEEE80211_MAX_FRAG_THRESHOLD];
-} __attribute__((packed));
+} __packed;
 
 /* Length of Atmel-specific Tx header before 802.11 frame */
 #define AT76_TX_HDRLEN offsetof(struct at76_tx_buffer, packet)
        u8 padding;
        u8 reserved[4];
        u8 packet[IEEE80211_MAX_FRAG_THRESHOLD];
-} __attribute__((packed));
+} __packed;
 
 /* defines for scan_type below */
 #define SCAN_TYPE_ACTIVE       0
        __le16 max_channel_time;
        u8 essid_size;
        u8 international_scan;
-} __attribute__((packed));
+} __packed;
 
 struct at76_req_ibss {
        u8 bssid[ETH_ALEN];
        u8 channel;
        u8 essid_size;
        u8 reserved[3];
-} __attribute__((packed));
+} __packed;
 
 struct at76_req_join {
        u8 bssid[ETH_ALEN];
        __le16 timeout;
        u8 essid_size;
        u8 reserved;
-} __attribute__((packed));
+} __packed;
 
 struct set_mib_buffer {
        u8 type;
                __le16 word;
                u8 addr[ETH_ALEN];
        } data;
-} __attribute__((packed));
+} __packed;
 
 struct mib_local {
        u16 reserved0;
        u16 reserved2;
        u8 preamble_type;
        u16 reserved3;
-} __attribute__((packed));
+} __packed;
 
 struct mib_mac_addr {
        u8 mac_addr[ETH_ALEN];
        u8 res[2];              /* ??? */
        u8 group_addr[4][ETH_ALEN];
        u8 group_addr_status[4];
-} __attribute__((packed));
+} __packed;
 
 struct mib_mac {
        __le32 max_tx_msdu_lifetime;
        u8 desired_bssid[ETH_ALEN];
        u8 desired_bsstype;     /* ad-hoc or infrastructure */
        u8 reserved2;
-} __attribute__((packed));
+} __packed;
 
 struct mib_mac_mgmt {
        __le16 beacon_period;
        u8 multi_domain_capability_enabled;
        u8 country_string[3];
        u8 reserved[3];
-} __attribute__((packed));
+} __packed;
 
 struct mib_mac_wep {
        u8 privacy_invoked;     /* 0 disable encr., 1 enable encr */
        __le32 wep_excluded_count;
        u8 wep_default_keyvalue[WEP_KEYS][WEP_LARGE_KEY_LEN];
        u8 encryption_level;    /* 1 for 40bit, 2 for 104bit encryption */
-} __attribute__((packed));
+} __packed;
 
 struct mib_phy {
        __le32 ed_threshold;
        u8 current_cca_mode;
        u8 phy_type;
        u8 current_reg_domain;
-} __attribute__((packed));
+} __packed;
 
 struct mib_fw_version {
        u8 major;
        u8 minor;
        u8 patch;
        u8 build;
-} __attribute__((packed));
+} __packed;
 
 struct mib_mdomain {
        u8 tx_powerlevel[14];
        u8 channel_list[14];    /* 0 for invalid channels */
-} __attribute__((packed));
+} __packed;
 
 struct at76_fw_header {
        __le32 crc;             /* CRC32 of the whole image */
        __le32 int_fw_len;      /* internal firmware image length */
        __le32 ext_fw_offset;   /* external firmware image offset */
        __le32 ext_fw_len;      /* external firmware image length */
-} __attribute__((packed));
+} __packed;
 
 /* a description of a regulatory domain and the allowed channels */
 struct reg_domain {
 
        /* Size of the data. For ucode and PCM this is in bytes.
         * For IV this is number-of-ivs. */
        __be32 size;
-} __attribute__((__packed__));
+} __packed;
 
 /* Initial Value file format */
 #define B43_IV_OFFSET_MASK     0x7FFF
        union {
                __be16 d16;
                __be32 d32;
-       } data __attribute__((__packed__));
-} __attribute__((__packed__));
+       } data __packed;
+} __packed;
 
 
 /* Data structures for DMA transmission, per 80211 core. */
 
 struct b43_dmadesc32 {
        __le32 control;
        __le32 address;
-} __attribute__ ((__packed__));
+} __packed;
 #define B43_DMA32_DCTL_BYTECNT         0x00001FFF
 #define B43_DMA32_DCTL_ADDREXT_MASK            0x00030000
 #define B43_DMA32_DCTL_ADDREXT_SHIFT   16
        __le32 control1;
        __le32 address_low;
        __le32 address_high;
-} __attribute__ ((__packed__));
+} __packed;
 #define B43_DMA64_DCTL0_DTABLEEND              0x10000000
 #define B43_DMA64_DCTL0_IRQ                    0x20000000
 #define B43_DMA64_DCTL0_FRAMEEND               0x40000000
        union {
                struct b43_dmadesc32 dma32;
                struct b43_dmadesc64 dma64;
-       } __attribute__ ((__packed__));
-} __attribute__ ((__packed__));
+       } __packed;
+} __packed;
 
 /* Misc DMA constants */
 #define B43_DMA_RINGMEMSIZE            PAGE_SIZE
 
                union {                         \
                        __le32 data;            \
                        __u8 raw[size];         \
-               } __attribute__((__packed__));  \
-       } __attribute__((__packed__))
+               } __packed;     \
+       } __packed
 
 /* struct b43_plcp_hdr4 */
 _b43_declare_plcp_hdr(4);
                        __u8 rts_frame[16];             /* The RTS frame (if used) */
                        PAD_BYTES(2);
                        struct b43_plcp_hdr6 plcp;      /* Main PLCP header */
-               } new_format __attribute__ ((__packed__));
+               } new_format __packed;
 
                /* The old r351 format. */
                struct {
                        __u8 rts_frame[16];             /* The RTS frame (if used) */
                        PAD_BYTES(2);
                        struct b43_plcp_hdr6 plcp;      /* Main PLCP header */
-               } old_format __attribute__ ((__packed__));
+               } old_format __packed;
 
-       } __attribute__ ((__packed__));
-} __attribute__ ((__packed__));
+       } __packed;
+} __packed;
 
 /* MAC TX control */
 #define B43_TXH_MAC_USEFBR             0x10000000 /* Use fallback rate for this AMPDU */
                struct {
                        __u8 jssi;      /* PHY RX Status 1: JSSI */
                        __u8 sig_qual;  /* PHY RX Status 1: Signal Quality */
-               } __attribute__ ((__packed__));
+               } __packed;
 
                /* RSSI for N-PHYs */
                struct {
                        __s8 power0;    /* PHY RX Status 1: Power 0 */
                        __s8 power1;    /* PHY RX Status 1: Power 1 */
-               } __attribute__ ((__packed__));
-       } __attribute__ ((__packed__));
+               } __packed;
+       } __packed;
        __le16 phy_status2;     /* PHY RX Status 2 */
        __le16 phy_status3;     /* PHY RX Status 3 */
        __le32 mac_status;      /* MAC RX status */
        __le16 mac_time;
        __le16 channel;
-} __attribute__ ((__packed__));
+} __packed;
 
 /* PHY RX Status 0 */
 #define B43_RX_PHYST0_GAINCTL          0x4000 /* Gain Control */
 
        /* Size of the data. For ucode and PCM this is in bytes.
         * For IV this is number-of-ivs. */
        __be32 size;
-} __attribute__((__packed__));
+} __packed;
 
 /* Initial Value file format */
 #define B43legacy_IV_OFFSET_MASK       0x7FFF
        union {
                __be16 d16;
                __be32 d32;
-       } data __attribute__((__packed__));
-} __attribute__((__packed__));
+       } data __packed;
+} __packed;
 
 #define B43legacy_PHYMODE(phytype)     (1 << (phytype))
 #define B43legacy_PHYMODE_B            B43legacy_PHYMODE       \
 
 struct b43legacy_dmadesc32 {
        __le32 control;
        __le32 address;
-} __attribute__((__packed__));
+} __packed;
 #define B43legacy_DMA32_DCTL_BYTECNT           0x00001FFF
 #define B43legacy_DMA32_DCTL_ADDREXT_MASK      0x00030000
 #define B43legacy_DMA32_DCTL_ADDREXT_SHIFT     16
        __le32 control1;
        __le32 address_low;
        __le32 address_high;
-} __attribute__((__packed__));
+} __packed;
 #define B43legacy_DMA64_DCTL0_DTABLEEND                0x10000000
 #define B43legacy_DMA64_DCTL0_IRQ              0x20000000
 #define B43legacy_DMA64_DCTL0_FRAMEEND         0x40000000
        union {
                struct b43legacy_dmadesc32 dma32;
                struct b43legacy_dmadesc64 dma64;
-       } __attribute__((__packed__));
-} __attribute__((__packed__));
+       } __packed;
+} __packed;
 
 
 /* Misc DMA constants */
 
                union {                         \
                        __le32 data;            \
                        __u8 raw[size];         \
-               } __attribute__((__packed__));  \
-       } __attribute__((__packed__))
+               } __packed;     \
+       } __packed
 
 /* struct b43legacy_plcp_hdr4 */
 _b43legacy_declare_plcp_hdr(4);
        struct b43legacy_plcp_hdr6 rts_plcp;    /* RTS PLCP */
        __u8 rts_frame[18];                     /* The RTS frame (if used) */
        struct b43legacy_plcp_hdr6 plcp;
-} __attribute__((__packed__));
+} __packed;
 
 /* MAC TX control */
 #define B43legacy_TX4_MAC_KEYIDX       0x0FF00000 /* Security key index */
        __le16 seq;
        u8 phy_stat;
        PAD_BYTES(1);
-} __attribute__((__packed__));
+} __packed;
 
 
 /* Receive header for v3 firmware. */
        __le16 mac_status;      /* MAC RX status */
        __le16 mac_time;
        __le16 channel;
-} __attribute__((__packed__));
+} __packed;
 
 
 /* PHY RX Status 0 */
 
                        __le16 status_code;
                        /* possibly followed by Challenge text */
                        u8 variable[0];
-               } __attribute__ ((packed)) auth;
+               } __packed auth;
                struct {
                        __le16 reason_code;
-               } __attribute__ ((packed)) deauth;
+               } __packed deauth;
                struct {
                        __le16 capab_info;
                        __le16 listen_interval;
                        /* followed by SSID and Supported rates */
                        u8 variable[0];
-               } __attribute__ ((packed)) assoc_req;
+               } __packed assoc_req;
                struct {
                        __le16 capab_info;
                        __le16 status_code;
                        __le16 aid;
                        /* followed by Supported rates */
                        u8 variable[0];
-               } __attribute__ ((packed)) assoc_resp, reassoc_resp;
+               } __packed assoc_resp, reassoc_resp;
                struct {
                        __le16 capab_info;
                        __le16 listen_interval;
                        u8 current_ap[6];
                        /* followed by SSID and Supported rates */
                        u8 variable[0];
-               } __attribute__ ((packed)) reassoc_req;
+               } __packed reassoc_req;
                struct {
                        __le16 reason_code;
-               } __attribute__ ((packed)) disassoc;
+               } __packed disassoc;
                struct {
-               } __attribute__ ((packed)) probe_req;
+               } __packed probe_req;
                struct {
                        u8 timestamp[8];
                        __le16 beacon_int;
                        /* followed by some of SSID, Supported rates,
                         * FH Params, DS Params, CF Params, IBSS Params, TIM */
                        u8 variable[0];
-               } __attribute__ ((packed)) beacon, probe_resp;
+               } __packed beacon, probe_resp;
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 
 #define IEEE80211_MGMT_HDR_LEN 24
 
        __le16 variant;
        __le16 major;
        __le16 minor;
-} __attribute__ ((packed));
+} __packed;
 
 #define HFA384X_COMP_ID_PRI 0x15
 #define HFA384X_COMP_ID_STA 0x1f
        __le16 variant;
        __le16 bottom;
        __le16 top;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct hfa384x_build_id
 {
        __le16 pri_seq;
        __le16 sec_seq;
-} __attribute__ ((packed));
+} __packed;
 
 /* FD01 - Download Buffer */
 struct hfa384x_rid_download_buffer
        __le16 page;
        __le16 offset;
        __le16 length;
-} __attribute__ ((packed));
+} __packed;
 
 /* BSS connection quality (RID FD43 range, RID FD51 dBm-normalized) */
 struct hfa384x_comms_quality {
        __le16 comm_qual; /* 0 .. 92 */
        __le16 signal_level; /* 27 .. 154 */
        __le16 noise_level; /* 27 .. 154 */
-} __attribute__ ((packed));
+} __packed;
 
 
 /* netdevice private ioctls (used, e.g., with iwpriv from user space) */
 
        u32 did;
        u16 status, len;
        u32 data;
-} __attribute__ ((packed));
+} __packed;
 
 struct linux_wlan_ng_prism_hdr {
        u32 msgcode, msglen;
        char devname[16];
        struct linux_wlan_ng_val hosttime, mactime, channel, rssi, sq, signal,
                noise, rate, istx, frmlen;
-} __attribute__ ((packed));
+} __packed;
 
 struct linux_wlan_ng_cap_hdr {
        __be32 version;
        __be32 ssi_noise;
        __be32 preamble;
        __be32 encoding;
-} __attribute__ ((packed));
+} __packed;
 
 struct hostap_radiotap_rx {
        struct ieee80211_radiotap_header hdr;
        __le16 chan_flags;
        s8 dbm_antsignal;
        s8 dbm_antnoise;
-} __attribute__ ((packed));
+} __packed;
 
 #define LWNG_CAP_DID_BASE   (4 | (1 << 6)) /* section 4, group 1 */
 #define LWNG_CAPHDR_VERSION 0x80211001
        __be16 len;
 
        /* followed by frame data; max 2304 bytes */
-} __attribute__ ((packed));
+} __packed;
 
 
 struct hfa384x_tx_frame {
        __be16 len;
 
        /* followed by frame data; max 2304 bytes */
-} __attribute__ ((packed));
+} __packed;
 
 
 struct hfa384x_rid_hdr
 {
        __le16 len;
        __le16 rid;
-} __attribute__ ((packed));
+} __packed;
 
 
 /* Macro for converting signal levels (range 27 .. 154) to wireless ext
 struct hfa384x_scan_request {
        __le16 channel_list;
        __le16 txrate; /* HFA384X_RATES_* */
-} __attribute__ ((packed));
+} __packed;
 
 struct hfa384x_hostscan_request {
        __le16 channel_list;
        __le16 txrate;
        __le16 target_ssid_len;
        u8 target_ssid[32];
-} __attribute__ ((packed));
+} __packed;
 
 struct hfa384x_join_request {
        u8 bssid[6];
        __le16 channel;
-} __attribute__ ((packed));
+} __packed;
 
 struct hfa384x_info_frame {
        __le16 len;
        __le16 type;
-} __attribute__ ((packed));
+} __packed;
 
 struct hfa384x_comm_tallies {
        __le16 tx_unicast_frames;
        __le16 rx_discards_wep_undecryptable;
        __le16 rx_message_in_msg_fragments;
        __le16 rx_message_in_bad_msg_fragments;
-} __attribute__ ((packed));
+} __packed;
 
 struct hfa384x_comm_tallies32 {
        __le32 tx_unicast_frames;
        __le32 rx_discards_wep_undecryptable;
        __le32 rx_message_in_msg_fragments;
        __le32 rx_message_in_bad_msg_fragments;
-} __attribute__ ((packed));
+} __packed;
 
 struct hfa384x_scan_result_hdr {
        __le16 reserved;
 #define HFA384X_SCAN_HOST_INITIATED 1
 #define HFA384X_SCAN_FIRMWARE_INITIATED 2
 #define HFA384X_SCAN_INQUIRY_FROM_HOST 3
-} __attribute__ ((packed));
+} __packed;
 
 #define HFA384X_SCAN_MAX_RESULTS 32
 
        u8 ssid[32];
        u8 sup_rates[10];
        __le16 rate;
-} __attribute__ ((packed));
+} __packed;
 
 struct hfa384x_hostscan_result {
        __le16 chid;
        u8 sup_rates[10];
        __le16 rate;
        __le16 atim;
-} __attribute__ ((packed));
+} __packed;
 
 struct comm_tallies_sums {
        unsigned int tx_unicast_frames;
 
        u8 auth_mode;
        u8 replay_counters_number;
        u8 unicast_using_group;
-} __attribute__ ((packed));
+} __packed;
 
 static int ipw2100_set_security_information(struct ipw2100_priv *priv,
                                            int auth_mode,
        short mode;
        unsigned int fw_size;
        unsigned int uc_size;
-} __attribute__ ((packed));
+} __packed;
 
 static int ipw2100_mod_firmware_load(struct ipw2100_fw *fw)
 {
 
                } fields;
                u8 field;
        } info;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw2100_bd {
        u32 host_addr;
         * 1st TBD) */
        u8 num_fragments;
        u8 reserved[6];
-} __attribute__ ((packed));
+} __packed;
 
 #define IPW_BD_QUEUE_LENGTH(n) (1<<n)
 #define IPW_BD_ALIGNMENT(L)    (L*sizeof(struct ipw2100_bd))
 #define IPW_STATUS_FLAG_WEP_ENCRYPTED  (1<<1)
 #define IPW_STATUS_FLAG_CRC_ERROR       (1<<2)
        u8 rssi;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw2100_status_queue {
        /* driver (virtual) pointer to queue */
        u32 reserved1[3];
        u32 *ordinal1_ptr;
        u32 *ordinal2_ptr;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw2100_data_header {
        u32 host_command_reg;
        u8 src_addr[ETH_ALEN];
        u8 dst_addr[ETH_ALEN];
        u16 fragment_size;
-} __attribute__ ((packed));
+} __packed;
 
 /* Host command data structure */
 struct host_command {
        u32 host_command_sequence;      // UNIQUE COMMAND NUMBER (ID)
        u32 host_command_length;        // LENGTH
        u32 host_command_parameters[HOST_COMMAND_PARAMS_REG_LEN];       // COMMAND PARAMETERS
-} __attribute__ ((packed));
+} __packed;
 
 typedef enum {
        POWER_ON_RESET,
        u32 hnhdr_size;         /* size in bytes of data
                                   or number of entries, if table.
                                   Does NOT include header */
-} __attribute__ ((packed));
+} __packed;
 
 #define MAX_KEY_SIZE   16
 #define        MAX_KEYS        8
                struct ipw2100_notification notification;
                struct ipw2100_cmd_header command;
        } rx_data;
-} __attribute__ ((packed));
+} __packed;
 
 /* Bit 0-7 are for 802.11b tx rates - .  Bit 5-7 are reserved */
 #define TX_RATE_1_MBIT              0x0001
 
        dma_addr_t dma_addr;            /**< physical addr for BD's */
        int low_mark;                  /**< low watermark, resume queue if free space more than this */
        int high_mark;                 /**< high watermark, stop queue if free space less than this */
-} __attribute__ ((packed)); /* XXX */
+} __packed; /* XXX */
 
 struct machdr32 {
        __le16 frame_ctl;
        __le16 seq_ctrl;                // more endians!
        u8 addr4[MACADRR_BYTE_LEN];
        __le16 qos_ctrl;
-} __attribute__ ((packed));
+} __packed;
 
 struct machdr30 {
        __le16 frame_ctl;
        u8 addr3[MACADRR_BYTE_LEN];
        __le16 seq_ctrl;                // more endians!
        u8 addr4[MACADRR_BYTE_LEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct machdr26 {
        __le16 frame_ctl;
        u8 addr3[MACADRR_BYTE_LEN];
        __le16 seq_ctrl;                // more endians!
        __le16 qos_ctrl;
-} __attribute__ ((packed));
+} __packed;
 
 struct machdr24 {
        __le16 frame_ctl;
        u8 addr2[MACADRR_BYTE_LEN];
        u8 addr3[MACADRR_BYTE_LEN];
        __le16 seq_ctrl;                // more endians!
-} __attribute__ ((packed));
+} __packed;
 
 // TX TFD with 32 byte MAC Header
 struct tx_tfd_32 {
        struct machdr32 mchdr;  // 32
        __le32 uivplaceholder[2];       // 8
-} __attribute__ ((packed));
+} __packed;
 
 // TX TFD with 30 byte MAC Header
 struct tx_tfd_30 {
        struct machdr30 mchdr;  // 30
        u8 reserved[2];         // 2
        __le32 uivplaceholder[2];       // 8
-} __attribute__ ((packed));
+} __packed;
 
 // tx tfd with 26 byte mac header
 struct tx_tfd_26 {
        u8 reserved1[2];        // 2
        __le32 uivplaceholder[2];       // 8
        u8 reserved2[4];        // 4
-} __attribute__ ((packed));
+} __packed;
 
 // tx tfd with 24 byte mac header
 struct tx_tfd_24 {
        struct machdr24 mchdr;  // 24
        __le32 uivplaceholder[2];       // 8
        u8 reserved[8];         // 8
-} __attribute__ ((packed));
+} __packed;
 
 #define DCT_WEP_KEY_FIELD_LENGTH 16
 
        u8 length;
        __le16 reserved;
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct tfd_data {
        /* Header */
        __le32 num_chunks;
        __le32 chunk_ptr[NUM_TFD_CHUNKS];
        __le16 chunk_len[NUM_TFD_CHUNKS];
-} __attribute__ ((packed));
+} __packed;
 
 struct txrx_control_flags {
        u8 message_type;
        u8 rx_seq_num;
        u8 control_bits;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 #define  TFD_SIZE                           128
 #define  TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH   (TFD_SIZE - sizeof(struct txrx_control_flags))
                struct tfd_command cmd;
                u8 raw[TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH];
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 typedef void destructor_func(const void *);
 
                __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS];
                __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS];
        } failed;
-} __attribute__ ((packed));
+} __packed;
 
 /* statistics command response */
 struct ipw_cmd_stats {
        __le16 rx_autodetec_no_ofdm;
        __le16 rx_autodetec_no_barker;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_channel_result {
        u8 channel_num;
        struct ipw_cmd_stats stats;
        u8 uReserved;
-} __attribute__ ((packed));
+} __packed;
 
 #define SCAN_COMPLETED_STATUS_COMPLETE  1
 #define SCAN_COMPLETED_STATUS_ABORTED   2
        u8 num_channels;
        u8 status;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_frag_length {
        __le16 frag_length;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_beacon_state {
        __le32 state;
        __le32 number;
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_tgi_tx_key {
        u8 key_state;
        u8 security_type;
        u8 station_index;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 #define SILENCE_OVER_THRESH (1)
 #define SILENCE_UNDER_THRESH (2)
        struct rate_histogram histogram;
        u8 silence_notification_type;   /* SILENCE_OVER/UNDER_THRESH */
        __le16 silence_count;
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_association {
        u8 state;
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_authenticate {
        u8 state;
        struct machdr24 addr;
        __le16 status;
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_calibration {
        u8 data[104];
-} __attribute__ ((packed));
+} __packed;
 
 struct notif_noise {
        __le32 value;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_rx_notification {
        u8 reserved[8];
                struct notif_noise noise;
                u8 raw[0];
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_rx_frame {
        __le32 reserved1;
        u8 rtscts_seen;         // 0x1 RTS seen ; 0x2 CTS seen
        __le16 length;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_rx_header {
        u8 message_type;
        u8 rx_seq_num;
        u8 control_bits;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_rx_packet {
        struct ipw_rx_header header;
                struct ipw_rx_frame frame;
                struct ipw_rx_notification notification;
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 #define IPW_RX_NOTIFICATION_SIZE sizeof(struct ipw_rx_header) + 12
 #define IPW_RX_FRAME_SIZE        (unsigned int)(sizeof(struct ipw_rx_header) + \
        dma_addr_t dma_addr;
        struct sk_buff *skb;
        struct list_head list;
-};                             /* Not transferred over network, so not  __attribute__ ((packed)) */
+};                             /* Not transferred over network, so not  __packed */
 
 struct ipw_rx_queue {
        struct ipw_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS];
        struct list_head rx_free;       /* Own an SKBs */
        struct list_head rx_used;       /* No SKB allocated */
        spinlock_t lock;
-};                             /* Not transferred over network, so not  __attribute__ ((packed)) */
+};                             /* Not transferred over network, so not  __packed */
 
 struct alive_command_responce {
        u8 alive_command;
        __le16 reserved4;
        u8 time_stamp[5];       /* month, day, year, hours, minutes */
        u8 ucode_valid;
-} __attribute__ ((packed));
+} __packed;
 
 #define IPW_MAX_RATES 12
 
 struct ipw_rates {
        u8 num_rates;
        u8 rates[IPW_MAX_RATES];
-} __attribute__ ((packed));
+} __packed;
 
 struct command_block {
        unsigned int control;
        u32 source_addr;
        u32 dest_addr;
        unsigned int status;
-} __attribute__ ((packed));
+} __packed;
 
 #define CB_NUMBER_OF_ELEMENTS_SMALL 64
 struct fw_image_desc {
        u8 accept_all_mgmt_frames;
        u8 pass_noise_stats_to_host;
        u8 reserved3;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_multicast_addr {
        u8 num_of_multicast_addresses;
        u8 mac2[6];
        u8 mac3[6];
        u8 mac4[6];
-} __attribute__ ((packed));
+} __packed;
 
 #define DCW_WEP_KEY_INDEX_MASK         0x03    /* bits [0:1] */
 #define DCW_WEP_KEY_SEC_TYPE_MASK      0x30    /* bits [4:5] */
        u8 key_index;
        u8 key_size;
        u8 key[16];
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_tgi_tx_key {
        u8 key_id;
        u8 flags;
        u8 key[16];
        __le32 tx_counter[2];
-} __attribute__ ((packed));
+} __packed;
 
 #define IPW_SCAN_CHANNELS 54
 
        __le16 dwell_time;
        u8 channels_list[IPW_SCAN_CHANNELS];
        u8 channels_reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        IPW_SCAN_PASSIVE_TILL_FIRST_BEACON_SCAN = 0,
        u8 scan_type[IPW_SCAN_CHANNELS / 2];
        u8 reserved;
        __le16 dwell_time[IPW_SCAN_TYPES];
-} __attribute__ ((packed));
+} __packed;
 
 static inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index)
 {
        u8 smr;
        u8 reserved1;
        __le16 reserved2;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_supported_rates {
        u8 ieee_mode;
        u8 purpose;
        u8 reserved;
        u8 supported_rates[IPW_MAX_RATES];
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_rts_threshold {
        __le16 rts_threshold;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_frag_threshold {
        __le16 frag_threshold;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_retry_limit {
        u8 short_retry_limit;
        u8 long_retry_limit;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_dino_config {
        __le32 dino_config_addr;
        __le16 dino_config_size;
        u8 dino_response;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_aironet_info {
        u8 id;
        u8 length;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_rx_key {
        u8 station_index;
        u8 station_address[6];
        u8 key_index;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_country_channel_info {
        u8 first_channel;
        u8 no_channels;
        s8 max_tx_power;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_country_info {
        u8 id;
        u8 length;
        u8 country_str[3];
        struct ipw_country_channel_info groups[7];
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_channel_tx_power {
        u8 channel_number;
        s8 tx_power;
-} __attribute__ ((packed));
+} __packed;
 
 #define SCAN_ASSOCIATED_INTERVAL (HZ)
 #define SCAN_INTERVAL (HZ / 10)
        u8 num_channels;
        u8 ieee_mode;
        struct ipw_channel_tx_power channels_tx_power[MAX_A_CHANNELS];
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_rsn_capabilities {
        u8 id;
        u8 length;
        __le16 version;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_sensitivity_calib {
        __le16 beacon_rssi_raw;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * Host command structure.
    * nParams=(len+3)/4+status_len
    */
        u32 param[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define STATUS_HCMD_ACTIVE      (1<<0) /**< host command in progress */
 
        u32 event;
        u32 time;
        u32 data;
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_fw_error {   /* XXX */
        unsigned long jiffies;
        struct ipw_error_elem *elem;
        struct ipw_event *log;
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 #ifdef CONFIG_IPW2200_PROMISCUOUS
 
        s8 rt_dbmnoise;
        u8 rt_antenna;  /* antenna number */
        u8 payload[0];  /* payload... */
-} __attribute__ ((packed));
+} __packed;
 #endif
 
 struct ipw_priv {
 struct ipw_fixed_rate {
        __le16 tx_rates;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 #define IPW_INDIRECT_ADDR_MASK (~0x3ul)
 
        u8 len;
        u16 reserved;
        u32 *param;
-} __attribute__ ((packed));    /* XXX */
+} __packed;    /* XXX */
 
 struct cmdlog_host_cmd {
        u8 cmd;
        u8 len;
        __le16 reserved;
        char param[124];
-} __attribute__ ((packed));
+} __packed;
 
 struct ipw_cmd_log {
        unsigned long jiffies;
 
        u8 ctrl;                /* always 0x03 */
        u8 oui[P80211_OUI_LEN]; /* organizational universal id */
 
-} __attribute__ ((packed));
+} __packed;
 
 #define SNAP_SIZE sizeof(struct libipw_snap_hdr)
 
        u8 keys[WEP_KEYS][SCM_KEY_LEN];
        u8 level;
        u16 flags;
-} __attribute__ ((packed));
+} __packed;
 
 /*
 
        __le16 duration_id;
        u8 addr1[ETH_ALEN];
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_hdr_2addr {
        __le16 frame_ctl;
        u8 addr1[ETH_ALEN];
        u8 addr2[ETH_ALEN];
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_hdr_3addr {
        __le16 frame_ctl;
        u8 addr3[ETH_ALEN];
        __le16 seq_ctl;
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_hdr_4addr {
        __le16 frame_ctl;
        __le16 seq_ctl;
        u8 addr4[ETH_ALEN];
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_hdr_3addrqos {
        __le16 frame_ctl;
        __le16 seq_ctl;
        u8 payload[0];
        __le16 qos_ctl;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_info_element {
        u8 id;
        u8 len;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * These are the data types that can make up management packets
        u16 listen_interval;
        struct {
                u16 association_id:14, reserved:2;
-       } __attribute__ ((packed));
+       } __packed;
        u32 time_stamp[2];
        u16 reason;
        u16 status;
        __le16 status;
        /* challenge */
        struct libipw_info_element info_element[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_channel_switch {
        u8 id;
        u8 mode;
        u8 channel;
        u8 count;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_action {
        struct libipw_hdr_3addr header;
                struct libipw_channel_switch channel_switch;
 
        } format;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_disassoc {
        struct libipw_hdr_3addr header;
        __le16 reason;
-} __attribute__ ((packed));
+} __packed;
 
 /* Alias deauth for disassoc */
 #define libipw_deauth libipw_disassoc
        struct libipw_hdr_3addr header;
        /* SSID, supported rates */
        struct libipw_info_element info_element[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_probe_response {
        struct libipw_hdr_3addr header;
        /* SSID, supported rates, FH params, DS params,
         * CF params, IBSS params, TIM (if beacon), RSN */
        struct libipw_info_element info_element[0];
-} __attribute__ ((packed));
+} __packed;
 
 /* Alias beacon for probe_response */
 #define libipw_beacon libipw_probe_response
        __le16 listen_interval;
        /* SSID, supported rates, RSN */
        struct libipw_info_element info_element[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_reassoc_request {
        struct libipw_hdr_3addr header;
        __le16 listen_interval;
        u8 current_ap[ETH_ALEN];
        struct libipw_info_element info_element[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_assoc_response {
        struct libipw_hdr_3addr header;
        __le16 aid;
        /* supported rates */
        struct libipw_info_element info_element[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_txb {
        u8 nr_frags;
        u8 qui_subtype;
        u8 version;
        u8 ac_info;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_qos_ac_parameter {
        u8 aci_aifsn;
        u8 ecw_min_max;
        __le16 tx_op_limit;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_qos_parameter_info {
        struct libipw_qos_information_element info_element;
        u8 reserved;
        struct libipw_qos_ac_parameter ac_params_record[QOS_QUEUE_NUM];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_qos_parameters {
        __le16 cw_min[QOS_QUEUE_NUM];
        u8 aifs[QOS_QUEUE_NUM];
        u8 flag[QOS_QUEUE_NUM];
        __le16 tx_op_limit[QOS_QUEUE_NUM];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_qos_data {
        struct libipw_qos_parameters parameters;
 struct libipw_tim_parameters {
        u8 tim_count;
        u8 tim_period;
-} __attribute__ ((packed));
+} __packed;
 
 /*******************************************************/
 
        __le64 start_time;
        __le16 duration;
        u8 map;
-} __attribute__ ((packed));
+} __packed;
 
 enum {                         /* libipw_measurement_request.mode */
        /* Bit 0 is reserved */
        u8 channel;
        __le64 start_time;
        __le16 duration;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_measurement_request {
        struct libipw_info_element ie;
        u8 mode;
        u8 type;
        struct libipw_measurement_params params[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_measurement_report {
        struct libipw_info_element ie;
        union {
                struct libipw_basic_report basic[0];
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_tpc_report {
        u8 transmit_power;
        u8 link_margin;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_channel_map {
        u8 channel;
        u8 map;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_ibss_dfs {
        struct libipw_info_element ie;
        u8 mode;
        u8 channel;
        u8 count;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_quiet {
        u8 count;
        u8 period;
        u8 duration;
        u8 offset;
-} __attribute__ ((packed));
+} __packed;
 
 struct libipw_network {
        /* These entries are used to identify a unique network */
 
 struct iwl3945_tfd_tb {
        __le32 addr;
        __le32 len;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl3945_tfd {
        __le32 control_flags;
        struct iwl3945_tfd_tb tbs[4];
        u8 __pad[28];
-} __attribute__ ((packed));
+} __packed;
 
 
 #endif /* __iwl_3945_fh_h__ */
 
        u8 gain_index;          /* index into power (gain) setup table ... */
        s8 power;               /* ... for this pwr level for this chnl group */
        u16 v_det;              /* PA output voltage */
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Mappings of Tx power levels -> nominal radio/DSP gain table indexes.
        u8 group_channel;       /* "representative" channel # in this band */
        s16 temperature;        /* h/w temperature at factory calib this band
                                 * (signed) */
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Temperature-based Tx-power compensation data, not band-specific.
        u32 Tc;
        u32 Td;
        u32 Te;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * EEPROM map
 /* abs.ofs: 512 */
        struct iwl3945_eeprom_temperature_corr corrections;  /* abs.ofs: 832 */
        u8 reserved16[172];     /* fill out to full 1024 byte block */
-} __attribute__ ((packed));
+} __packed;
 
 #define IWL3945_EEPROM_IMG_SIZE 1024
 
  * and &iwl3945_shared.rx_read_ptr[0] is provided to FH_RCSR_RPTR_ADDR(0) */
 struct iwl3945_shared {
        __le32 tx_base_ptr[8];
-} __attribute__ ((packed));
+} __packed;
 
 static inline u8 iwl3945_hw_get_rate(__le16 rate_n_flags)
 {
 
 struct iwl4965_scd_bc_tbl {
        __le16 tfd_offset[TFD_QUEUE_BC_SIZE];
        u8 pad[1024 - (TFD_QUEUE_BC_SIZE) * sizeof(__le16)];
-} __attribute__ ((packed));
+} __packed;
 
 #endif /* !__iwl_4965_hw_h__ */
 
  */
 struct iwlagn_scd_bc_tbl {
        __le16 tfd_offset[TFD_QUEUE_BC_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 
 #endif /* __iwl_agn_hw_h__ */
 
 
        /* command or response/notification data follows immediately */
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 
 /**
 struct iwl3945_tx_power {
        u8 tx_gain;             /* gain for analog radio */
        u8 dsp_atten;           /* gain for DSP */
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * struct iwl3945_power_per_rate
        u8 rate;                /* plcp */
        struct iwl3945_tx_power tpc;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * iwlagn rate_n_flags bit fields
  */
 struct tx_power_dual_stream {
        __le32 dw;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * struct iwl4965_tx_power_db
  */
 struct iwl4965_tx_power_db {
        struct tx_power_dual_stream power_tbl[POWER_TABLE_NUM_ENTRIES];
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * Command REPLY_TX_POWER_DBM_CMD = 0x98
        u8 flags;
        s8 srv_chan_lmt; /*in half-dBm (e.g. 30 = 15 dBm) */
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * Command TX_ANT_CONFIGURATION_CMD = 0x98
  */
 struct iwl_tx_ant_config_cmd {
        __le32 valid;
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (0a)
        __le32 therm_r4[2];     /* signed */
        __le32 tx_atten[5][2];  /* signed MIMO gain comp, 5 freq groups,
                                 * 2 Tx chains */
-} __attribute__ ((packed));
+} __packed;
 
 
 /**
        __le32 error_event_table_ptr;   /* SRAM address for error log */
        __le32 timestamp;
        __le32 is_valid;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_ERROR = 0x2 (response only, not a command)
        __le16 bad_cmd_seq_num;
        __le32 error_info;
        __le64 timestamp;
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (1)
        __le32 filter_flags;
        __le16 channel;
        __le16 reserved5;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_rxon_cmd {
        u8 node_addr[6];
        __le16 channel;
        u8 ofdm_ht_single_stream_basic_rates;
        u8 ofdm_ht_dual_stream_basic_rates;
-} __attribute__ ((packed));
+} __packed;
 
 /* 5000 HW just extend this command */
 struct iwl_rxon_cmd {
        u8 reserved5;
        __le16 acquisition_data;
        __le16 reserved6;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_RXON_ASSOC = 0x11 (command, has simple generic response)
        u8 ofdm_basic_rates;
        u8 cck_basic_rates;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_rxon_assoc_cmd {
        __le32 flags;
        u8 ofdm_ht_dual_stream_basic_rates;
        __le16 rx_chain_select_flags;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl5000_rxon_assoc_cmd {
        __le32 flags;
        __le16 rx_chain_select_flags;
        __le16 acquisition_data;
        __le32 reserved3;
-} __attribute__ ((packed));
+} __packed;
 
 #define IWL_CONN_MAX_LISTEN_INTERVAL   10
 #define IWL_MAX_UCODE_BEACON_INTERVAL  4 /* 4096 */
        __le32 beacon_init_val;
        __le16 listen_interval;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response)
        __le32 rxon_filter_flags;
        __le32 switch_time;
        struct iwl3945_power_per_rate power[IWL_MAX_RATES];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_channel_switch_cmd {
        u8 band;
        __le32 rxon_filter_flags;
        __le32 switch_time;
        struct iwl4965_tx_power_db tx_power;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * struct iwl5000_channel_switch_cmd
        __le32 rxon_filter_flags;
        __le32 switch_time;
        __le32 reserved[2][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES];
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * struct iwl6000_channel_switch_cmd
        __le32 rxon_filter_flags;
        __le32 switch_time;
        __le32 reserved[3][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command)
        __le16 band;
        __le16 channel;
        __le32 status;          /* 0 - OK, 1 - fail */
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (2)
        u8 aifsn;
        u8 reserved1;
        __le16 edca_txop;
-} __attribute__ ((packed));
+} __packed;
 
 /* QoS flags defines */
 #define QOS_PARAM_FLG_UPDATE_EDCA_MSK  cpu_to_le32(0x01)
 struct iwl_qosparam_cmd {
        __le32 qos_flags;
        struct iwl_ac_qos ac[AC_NUM];
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (3)
        u8 key_offset;
        u8 reserved2;
        u8 key[16];             /* 16-byte unicast decryption key */
-} __attribute__ ((packed));
+} __packed;
 
 /* 5000 */
 struct iwl_keyinfo {
        __le64 tx_secur_seq_cnt;
        __le64 hw_tkip_mic_rx_key;
        __le64 hw_tkip_mic_tx_key;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * struct sta_id_modify
        u8 sta_id;
        u8 modify_mask;
        __le16 reserved2;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_ADD_STA = 0x18 (command)
        /* Starting Sequence Number for added block-ack support.
         * Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */
        __le16 add_immediate_ba_ssn;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_addsta_cmd {
        u8 mode;                /* 1: modify existing, 0: add new station */
        __le16 sleep_tx_count;
 
        __le16 reserved2;
-} __attribute__ ((packed));
+} __packed;
 
 /* 5000 */
 struct iwl_addsta_cmd {
        __le16 sleep_tx_count;
 
        __le16 reserved2;
-} __attribute__ ((packed));
+} __packed;
 
 
 #define ADD_STA_SUCCESS_MSK            0x1
  */
 struct iwl_add_sta_resp {
        u8 status;      /* ADD_STA_* */
-} __attribute__ ((packed));
+} __packed;
 
 #define REM_STA_SUCCESS_MSK              0x1
 /*
  */
 struct iwl_rem_sta_resp {
        u8 status;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  *  REPLY_REM_STA = 0x19 (command)
        u8 reserved[3];
        u8 addr[ETH_ALEN]; /* MAC addr of the first station */
        u8 reserved2[2];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_WEP_KEY = 0x20
        u8 key_size;
        u8 reserved2[3];
        u8 key[16];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_wep_cmd {
        u8 num_keys;
        u8 flags;
        u8 reserved;
        struct iwl_wep_key key[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define WEP_KEY_WEP_TYPE 1
 #define WEP_KEYS_MAX 4
        __le16 sig_avg;
        __le16 noise_diff;
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl3945_rx_frame_hdr {
        __le16 channel;
        u8 rate;
        __le16 len;
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl3945_rx_frame_end {
        __le32 status;
        __le64 timestamp;
        __le32 beacon_timestamp;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_3945_RX = 0x1b (response only, not a command)
        struct iwl3945_rx_frame_stats stats;
        struct iwl3945_rx_frame_hdr hdr;
        struct iwl3945_rx_frame_end end;
-} __attribute__ ((packed));
+} __packed;
 
 #define IWL39_RX_FRAME_SIZE    (4 + sizeof(struct iwl3945_rx_frame))
 
        __le16 agc_info;        /* agc code 0:6, agc dB 7:13, reserved 14:15 */
        u8 rssi_info[6];        /* we use even entries, 0/2/4 for A/B/C rssi */
        u8 pad[0];
-} __attribute__ ((packed));
+} __packed;
 
 
 #define IWL50_RX_RES_PHY_CNT 8
 
 struct iwl5000_non_cfg_phy {
        __le32 non_cfg_phy[IWL50_RX_RES_PHY_CNT];  /* up to 8 phy entries */
-} __attribute__ ((packed));
+} __packed;
 
 
 /*
        __le32 rate_n_flags;    /* RATE_MCS_* */
        __le16 byte_count;      /* frame's byte-count */
        __le16 reserved3;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_rx_mpdu_res_start {
        __le16 byte_count;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 
 /******************************************************************************
         */
        u8 payload[0];
        struct ieee80211_hdr hdr[0];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_TX = 0x1c (response)
        u8 rate;
        __le32 wireless_media_time;
        __le32 status;          /* TX status */
-} __attribute__ ((packed));
+} __packed;
 
 
 /*
        u8 try_cnt;             /* Tx attempts */
        u8 bt_kill_cnt;         /* Tx attempts blocked by Bluetooth device */
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_tx_cmd {
        /*
         */
        u8 payload[0];
        struct ieee80211_hdr hdr[0];
-} __attribute__ ((packed));
+} __packed;
 
 /* TX command response is sent after *3945* transmission attempts.
  *
 struct agg_tx_status {
        __le16 status;
        __le16 sequence;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_tx_resp {
        u8 frame_count;         /* 1 no aggregation, >1 aggregation */
                __le32 status;
                struct agg_tx_status agg_status[0]; /* for each agg frame */
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * definitions for initial rate index field
         */
        struct agg_tx_status status;    /* TX status (in aggregation -
                                         * status of 1st frame) */
-} __attribute__ ((packed));
+} __packed;
 /*
  * REPLY_COMPRESSED_BA = 0xc5 (response only, not a command)
  *
        __le64 bitmap;
        __le16 scd_flow;
        __le16 scd_ssn;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_TX_PWR_TABLE_CMD = 0x97 (command, has simple generic response)
        u8 reserved;
        __le16 channel;
        struct iwl3945_power_per_rate power[IWL_MAX_RATES];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_txpowertable_cmd {
        u8 band;                /* 0: 5 GHz, 1: 2.4 GHz */
        u8 reserved;
        __le16 channel;
        struct iwl4965_tx_power_db tx_power;
-} __attribute__ ((packed));
+} __packed;
 
 
 /**
        __le16 rate_n_flags;
        u8 try_cnt;
        u8 next_rate_index;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl3945_rate_scaling_cmd {
        u8 table_id;
        u8 reserved[3];
        struct iwl3945_rate_scaling_info table[IWL_MAX_RATES];
-} __attribute__ ((packed));
+} __packed;
 
 
 /*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */
         * TX FIFOs above 3 use same value (typically 0) as TX FIFO 3.
         */
        u8 start_rate_index[LINK_QUAL_AC_NUM];
-} __attribute__ ((packed));
+} __packed;
 
 #define LINK_QUAL_AGG_TIME_LIMIT_DEF   (4000) /* 4 milliseconds */
 #define LINK_QUAL_AGG_TIME_LIMIT_MAX   (65535)
        u8 agg_frame_cnt_limit;
 
        __le32 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response)
                __le32 rate_n_flags;    /* RATE_MCS_*, IWL_RATE_* */
        } rs_table[LINK_QUAL_MAX_RETRY_NUM];
        __le32 reserved2;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * BT configuration enable flags:
        u8 reserved;
        __le32 kill_ack_mask;
        __le32 kill_cts_mask;
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (6)
        u8 channel;             /* channel to measure */
        u8 type;                /* see enum iwl_measure_type */
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command)
        __le16 channel_count;   /* minimum 1, maximum 10 */
        __le16 reserved3;
        struct iwl_measure_channel channels[10];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response)
        __le16 status;          /* 0 - command will be handled
                                 * 1 - cannot handle (conflicts with another
                                 *     measurement) */
-} __attribute__ ((packed));
+} __packed;
 
 enum iwl_measurement_state {
        IWL_MEASUREMENT_START = 0,
 struct iwl_measurement_histogram {
        __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */
        __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM];  /* in 1usec counts */
-} __attribute__ ((packed));
+} __packed;
 
 /* clear channel availability counters */
 struct iwl_measurement_cca_counters {
        __le32 ofdm;
        __le32 cck;
-} __attribute__ ((packed));
+} __packed;
 
 enum iwl_measure_type {
        IWL_MEASURE_BASIC = (1 << 0),
        struct iwl_measurement_histogram histogram;
        __le32 stop_time;       /* lower 32-bits of TSF */
        __le32 status;          /* see iwl_measurement_status */
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (7)
        __le32 rx_data_timeout;
        __le32 tx_data_timeout;
        __le32 sleep_interval[IWL_POWER_VEC_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_powertable_cmd {
        __le16 flags;
        __le32 tx_data_timeout;
        __le32 sleep_interval[IWL_POWER_VEC_SIZE];
        __le32 keep_alive_beacons;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command)
        __le32 sleep_time;
        __le32 tsf_low;
        __le32 bcon_timer;
-} __attribute__ ((packed));
+} __packed;
 
 /* Sleep states.  3945 and 4965 identical. */
 enum {
 #define CARD_STATE_CMD_HALT    0x02    /* Power down permanently */
 struct iwl_card_state_cmd {
        __le32 status;          /* CARD_STATE_CMD_* request new power state */
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command)
  */
 struct iwl_card_state_notif {
        __le32 flags;
-} __attribute__ ((packed));
+} __packed;
 
 #define HW_CARD_DISABLED   0x01
 #define SW_CARD_DISABLED   0x02
        __le32   reserved;
        __le32   critical_temperature_M;
        __le32   critical_temperature_R;
-}  __attribute__ ((packed));
+}  __packed;
 
 /* 1000, and 6x00 */
 struct iwl_ct_kill_throttling_config {
        __le32   critical_temperature_exit;
        __le32   reserved;
        __le32   critical_temperature_enter;
-}  __attribute__ ((packed));
+}  __packed;
 
 /******************************************************************************
  * (8)
        struct iwl3945_tx_power tpc;
        __le16 active_dwell;    /* in 1024-uSec TU (time units), typ 5-50 */
        __le16 passive_dwell;   /* in 1024-uSec TU (time units), typ 20-500 */
-} __attribute__ ((packed));
+} __packed;
 
 /* set number of direct probes u8 type */
 #define IWL39_SCAN_PROBE_MASK(n) ((BIT(n) | (BIT(n) - BIT(1))))
        u8 dsp_atten;           /* gain for DSP */
        __le16 active_dwell;    /* in 1024-uSec TU (time units), typ 5-50 */
        __le16 passive_dwell;   /* in 1024-uSec TU (time units), typ 20-500 */
-} __attribute__ ((packed));
+} __packed;
 
 /* set number of direct probes __le32 type */
 #define IWL_SCAN_PROBE_MASK(n)         cpu_to_le32((BIT(n) | (BIT(n) - BIT(1))))
        u8 id;
        u8 len;
        u8 ssid[32];
-} __attribute__ ((packed));
+} __packed;
 
 #define PROBE_OPTION_MAX_3945          4
 #define PROBE_OPTION_MAX               20
         * before requesting another scan.
         */
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_scan_cmd {
        __le16 len;
         * before requesting another scan.
         */
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 /* Can abort will notify by complete notification with abort status. */
 #define CAN_ABORT_STATUS       cpu_to_le32(0x1)
  */
 struct iwl_scanreq_notification {
        __le32 status;          /* 1: okay, 2: cannot fulfill request */
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * SCAN_START_NOTIFICATION = 0x82 (notification only, not a command)
        u8 band;
        u8 reserved[2];
        __le32 status;
-} __attribute__ ((packed));
+} __packed;
 
 #define  SCAN_OWNER_STATUS 0x1;
 #define  MEASURE_OWNER_STATUS 0x2;
        __le32 tsf_low;
        __le32 tsf_high;
        __le32 statistics[NUMBER_OF_STATISTICS];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * SCAN_COMPLETE_NOTIFICATION = 0x84 (notification only, not a command)
        u8 last_channel;
        __le32 tsf_low;
        __le32 tsf_high;
-} __attribute__ ((packed));
+} __packed;
 
 
 /******************************************************************************
        __le32 low_tsf;
        __le32 high_tsf;
        __le32 ibss_mgr_status;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl4965_beacon_notif {
        struct iwl4965_tx_resp beacon_notify_hdr;
        __le32 low_tsf;
        __le32 high_tsf;
        __le32 ibss_mgr_status;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * REPLY_TX_BEACON = 0x91 (command, has simple generic response)
        u8 tim_size;
        u8 reserved1;
        struct ieee80211_hdr frame[0];  /* beacon frame */
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_tx_beacon_cmd {
        struct iwl_tx_cmd tx;
        u8 tim_size;
        u8 reserved1;
        struct ieee80211_hdr frame[0];  /* beacon frame */
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (10)
                __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS];
                __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS];
        } failed;
-} __attribute__ ((packed));
+} __packed;
 
 /* statistics command response */
 
        __le32 rxe_frame_limit_overrun;
        __le32 sent_ack_cnt;
        __le32 sent_cts_cnt;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl39_statistics_rx_non_phy {
        __le32 bogus_cts;       /* CTS received when not expecting CTS */
                                 * filtering process */
        __le32 non_channel_beacons;     /* beacons with our bss id but not on
                                         * our serving channel */
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl39_statistics_rx {
        struct iwl39_statistics_rx_phy ofdm;
        struct iwl39_statistics_rx_phy cck;
        struct iwl39_statistics_rx_non_phy general;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl39_statistics_tx {
        __le32 preamble_cnt;
        __le32 ack_timeout;
        __le32 expected_ack_cnt;
        __le32 actual_ack_cnt;
-} __attribute__ ((packed));
+} __packed;
 
 struct statistics_dbg {
        __le32 burst_check;
        __le32 burst_count;
        __le32 reserved[4];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl39_statistics_div {
        __le32 tx_on_a;
        __le32 tx_on_b;
        __le32 exec_time;
        __le32 probe_time;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl39_statistics_general {
        __le32 temperature;
        __le32 slots_idle;
        __le32 ttl_timestamp;
        struct iwl39_statistics_div div;
-} __attribute__ ((packed));
+} __packed;
 
 struct statistics_rx_phy {
        __le32 ina_cnt;
        __le32 mh_format_err;
        __le32 re_acq_main_rssi_sum;
        __le32 reserved3;
-} __attribute__ ((packed));
+} __packed;
 
 struct statistics_rx_ht_phy {
        __le32 plcp_err;
        __le32 agg_mpdu_cnt;
        __le32 agg_cnt;
        __le32 unsupport_mcs;
-} __attribute__ ((packed));
+} __packed;
 
 #define INTERFERENCE_DATA_AVAILABLE      cpu_to_le32(1)
 
        __le32 beacon_energy_a;
        __le32 beacon_energy_b;
        __le32 beacon_energy_c;
-} __attribute__ ((packed));
+} __packed;
 
 struct statistics_rx {
        struct statistics_rx_phy ofdm;
        struct statistics_rx_phy cck;
        struct statistics_rx_non_phy general;
        struct statistics_rx_ht_phy ofdm_ht;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * struct statistics_tx_power - current tx power
        u8 ant_b;
        u8 ant_c;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct statistics_tx_non_phy_agg {
        __le32 ba_timeout;
        __le32 underrun;
        __le32 bt_prio_kill;
        __le32 rx_ba_rsp_cnt;
-} __attribute__ ((packed));
+} __packed;
 
 struct statistics_tx {
        __le32 preamble_cnt;
         */
        struct statistics_tx_power tx_power;
        __le32 reserved1;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct statistics_div {
        __le32 probe_time;
        __le32 reserved1;
        __le32 reserved2;
-} __attribute__ ((packed));
+} __packed;
 
 struct statistics_general {
        __le32 temperature;   /* radio temperature */
        __le32 num_of_sos_states;
        __le32 reserved2;
        __le32 reserved3;
-} __attribute__ ((packed));
+} __packed;
 
 #define UCODE_STATISTICS_CLEAR_MSK             (0x1 << 0)
 #define UCODE_STATISTICS_FREQUENCY_MSK         (0x1 << 1)
 #define IWL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */
 struct iwl_statistics_cmd {
        __le32 configuration_flags;     /* IWL_STATS_CONF_* */
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * STATISTICS_NOTIFICATION = 0x9d (notification only, not a command)
        struct iwl39_statistics_rx rx;
        struct iwl39_statistics_tx tx;
        struct iwl39_statistics_general general;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_notif_statistics {
        __le32 flag;
        struct statistics_rx rx;
        struct statistics_tx tx;
        struct statistics_general general;
-} __attribute__ ((packed));
+} __packed;
 
 
 /*
        __le32 total_missed_becons;
        __le32 num_expected_beacons;
        __le32 num_recvd_beacons;
-} __attribute__ ((packed));
+} __packed;
 
 
 /******************************************************************************
 struct iwl_sensitivity_cmd {
        __le16 control;                 /* always use "1" */
        __le16 table[HD_TABLE_SIZE];    /* use HD_* as index */
-} __attribute__ ((packed));
+} __packed;
 
 
 /**
        __le32 send_res;
        __le32 apply_res;
        __le32 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_calib_cfg_status_s {
        struct iwl_calib_cfg_elmnt_s once;
        struct iwl_calib_cfg_elmnt_s perd;
        __le32 flags;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_calib_cfg_cmd {
        struct iwl_calib_cfg_status_s ucd_calib_cfg;
        struct iwl_calib_cfg_status_s drv_calib_cfg;
        __le32 reserved1;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_calib_hdr {
        u8 op_code;
        u8 first_group;
        u8 groups_num;
        u8 data_valid;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_calib_cmd {
        struct iwl_calib_hdr hdr;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 /* IWL_PHY_CALIBRATE_DIFF_GAIN_CMD (7) */
 struct iwl_calib_diff_gain_cmd {
        s8 diff_gain_b;
        s8 diff_gain_c;
        u8 reserved1;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_calib_xtal_freq_cmd {
        struct iwl_calib_hdr hdr;
        u8 cap_pin1;
        u8 cap_pin2;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 /* IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */
 struct iwl_calib_chain_noise_reset_cmd {
        u8 delta_gain_1;
        u8 delta_gain_2;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 /******************************************************************************
  * (12)
        u8 on;                  /* # intervals on while blinking;
                                 * "0", regardless of "off", turns LED off */
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * station priority table entries
        u8 win_medium_prio;
        u8 reserved;
        u8 flags;
-} __attribute__ ((packed));
+} __packed;
 
 /* COEX flag masks */
 
        u8 flags;
        u8 reserved[3];
        struct iwl_wimax_coex_event_entry sta_prio[COEX_NUM_OF_EVENTS];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Coexistence MEDIUM NOTIFICATION
 struct iwl_coex_medium_notification {
        __le32 status;
        __le32 events;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Coexistence EVENT  Command
        u8 flags;
        u8 event;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwl_coex_event_resp {
        __le32 status;
-} __attribute__ ((packed));
+} __packed;
 
 
 /******************************************************************************
                __le32 status;
                u8 raw[0];
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 int iwl_agn_check_rxon_cmd(struct iwl_priv *priv);
 
 
                                * space more than this */
        int high_mark;         /* high watermark, stop queue if free
                                * space less than this */
-} __attribute__ ((packed));
+} __packed;
 
 /* One for each TFD */
 struct iwl_tx_info {
                struct iwl_tx_cmd tx;
                struct iwl6000_channel_switch_cmd chswitch;
                u8 payload[DEF_CMD_PAYLOAD_SIZE];
-       } __attribute__ ((packed)) cmd;
-} __attribute__ ((packed));
+       } __packed cmd;
+} __packed;
 
 #define TFD_MAX_PAYLOAD_SIZE (sizeof(struct iwl_device_cmd))
 
        __le16 alternative;     /* see comment */
        __le32 length;          /* not including type/length fields */
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define IWL_TLV_UCODE_MAGIC    0x0a4c5749
 
 
 struct iwl_eeprom_channel {
        u8 flags;               /* EEPROM_CHANNEL_* flags copied from EEPROM */
        s8 max_power_avg;       /* max power (dBm) on this chnl, limit 31 */
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * iwl_eeprom_enhanced_txpwr structure
        s8 reserved;
        s8 mimo2_max;
        s8 mimo3_max;
-} __attribute__ ((packed));
+} __packed;
 
 /* 3945 Specific */
 #define EEPROM_3945_EEPROM_VERSION     (0x2f)
        u8 gain_idx;            /* Index into gain table */
        u8 actual_pow;          /* Measured RF output power, half-dBm */
        s8 pa_det;              /* Power amp detector level (not used) */
-} __attribute__ ((packed));
+} __packed;
 
 
 /*
        struct iwl_eeprom_calib_measure
                measurements[EEPROM_TX_POWER_TX_CHAINS]
                        [EEPROM_TX_POWER_MEASUREMENTS];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * txpower subband info.
        u8 ch_to;       /* channel number of highest channel in subband */
        struct iwl_eeprom_calib_ch_info ch1;
        struct iwl_eeprom_calib_ch_info ch2;
-} __attribute__ ((packed));
+} __packed;
 
 
 /*
        __le16 voltage;         /* signed */
        struct iwl_eeprom_calib_subband_info
                band_info[EEPROM_TX_POWER_BANDS];
-} __attribute__ ((packed));
+} __packed;
 
 
 #define ADDRESS_MSK                 0x0000FFFF
 
        __le16 finished_rb_num;
        __le16 finished_fr_nam;
        __le32 __unused; /* 3945 only */
-} __attribute__ ((packed));
+} __packed;
 
 
 #define TFD_QUEUE_SIZE_MAX      (256)
 struct iwl_tfd_tb {
        __le32 lo;
        __le16 hi_n_len;
-} __attribute__((packed));
+} __packed;
 
 /**
  * struct iwl_tfd
        u8 num_tbs;
        struct iwl_tfd_tb tbs[IWL_NUM_OF_TBS];
        __le32 __pad;
-} __attribute__ ((packed));
+} __packed;
 
 /* Keep Warm Size */
 #define IWL_KW_SIZE 0x1000     /* 4k */
 
        __le64 start_time;
        __le16 duration;
        u8 map;
-} __attribute__ ((packed));
+} __packed;
 
 enum {                         /* ieee80211_measurement_request.mode */
        /* Bit 0 is reserved */
        u8 channel;
        __le64 start_time;
        __le16 duration;
-} __attribute__ ((packed));
+} __packed;
 
 struct ieee80211_info_element {
        u8 id;
        u8 len;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct ieee80211_measurement_request {
        struct ieee80211_info_element ie;
        u8 mode;
        u8 type;
        struct ieee80211_measurement_params params[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct ieee80211_measurement_report {
        struct ieee80211_info_element ie;
        union {
                struct ieee80211_basic_report basic[0];
        } u;
-} __attribute__ ((packed));
+} __packed;
 
 #endif
 
 
 struct iwm_umac_cmd_reset {
        __le32 flags;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_PARAM_TBL_ORD_FIX    0x0
 #define UMAC_PARAM_TBL_ORD_VAR    0x1
        __le16 tbl;
        __le16 key;
        __le32 value;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_set_param_var {
        __le16 tbl;
        __le16 key;
        __le16 len;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_get_param {
        __le16 tbl;
        __le16 key;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_get_param_resp {
        __le16 tbl;
        __le16 key;
        __le16 len;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_eeprom_proxy_hdr {
        __le32 type;
        __le32 offset;
        __le32 len;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_eeprom_proxy {
        struct iwm_umac_cmd_eeprom_proxy_hdr hdr;
        u8 buf[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_UMAC_CMD_EEPROM_TYPE_READ       0x1
 #define IWM_UMAC_CMD_EEPROM_TYPE_WRITE      0x2
        u8 reserved;
        u8 flags;
        __le32 channels_mask;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_get_channel_list {
        __le16 count;
        __le16 reserved;
        struct iwm_umac_channel_info ch[0];
-} __attribute__ ((packed));
+} __packed;
 
 
 /* UMAC WiFi interface commands */
        u8 ssid_len;
        u8 ssid[IEEE80211_MAX_SSID_LEN];
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_scan_request {
        struct iwm_umac_wifi_if hdr;
        u8 timeout; /* In seconds */
        u8 reserved;
        struct iwm_umac_ssid ssids[UMAC_WIFI_IF_PROBE_OPTION_MAX];
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_CIPHER_TYPE_NONE          0xFF
 #define UMAC_CIPHER_TYPE_USE_GROUPCAST 0x00
        u8 ucast_cipher;
        u8 mcast_cipher;
        u8 flags;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_ibss {
        u8 beacon_interval;     /* in millisecond */
        u8 band;
        u8 channel;
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_MODE_BSS  0
 #define UMAC_MODE_IBSS 1
        __le16 flags;
        u8 wireless_mode;
        u8 bss_num;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_invalidate_profile {
        struct iwm_umac_wifi_if hdr;
        u8 reason;
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 /* Encryption key commands */
 struct iwm_umac_key_wep40 {
        u8 key[WLAN_KEY_LEN_WEP40];
        u8 static_key;
        u8 reserved[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_key_wep104 {
        struct iwm_umac_wifi_if hdr;
        u8 key[WLAN_KEY_LEN_WEP104];
        u8 static_key;
        u8 reserved[2];
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_TKIP_KEY_SIZE 16
 #define IWM_TKIP_MIC_SIZE 8
        u8 tkip_key[IWM_TKIP_KEY_SIZE];
        u8 mic_rx_key[IWM_TKIP_MIC_SIZE];
        u8 mic_tx_key[IWM_TKIP_MIC_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_key_ccmp {
        struct iwm_umac_wifi_if hdr;
        u8 iv_count[6];
        u8 reserved[2];
        u8 key[WLAN_KEY_LEN_CCMP];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_key_remove {
        struct iwm_umac_wifi_if hdr;
        struct iwm_umac_key_hdr key_hdr;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_tx_key_id {
        struct iwm_umac_wifi_if hdr;
        u8 key_idx;
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_pwr_trigger {
        struct iwm_umac_wifi_if hdr;
        __le32 reseved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_stats_req {
        __le32 flags;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_cmd_stop_resume_tx {
        u8 flags;
        __le16 stop_resume_tid_msk;
        __le16 last_seq_num[IWM_UMAC_TID_NR];
        u16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_CMD_PMKID_ADD   1
 #define IWM_CMD_PMKID_DEL   2
        u8 bssid[ETH_ALEN];
        __le16 reserved;
        u8 pmkid[WLAN_PMKID_LEN];
-} __attribute__ ((packed));
+} __packed;
 
 /* LMAC commands */
 int iwm_read_mac(struct iwm_priv *iwm, u8 *mac);
 
        u8 mac[ETH_ALEN];
        u8 key_idx;
        u8 multicast; /* BCast encrypt & BCast decrypt of frames FROM mac */
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_key {
        struct iwm_umac_key_hdr hdr;
 
        u8 id;
        u8 flags;
        __le16 seq_num;
-} __attribute__ ((packed));
+} __packed;
 
 /* LMAC commands */
 #define CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK  0x1
        __le32 send_res; /* 1 for sending back results */
        __le32 apply_res; /* 1 for applying calibration results to HW */
        __le32 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_lmac_cal_cfg_status {
        struct iwm_lmac_cal_cfg_elt init;
        struct iwm_lmac_cal_cfg_elt periodic;
        __le32 flags; /* CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK */
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_lmac_cal_cfg_cmd {
        struct iwm_lmac_cal_cfg_status ucode_cfg;
        struct iwm_lmac_cal_cfg_status driver_cfg;
        __le32 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_lmac_cal_cfg_resp {
        __le32 status;
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_CARD_STATE_SW_HW_ENABLED   0x00
 #define IWM_CARD_STATE_HW_DISABLED     0x01
 
 struct iwm_lmac_card_state {
        __le32 flags;
-} __attribute__ ((packed));
+} __packed;
 
 /**
  * COEX_PRIORITY_TABLE_CMD
        u8 win_med_prio;
        u8 reserved;
        u8 flags;
-} __attribute__ ((packed));
+} __packed;
 
 #define COEX_FLAGS_STA_TABLE_VALID_MSK         0x1
 #define COEX_FLAGS_UNASSOC_WAKEUP_UMASK_MSK    0x4
        u8 flags;
        u8 reserved[3];
        struct coex_event sta_prio[COEX_EVENTS_NUM];
-} __attribute__ ((packed));
+} __packed;
 
 /* Coexistence definitions
  *
        u32 exit_threshold;
        u32 reserved;
        u32 entry_threshold;
-} __attribute__ ((packed));
+} __packed;
 
 
 /* LMAC OP CODES */
        u8 first_grp;
        u8 grp_num;
        u8 all_data_valid;
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_LMAC_CALIB_FREQ_GROUPS_NR  7
 #define IWM_CALIB_FREQ_GROUPS_NR       5
 struct iwm_calib_rxiq_entry {
        u16 ptam_postdist_ars;
        u16 ptam_postdist_arc;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_calib_rxiq_group {
        struct iwm_calib_rxiq_entry mode[IWM_CALIB_DC_MODES_NR];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_lmac_calib_rxiq {
        struct iwm_calib_rxiq_group group[IWM_LMAC_CALIB_FREQ_GROUPS_NR];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_calib_rxiq {
        struct iwm_lmac_calib_hdr hdr;
        struct iwm_calib_rxiq_group group[IWM_CALIB_FREQ_GROUPS_NR];
-} __attribute__ ((packed));
+} __packed;
 
 #define LMAC_STA_ID_SEED       0x0f
 #define LMAC_STA_ID_POS                0
        u8 pa_integ_res_A[3];
        u8 pa_integ_res_B[3];
        u8 pa_integ_res_C[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_lmac_tx_resp {
        u8 frame_cnt; /* 1-no aggregation, greater then 1 - aggregation */
        u8 ra_tid;
        __le16 frame_ctl;
        __le32 status;
-} __attribute__ ((packed));
+} __packed;
 
 #endif
 
 struct iwm_udma_in_hdr {
        __le32 cmd;
        __le32 size;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_udma_out_nonwifi_hdr {
        __le32 cmd;
        __le32 addr;
        __le32 op1_sz;
        __le32 op2;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_udma_out_wifi_hdr {
        __le32 cmd;
        __le32 meta_data;
-} __attribute__ ((packed));
+} __packed;
 
 /* Sequence numbering */
 #define UMAC_WIFI_SEQ_NUM_BASE         1
        __le16 flags;
        u8 payload_offset; /* includes: MAC header, pad, IV */
        u8 tail_len; /* includes: MIC, ICV, CRC (w/o STATUS) */
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_rx_mpdu_hdr {
        __le16 len;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /* UMAC SW WIFI API */
 
        u8 cmd;
        u8 flags;
        __le16 seq_num;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_fw_cmd_hdr {
        __le32 meta_data;
        struct iwm_dev_cmd_hdr cmd;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_wifi_out_hdr {
        struct iwm_udma_out_wifi_hdr hw_hdr;
        struct iwm_umac_fw_cmd_hdr sw_hdr;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_nonwifi_out_hdr {
        struct iwm_udma_out_nonwifi_hdr hw_hdr;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_wifi_in_hdr {
        struct iwm_udma_in_hdr hw_hdr;
        struct iwm_umac_fw_cmd_hdr sw_hdr;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_nonwifi_in_hdr {
        struct iwm_udma_in_hdr hw_hdr;
        __le32 time_stamp;
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_UMAC_PAGE_SIZE     0x200
 
        u8 status;
        u8 flags;
        __le16 buf_size;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_ROAM_REASON_FIRST_SELECTION       0x1
 #define UMAC_ROAM_REASON_AP_DEAUTH             0x2
        __le32 roam_reason;
        u8 bssid[ETH_ALEN];
        u8 reserved[2];
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_ASSOC_COMPLETE_SUCCESS            0x0
 #define UMAC_ASSOC_COMPLETE_FAILURE            0x1
        u8 bssid[ETH_ALEN];
        u8 band;
        u8 channel;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_PROFILE_INVALID_ASSOC_TIMEOUT     0x0
 #define UMAC_PROFILE_INVALID_ROAM_TIMEOUT      0x1
 struct iwm_umac_notif_profile_invalidate {
        struct iwm_umac_notif_wifi_if mlme_hdr;
        __le32 reason;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_SCAN_RESULT_SUCCESS  0x0
 #define UMAC_SCAN_RESULT_ABORTED  0x1
        __le32 type;
        __le32 result;
        u8 seq_num;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_OPCODE_ADD_MODIFY 0x0
 #define UMAC_OPCODE_REMOVE     0x1
        u8 mac_addr[ETH_ALEN];
        u8 sta_id; /* bits 0-3: station ID, bits 4-7: station color */
        u8 flags;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_BAND_2GHZ 0
 #define UMAC_BAND_5GHZ 1
        s8 rssi;
        u8 reserved;
        u8 frame_buf[1];
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_BSS_REMOVE_INDEX_MSK           0x0fff
 #define IWM_BSS_REMOVE_FLAGS_MSK           0xfc00
        struct iwm_umac_notif_wifi_if mlme_hdr;
        __le32 count;
        __le16 entries[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_notif_mgt_frame {
        struct iwm_umac_notif_wifi_if mlme_hdr;
        __le16 len;
        u8 frame[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_notif_alive {
        struct iwm_umac_wifi_in_hdr hdr;
        __le16 reserved2;
        __le16 page_grp_count;
        __le32 page_grp_state[IWM_MACS_OUT_GROUPS];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_notif_init_complete {
        struct iwm_umac_wifi_in_hdr hdr;
        __le16 status;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /* error categories */
 enum {
        __le32 dbm_buf_end;
        __le32 dbm_buf_write_ptr;
        __le32 dbm_buf_cycle_cnt;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_notif_error {
        struct iwm_umac_wifi_in_hdr hdr;
        struct iwm_fw_error_hdr err;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_DEALLOC_NTFY_CHANGES_CNT_POS      0
 #define UMAC_DEALLOC_NTFY_CHANGES_CNT_SEED     0xff
        struct iwm_umac_wifi_in_hdr hdr;
        __le32 changes;
        __le32 grp_info[IWM_MACS_OUT_GROUPS];
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_notif_wifi_status {
        struct iwm_umac_wifi_in_hdr hdr;
        __le16 status;
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct iwm_umac_notif_rx_ticket {
        struct iwm_umac_wifi_in_hdr hdr;
        u8 num_tickets;
        u8 reserved[3];
        struct iwm_rx_ticket tickets[1];
-} __attribute__ ((packed));
+} __packed;
 
 /* Tx/Rx rates window (number of max of last update window per second) */
 #define UMAC_NTF_RATE_SAMPLE_NR        4
        __le32 roam_unassoc;
        __le32 roam_deauth;
        __le32 roam_ap_loadblance;
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_STOP_TX_FLAG    0x1
 #define UMAC_RESUME_TX_FLAG  0x2
        u8 flags; /* UMAC_*_TX_FLAG_* */
        u8 sta_id;
        __le16 stop_resume_tid_msk; /* tid bitmask */
-} __attribute__ ((packed));
+} __packed;
 
 #define UMAC_MAX_NUM_PMKIDS 4
 
        u8 oid;
        u8 flags;
        __le16 buf_size;
-} __attribute__ ((packed));
+} __packed;
 
 #define IWM_SEQ_NUM_HOST_MSK   0x0000
 #define IWM_SEQ_NUM_UMAC_MSK   0x4000
 
        u8 pktdelay_2ms;
        /* reserved */
        u8 reserved1;
-} __attribute__ ((packed));
+} __packed;
 
 /* RxPD Descriptor */
 struct rxpd {
                        u8 bss_type;
                        /* BSS number */
                        u8 bss_num;
-               } __attribute__ ((packed)) bss;
-       } __attribute__ ((packed)) u;
+               } __packed bss;
+       } __packed u;
 
        /* SNR */
        u8 snr;
        /* Pkt Priority */
        u8 priority;
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_header {
        __le16 command;
        __le16 size;
        __le16 seqnum;
        __le16 result;
-} __attribute__ ((packed));
+} __packed;
 
 /* Generic structure to hold all key types. */
 struct enc_key {
 struct lbs_offset_value {
        u32 offset;
        u32 value;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Define data structure for CMD_GET_HW_SPEC
 
        /*FW/HW capability */
        __le32 fwcapinfo;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_subscribe_event {
        struct cmd_header hdr;
         * bump this up a bit.
         */
        uint8_t tlv[128];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * This scan handle Country Information IE(802.11d compliant)
        uint8_t bsstype;
        uint8_t bssid[ETH_ALEN];
        uint8_t tlvbuffer[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_scan_rsp {
        struct cmd_header hdr;
        __le16 bssdescriptsize;
        uint8_t nr_sets;
        uint8_t bssdesc_and_tlvbuffer[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_get_log {
        struct cmd_header hdr;
        __le32 fcserror;
        __le32 txframe;
        __le32 wepundecryptable;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_mac_control {
        struct cmd_header hdr;
        __le16 action;
        u16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_mac_multicast_adr {
        struct cmd_header hdr;
        __le16 action;
        __le16 nr_of_adrs;
        u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_authenticate {
        struct cmd_header hdr;
        u8 bssid[ETH_ALEN];
        u8 authtype;
        u8 reserved[10];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_deauthenticate {
        struct cmd_header hdr;
 
        u8 macaddr[ETH_ALEN];
        __le16 reasoncode;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_associate {
        struct cmd_header hdr;
        __le16 bcnperiod;
        u8 dtimperiod;
        u8 iebuf[512];    /* Enough for required and most optional IEs */
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_associate_response {
        struct cmd_header hdr;
        __le16 statuscode;
        __le16 aid;
        u8 iebuf[512];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_set_wep {
        struct cmd_header hdr;
        /* 40, 128bit or TXWEP */
        uint8_t keytype[4];
        uint8_t keymaterial[4][16];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_snmp_mib {
        struct cmd_header hdr;
        __le16 oid;
        __le16 bufsize;
        u8 value[128];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_mac_reg_access {
        __le16 action;
        __le16 offset;
        __le32 value;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_bbp_reg_access {
        __le16 action;
        __le16 offset;
        u8 value;
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_rf_reg_access {
        __le16 action;
        __le16 offset;
        u8 value;
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_radio_control {
        struct cmd_header hdr;
 
        __le16 action;
        __le16 control;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_beacon_control {
        __le16 action;
        __le16 beacon_enable;
        __le16 beacon_period;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_sleep_params {
        struct cmd_header hdr;
 
        /* reserved field, should be set to zero */
        __le16 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_rf_channel {
        struct cmd_header hdr;
        __le16 rftype;      /* unused */
        __le16 reserved;    /* unused */
        u8 channellist[32]; /* unused */
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_rssi {
        /* weighting factor */
        __le16 reserved_0;
        __le16 reserved_1;
        __le16 reserved_2;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_rssi_rsp {
        __le16 SNR;
        __le16 noisefloor;
        __le16 avgSNR;
        __le16 avgnoisefloor;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_mac_address {
        struct cmd_header hdr;
 
        __le16 action;
        u8 macadd[ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_rf_tx_power {
        struct cmd_header hdr;
        __le16 curlevel;
        s8 maxlevel;
        s8 minlevel;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_monitor_mode {
        __le16 action;
        __le16 mode;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_set_boot2_ver {
        struct cmd_header hdr;
 
        __le16 action;
        __le16 version;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_fw_wake_method {
        struct cmd_header hdr;
 
        __le16 action;
        __le16 method;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_ps_mode {
        __le16 action;
        __le16 multipledtim;
        __le16 reserved;
        __le16 locallisteninterval;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_confirm_sleep {
        struct cmd_header hdr;
        __le16 multipledtim;
        __le16 reserved;
        __le16 locallisteninterval;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_data_rate {
        struct cmd_header hdr;
        __le16 action;
        __le16 reserved;
        u8 rates[MAX_RATES];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_rate_adapt_rateset {
        struct cmd_header hdr;
        __le16 action;
        __le16 enablehwauto;
        __le16 bitmap;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_ad_hoc_start {
        struct cmd_header hdr;
        __le16 capability;
        u8 rates[MAX_RATES];
        u8 tlv_memory_size_pad[100];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_ad_hoc_result {
        struct cmd_header hdr;
 
        u8 pad[3];
        u8 bssid[ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct adhoc_bssdesc {
        u8 bssid[ETH_ALEN];
         * Adhoc join command and will cause a binary layout mismatch with
         * the firmware
         */
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_ad_hoc_join {
        struct cmd_header hdr;
        struct adhoc_bssdesc bss;
        __le16 failtimeout;   /* Reserved on v9 and later */
        __le16 probedelay;    /* Reserved on v9 and later */
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_ad_hoc_stop {
        struct cmd_header hdr;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_enable_rsn {
        struct cmd_header hdr;
 
        __le16 action;
        __le16 enable;
-} __attribute__ ((packed));
+} __packed;
 
 struct MrvlIEtype_keyParamSet {
        /* type ID */
 
        /* key material of size keylen */
        u8 key[32];
-} __attribute__ ((packed));
+} __packed;
 
 #define MAX_WOL_RULES          16
 
        __le16 reserve;
        __be32 sig_mask;
        __be32 signature;
-} __attribute__ ((packed));
+} __packed;
 
 struct wol_config {
        uint8_t action;
        uint8_t no_rules_in_cmd;
        uint8_t result;
        struct host_wol_rule rule[MAX_WOL_RULES];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_host_sleep {
        struct cmd_header hdr;
        uint8_t gpio;
        uint16_t gap;
        struct wol_config wol_conf;
-} __attribute__ ((packed));
+} __packed;
 
 
 
 
        __le16 action;
        struct MrvlIEtype_keyParamSet keyParamSet[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_eeprom_access {
        struct cmd_header hdr;
        /* firmware says it returns a maximum of 20 bytes */
 #define LBS_EEPROM_READ_LEN 20
        u8 value[LBS_EEPROM_READ_LEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_tpc_cfg {
        struct cmd_header hdr;
        int8_t P1;
        int8_t P2;
        uint8_t usesnr;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct cmd_ds_802_11_pa_cfg {
        int8_t P0;
        int8_t P1;
        int8_t P2;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct cmd_ds_802_11_led_ctrl {
        __le16 action;
        __le16 numled;
        u8 data[256];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_802_11_afc {
        __le16 afc_auto;
                        __le16 carrier_offset; /* signed */
                };
        };
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_tx_rate_query {
        __le16 txrate;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_get_tsf {
        __le64 tsfvalue;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_bt_access {
        __le16 action;
        __le32 id;
        u8 addr1[ETH_ALEN];
        u8 addr2[ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_fwt_access {
        __le16 action;
        __le32 snr;
        __le32 references;
        u8 prec[ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_mesh_config {
        struct cmd_header hdr;
        __le16 type;
        __le16 length;
        u8 data[128];   /* last position reserved */
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_mesh_access {
        struct cmd_header hdr;
 
        __le16 action;
        __le32 data[32];        /* last position reserved */
-} __attribute__ ((packed));
+} __packed;
 
 /* Number of stats counters returned by the firmware */
 #define MESH_STATS_NUM 8
                struct cmd_ds_fwt_access fwt;
                struct cmd_ds_802_11_beacon_control bcn_ctrl;
        } params;
-} __attribute__ ((packed));
+} __packed;
 
 #endif
 
        u8 txpower;
        u8 rts_retries;
        u8 data_retries;
-} __attribute__ ((packed));
+} __packed;
 
 #define TX_RADIOTAP_PRESENT (                          \
        (1 << IEEE80211_RADIOTAP_RATE) |                \
        u8 flags;
        u8 rate;
        u8 antsignal;
-} __attribute__ ((packed));
+} __packed;
 
 #define RX_RADIOTAP_PRESENT (                  \
        (1 << IEEE80211_RADIOTAP_FLAGS) |       \
 
        u8 dest_addr[6];
        u8 src_addr[6];
        u16 h803_len;
-} __attribute__ ((packed));
+} __packed;
 
 struct rfc1042hdr {
        u8 llc_dsap;
        u8 llc_ctrl;
        u8 snap_oui[3];
        u16 snap_type;
-} __attribute__ ((packed));
+} __packed;
 
 struct rxpackethdr {
        struct eth803hdr eth803_hdr;
        struct rfc1042hdr rfc1042_hdr;
-} __attribute__ ((packed));
+} __packed;
 
 struct rx80211packethdr {
        struct rxpd rx_pd;
        void *eth80211_hdr;
-} __attribute__ ((packed));
+} __packed;
 
 static int process_rxed_802_11_packet(struct lbs_private *priv,
        struct sk_buff *skb);
 
 struct ieee_ie_header {
        u8 id;
        u8 len;
-} __attribute__ ((packed));
+} __packed;
 
 struct ieee_ie_cf_param_set {
        struct ieee_ie_header header;
        u8 cfpperiod;
        __le16 cfpmaxduration;
        __le16 cfpdurationremaining;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct ieee_ie_ibss_param_set {
        struct ieee_ie_header header;
 
        __le16 atimwindow;
-} __attribute__ ((packed));
+} __packed;
 
 union ieee_ss_param_set {
        struct ieee_ie_cf_param_set cf;
        struct ieee_ie_ibss_param_set ibss;
-} __attribute__ ((packed));
+} __packed;
 
 struct ieee_ie_fh_param_set {
        struct ieee_ie_header header;
        u8 hopset;
        u8 hoppattern;
        u8 hopindex;
-} __attribute__ ((packed));
+} __packed;
 
 struct ieee_ie_ds_param_set {
        struct ieee_ie_header header;
 
        u8 channel;
-} __attribute__ ((packed));
+} __packed;
 
 union ieee_phy_param_set {
        struct ieee_ie_fh_param_set fh;
        struct ieee_ie_ds_param_set ds;
-} __attribute__ ((packed));
+} __packed;
 
 /** TLV  type ID definition */
 #define PROPRIETARY_TLV_BASE_ID                0x0100
 struct mrvl_ie_header {
        __le16 type;
        __le16 len;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_data {
        struct mrvl_ie_header header;
        u8 Data[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_rates_param_set {
        struct mrvl_ie_header header;
        u8 rates[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_ssid_param_set {
        struct mrvl_ie_header header;
        u8 ssid[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_wildcard_ssid_param_set {
        struct mrvl_ie_header header;
        u8 MaxSsidlength;
        u8 ssid[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct chanscanmode {
 #ifdef __BIG_ENDIAN_BITFIELD
        u8 disablechanfilt:1;
        u8 reserved_2_7:6;
 #endif
-} __attribute__ ((packed));
+} __packed;
 
 struct chanscanparamset {
        u8 radiotype;
        struct chanscanmode chanscanmode;
        __le16 minscantime;
        __le16 maxscantime;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_chanlist_param_set {
        struct mrvl_ie_header header;
        struct chanscanparamset chanscanparam[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_cf_param_set {
        struct mrvl_ie_header header;
        u8 cfpperiod;
        __le16 cfpmaxduration;
        __le16 cfpdurationremaining;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_ds_param_set {
        struct mrvl_ie_header header;
        u8 channel;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_rsn_param_set {
        struct mrvl_ie_header header;
        u8 rsnie[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_tsf_timestamp {
        struct mrvl_ie_header header;
        __le64 tsftable[1];
-} __attribute__ ((packed));
+} __packed;
 
 /* v9 and later firmware only */
 struct mrvl_ie_auth_type {
        struct mrvl_ie_header header;
        __le16 auth;
-} __attribute__ ((packed));
+} __packed;
 
 /**  Local Power capability */
 struct mrvl_ie_power_capability {
        struct mrvl_ie_header header;
        s8 minpower;
        s8 maxpower;
-} __attribute__ ((packed));
+} __packed;
 
 /* used in CMD_802_11_SUBSCRIBE_EVENT for SNR, RSSI and Failure */
 struct mrvl_ie_thresholds {
        struct mrvl_ie_header header;
        u8 value;
        u8 freq;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_beacons_missed {
        struct mrvl_ie_header header;
        u8 beaconmissed;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_num_probes {
        struct mrvl_ie_header header;
        __le16 numprobes;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_bcast_probe {
        struct mrvl_ie_header header;
        __le16 bcastprobe;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_num_ssid_probe {
        struct mrvl_ie_header header;
        __le16 numssidprobe;
-} __attribute__ ((packed));
+} __packed;
 
 struct led_pin {
        u8 led;
        u8 pin;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_ie_ledgpio {
        struct mrvl_ie_header header;
        struct led_pin ledpin[1];
-} __attribute__ ((packed));
+} __packed;
 
 struct led_bhv {
        uint8_t firmwarestate;
        uint8_t led;
        uint8_t ledstate;
        uint8_t ledarg;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct mrvl_ie_ledbhv {
        struct mrvl_ie_header header;
        struct led_bhv ledbhv[1];
-} __attribute__ ((packed));
+} __packed;
 
 /* Meant to be packed as the value member of a struct ieee80211_info_element.
  * Note that the len member of the ieee80211_info_element varies depending on
        uint8_t mesh_capability;
        uint8_t mesh_id_len;
        uint8_t mesh_id[IEEE80211_MAX_SSID_LEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_meshie {
        u8 id, len;
        struct mrvl_meshie_val val;
-} __attribute__ ((packed));
+} __packed;
 
 struct mrvl_mesh_defaults {
        __le32 bootflag;
        uint8_t reserved;
        __le16 channel;
        struct mrvl_meshie meshie;
-} __attribute__ ((packed));
+} __packed;
 
 #endif
 
        __le16 size;
        __le16 seqnum;
        __le16 result;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ctrl_node {
        struct list_head list;
 
        /*FW/HW capability */
        __le32 fwcapinfo;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_ds_mac_control {
        struct cmd_header hdr;
 
        u8 rt_rate;
        __le16 rt_channel;
        __le16 rt_chbitmask;
-} __attribute__ ((packed));
+} __packed;
 
 
 static netdev_tx_t hwsim_mon_xmit(struct sk_buff *skb,
 
        __u8    macid;
        __le16  result;
        char    payload[0];
-} __attribute__((packed));
+} __packed;
 
 /*
  * Firmware loading.
        __le16 fwlen;
        struct ieee80211_hdr wh;
        char data[0];
-} __attribute__((packed));
+} __packed;
 
 /* Routines to add/remove DMA header from skb.  */
 static inline void mwl8k_remove_dma_header(struct sk_buff *skb, __le16 qos)
        __u8 rx_status;
        __u8 channel;
        __u8 rx_ctrl;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_8366_AP_RATE_INFO_MCS_FORMAT     0x80
 #define MWL8K_8366_AP_RATE_INFO_40MHZ          0x40
        __u8 rx_ctrl;
        __u8 rx_status;
        __u8 pad2[2];
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_STA_RATE_INFO_SHORTPRE           0x8000
 #define MWL8K_STA_RATE_INFO_ANTSELECT(x)       (((x) >> 11) & 0x3)
        __le16 rate_info;
        __u8 peer_id;
        __u8 tx_frag_cnt;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_TX_DESCS         128
 
        __le32 caps2;
        __le32 num_tx_desc_per_queue;
        __le32 total_rxd;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_CAP_MAX_AMSDU            0x20000000
 #define MWL8K_CAP_GREENFIELD           0x08000000
        __le32 wcbbase1;
        __le32 wcbbase2;
        __le32 wcbbase3;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_get_hw_spec_ap(struct ieee80211_hw *hw)
 {
        __le32 flags;
        __le32 num_tx_desc_per_queue;
        __le32 total_rxd;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_SET_HW_SPEC_FLAG_HOST_DECR_MGMT          0x00000080
 #define MWL8K_SET_HW_SPEC_FLAG_HOSTFORM_PROBERESP      0x00000020
 struct mwl8k_cmd_get_stat {
        struct mwl8k_cmd_pkt header;
        __le32 stats[64];
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_STAT_ACK_FAILURE 9
 #define MWL8K_STAT_RTS_FAILURE 12
        __le16 action;
        __le16 control;
        __le16 radio_on;
-} __attribute__((packed));
+} __packed;
 
 static int
 mwl8k_cmd_radio_control(struct ieee80211_hw *hw, bool enable, bool force)
        __le16 current_level;
        __le16 reserved;
        __le16 power_level_list[MWL8K_TX_POWER_LEVEL_TOTAL];
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_rf_tx_power(struct ieee80211_hw *hw, int dBm)
 {
        struct mwl8k_cmd_pkt header;
        __le16 antenna;
        __le16 mode;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_RF_ANTENNA_RX            1
 #define MWL8K_RF_ANTENNA_TX            2
  */
 struct mwl8k_cmd_set_pre_scan {
        struct mwl8k_cmd_pkt header;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_set_pre_scan(struct ieee80211_hw *hw)
 {
        struct mwl8k_cmd_pkt header;
        __le32 isibss;
        __u8 bssid[ETH_ALEN];
-} __attribute__((packed));
+} __packed;
 
 static int
 mwl8k_cmd_set_post_scan(struct ieee80211_hw *hw, const __u8 *mac)
        __le16 action;
        __u8 current_channel;
        __le32 channel_flags;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw,
                                    struct ieee80211_conf *conf)
        __u8    bssid[ETH_ALEN];
        __le16  protection_mode;
        __u8    supp_rates[14];
-} __attribute__((packed));
+} __packed;
 
 static void legacy_rate_mask_to_array(u8 *rates, u32 mask)
 {
        /* Bitmap for supported MCS codes.  */
        __u8    mcs_set[16];
        __u8    reserved[16];
-} __attribute__((packed));
+} __packed;
 
 static int
 mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
        struct mwl8k_cmd_pkt header;
        __le32 sleep_interval;  /* Number of beacon periods to sleep */
        __u8 beacon_data[MWL8K_FJ_BEACON_MAXLEN];
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_finalize_join(struct ieee80211_hw *hw, void *frame,
                                   int framelen, int dtim)
        struct mwl8k_cmd_pkt header;
        __le16 action;
        __le16 threshold;
-} __attribute__((packed));
+} __packed;
 
 static int
 mwl8k_cmd_set_rts_threshold(struct ieee80211_hw *hw, int rts_thresh)
        struct mwl8k_cmd_pkt header;
        __le16 action;
        __u8 short_slot;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_set_slot(struct ieee80211_hw *hw, bool short_slot_time)
 {
                        __u8 txq;
                } sta;
        };
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_SET_EDCA_CW      0x01
 #define MWL8K_SET_EDCA_TXOP    0x02
 struct mwl8k_cmd_set_wmm_mode {
        struct mwl8k_cmd_pkt header;
        __le16 action;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable)
 {
        __le32 action;
        __u8 rx_antenna_map;
        __u8 tx_antenna_map;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_mimo_config(struct ieee80211_hw *hw, __u8 rx, __u8 tx)
 {
        __le32 rate_type;
        __le32 reserved1;
        __le32 reserved2;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_USE_AUTO_RATE    0x0002
 #define MWL8K_UCAST_RATE       0
        u8 multicast_rate;
        u8 multicast_rate_type;
        u8 management_rate;
-} __attribute__((packed));
+} __packed;
 
 static int
 mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt)
 struct mwl8k_cmd_enable_sniffer {
        struct mwl8k_cmd_pkt header;
        __le32 action;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_enable_sniffer(struct ieee80211_hw *hw, bool enable)
 {
                } mbss;
                __u8 mac_addr[ETH_ALEN];
        };
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_MAC_TYPE_PRIMARY_CLIENT          0
 #define MWL8K_MAC_TYPE_SECONDARY_CLIENT                1
        struct mwl8k_cmd_pkt header;
        __le16 action;
        __le16 mode;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode)
 {
 struct mwl8k_cmd_bss_start {
        struct mwl8k_cmd_pkt header;
        __le32 enable;
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_bss_start(struct ieee80211_hw *hw,
                               struct ieee80211_vif *vif, int enable)
        __u8 add_qos_info;
        __u8 is_qos_sta;
        __le32 fw_sta_ptr;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_STA_ACTION_ADD           0
 #define MWL8K_STA_ACTION_REMOVE                2
        __le16  control1;
        __le16  control2;
        __le16  control3;
-} __attribute__((packed));
+} __packed;
 
 struct peer_capability_info {
        /* Peer type - AP vs. STA.  */
        __u8    pad2;
        __u8    station_id;
        __le16  amsdu_enabled;
-} __attribute__((packed));
+} __packed;
 
 struct mwl8k_cmd_update_stadb {
        struct mwl8k_cmd_pkt header;
 
        /* Peer info - valid during add/update.  */
        struct peer_capability_info     peer_info;
-} __attribute__((packed));
+} __packed;
 
 #define MWL8K_STA_DB_MODIFY_ENTRY      1
 #define MWL8K_STA_DB_DEL_ENTRY         2
 
        __le32 pri_offset;      /* Offset to primary plug data */
        __le32 compat_offset;   /* Offset to compatibility data*/
        char signature[0];      /* FW signature length headersize-20 */
-} __attribute__ ((packed));
+} __packed;
 
 /* Check the range of various header entries. Return a pointer to a
  * description of the problem, or NULL if everything checks out. */
 
        u8 retry_count;
        u8 tx_rate;
        __le16 tx_control;
-} __attribute__ ((packed));
+} __packed;
 
 #define HERMES_TXSTAT_RETRYERR         (0x0001)
 #define HERMES_TXSTAT_AGEDERR          (0x0002)
        /* Those last are probably not available in very old firmwares */
        __le16 RxDiscards_WEPICVError;
        __le16 RxDiscards_WEPExcluded;
-} __attribute__ ((packed));
+} __packed;
 
 /* Grabbed from wlan-ng - Thanks Mark... - Jean II
  * This is the result of a scan inquiry command */
        u8 rates[10];           /* Bit rate supported */
        __le16 proberesp_rate;  /* Data rate of the response frame */
        __le16 atim;            /* ATIM window time, Kus (hostscan only) */
-} __attribute__ ((packed));
+} __packed;
 
 /* Same stuff for the Lucent/Agere card.
  * Thanks to h1kari <h1kari AT dachb0den.com> - Jean II */
        /* bits: 0-ess, 1-ibss, 4-privacy [wep] */
        __le16 essid_len;       /* ESSID length */
        u8 essid[32];           /* ESSID of the network */
-} __attribute__ ((packed));
+} __packed;
 
 /* Moustafa: Scan structure for Symbol cards */
 struct symbol_scan_apinfo {
        __le16 basic_rates;     /* Basic rates bitmask */
        u8 unknown2[6];         /* Always FF:FF:FF:FF:00:00 */
        u8 unknown3[8];         /* Always 0, appeared in f/w 3.91-68 */
-} __attribute__ ((packed));
+} __packed;
 
 union hermes_scan_info {
        struct agere_scan_apinfo        a;
        __le16  beacon_interval;
        __le16  capabilities;
        u8      data[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define HERMES_LINKSTATUS_NOT_CONNECTED   (0x0000)
 #define HERMES_LINKSTATUS_CONNECTED       (0x0001)
 
 struct hermes_linkstatus {
        __le16 linkstatus;         /* Link status */
-} __attribute__ ((packed));
+} __packed;
 
 struct hermes_response {
        u16 status, resp0, resp1, resp2;
 struct hermes_idstring {
        __le16 len;
        __le16 val[16];
-} __attribute__ ((packed));
+} __packed;
 
 struct hermes_multicast {
        u8 addr[HERMES_MAX_MULTICAST][ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 /* Timeouts */
 #define HERMES_BAP_BUSY_TIMEOUT (10000) /* In iterations of ~1us */
 
        __le32 addr;            /* adapter address where to write the block */
        __le16 len;             /* length of the data only, in bytes */
        char data[0];           /* data to be written */
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Plug Data References are located in in the image after the last data
        __le32 addr;            /* adapter address where to write the data */
        __le32 len;             /* expected length of the data, in bytes */
        char next[0];           /* next PDR starts here */
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Plug Data Items are located in the EEPROM read from the adapter by
        __le16 len;             /* length of ID and data, in words */
        __le16 id;              /* record ID */
        char data[0];           /* plug data */
-} __attribute__ ((packed));
+} __packed;
 
 /*** FW data block access functions ***/
 
        __le16 len;                                                     \
        __le16 id;                                                      \
        u8 val[length];                                                 \
-} __attribute__ ((packed)) default_pdr_data_##pid = {                  \
+} __packed default_pdr_data_##pid = {                  \
        cpu_to_le16((sizeof(default_pdr_data_##pid)/                    \
                                sizeof(__le16)) - 1),                   \
        cpu_to_le16(pid),                                               \
 
 /* Firmware version encoding */
 struct comp_id {
        u16 id, variant, major, minor;
-} __attribute__ ((packed));
+} __packed;
 
 static inline fwtype_t determine_firmware_type(struct comp_id *nic_id)
 {
                u8 tx_mic[MIC_KEYLEN];
                u8 rx_mic[MIC_KEYLEN];
                u8 tsc[ORINOCO_SEQ_LEN];
-       } __attribute__ ((packed)) buf;
+       } __packed buf;
        hermes_t *hw = &priv->hw;
        int ret;
        int err;
        struct {
                u8 addr[ETH_ALEN];
                __le16 reason_code;
-       } __attribute__ ((packed)) buf;
+       } __packed buf;
 
        /* Currently only supported by WPA enabled Agere fw */
        if (!priv->has_wpa)
 
        __le16 frame_ctl;
        __le16 duration_id;
        u8 addr1[ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 /* Rx frame header except compatibility 802.3 header */
 struct hermes_rx_descriptor {
 
        /* Data length */
        __le16 data_len;
-} __attribute__ ((packed));
+} __packed;
 
 struct orinoco_rx_data {
        struct hermes_rx_descriptor *desc;
                struct header_struct {
                        struct ethhdr eth;      /* 802.3 header */
                        u8 encap[6];            /* 802.2 header */
-               } __attribute__ ((packed)) hdr;
+               } __packed hdr;
                int len = skb->len + sizeof(encaps_hdr) - (2 * ETH_ALEN);
 
                if (skb_headroom(skb) < ENCAPS_OVERHEAD) {
        struct join_req {
                u8 bssid[ETH_ALEN];
                __le16 channel;
-       } __attribute__ ((packed)) req;
+       } __packed req;
        const int atom_len = offsetof(struct prism2_scan_apinfo, atim);
        struct prism2_scan_apinfo *atom = NULL;
        int offset = 4;
        struct {
                __le16 len;
                __le16 type;
-       } __attribute__ ((packed)) info;
+       } __packed info;
        int len, type;
        int err;
 
 
 struct orinoco_key {
        __le16 len;     /* always stored as little-endian */
        char data[ORINOCO_MAX_KEY_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 #define TKIP_KEYLEN    16
 #define MIC_KEYLEN     8
 
        /* SNAP */
        u8 oui[3];
        __be16 ethertype;
-} __attribute__ ((packed));
+} __packed;
 
 struct ez_usb_fw {
        u16 size;
        __le16 hermes_len;
        __le16 hermes_rid;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 /* Table of devices that work or may work with this driver */
 static struct usb_device_id ezusb_table[] = {
 
        } else {
                struct {
                        __le16 qual, signal, noise, unused;
-               } __attribute__ ((packed)) cq;
+               } __packed cq;
 
                err = HERMES_READ_RECORD(hw, USER_BAP,
                                         HERMES_RID_COMMSQUALITY, &cq);
 
 #define GPIO2_INTERRUPT                                                2
 #define GPIO1_INTERRUPT                                                1
 #define GPIO0_INTERRUPT                                                0
-} __attribute__ ((packed));
+} __packed;
 
 /* usb control, BAR0 + 0x0080 */
 struct net2280_usb_regs {
 #define FORCE_IMMEDIATE                                                7
 #define OUR_USB_ADDRESS                                                0
        __le32                  ourconfig;
-} __attribute__ ((packed));
+} __packed;
 
 /* pci control, BAR0 + 0x0100 */
 struct net2280_pci_regs {
 #define PCI_ARBITER_CLEAR                                      2
 #define PCI_EXTERNAL_ARBITER                                   1
 #define PCI_HOST_MODE                                          0
-} __attribute__ ((packed));
+} __packed;
 
 /* dma control, BAR0 + 0x0180 ... array of four structs like this,
  * for channels 0..3.  see also struct net2280_dma:  descriptor
        __le32                  dmaaddr;
        __le32                  dmadesc;
        u32                     _unused1;
-} __attribute__ ((packed));
+} __packed;
 
 /* dedicated endpoint registers, BAR0 + 0x0200 */
 
        /* offset 0x0204, 0x0214, 0x224, 0x234, 0x244 */
        __le32                  dep_rsp;
        u32                     _unused[2];
-} __attribute__ ((packed));
+} __packed;
 
 /* configurable endpoint registers, BAR0 + 0x0300 ... array of seven structs
  * like this, for ep0 then the configurable endpoints A..F
        __le32                  ep_avail;
        __le32                  ep_data;
        u32                     _unused0[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct net2280_reg_write {
        __le16 port;
        __le32 addr;
        __le32 val;
-} __attribute__ ((packed));
+} __packed;
 
 struct net2280_reg_read {
        __le16 port;
        __le32 addr;
-} __attribute__ ((packed));
+} __packed;
 #endif /* NET2280_H */
 
        u8 unused_6[1924];
        u8 cardbus_cis[0x800];
        u8 direct_mem_win[0x1000];
-} __attribute__ ((packed));
+} __packed;
 
 /* usb backend only needs the register defines above */
 #ifndef P54USB_H
        __le32 device_addr;
        __le16 len;
        __le16 flags;
-} __attribute__ ((packed));
+} __packed;
 
 struct p54p_ring_control {
        __le32 host_idx[4];
        struct p54p_desc tx_data[32];
        struct p54p_desc rx_mgmt[4];
        struct p54p_desc tx_mgmt[4];
-} __attribute__ ((packed));
+} __packed;
 
 #define P54P_READ(r) (__force __le32)__raw_readl(&priv->map->r)
 #define P54P_WRITE(r, val) __raw_writel((__force u32)(__le32)(val), &priv->map->r)
 
        __le16 cmd;
        __le16 len;
        __le32 addr;
-} __attribute__ ((packed));
+} __packed;
 
 struct p54s_tx_info {
        struct list_head tx_list;
 
        __le16 len;
        __le16 follower;        /* ? */
        u8 padding[8];
-} __attribute__((packed));
+} __packed;
 
 struct lm87_tx_hdr {
        __le32 device_addr;
        __le32 chksum;
-} __attribute__((packed));
+} __packed;
 
 /* Some flags for the isl hardware registers controlling DMA inside the
  * chip */
        __le32 fw_load_addr;
        __le32 fw_length;
        __le32 crc;
-} __attribute__((packed));
+} __packed;
 
 /* pipes 3 and 4 are not used by the driver */
 #define P54U_PIPE_NUMBER 9
 
        u8 timestamp[8];
        u16 beacon_int;
        u16 capab_info;
-} __attribute__ ((packed));
+} __packed;
 
 #define WLAN_EID_GENERIC 0xdd
 static u8 wpa_oid[4] = { 0x00, 0x50, 0xf2, 1 };
 
 struct obj_ssid {
        u8 length;
        char octets[33];
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_key {
        u8 type;                /* dot11_priv_t */
        u8 length;
        char key[32];
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_mlme {
        u8 address[6];
        u16 id;
        u16 state;
        u16 code;
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_mlmeex {
        u8 address[6];
        u16 code;
        u16 size;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_buffer {
        u32 size;
        u32 addr;               /* 32bit bus address */
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_bss {
        u8 address[6];
        short rates;
        short basic_rates;
        int:16;                 /* padding */
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_bsslist {
        u32 nr;
        struct obj_bss bsslist[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_frequencies {
        u16 nr;
        u16 mhz[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct obj_attachment {
        char type;
        short id;
        short size;
        char data[0];
-} __attribute__((packed));
+} __packed;
 
 /*
  * in case everything's ok, the inlined function below will be
 
        __le16 unk3;
        u8 rssi;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct rx_annex_header {
        u8 addr1[ETH_ALEN];
        u8 addr2[ETH_ALEN];
        struct rfmon_header rfmon;
-} __attribute__ ((packed));
+} __packed;
 
 /* wlan-ng (and hopefully others) AVS header, version one.  Fields in
  * network byte order. */
 
        u8 device_id;
        u8 flags;
        u32 length;
-} __attribute__ ((packed))
+} __packed
 pimfor_header_t;
 
 /* A received and interrupt-processed management frame, either for
 
        u8 bssid[6];
        u8 padding[2];
        __le32 flags;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_pmkid_candidate {
        u8 bssid[6];
        u8 padding[2];
        __le32 flags;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_pmkid_cand_list {
        __le32 version;
        __le32 num_candidates;
        struct ndis_80211_pmkid_candidate candidate_list[0];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_status_indication {
        __le32 status_type;
                struct ndis_80211_auth_request          auth_request[0];
                struct ndis_80211_pmkid_cand_list       cand_list;
        } u;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_ssid {
        __le32 length;
        u8 essid[NDIS_802_11_LENGTH_SSID];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_conf_freq_hop {
        __le32 length;
        __le32 hop_pattern;
        __le32 hop_set;
        __le32 dwell_time;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_conf {
        __le32 length;
        __le32 atim_window;
        __le32 ds_config;
        struct ndis_80211_conf_freq_hop fh_config;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_bssid_ex {
        __le32 length;
        u8 rates[NDIS_802_11_LENGTH_RATES_EX];
        __le32 ie_length;
        u8 ies[0];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_bssid_list_ex {
        __le32 num_items;
        struct ndis_80211_bssid_ex bssid[0];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_fixed_ies {
        u8 timestamp[8];
        __le16 beacon_interval;
        __le16 capabilities;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_wep_key {
        __le32 size;
        __le32 index;
        __le32 length;
        u8 material[32];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_key {
        __le32 size;
        u8 padding[6];
        u8 rsc[8];
        u8 material[32];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_remove_key {
        __le32 size;
        __le32 index;
        u8 bssid[6];
        u8 padding[2];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_config_param {
        __le32 name_offs;
        __le32 type;
        __le32 value_offs;
        __le32 value_length;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_assoc_info {
        __le32 length;
        } resp_ie;
        __le32 resp_ie_length;
        __le32 offset_resp_ies;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_auth_encr_pair {
        __le32 auth_mode;
        __le32 encr_mode;
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_capability {
        __le32 length;
        __le32 num_pmkids;
        __le32 num_auth_encr_pair;
        struct ndis_80211_auth_encr_pair auth_encr_pair[0];
-} __attribute__((packed));
+} __packed;
 
 struct ndis_80211_bssid_info {
        u8 bssid[6];
 
 struct mac_wcid_entry {
        u8 mac[6];
        u8 reserved[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct hw_key_entry {
        u8 key[16];
        u8 tx_mic[8];
        u8 rx_mic[8];
-} __attribute__ ((packed));
+} __packed;
 
 struct mac_iveiv_entry {
        u8 iv[8];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * MAC_WCID_ATTRIBUTE:
 
        u8 key[16];
        u8 tx_mic[8];
        u8 rx_mic[8];
-} __attribute__ ((packed));
+} __packed;
 
 struct hw_pairwise_ta_entry {
        u8 address[6];
        u8 cipher;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Other on-chip shared memory space.
 
        u8 key[16];
        u8 tx_mic[8];
        u8 rx_mic[8];
-} __attribute__ ((packed));
+} __packed;
 
 struct hw_pairwise_ta_entry {
        u8 address[6];
        u8 cipher;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Since NULL frame won't be that long (256 byte),
 
        u8 agc;
        u8 flags2;
        u32 reserved[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct rtl8180_rx_desc {
        __le32 flags;
                __le32 rx_buf;
                __le64 tsft;
        };
-} __attribute__ ((packed));
+} __packed;
 
 struct rtl8180_tx_ring {
        struct rtl8180_tx_desc *desc;
 
        u8 agc;
        u8 reserved;
        __le64 mac_time;
-} __attribute__((packed));
+} __packed;
 
 struct rtl8187b_rx_hdr {
        __le32 flags;
        __le16 snr_long2end;
        s8 pwdb_g12;
        u8 fot;
-} __attribute__((packed));
+} __packed;
 
 /* {rtl8187,rtl8187b}_tx_info is in skb */
 
        __le16 rts_duration;
        __le16 len;
        __le32 retry;
-} __attribute__((packed));
+} __packed;
 
 struct rtl8187b_tx_hdr {
        __le32 flags;
        __le32 unused_3;
        __le32 retry;
        __le32 unused_4[2];
-} __attribute__((packed));
+} __packed;
 
 enum {
        DEVICE_RTL8187,
 
        u8      reserved_22[4];
        __le16  TALLY_CNT;
        u8      TALLY_SEL;
-} __attribute__((packed));
+} __packed;
 
 struct rtl818x_rf_ops {
        char *name;
 
        /* the number of missed sequence numbers in the squentially */
        /* values of frames seq numbers */
        u32 seq_num_miss;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_revision {
        struct acx_header header;
         * bits 24 - 31: Chip ID - The WiLink chip ID.
         */
        u32 hw_version;
-} __attribute__ ((packed));
+} __packed;
 
 enum wl1251_psm_mode {
        /* Active mode */
        /* 2 - ELP mode: Deep / Max sleep*/
        u8  sleep_auth;
        u8  padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        HOSTIF_PCI_MASTER_HOST_INDIRECT,
         * complete ring until an interrupt is generated.
         */
        u32 tx_complete_timeout;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct acx_data_path_params_resp {
        u32 tx_control_addr;
 
        u32 tx_complete_addr;
-} __attribute__ ((packed));
+} __packed;
 
 #define TX_MSDU_LIFETIME_MIN       0
 #define TX_MSDU_LIFETIME_MAX       3000
         * firmware discards the MSDU.
         */
        u32 lifetime;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * RX Config Options Table
 
        u32 config_options;
        u32 filter_options;
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        QOS_AC_BE = 0,
 
        /* Lowest memory blocks guaranteed for this queue */
        u16 low_threshold;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_packet_detection {
        struct acx_header header;
 
        u32 threshold;
-} __attribute__ ((packed));
+} __packed;
 
 
 enum acx_slot_type {
        u8 wone_index; /* Reserved */
        u8 slot_time;
        u8 reserved[6];
-} __attribute__ ((packed));
+} __packed;
 
 
 #define ADDRESS_GROUP_MAX      (8)
        u8 num_groups;
        u8 pad[2];
        u8 mac_table[ADDRESS_GROUP_MAX_LEN];
-} __attribute__ ((packed));
+} __packed;
 
 
 #define  RX_TIMEOUT_PS_POLL_MIN    0
         * from an UPSD enabled queue.
         */
        u16 upsd_timeout;
-} __attribute__ ((packed));
+} __packed;
 
 #define RTS_THRESHOLD_MIN              0
 #define RTS_THRESHOLD_MAX              4096
 
        u16 threshold;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_beacon_filter_option {
        struct acx_header header;
         */
        u8 max_num_beacons;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * ACXBeaconFilterEntry (not 221)
        u8 num_ie;
        u8 table[BEACON_FILTER_TABLE_MAX_SIZE];
        u8 pad[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define SYNCH_FAIL_DEFAULT_THRESHOLD    10     /* number of beacons */
 #define NO_BEACON_DEFAULT_TIMEOUT       (500) /* in microseconds */
         */
        u8 enable;
        u8 pad[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define PTA_ANTENNA_TYPE_DEF             (0)
 #define PTA_BT_HP_MAXTIME_DEF            (2000)
 
        /* range: 0 - 20  default: 1 */
        u8 bt_hp_respected_num;
-} __attribute__ ((packed));
+} __packed;
 
 #define CCA_THRSH_ENABLE_ENERGY_D       0x140A
 #define CCA_THRSH_DISABLE_ENERGY_D      0xFFEF
        u16 rx_cca_threshold;
        u8 tx_energy_detection;
        u8 pad;
-} __attribute__ ((packed));
+} __packed;
 
 #define BCN_RX_TIMEOUT_DEF_VALUE        10000
 #define BROADCAST_RX_TIMEOUT_DEF_VALUE  20000
        /* Consecutive PS Poll failures before updating the host */
        u8 ps_poll_threshold;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_event_mask {
        struct acx_header header;
 
        u32 event_mask;
        u32 high_event_mask; /* Unused */
-} __attribute__ ((packed));
+} __packed;
 
 #define CFG_RX_FCS             BIT(2)
 #define CFG_RX_ALL_GOOD                BIT(3)
        u8 tx_ctrl_frame_mod; /* CCK_* or PBCC_* */
        u8 tx_mgt_frame_rate;
        u8 tx_mgt_frame_mod;
-} __attribute__ ((packed));
+} __packed;
 
 /* STA MAC */
 struct acx_dot11_station_id {
 
        u8 mac[ETH_ALEN];
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_feature_config {
        struct acx_header header;
 
        u32 options;
        u32 data_flow_options;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_current_tx_power {
        struct acx_header header;
 
        u8  current_tx_power;
        u8  padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_dot11_default_key {
        struct acx_header header;
 
        u8 id;
        u8 pad[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_tsf_info {
        struct acx_header header;
        u32 last_TBTT_lsb;
        u8 last_dtim_count;
        u8 pad[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum acx_wake_up_event {
        WAKE_UP_EVENT_BEACON_BITMAP     = 0x01, /* Wake on every Beacon*/
        u8 wake_up_event; /* Only one bit can be set */
        u8 listen_interval;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_aid {
        struct acx_header header;
         */
        u16 aid;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 enum acx_preamble_type {
        ACX_PREAMBLE_LONG = 0,
         */
        u8 preamble;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum acx_ctsprotect_type {
        CTSPROTECT_DISABLE = 0,
        struct acx_header header;
        u8 ctsprotect;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_tx_statistics {
        u32 internal_desc_overflow;
-}  __attribute__ ((packed));
+}  __packed;
 
 struct acx_rx_statistics {
        u32 out_of_mem;
        u32 xfr_hint_trig;
        u32 path_reset;
        u32 reset_counter;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_dma_statistics {
        u32 rx_requested;
        u32 rx_errors;
        u32 tx_requested;
        u32 tx_errors;
-}  __attribute__ ((packed));
+}  __packed;
 
 struct acx_isr_statistics {
        /* host command complete */
 
        /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */
        u32 low_rssi;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_wep_statistics {
        /* WEP address keys configured */
 
        /* WEP decrypt interrupts */
        u32 interrupt;
-} __attribute__ ((packed));
+} __packed;
 
 #define ACX_MISSED_BEACONS_SPREAD 10
 
 
        /* the number of beacons in awake mode */
        u32 rcvd_awake_beacons;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_mic_statistics {
        u32 rx_pkts;
        u32 calc_failure;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_aes_statistics {
        u32 encrypt_fail;
        u32 decrypt_packets;
        u32 encrypt_interrupt;
        u32 decrypt_interrupt;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_event_statistics {
        u32 heart_beat;
        u32 oom_late;
        u32 phy_transmit_error;
        u32 tx_stuck;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_ps_statistics {
        u32 pspoll_timeouts;
        u32 pspoll_max_apturn;
        u32 pspoll_utilization;
        u32 upsd_utilization;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_rxpipe_statistics {
        u32 rx_prep_beacon_drop;
        u32 beacon_buffer_thres_host_int_trig_rx_data;
        u32 missed_beacon_host_int_trig_rx_data;
        u32 tx_xfr_host_int_trig_rx_data;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_statistics {
        struct acx_header header;
        struct acx_event_statistics event;
        struct acx_ps_statistics ps;
        struct acx_rxpipe_statistics rxpipe;
-} __attribute__ ((packed));
+} __packed;
 
 #define ACX_MAX_RATE_CLASSES       8
 #define ACX_RATE_MASK_UNSPECIFIED  0
 
        u32 rate_class_cnt;
        struct acx_rate_class rate_class[ACX_MAX_RATE_CLASSES];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1251_acx_memory {
        __le16 num_stations; /* number of STAs to be supported. */
        u8 tx_min_mem_block_num;
        u8 num_ssid_profiles;
        __le16 debug_buffer_size;
-} __attribute__ ((packed));
+} __packed;
 
 
 #define ACX_RX_DESC_MIN                1
        u8 type;
        u8 priority;
        __le32 dma_address;
-} __attribute__ ((packed));
+} __packed;
 
 #define ACX_TX_DESC_MIN                1
 #define ACX_TX_DESC_MAX                127
     u8 num_descs;
     u8 pad[2];
     u8 attributes;
-} __attribute__ ((packed));
+} __packed;
 
 #define MAX_TX_QUEUE_CONFIGS 5
 #define MAX_TX_QUEUES 4
        struct wl1251_acx_memory mem_config;
        struct wl1251_acx_rx_queue_config rx_queue_config;
        struct wl1251_acx_tx_queue_config tx_queue_config[MAX_TX_QUEUE_CONFIGS];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1251_acx_mem_map {
        struct acx_header header;
 
        /* Number of blocks FW allocated for RX packets */
        u32 num_rx_mem_blocks;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct wl1251_acx_wr_tbtt_and_dtim {
        */
        u8  dtim;
        u8  padding;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1251_acx_ac_cfg {
        struct acx_header header;
 
        /* The TX Op Limit (in microseconds) for the access class. */
        u16 txop_limit;
-} __attribute__ ((packed));
+} __packed;
 
 
 enum wl1251_acx_channel_type {
 
        /* not supported */
        u32 apsdconf[2];
-} __attribute__ ((packed));
+} __packed;
 
 /*************************************************************************
 
 
        u16 status;
        /* payload */
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct  wl1251_command {
        struct wl1251_cmd_header header;
        u8 ssid_len;
        u8 ssid[32];
 
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1251_scan_ch_parameters {
        u32 min_duration; /* in TU */
        u8 tx_power_att;
        u8 channel;
        u8 pad[3];
-} __attribute__ ((packed));
+} __packed;
 
 /* SCAN parameters */
 #define SCAN_MAX_NUM_OF_CHANNELS 16
 
        struct wl1251_scan_parameters params;
        struct wl1251_scan_ch_parameters channels[SCAN_MAX_NUM_OF_CHANNELS];
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        BSS_TYPE_IBSS = 0,
        u8 tx_mgt_frame_rate; /* OBSOLETE */
        u8 tx_mgt_frame_mod;  /* OBSOLETE */
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_enabledisable_path {
        struct wl1251_cmd_header header;
 
        u8 channel;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define WL1251_MAX_TEMPLATE_SIZE 300
 
 
        __le16 size;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define TIM_ELE_ID    5
 #define PARTIAL_VBM_MAX    251
        u8 dtim_period;
        u8 bitmap_ctrl;
        u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */
-} __attribute__ ((packed));
+} __packed;
 
 /* Virtual Bit Map update */
 struct wl1251_cmd_vbm_update {
        __le16 len;
        u8  padding[2];
        struct wl1251_tim tim;
-} __attribute__ ((packed));
+} __packed;
 
 enum wl1251_cmd_ps_mode {
        STATION_ACTIVE_MODE,
        u8 hang_over_period;
        u16 null_data_rate;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1251_cmd_trigger_scan_to {
        struct wl1251_cmd_header header;
        u8 key[MAX_KEY_SIZE];
        u16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY];
        u32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY];
-} __attribute__ ((packed));
+} __packed;
 
 
 #endif /* __WL1251_CMD_H__ */
 
        u32 report_1;
        u32 report_2;
        u32 report_3;
-} __attribute__ ((packed));
+} __packed;
 
 struct event_mailbox {
        u32 events_vector;
        struct event_debug_report report;
        u8 average_snr_level;
        u8 padding[19];
-} __attribute__ ((packed));
+} __packed;
 
 int wl1251_event_unmask(struct wl1251 *wl);
 void wl1251_event_mbox_config(struct wl1251 *wl);
 
        s8 rssi; /* in dB */
        u8 rcpi; /* in dB */
        u8 snr; /* in dB */
-} __attribute__ ((packed));
+} __packed;
 
 void wl1251_rx(struct wl1251 *wl);
 
 
        unsigned xfer_pad:1;
 
        unsigned reserved:7;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct tx_double_buffer_desc {
        u8 num_mem_blocks;
 
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        TX_SUCCESS              = 0,
 
        /* See done_1 */
        u8 done_2;
-} __attribute__ ((packed));
+} __packed;
 
 static inline int wl1251_tx_get_queue(int queue)
 {
 
        u8 dyn_radio_params[WL1271_NVS_FEM_COUNT]
                           [WL1271_NVS_DYN_RADIO_PARAMS_SIZE_PADDED];
        u8 ini_spare[WL1271_NVS_INI_SPARE_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * Enable/disable 802.11a support for WL1273
        __le32 tx_released_blks[NUM_TX_QUEUES];
        __le32 fw_localtime;
        __le32 padding[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_rx_mem_pool_addr {
        u32 addr;
 
 
        /* payload length (not including headers */
        __le16 len;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_error_counter {
        struct acx_header header;
        /* the number of missed sequence numbers in the squentially */
        /* values of frames seq numbers */
        __le32 seq_num_miss;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_revision {
        struct acx_header header;
         * bits 24 - 31: Chip ID - The WiLink chip ID.
         */
        __le32 hw_version;
-} __attribute__ ((packed));
+} __packed;
 
 enum wl1271_psm_mode {
        /* Active mode */
        /* 2 - ELP mode: Deep / Max sleep*/
        u8  sleep_auth;
        u8  padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        HOSTIF_PCI_MASTER_HOST_INDIRECT,
         * firmware discards the MSDU.
         */
        __le32 lifetime;
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * RX Config Options Table
 
        __le32 config_options;
        __le32 filter_options;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_packet_detection {
        struct acx_header header;
 
        __le32 threshold;
-} __attribute__ ((packed));
+} __packed;
 
 
 enum acx_slot_type {
        u8 wone_index; /* Reserved */
        u8 slot_time;
        u8 reserved[6];
-} __attribute__ ((packed));
+} __packed;
 
 
 #define ACX_MC_ADDRESS_GROUP_MAX       (8)
        u8 num_groups;
        u8 pad[2];
        u8 mac_table[ADDRESS_GROUP_MAX_LEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_rx_timeout {
        struct acx_header header;
 
        __le16 ps_poll_timeout;
        __le16 upsd_timeout;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_rts_threshold {
        struct acx_header header;
 
        __le16 threshold;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_beacon_filter_option {
        struct acx_header header;
         */
        u8 max_num_beacons;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * ACXBeaconFilterEntry (not 221)
        u8 num_ie;
        u8 pad[3];
        u8 table[BEACON_FILTER_TABLE_MAX_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_conn_monit_params {
        struct acx_header header;
 
        __le32 synch_fail_thold; /* number of beacons missed */
        __le32 bss_lose_timeout; /* number of TU's from synch fail */
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_bt_wlan_coex {
        struct acx_header header;
 
        u8 enable;
        u8 pad[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_bt_wlan_coex_param {
        struct acx_header header;
        __le32 params[CONF_SG_PARAMS_MAX];
        u8 param_idx;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_dco_itrim_params {
        struct acx_header header;
        u8 enable;
        u8 padding[3];
        __le32 timeout;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_energy_detection {
        struct acx_header header;
        __le16 rx_cca_threshold;
        u8 tx_energy_detection;
        u8 pad;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_beacon_broadcast {
        struct acx_header header;
        /* Consecutive PS Poll failures before updating the host */
        u8 ps_poll_threshold;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_event_mask {
        struct acx_header header;
 
        __le32 event_mask;
        __le32 high_event_mask; /* Unused */
-} __attribute__ ((packed));
+} __packed;
 
 #define CFG_RX_FCS             BIT(2)
 #define CFG_RX_ALL_GOOD                BIT(3)
 
        __le32 options;
        __le32 data_flow_options;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_current_tx_power {
        struct acx_header header;
 
        u8  current_tx_power;
        u8  padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_wake_up_condition {
        struct acx_header header;
        u8 wake_up_event; /* Only one bit can be set */
        u8 listen_interval;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_aid {
        struct acx_header header;
         */
        __le16 aid;
        u8 pad[2];
-} __attribute__ ((packed));
+} __packed;
 
 enum acx_preamble_type {
        ACX_PREAMBLE_LONG = 0,
         */
        u8 preamble;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum acx_ctsprotect_type {
        CTSPROTECT_DISABLE = 0,
        struct acx_header header;
        u8 ctsprotect;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_tx_statistics {
        __le32 internal_desc_overflow;
-}  __attribute__ ((packed));
+}  __packed;
 
 struct acx_rx_statistics {
        __le32 out_of_mem;
        __le32 xfr_hint_trig;
        __le32 path_reset;
        __le32 reset_counter;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_dma_statistics {
        __le32 rx_requested;
        __le32 rx_errors;
        __le32 tx_requested;
        __le32 tx_errors;
-}  __attribute__ ((packed));
+}  __packed;
 
 struct acx_isr_statistics {
        /* host command complete */
 
        /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */
        __le32 low_rssi;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_wep_statistics {
        /* WEP address keys configured */
 
        /* WEP decrypt interrupts */
        __le32 interrupt;
-} __attribute__ ((packed));
+} __packed;
 
 #define ACX_MISSED_BEACONS_SPREAD 10
 
 
        /* the number of beacons in awake mode */
        __le32 rcvd_awake_beacons;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_mic_statistics {
        __le32 rx_pkts;
        __le32 calc_failure;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_aes_statistics {
        __le32 encrypt_fail;
        __le32 decrypt_packets;
        __le32 encrypt_interrupt;
        __le32 decrypt_interrupt;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_event_statistics {
        __le32 heart_beat;
        __le32 oom_late;
        __le32 phy_transmit_error;
        __le32 tx_stuck;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_ps_statistics {
        __le32 pspoll_timeouts;
        __le32 pspoll_max_apturn;
        __le32 pspoll_utilization;
        __le32 upsd_utilization;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_rxpipe_statistics {
        __le32 rx_prep_beacon_drop;
        __le32 beacon_buffer_thres_host_int_trig_rx_data;
        __le32 missed_beacon_host_int_trig_rx_data;
        __le32 tx_xfr_host_int_trig_rx_data;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_statistics {
        struct acx_header header;
        struct acx_event_statistics event;
        struct acx_ps_statistics ps;
        struct acx_rxpipe_statistics rxpipe;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_rate_class {
        __le32 enabled_rates;
 
        __le32 rate_class_cnt;
        struct acx_rate_class rate_class[CONF_TX_MAX_RATE_CLASSES];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_ac_cfg {
        struct acx_header header;
        u8 aifsn;
        u8 reserved;
        __le16 tx_op_limit;
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_tid_config {
        struct acx_header header;
        u8 ack_policy;
        u8 padding[3];
        __le32 apsd_conf[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_frag_threshold {
        struct acx_header header;
        __le16 frag_threshold;
        u8 padding[2];
-} __attribute__ ((packed));
+} __packed;
 
 struct acx_tx_config_options {
        struct acx_header header;
        __le16 tx_compl_timeout;     /* msec */
        __le16 tx_compl_threshold;   /* number of packets */
-} __attribute__ ((packed));
+} __packed;
 
 #define ACX_RX_MEM_BLOCKS     70
 #define ACX_TX_MIN_MEM_BLOCKS 40
        u8 num_stations;
        u8 num_ssid_profiles;
        __le32 total_tx_descriptors;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_acx_mem_map {
        struct acx_header header;
        u8 *rx_cbuf;
        __le32 rx_ctrl;
        __le32 tx_ctrl;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_acx_rx_config_opt {
        struct acx_header header;
        __le16 timeout;
        u8 queue_type;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct wl1271_acx_bet_enable {
        u8 enable;
        u8 max_consecutive;
        u8 padding[2];
-} __attribute__ ((packed));
+} __packed;
 
 #define ACX_IPV4_VERSION 4
 #define ACX_IPV6_VERSION 6
                               requests directed to this IP address will pass
                               through. For IPv4, the first four bytes are
                               used. */
-} __attribute__((packed));
+} __packed;
 
 struct wl1271_acx_pm_config {
        struct acx_header header;
        __le32 host_clk_settling_time;
        u8 host_fast_wakeup_support;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_acx_keep_alive_mode {
        struct acx_header header;
 
        u8 enabled;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        ACX_KEEP_ALIVE_NO_TX = 0,
        u8 tpl_validation;
        u8 trigger;
        u8 padding;
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        WL1271_ACX_TRIG_TYPE_LEVEL = 0,
 
        __le16 status;
        /* payload */
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 #define WL1271_CMD_MAX_PARAMS 572
 
 struct wl1271_command {
        struct wl1271_cmd_header header;
        u8  parameters[WL1271_CMD_MAX_PARAMS];
-} __attribute__ ((packed));
+} __packed;
 
 enum {
        CMD_MAILBOX_IDLE                =  0,
           of this field is the Host in WRITE command or the Wilink in READ
           command. */
        u8 value[MAX_READ_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 #define CMDMBOX_HEADER_LEN 4
 #define CMDMBOX_INFO_ELEM_HEADER_LEN 4
        u8 ssid[IW_ESSID_MAX_SIZE];
        u8 ctrl; /* JOIN_CMD_CTRL_* */
        u8 reserved[3];
-} __attribute__ ((packed));
+} __packed;
 
 struct cmd_enabledisable_path {
        struct wl1271_cmd_header header;
 
        u8 channel;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define WL1271_RATE_AUTOMATIC  0
 
        u8 aflags;
        u8 reserved;
        u8 template_data[WL1271_CMD_TEMPL_MAX_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 #define TIM_ELE_ID    5
 #define PARTIAL_VBM_MAX    251
        u8 dtim_period;
        u8 bitmap_ctrl;
        u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */
-} __attribute__ ((packed));
+} __packed;
 
 enum wl1271_cmd_ps_mode {
        STATION_ACTIVE_MODE,
          */
        u8 hang_over_period;
        __le32 null_data_rate;
-} __attribute__ ((packed));
+} __packed;
 
 /* HW encryption keys */
 #define NUM_ACCESS_CATEGORIES_COPY 4
        u8 key[MAX_KEY_SIZE];
        __le16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY];
        __le32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY];
-} __attribute__ ((packed));
+} __packed;
 
 
 #define WL1271_SCAN_MAX_CHANNELS       24
        u8 use_ssid_list;
        u8 scan_tag;
        u8 padding2;
-} __attribute__ ((packed));
+} __packed;
 
 struct basic_scan_channel_params {
        /* Duration in TU to wait for frames on a channel for active scan */
        u8 dfs_candidate;
        u8 activity_detected;
        u8 pad;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_cmd_scan {
        struct wl1271_cmd_header header;
 
        struct basic_scan_params params;
        struct basic_scan_channel_params channels[WL1271_SCAN_MAX_CHANNELS];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_cmd_trigger_scan_to {
        struct wl1271_cmd_header header;
 
        __le32 timeout;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_cmd_test_header {
        u8 id;
        u8 padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 enum wl1271_channel_tune_bands {
        WL1271_CHANNEL_TUNE_BAND_2_4,
 
        u8 params[WL1271_NVS_GENERAL_PARAMS_SIZE];
        s8 reserved[23];
-} __attribute__ ((packed));
+} __packed;
 
 #define WL1271_STAT_RADIO_PARAMS_5_SIZE    29
 #define WL1271_DYN_RADIO_PARAMS_5_SIZE    104
        u8 dyn_radio_params[WL1271_NVS_DYN_RADIO_PARAMS_SIZE];
        u8 reserved;
        u8 dyn_radio_params_5[WL1271_DYN_RADIO_PARAMS_5_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_cmd_cal_channel_tune {
        struct wl1271_cmd_header header;
        u8 channel;
 
        __le16 radio_status;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_cmd_cal_update_ref_point {
        struct wl1271_cmd_header header;
        __le32 ref_detector;
        u8  sub_band;
        u8  padding[3];
-} __attribute__ ((packed));
+} __packed;
 
 #define MAX_TLV_LENGTH         400
 #define        MAX_NVS_VERSION_LENGTH 12
 
        u8  sub_band_mask;
        u8  padding2;
-} __attribute__ ((packed));
+} __packed;
 
 
 /*
        u8  type;
 
        u8  padding;
-} __attribute__ ((packed));
+} __packed;
 
 #endif /* __WL1271_CMD_H__ */
 
        __le32 report_1;
        __le32 report_2;
        __le32 report_3;
-} __attribute__ ((packed));
+} __packed;
 
 #define NUM_OF_RSSI_SNR_TRIGGERS 8
 
        u8 ps_status;
 
        u8 reserved_5[29];
-} __attribute__ ((packed));
+} __packed;
 
 int wl1271_event_unmask(struct wl1271 *wl);
 void wl1271_event_mbox_config(struct wl1271 *wl);
 
        u8  process_id;
        u8  pad_len;
        u8  reserved;
-} __attribute__ ((packed));
+} __packed;
 
 void wl1271_rx(struct wl1271 *wl, struct wl1271_fw_status *status);
 u8 wl1271_rate_to_idx(struct wl1271 *wl, int rate);
 
        /* Identifier of the remote STA in IBSS, 1 in infra-BSS */
        u8 aid;
        u8 reserved;
-} __attribute__ ((packed));
+} __packed;
 
 enum wl1271_tx_hw_res_status {
        TX_SUCCESS          = 0,
        u8 rate_class_index;
        /* for 4-byte alignment. */
        u8 spare;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl1271_tx_hw_res_if {
        __le32 tx_result_fw_counter;
        __le32 tx_result_host_counter;
        struct wl1271_tx_hw_res_descr tx_results_queue[TX_HW_RESULT_QUEUE_LEN];
-} __attribute__ ((packed));
+} __packed;
 
 static inline int wl1271_tx_get_queue(int queue)
 {
 
        u8 bssid[ETH_ALEN];
        __le16 seq_ctl;
        u8 payload[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_ie_header {
        u8 id;
        u8 len;
-} __attribute__ ((packed));
+} __packed;
 
 /* IEs */
 
 struct wl12xx_ie_ssid {
        struct wl12xx_ie_header header;
        char ssid[IW_ESSID_MAX_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_ie_rates {
        struct wl12xx_ie_header header;
        u8 rates[MAX_SUPPORTED_RATES];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_ie_ds_params {
        struct wl12xx_ie_header header;
        u8 channel;
-} __attribute__ ((packed));
+} __packed;
 
 struct country_triplet {
        u8 channel;
        u8 num_channels;
        u8 max_tx_power;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_ie_country {
        struct wl12xx_ie_header header;
        u8 country_string[COUNTRY_STRING_LEN];
        struct country_triplet triplets[MAX_COUNTRY_TRIPLETS];
-} __attribute__ ((packed));
+} __packed;
 
 
 /* Templates */
        struct wl12xx_ie_rates ext_rates;
        struct wl12xx_ie_ds_params ds_params;
        struct wl12xx_ie_country country;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_null_data_template {
        struct ieee80211_header header;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_ps_poll_template {
        __le16 fc;
        __le16 aid;
        u8 bssid[ETH_ALEN];
        u8 ta[ETH_ALEN];
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_qos_null_data_template {
        struct ieee80211_header header;
        __le16 qos_ctl;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl12xx_probe_req_template {
        struct ieee80211_header header;
        struct wl12xx_ie_ssid ssid;
        struct wl12xx_ie_rates rates;
        struct wl12xx_ie_rates ext_rates;
-} __attribute__ ((packed));
+} __packed;
 
 
 struct wl12xx_probe_resp_template {
        struct wl12xx_ie_rates ext_rates;
        struct wl12xx_ie_ds_params ds_params;
        struct wl12xx_ie_country country;
-} __attribute__ ((packed));
+} __packed;
 
 #endif
 
                  but sizeof(enum) > sizeof(u8) :-( */
        u8 len;
        u8 data[0];
-} __attribute__ ((packed));
+} __packed;
 
 struct iw_mgmt_essid_pset {
        struct iw_mgmt_info_element el;
        u8                          essid[IW_ESSID_MAX_SIZE];
-} __attribute__ ((packed));
+} __packed;
 
 /*
  * According to 802.11 Wireless Netowors, the definitive guide - O'Reilly
 struct iw_mgmt_data_rset {
        struct iw_mgmt_info_element el;
        u8                          data_rate_labels[IW_DATA_RATE_MAX_LABELS];
-} __attribute__ ((packed));
+} __packed;
 
 struct iw_mgmt_ds_pset {
        struct iw_mgmt_info_element el;
        u8                          chan;
-} __attribute__ ((packed));
+} __packed;
 
 struct iw_mgmt_cf_pset {
        struct iw_mgmt_info_element el;
        u8                          cfp_period;
        u16                         cfp_max_duration;
        u16                         cfp_dur_remaining;
-} __attribute__ ((packed));
+} __packed;
 
 struct iw_mgmt_ibss_pset {
        struct iw_mgmt_info_element el;
        u16                         atim_window;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl3501_tx_hdr {
        u16     tx_cnt;
        u8      service;
        u16     len;
        u16     crc16;
-} __attribute__ ((packed));
+} __packed;
 
 struct wl3501_80211_tx_hdr {
        struct wl3501_80211_tx_plcp_hdr pclp_hdr;
        struct ieee80211_hdr            mac_hdr;
-} __attribute__ ((packed));
+} __packed;
 
 /*
    Reserve the beginning Tx space for descriptor use.
 
        __le16 current_length;
        u8     service;
        __le16  next_frame_length;
-} __attribute__((packed));
+} __packed;
 
 #define ZD_CS_RESERVED_SIZE    25
 
 struct rx_length_info {
        __le16 length[3];
        __le16 tag;
-} __attribute__((packed));
+} __packed;
 
 #define RX_LENGTH_INFO_TAG             0x697e
 
        u8 signal_quality_ofdm;
        u8 decryption_type;
        u8 frame_status;
-} __attribute__((packed));
+} __packed;
 
 /* rx_status field decryption_type */
 #define ZD_RX_NO_WEP   0
        u8 mac[ETH_ALEN];
        u8 retry;
        u8 failure;
-} __attribute__((packed));
+} __packed;
 
 enum mac_flags {
        MAC_FIXED_CHANNEL = 0x01,
 struct ofdm_plcp_header {
        u8 prefix[3];
        __le16 service;
-} __attribute__((packed));
+} __packed;
 
 static inline u8 zd_ofdm_plcp_header_rate(const struct ofdm_plcp_header *header)
 {
        u8 service;
        __le16 length;
        __le16 crc16;
-} __attribute__((packed));
+} __packed;
 
 static inline u8 zd_cck_plcp_header_signal(const struct cck_plcp_header *header)
 {
 
 struct usb_req_read_regs {
        __le16 id;
        __le16 addr[0];
-} __attribute__((packed));
+} __packed;
 
 struct reg_data {
        __le16 addr;
        __le16 value;
-} __attribute__((packed));
+} __packed;
 
 struct usb_req_write_regs {
        __le16 id;
        struct reg_data reg_writes[0];
-} __attribute__((packed));
+} __packed;
 
 enum {
        RF_IF_LE = 0x02,
        /* RF2595: 24 */
        __le16 bit_values[0];
        /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */
-} __attribute__((packed));
+} __packed;
 
 /* USB interrupt */
 
 struct usb_int_header {
        u8 type;        /* must always be 1 */
        u8 id;
-} __attribute__((packed));
+} __packed;
 
 struct usb_int_regs {
        struct usb_int_header hdr;
        struct reg_data regs[0];
-} __attribute__((packed));
+} __packed;
 
 struct usb_int_retry_fail {
        struct usb_int_header hdr;
        u8 _dummy;
        u8 addr[ETH_ALEN];
        u8 ibss_wakeup_dest;
-} __attribute__((packed));
+} __packed;
 
 struct read_regs_int {
        struct completion completion;