Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drivers/net: use __packed annotation

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>

authored by

Eric Dumazet and committed by
David S. Miller
ba2d3587 1273d976

+934 -934
+3 -3
drivers/net/3c527.h
··· 34 34 { 35 35 u16 mbox; 36 36 u16 data[1]; 37 - } __attribute((packed)); 37 + } __packed; 38 38 39 39 struct skb_header 40 40 { ··· 43 43 u16 next; /* Do not change! */ 44 44 u16 length; 45 45 u32 data; 46 - } __attribute((packed)); 46 + } __packed; 47 47 48 48 struct mc32_stats 49 49 { ··· 68 68 u32 dataA[6]; 69 69 u16 dataB[5]; 70 70 u32 dataC[14]; 71 - } __attribute((packed)); 71 + } __packed; 72 72 73 73 #define STATUS_MASK 0x0F 74 74 #define COMPLETED (1<<7)
+1 -1
drivers/net/8139cp.c
··· 322 322 __le32 rx_ok_mcast; 323 323 __le16 tx_abort; 324 324 __le16 tx_underrun; 325 - } __attribute__((packed)); 325 + } __packed; 326 326 327 327 struct cp_extra_stats { 328 328 unsigned long rx_frags;
+2 -2
drivers/net/atlx/atl1.h
··· 436 436 __le16 buf_len; /* Size of the receive buffer in host memory */ 437 437 u16 coalese; /* Update consumer index to host after the 438 438 * reception of this frame */ 439 - /* __attribute__ ((packed)) is required */ 440 - } __attribute__ ((packed)); 439 + /* __packed is required */ 440 + } __packed; 441 441 442 442 /* 443 443 * The L1 transmit packet descriptor is comprised of four 32-bit words.
+1 -1
drivers/net/can/mscan/mscan.h
··· 227 227 u16 time; /* + 0x7c 0x3e */ 228 228 } tx; 229 229 _MSCAN_RESERVED_(32, 2); /* + 0x7e */ 230 - } __attribute__ ((packed)); 230 + } __packed; 231 231 232 232 #undef _MSCAN_RESERVED_ 233 233 #define MSCAN_REGION sizeof(struct mscan)
+1 -1
drivers/net/can/usb/ems_usb.c
··· 197 197 }; 198 198 199 199 /* Main message type used between library and application */ 200 - struct __attribute__ ((packed)) ems_cpc_msg { 200 + struct __packed ems_cpc_msg { 201 201 u8 type; /* type of message */ 202 202 u8 length; /* length of data within union 'msg' */ 203 203 u8 msgid; /* confirmation handle */
+1 -1
drivers/net/dm9000.c
··· 961 961 u8 RxPktReady; 962 962 u8 RxStatus; 963 963 __le16 RxLen; 964 - } __attribute__((__packed__)); 964 + } __packed; 965 965 966 966 /* 967 967 * Received a packet and pass to upper layer
+1 -1
drivers/net/ehea/ehea_qmr.h
··· 126 126 u8 immediate_data[SWQE2_MAX_IMM]; 127 127 /* 0xd0 */ 128 128 struct ehea_vsgentry sg_list[EHEA_MAX_WQE_SG_ENTRIES-1]; 129 - } immdata_desc __attribute__ ((packed)); 129 + } immdata_desc __packed; 130 130 131 131 /* Send WQE Format 3 */ 132 132 struct {
+1 -1
drivers/net/enic/vnic_vic.h
··· 44 44 u16 length; 45 45 u8 value[0]; 46 46 } tlv[0]; 47 - } __attribute__ ((packed)); 47 + } __packed; 48 48 49 49 #define VIC_PROVINFO_MAX_DATA 1385 50 50 #define VIC_PROVINFO_MAX_TLV_DATA (VIC_PROVINFO_MAX_DATA - \
+1 -1
drivers/net/fsl_pq_mdio.h
··· 39 39 u8 reserved[28]; /* Space holder */ 40 40 u32 utbipar; /* TBI phy address reg (only on UCC) */ 41 41 u8 res4[2728]; 42 - } __attribute__ ((packed)); 42 + } __packed; 43 43 44 44 int fsl_pq_mdio_read(struct mii_bus *bus, int mii_id, int regnum); 45 45 int fsl_pq_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value);
+1 -1
drivers/net/irda/donauboe.h
··· 273 273 __u8 control; /*Slot control/status see below */ 274 274 __u32 address; /*Slot buffer address */ 275 275 } 276 - __attribute__ ((packed)); 276 + __packed; 277 277 278 278 #define OBOE_NTASKS OBOE_TXRING_OFFSET_IN_SLOTS 279 279
+1 -1
drivers/net/irda/irda-usb.h
··· 125 125 __u8 bmAdditionalBOFs; 126 126 __u8 bIrdaRateSniff; 127 127 __u8 bMaxUnicastList; 128 - } __attribute__ ((packed)); 128 + } __packed; 129 129 130 130 /* class specific interface request to get the IrDA-USB class descriptor 131 131 * (6.2.5, USB-IrDA class spec 1.0) */
+1 -1
drivers/net/irda/ks959-sir.c
··· 154 154 __le32 baudrate; /* baud rate, little endian */ 155 155 __u8 flags; 156 156 __u8 reserved[3]; 157 - } __attribute__ ((packed)); 157 + } __packed; 158 158 159 159 #define KS_DATA_5_BITS 0x00 160 160 #define KS_DATA_6_BITS 0x01
+1 -1
drivers/net/irda/ksdazzle-sir.c
··· 117 117 __le32 baudrate; /* baud rate, little endian */ 118 118 __u8 flags; 119 119 __u8 reserved[3]; 120 - } __attribute__ ((packed)); 120 + } __packed; 121 121 122 122 #define KS_DATA_5_BITS 0x00 123 123 #define KS_DATA_6_BITS 0x01
+3 -3
drivers/net/irda/vlsi_ir.h
··· 544 544 struct { 545 545 u8 addr_res[3]; 546 546 volatile u8 status; /* descriptor status */ 547 - } __attribute__((packed)) rd_s; 548 - } __attribute((packed)) rd_u; 549 - } __attribute__ ((packed)); 547 + } __packed rd_s; 548 + } __packed rd_u; 549 + } __packed; 550 550 551 551 #define rd_addr rd_u.addr 552 552 #define rd_status rd_u.rd_s.status
+7 -7
drivers/net/mlx4/eq.c
··· 110 110 u32 raw[6]; 111 111 struct { 112 112 __be32 cqn; 113 - } __attribute__((packed)) comp; 113 + } __packed comp; 114 114 struct { 115 115 u16 reserved1; 116 116 __be16 token; ··· 118 118 u8 reserved3[3]; 119 119 u8 status; 120 120 __be64 out_param; 121 - } __attribute__((packed)) cmd; 121 + } __packed cmd; 122 122 struct { 123 123 __be32 qpn; 124 - } __attribute__((packed)) qp; 124 + } __packed qp; 125 125 struct { 126 126 __be32 srqn; 127 - } __attribute__((packed)) srq; 127 + } __packed srq; 128 128 struct { 129 129 __be32 cqn; 130 130 u32 reserved1; 131 131 u8 reserved2[3]; 132 132 u8 syndrome; 133 - } __attribute__((packed)) cq_err; 133 + } __packed cq_err; 134 134 struct { 135 135 u32 reserved1[2]; 136 136 __be32 port; 137 - } __attribute__((packed)) port_change; 137 + } __packed port_change; 138 138 } event; 139 139 u8 reserved3[3]; 140 140 u8 owner; 141 - } __attribute__((packed)); 141 + } __packed; 142 142 143 143 static void eq_set_ci(struct mlx4_eq *eq, int req_not) 144 144 {
+1 -1
drivers/net/mlx4/mr.c
··· 58 58 __be32 mtt_sz; 59 59 __be32 entity_size; 60 60 __be32 first_byte_offset; 61 - } __attribute__((packed)); 61 + } __packed; 62 62 63 63 #define MLX4_MPT_FLAG_SW_OWNS (0xfUL << 28) 64 64 #define MLX4_MPT_FLAG_FREE (0x3UL << 28)
+5 -5
drivers/net/ps3_gelic_wireless.h
··· 74 74 u16 bss_type; /* infra or adhoc */ 75 75 u16 auth_method; /* shared key or open */ 76 76 u16 op_mode; /* B/G */ 77 - } __attribute__((packed)); 77 + } __packed; 78 78 79 79 80 80 /* for GELIC_EURUS_CMD_WEP_CFG */ ··· 88 88 /* all fields are big endian */ 89 89 u16 security; 90 90 u8 key[4][16]; 91 - } __attribute__((packed)); 91 + } __packed; 92 92 93 93 /* for GELIC_EURUS_CMD_WPA_CFG */ 94 94 enum gelic_eurus_wpa_security { ··· 120 120 u16 security; 121 121 u16 psk_type; /* psk key encoding type */ 122 122 u8 psk[GELIC_WL_EURUS_PSK_MAX_LEN]; /* psk key; hex or passphrase */ 123 - } __attribute__((packed)); 123 + } __packed; 124 124 125 125 /* for GELIC_EURUS_CMD_{START,GET}_SCAN */ 126 126 enum gelic_eurus_scan_capability { ··· 171 171 __be32 reserved3; 172 172 __be32 reserved4; 173 173 u8 elements[0]; /* ie */ 174 - } __attribute__ ((packed)); 174 + } __packed; 175 175 176 176 /* the hypervisor returns bbs up to 16 */ 177 177 #define GELIC_EURUS_MAX_SCAN (16) ··· 193 193 struct gelic_eurus_rssi_info { 194 194 /* big endian */ 195 195 __be16 rssi; 196 - } __attribute__ ((packed)); 196 + } __packed; 197 197 198 198 199 199 /* for 'stat' member of gelic_wl_info */
+12 -12
drivers/net/qlge/qlge.h
··· 1062 1062 #define TX_DESC_LEN_MASK 0x000fffff 1063 1063 #define TX_DESC_C 0x40000000 1064 1064 #define TX_DESC_E 0x80000000 1065 - } __attribute((packed)); 1065 + } __packed; 1066 1066 1067 1067 /* 1068 1068 * IOCB Definitions... ··· 1095 1095 __le16 vlan_tci; 1096 1096 __le16 reserved4; 1097 1097 struct tx_buf_desc tbd[TX_DESC_PER_IOCB]; 1098 - } __attribute((packed)); 1098 + } __packed; 1099 1099 1100 1100 struct ob_mac_iocb_rsp { 1101 1101 u8 opcode; /* */ ··· 1112 1112 u32 tid; 1113 1113 u32 txq_idx; 1114 1114 __le32 reserved[13]; 1115 - } __attribute((packed)); 1115 + } __packed; 1116 1116 1117 1117 struct ob_mac_tso_iocb_req { 1118 1118 u8 opcode; ··· 1140 1140 __le16 vlan_tci; 1141 1141 __le16 mss; 1142 1142 struct tx_buf_desc tbd[TX_DESC_PER_IOCB]; 1143 - } __attribute((packed)); 1143 + } __packed; 1144 1144 1145 1145 struct ob_mac_tso_iocb_rsp { 1146 1146 u8 opcode; ··· 1157 1157 u32 tid; 1158 1158 u32 txq_idx; 1159 1159 __le32 reserved2[13]; 1160 - } __attribute((packed)); 1160 + } __packed; 1161 1161 1162 1162 struct ib_mac_iocb_rsp { 1163 1163 u8 opcode; /* 0x20 */ ··· 1216 1216 #define IB_MAC_IOCB_RSP_HL 0x80 1217 1217 __le32 hdr_len; /* */ 1218 1218 __le64 hdr_addr; /* */ 1219 - } __attribute((packed)); 1219 + } __packed; 1220 1220 1221 1221 struct ib_ae_iocb_rsp { 1222 1222 u8 opcode; ··· 1237 1237 #define PCI_ERR_ANON_BUF_RD 0x40 1238 1238 u8 q_id; 1239 1239 __le32 reserved[15]; 1240 - } __attribute((packed)); 1240 + } __packed; 1241 1241 1242 1242 /* 1243 1243 * These three structures are for generic ··· 1249 1249 __le16 length; 1250 1250 __le32 tid; 1251 1251 __le32 reserved[14]; 1252 - } __attribute((packed)); 1252 + } __packed; 1253 1253 1254 1254 struct net_req_iocb { 1255 1255 u8 opcode; ··· 1257 1257 __le16 flags1; 1258 1258 __le32 tid; 1259 1259 __le32 reserved1[30]; 1260 - } __attribute((packed)); 1260 + } __packed; 1261 1261 1262 1262 /* 1263 1263 * tx ring initialization control block for chip. ··· 1283 1283 __le16 rid; 1284 1284 __le64 addr; 1285 1285 __le64 cnsmr_idx_addr; 1286 - } __attribute((packed)); 1286 + } __packed; 1287 1287 1288 1288 /* 1289 1289 * rx ring initialization control block for chip. ··· 1317 1317 __le64 sbq_addr; 1318 1318 __le16 sbq_buf_size; 1319 1319 __le16 sbq_len; /* entry count */ 1320 - } __attribute((packed)); 1320 + } __packed; 1321 1321 1322 1322 struct ricb { 1323 1323 u8 base_cq; ··· 1335 1335 u8 hash_cq_id[1024]; 1336 1336 __le32 ipv6_hash_key[10]; 1337 1337 __le32 ipv4_hash_key[4]; 1338 - } __attribute((packed)); 1338 + } __packed; 1339 1339 1340 1340 /* SOFTWARE/DRIVER DATA STRUCTURES. */ 1341 1341
+1 -1
drivers/net/sfc/selftest.c
··· 38 38 struct udphdr udp; 39 39 __be16 iteration; 40 40 const char msg[64]; 41 - } __attribute__ ((packed)); 41 + } __packed; 42 42 43 43 /* Loopback test source MAC address */ 44 44 static const unsigned char payload_source[ETH_ALEN] = {
+3 -3
drivers/net/sky2.h
··· 2161 2161 __le16 length; /* also vlan tag or checksum start */ 2162 2162 u8 ctrl; 2163 2163 u8 opcode; 2164 - } __attribute((packed)); 2164 + } __packed; 2165 2165 2166 2166 struct sky2_rx_le { 2167 2167 __le32 addr; 2168 2168 __le16 length; 2169 2169 u8 ctrl; 2170 2170 u8 opcode; 2171 - } __attribute((packed)); 2171 + } __packed; 2172 2172 2173 2173 struct sky2_status_le { 2174 2174 __le32 status; /* also checksum */ 2175 2175 __le16 length; /* also vlan tag */ 2176 2176 u8 css; 2177 2177 u8 opcode; 2178 - } __attribute((packed)); 2178 + } __packed; 2179 2179 2180 2180 struct tx_ring_info { 2181 2181 struct sk_buff *skb;
+1 -1
drivers/net/tehuti.h
··· 334 334 u32 va_lo; 335 335 u32 va_hi; 336 336 struct pbl pbl[0]; /* Fragments */ 337 - } __attribute__ ((packed)); 337 + } __packed; 338 338 339 339 /* Register region size */ 340 340 #define BDX_REGS_SIZE 0x1000
+2 -2
drivers/net/tulip/de2104x.c
··· 262 262 u16 csr13; 263 263 u16 csr14; 264 264 u16 csr15; 265 - } __attribute__((packed)); 265 + } __packed; 266 266 267 267 struct de_srom_info_leaf { 268 268 u16 default_media; 269 269 u8 n_blocks; 270 270 u8 unused; 271 - } __attribute__((packed)); 271 + } __packed; 272 272 273 273 struct de_desc { 274 274 __le32 opts1;
+1 -1
drivers/net/typhoon.c
··· 255 255 struct rx_free rxBuff[RXFREE_ENTRIES] __3xp_aligned; 256 256 u32 zeroWord; 257 257 struct tx_desc txHi[TXHI_ENTRIES]; 258 - } __attribute__ ((packed)); 258 + } __packed; 259 259 260 260 struct rxbuff_ent { 261 261 struct sk_buff *skb;
+13 -13
drivers/net/typhoon.h
··· 77 77 volatile __le32 cmdCleared; 78 78 volatile __le32 respReady; 79 79 volatile __le32 rxHiReady; 80 - } __attribute__ ((packed)); 80 + } __packed; 81 81 82 82 /* The host<->Typhoon interface 83 83 * Our means of communicating where things are ··· 125 125 __le32 rxHiAddr; 126 126 __le32 rxHiAddrHi; 127 127 __le32 rxHiSize; 128 - } __attribute__ ((packed)); 128 + } __packed; 129 129 130 130 /* The Typhoon transmit/fragment descriptor 131 131 * ··· 187 187 #define TYPHOON_TX_PF_VLAN_MASK cpu_to_le32(0x0ffff000) 188 188 #define TYPHOON_TX_PF_INTERNAL cpu_to_le32(0xf0000000) 189 189 #define TYPHOON_TX_PF_VLAN_TAG_SHIFT 12 190 - } __attribute__ ((packed)); 190 + } __packed; 191 191 192 192 /* The TCP Segmentation offload option descriptor 193 193 * ··· 208 208 __le32 respAddrLo; 209 209 __le32 bytesTx; 210 210 __le32 status; 211 - } __attribute__ ((packed)); 211 + } __packed; 212 212 213 213 /* The IPSEC Offload descriptor 214 214 * ··· 227 227 __le32 sa1; 228 228 __le32 sa2; 229 229 __le32 reserved; 230 - } __attribute__ ((packed)); 230 + } __packed; 231 231 232 232 /* The Typhoon receive descriptor (Updated by NIC) 233 233 * ··· 284 284 #define TYPHOON_RX_UNKNOWN_SA cpu_to_le16(0x0100) 285 285 #define TYPHOON_RX_ESP_FORMAT_ERR cpu_to_le16(0x0200) 286 286 __be32 vlanTag; 287 - } __attribute__ ((packed)); 287 + } __packed; 288 288 289 289 /* The Typhoon free buffer descriptor, used to give a buffer to the NIC 290 290 * ··· 301 301 __le32 physAddrHi; 302 302 u32 virtAddr; 303 303 u32 virtAddrHi; 304 - } __attribute__ ((packed)); 304 + } __packed; 305 305 306 306 /* The Typhoon command descriptor, used for commands and responses 307 307 * ··· 347 347 __le16 parm1; 348 348 __le32 parm2; 349 349 __le32 parm3; 350 - } __attribute__ ((packed)); 350 + } __packed; 351 351 352 352 /* The Typhoon response descriptor, see command descriptor for details 353 353 */ ··· 359 359 __le16 parm1; 360 360 __le32 parm2; 361 361 __le32 parm3; 362 - } __attribute__ ((packed)); 362 + } __packed; 363 363 364 364 #define INIT_COMMAND_NO_RESPONSE(x, command) \ 365 365 do { struct cmd_desc *_ptr = (x); \ ··· 427 427 #define TYPHOON_LINK_HALF_DUPLEX cpu_to_le32(0x00000000) 428 428 __le32 unused2; 429 429 __le32 unused3; 430 - } __attribute__ ((packed)); 430 + } __packed; 431 431 432 432 /* TYPHOON_CMD_XCVR_SELECT xcvr values (resp.parm1) 433 433 */ ··· 488 488 u32 index; 489 489 u32 unused; 490 490 u32 unused2; 491 - } __attribute__ ((packed)); 491 + } __packed; 492 492 493 493 /* TYPHOON_CMD_SET_OFFLOAD_TASKS bits (cmd.parm2 (Tx) & cmd.parm3 (Rx)) 494 494 * This is all for IPv4. ··· 518 518 __le32 numSections; 519 519 __le32 startAddr; 520 520 __le32 hmacDigest[5]; 521 - } __attribute__ ((packed)); 521 + } __packed; 522 522 523 523 struct typhoon_section_header { 524 524 __le32 len; 525 525 u16 checksum; 526 526 u16 reserved; 527 527 __le32 startAddr; 528 - } __attribute__ ((packed)); 528 + } __packed; 529 529 530 530 /* The Typhoon Register offsets 531 531 */
+23 -23
drivers/net/ucc_geth.h
··· 106 106 u32 scar; /* Statistics carry register */ 107 107 u32 scam; /* Statistics caryy mask register */ 108 108 u8 res5[0x200 - 0x1c4]; 109 - } __attribute__ ((packed)); 109 + } __packed; 110 110 111 111 /* UCC GETH TEMODR Register */ 112 112 #define TEMODER_TX_RMON_STATISTICS_ENABLE 0x0100 /* enable Tx statistics ··· 420 420 421 421 struct ucc_geth_thread_data_tx { 422 422 u8 res0[104]; 423 - } __attribute__ ((packed)); 423 + } __packed; 424 424 425 425 struct ucc_geth_thread_data_rx { 426 426 u8 res0[40]; 427 - } __attribute__ ((packed)); 427 + } __packed; 428 428 429 429 /* Send Queue Queue-Descriptor */ 430 430 struct ucc_geth_send_queue_qd { ··· 432 432 u8 res0[0x8]; 433 433 u32 last_bd_completed_address;/* initialize to last entry in BD ring */ 434 434 u8 res1[0x30]; 435 - } __attribute__ ((packed)); 435 + } __packed; 436 436 437 437 struct ucc_geth_send_queue_mem_region { 438 438 struct ucc_geth_send_queue_qd sqqd[NUM_TX_QUEUES]; 439 - } __attribute__ ((packed)); 439 + } __packed; 440 440 441 441 struct ucc_geth_thread_tx_pram { 442 442 u8 res0[64]; 443 - } __attribute__ ((packed)); 443 + } __packed; 444 444 445 445 struct ucc_geth_thread_rx_pram { 446 446 u8 res0[128]; 447 - } __attribute__ ((packed)); 447 + } __packed; 448 448 449 449 #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING 64 450 450 #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_8 64 ··· 484 484 /**< weight factor for queues */ 485 485 u32 minw; /* temporary variable handled by QE */ 486 486 u8 res1[0x70 - 0x64]; 487 - } __attribute__ ((packed)); 487 + } __packed; 488 488 489 489 struct ucc_geth_tx_firmware_statistics_pram { 490 490 u32 sicoltx; /* single collision */ ··· 506 506 and 1518 octets */ 507 507 u32 txpktsjumbo; /* total packets (including bad) between 1024 508 508 and MAXLength octets */ 509 - } __attribute__ ((packed)); 509 + } __packed; 510 510 511 511 struct ucc_geth_rx_firmware_statistics_pram { 512 512 u32 frrxfcser; /* frames with crc error */ ··· 540 540 replaced */ 541 541 u32 insertvlan; /* total frames that had their VLAN tag 542 542 inserted */ 543 - } __attribute__ ((packed)); 543 + } __packed; 544 544 545 545 struct ucc_geth_rx_interrupt_coalescing_entry { 546 546 u32 interruptcoalescingmaxvalue; /* interrupt coalescing max ··· 548 548 u32 interruptcoalescingcounter; /* interrupt coalescing counter, 549 549 initialize to 550 550 interruptcoalescingmaxvalue */ 551 - } __attribute__ ((packed)); 551 + } __packed; 552 552 553 553 struct ucc_geth_rx_interrupt_coalescing_table { 554 554 struct ucc_geth_rx_interrupt_coalescing_entry coalescingentry[NUM_RX_QUEUES]; 555 555 /**< interrupt coalescing entry */ 556 - } __attribute__ ((packed)); 556 + } __packed; 557 557 558 558 struct ucc_geth_rx_prefetched_bds { 559 559 struct qe_bd bd[NUM_BDS_IN_PREFETCHED_BDS]; /* prefetched bd */ 560 - } __attribute__ ((packed)); 560 + } __packed; 561 561 562 562 struct ucc_geth_rx_bd_queues_entry { 563 563 u32 bdbaseptr; /* BD base pointer */ 564 564 u32 bdptr; /* BD pointer */ 565 565 u32 externalbdbaseptr; /* external BD base pointer */ 566 566 u32 externalbdptr; /* external BD pointer */ 567 - } __attribute__ ((packed)); 567 + } __packed; 568 568 569 569 struct ucc_geth_tx_global_pram { 570 570 u16 temoder; ··· 580 580 u32 tqptr; /* a base pointer to the Tx Queues Memory 581 581 Region */ 582 582 u8 res2[0x80 - 0x74]; 583 - } __attribute__ ((packed)); 583 + } __packed; 584 584 585 585 /* structure representing Extended Filtering Global Parameters in PRAM */ 586 586 struct ucc_geth_exf_global_pram { 587 587 u32 l2pcdptr; /* individual address filter, high */ 588 588 u8 res0[0x10 - 0x04]; 589 - } __attribute__ ((packed)); 589 + } __packed; 590 590 591 591 struct ucc_geth_rx_global_pram { 592 592 u32 remoder; /* ethernet mode reg. */ ··· 620 620 u32 exfGlobalParam; /* base address for extended filtering global 621 621 parameters */ 622 622 u8 res6[0x100 - 0xC4]; /* Initialize to zero */ 623 - } __attribute__ ((packed)); 623 + } __packed; 624 624 625 625 #define GRACEFUL_STOP_ACKNOWLEDGE_RX 0x01 626 626 ··· 639 639 u32 txglobal; /* tx global */ 640 640 u32 txthread[ENET_INIT_PARAM_MAX_ENTRIES_TX]; /* tx threads */ 641 641 u8 res3[0x1]; 642 - } __attribute__ ((packed)); 642 + } __packed; 643 643 644 644 #define ENET_INIT_PARAM_RGF_SHIFT (32 - 4) 645 645 #define ENET_INIT_PARAM_TGF_SHIFT (32 - 8) ··· 661 661 u16 h; /* address (MSB) */ 662 662 u16 m; /* address */ 663 663 u16 l; /* address (LSB) */ 664 - } __attribute__ ((packed)); 664 + } __packed; 665 665 666 666 /* structure representing 82xx Address Filtering PRAM */ 667 667 struct ucc_geth_82xx_address_filtering_pram { ··· 672 672 struct ucc_geth_82xx_enet_address __iomem taddr; 673 673 struct ucc_geth_82xx_enet_address __iomem paddr[NUM_OF_PADDRS]; 674 674 u8 res0[0x40 - 0x38]; 675 - } __attribute__ ((packed)); 675 + } __packed; 676 676 677 677 /* GETH Tx firmware statistics structure, used when calling 678 678 UCC_GETH_GetStatistics. */ ··· 696 696 and 1518 octets */ 697 697 u32 txpktsjumbo; /* total packets (including bad) between 1024 698 698 and MAXLength octets */ 699 - } __attribute__ ((packed)); 699 + } __packed; 700 700 701 701 /* GETH Rx firmware statistics structure, used when calling 702 702 UCC_GETH_GetStatistics. */ ··· 732 732 replaced */ 733 733 u32 insertvlan; /* total frames that had their VLAN tag 734 734 inserted */ 735 - } __attribute__ ((packed)); 735 + } __packed; 736 736 737 737 /* GETH hardware statistics structure, used when calling 738 738 UCC_GETH_GetStatistics. */ ··· 781 781 u32 rbca; /* Total number of frames received successfully 782 782 that had destination address equal to the 783 783 broadcast address */ 784 - } __attribute__ ((packed)); 784 + } __packed; 785 785 786 786 /* UCC GETH Tx errors returned via TxConf callback */ 787 787 #define TX_ERRORS_DEF 0x0200
+1 -1
drivers/net/usb/asix.c
··· 179 179 __le16 res2; 180 180 u8 status; 181 181 __le16 res3; 182 - } __attribute__ ((packed)); 182 + } __packed; 183 183 184 184 static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index, 185 185 u16 size, void *data)
+1 -1
drivers/net/usb/hso.c
··· 211 211 u16 wIndex; 212 212 u16 wLength; 213 213 u16 UART_state_bitmap; 214 - } __attribute__((packed)); 214 + } __packed; 215 215 216 216 struct hso_tiocmget { 217 217 struct mutex mutex;
+1 -1
drivers/net/usb/kaweth.c
··· 207 207 __le16 segment_size; 208 208 __u16 max_multicast_filters; 209 209 __u8 reserved3; 210 - } __attribute__ ((packed)); 210 + } __packed; 211 211 212 212 /**************************************************************** 213 213 * kaweth_device
+2 -2
drivers/net/usb/net1080.c
··· 64 64 // all else is optional, and must start with: 65 65 // __le16 vendorId; // from usb-if 66 66 // __le16 productId; 67 - } __attribute__((__packed__)); 67 + } __packed; 68 68 69 69 #define PAD_BYTE ((unsigned char)0xAC) 70 70 71 71 struct nc_trailer { 72 72 __le16 packet_id; 73 - } __attribute__((__packed__)); 73 + } __packed; 74 74 75 75 // packets may use FLAG_FRAMING_NC and optional pad 76 76 #define FRAMED_SIZE(mtu) (sizeof (struct nc_header) \
+1 -1
drivers/net/usb/sierra_net.c
··· 165 165 u8 gw_addr_len; /* NW-supplied GW address len */ 166 166 u8 gw_addr[16]; /* NW-supplied GW address (bigendian) */ 167 167 u8 reserved[8]; 168 - } __attribute__ ((packed)); 168 + } __packed; 169 169 170 170 #define SIERRA_NET_LSI_COMMON_LEN 4 171 171 #define SIERRA_NET_LSI_UMTS_LEN (sizeof(struct lsi_umts))
+6 -6
drivers/net/via-velocity.h
··· 193 193 __le32 pa_low; /* Low 32 bit PCI address */ 194 194 __le16 pa_high; /* Next 16 bit PCI address (48 total) */ 195 195 __le16 size; /* bits 0--14 - frame size, bit 15 - enable int. */ 196 - } __attribute__ ((__packed__)); 196 + } __packed; 197 197 198 198 /* 199 199 * Transmit descriptor ··· 208 208 __le16 vlan; 209 209 u8 TCR; 210 210 u8 cmd; /* bits 0--1 - TCPLS, bits 4--7 - CMDZ */ 211 - } __attribute__ ((__packed__)); 211 + } __packed; 212 212 213 213 enum { 214 214 TD_QUEUE = cpu_to_le16(0x8000) ··· 218 218 __le32 pa_low; 219 219 __le16 pa_high; 220 220 __le16 size; /* bits 0--13 - size, bit 15 - queue */ 221 - } __attribute__ ((__packed__)); 221 + } __packed; 222 222 223 223 struct tx_desc { 224 224 struct tdesc0 tdesc0; ··· 1096 1096 1097 1097 volatile __le16 PatternCRC[8]; /* 0xB0 */ 1098 1098 volatile __le32 ByteMask[4][4]; /* 0xC0 */ 1099 - } __attribute__ ((__packed__)); 1099 + } __packed; 1100 1100 1101 1101 1102 1102 enum hw_mib { ··· 1216 1216 u8 ar_sip[4]; 1217 1217 u8 ar_tha[ETH_ALEN]; 1218 1218 u8 ar_tip[4]; 1219 - } __attribute__ ((__packed__)); 1219 + } __packed; 1220 1220 1221 1221 struct _magic_packet { 1222 1222 u8 dest_mac[6]; ··· 1224 1224 __be16 type; 1225 1225 u8 MAC[16][6]; 1226 1226 u8 password[6]; 1227 - } __attribute__ ((__packed__)); 1227 + } __packed; 1228 1228 1229 1229 /* 1230 1230 * Store for chip context when saving and restoring status. Not
+1 -1
drivers/net/wan/hd64570.h
··· 153 153 u16 len; /* Data Length */ 154 154 u8 stat; /* Status */ 155 155 u8 unused; /* pads to 2-byte boundary */ 156 - }__attribute__ ((packed)) pkt_desc; 156 + }__packed pkt_desc; 157 157 158 158 159 159 /* Packet Descriptor Status bits */
+2 -2
drivers/net/wan/hdlc_cisco.c
··· 36 36 u8 address; 37 37 u8 control; 38 38 __be16 protocol; 39 - }__attribute__ ((packed)); 39 + }__packed; 40 40 41 41 42 42 struct cisco_packet { ··· 45 45 __be32 par2; 46 46 __be16 rel; /* reliability */ 47 47 __be32 time; 48 - }__attribute__ ((packed)); 48 + }__packed; 49 49 #define CISCO_PACKET_LEN 18 50 50 #define CISCO_BIG_PACKET_LEN 20 51 51
+1 -1
drivers/net/wan/hdlc_fr.c
··· 112 112 unsigned de: 1; 113 113 unsigned ea2: 1; 114 114 #endif 115 - }__attribute__ ((packed)) fr_hdr; 115 + }__packed fr_hdr; 116 116 117 117 118 118 typedef struct pvc_device_struct {
+1 -1
drivers/net/wan/sdla.c
··· 330 330 { 331 331 short dlci; 332 332 char flags; 333 - } __attribute__((packed)); 333 + } __packed; 334 334 335 335 struct _frad_stat 336 336 {
+1 -1
drivers/net/wimax/i2400m/control.c
··· 848 848 struct i2400m_l3l4_hdr hdr; 849 849 struct i2400m_tlv_hdr tlv; 850 850 __le32 val; 851 - } __attribute__((packed)); 851 + } __packed; 852 852 853 853 854 854 /*
+4 -4
drivers/net/wimax/i2400m/fw.c
··· 651 651 struct { 652 652 struct i2400m_bootrom_header cmd; 653 653 u8 cmd_payload[chunk_len]; 654 - } __attribute__((packed)) *buf; 654 + } __packed *buf; 655 655 struct i2400m_bootrom_header ack; 656 656 657 657 d_fnstart(5, dev, "(i2400m %p chunk %p __chunk_len %zu addr 0x%08lx " ··· 794 794 struct { 795 795 struct i2400m_bootrom_header cmd; 796 796 u8 cmd_pl[0]; 797 - } __attribute__((packed)) *cmd_buf; 797 + } __packed *cmd_buf; 798 798 size_t signature_block_offset, signature_block_size; 799 799 800 800 d_fnstart(3, dev, "offset %zu\n", offset); ··· 1029 1029 struct { 1030 1030 struct i2400m_bootrom_header ack; 1031 1031 u8 ack_pl[16]; 1032 - } __attribute__((packed)) ack_buf; 1032 + } __packed ack_buf; 1033 1033 1034 1034 d_fnstart(5, dev, "(i2400m %p)\n", i2400m); 1035 1035 cmd = i2400m->bm_cmd_buf; ··· 1115 1115 struct { 1116 1116 struct i2400m_bootrom_header cmd; 1117 1117 struct i2400m_bcf_hdr cmd_pl; 1118 - } __attribute__((packed)) *cmd_buf; 1118 + } __packed *cmd_buf; 1119 1119 struct i2400m_bootrom_header ack; 1120 1120 1121 1121 d_fnstart(5, dev, "(i2400m %p bcf_hdr %p)\n", i2400m, bcf_hdr);
+1 -1
drivers/net/wimax/i2400m/op-rfkill.c
··· 91 91 struct { 92 92 struct i2400m_l3l4_hdr hdr; 93 93 struct i2400m_tlv_rf_operation sw_rf; 94 - } __attribute__((packed)) *cmd; 94 + } __packed *cmd; 95 95 char strerr[32]; 96 96 97 97 d_fnstart(4, dev, "(wimax_dev %p state %d)\n", wimax_dev, state);
+3 -3
drivers/net/wireless/adm8211.h
··· 80 80 __le32 FEMR; /* 0x104 */ 81 81 __le32 FPSR; /* 0x108 */ 82 82 __le32 FFER; /* 0x10C */ 83 - } __attribute__ ((packed)); 83 + } __packed; 84 84 85 85 /* CSR0 - PAR (PCI Address Register) */ 86 86 #define ADM8211_PAR_MWIE (1 << 24) ··· 484 484 u8 entry_control; // huh?? 485 485 u16 reserved_1; 486 486 u32 reserved_2; 487 - } __attribute__ ((packed)); 487 + } __packed; 488 488 489 489 490 490 #define RX_COPY_BREAK 128 ··· 531 531 u8 lnags_threshold[14]; /* 0x70 */ 532 532 __le16 checksum; /* 0x7E */ 533 533 u8 cis_data[0]; /* 0x80, 384 bytes */ 534 - } __attribute__ ((packed)); 534 + } __packed; 535 535 536 536 struct adm8211_priv { 537 537 struct pci_dev *pdev;
+16 -16
drivers/net/wireless/airo.c
··· 506 506 u8 mac[ETH_ALEN]; 507 507 __le16 klen; 508 508 u8 key[16]; 509 - } __attribute__ ((packed)); 509 + } __packed; 510 510 511 511 /* These structures are from the Aironet's PC4500 Developers Manual */ 512 512 typedef struct Ssid Ssid; 513 513 struct Ssid { 514 514 __le16 len; 515 515 u8 ssid[32]; 516 - } __attribute__ ((packed)); 516 + } __packed; 517 517 518 518 typedef struct SsidRid SsidRid; 519 519 struct SsidRid { 520 520 __le16 len; 521 521 Ssid ssids[3]; 522 - } __attribute__ ((packed)); 522 + } __packed; 523 523 524 524 typedef struct ModulationRid ModulationRid; 525 525 struct ModulationRid { ··· 528 528 #define MOD_DEFAULT cpu_to_le16(0) 529 529 #define MOD_CCK cpu_to_le16(1) 530 530 #define MOD_MOK cpu_to_le16(2) 531 - } __attribute__ ((packed)); 531 + } __packed; 532 532 533 533 typedef struct ConfigRid ConfigRid; 534 534 struct ConfigRid { ··· 652 652 #define MAGIC_STAY_IN_CAM (1<<10) 653 653 u8 magicControl; 654 654 __le16 autoWake; 655 - } __attribute__ ((packed)); 655 + } __packed; 656 656 657 657 typedef struct StatusRid StatusRid; 658 658 struct StatusRid { ··· 711 711 #define STAT_LEAPFAILED 91 712 712 #define STAT_LEAPTIMEDOUT 92 713 713 #define STAT_LEAPCOMPLETE 93 714 - } __attribute__ ((packed)); 714 + } __packed; 715 715 716 716 typedef struct StatsRid StatsRid; 717 717 struct StatsRid { 718 718 __le16 len; 719 719 __le16 spacer; 720 720 __le32 vals[100]; 721 - } __attribute__ ((packed)); 721 + } __packed; 722 722 723 723 typedef struct APListRid APListRid; 724 724 struct APListRid { 725 725 __le16 len; 726 726 u8 ap[4][ETH_ALEN]; 727 - } __attribute__ ((packed)); 727 + } __packed; 728 728 729 729 typedef struct CapabilityRid CapabilityRid; 730 730 struct CapabilityRid { ··· 754 754 __le16 bootBlockVer; 755 755 __le16 requiredHard; 756 756 __le16 extSoftCap; 757 - } __attribute__ ((packed)); 757 + } __packed; 758 758 759 759 /* Only present on firmware >= 5.30.17 */ 760 760 typedef struct BSSListRidExtra BSSListRidExtra; ··· 762 762 __le16 unknown[4]; 763 763 u8 fixed[12]; /* WLAN management frame */ 764 764 u8 iep[624]; 765 - } __attribute__ ((packed)); 765 + } __packed; 766 766 767 767 typedef struct BSSListRid BSSListRid; 768 768 struct BSSListRid { ··· 796 796 797 797 /* Only present on firmware >= 5.30.17 */ 798 798 BSSListRidExtra extra; 799 - } __attribute__ ((packed)); 799 + } __packed; 800 800 801 801 typedef struct { 802 802 BSSListRid bss; ··· 807 807 struct tdsRssiEntry { 808 808 u8 rssipct; 809 809 u8 rssidBm; 810 - } __attribute__ ((packed)); 810 + } __packed; 811 811 812 812 typedef struct tdsRssiRid tdsRssiRid; 813 813 struct tdsRssiRid { 814 814 u16 len; 815 815 tdsRssiEntry x[256]; 816 - } __attribute__ ((packed)); 816 + } __packed; 817 817 818 818 typedef struct MICRid MICRid; 819 819 struct MICRid { ··· 823 823 u8 multicast[16]; 824 824 __le16 unicastValid; 825 825 u8 unicast[16]; 826 - } __attribute__ ((packed)); 826 + } __packed; 827 827 828 828 typedef struct MICBuffer MICBuffer; 829 829 struct MICBuffer { ··· 841 841 } u; 842 842 __be32 mic; 843 843 __be32 seq; 844 - } __attribute__ ((packed)); 844 + } __packed; 845 845 846 846 typedef struct { 847 847 u8 da[ETH_ALEN]; ··· 996 996 u8 rate; 997 997 u8 freq; 998 998 __le16 tmp[4]; 999 - } __attribute__ ((packed)); 999 + } __packed; 1000 1000 1001 1001 typedef struct { 1002 1002 unsigned int ctl: 15;
+1 -1
drivers/net/wireless/at76c50x-usb.c
··· 305 305 unsigned char poll_timeout[3]; 306 306 unsigned char state; 307 307 unsigned char string; 308 - } __attribute__((packed)); 308 + } __packed; 309 309 310 310 static inline int at76_is_intersil(enum board_type board) 311 311 {
+20 -20
drivers/net/wireless/at76c50x-usb.h
··· 99 99 u8 reserved2[14]; 100 100 u8 cr15_values[14]; 101 101 u8 reserved3[3]; 102 - } __attribute__((packed)); 102 + } __packed; 103 103 104 104 struct hwcfg_rfmd { 105 105 u8 cr20_values[14]; ··· 111 111 u8 low_power_values[14]; 112 112 u8 normal_power_values[14]; 113 113 u8 reserved1[3]; 114 - } __attribute__((packed)); 114 + } __packed; 115 115 116 116 struct hwcfg_intersil { 117 117 u8 mac_addr[ETH_ALEN]; ··· 120 120 u8 pidvid[4]; 121 121 u8 regulatory_domain; 122 122 u8 reserved[1]; 123 - } __attribute__((packed)); 123 + } __packed; 124 124 125 125 union at76_hwcfg { 126 126 struct hwcfg_intersil i; ··· 149 149 u8 ssid_len; 150 150 u8 short_preamble; 151 151 __le16 beacon_period; 152 - } __attribute__((packed)); 152 + } __packed; 153 153 154 154 struct at76_command { 155 155 u8 cmd; 156 156 u8 reserved; 157 157 __le16 size; 158 158 u8 data[0]; 159 - } __attribute__((packed)); 159 + } __packed; 160 160 161 161 /* Length of Atmel-specific Rx header before 802.11 frame */ 162 162 #define AT76_RX_HDRLEN offsetof(struct at76_rx_buffer, packet) ··· 171 171 u8 noise_level; 172 172 __le32 rx_time; 173 173 u8 packet[IEEE80211_MAX_FRAG_THRESHOLD]; 174 - } __attribute__((packed)); 174 + } __packed; 175 175 176 176 /* Length of Atmel-specific Tx header before 802.11 frame */ 177 177 #define AT76_TX_HDRLEN offsetof(struct at76_tx_buffer, packet) ··· 182 182 u8 padding; 183 183 u8 reserved[4]; 184 184 u8 packet[IEEE80211_MAX_FRAG_THRESHOLD]; 185 - } __attribute__((packed)); 185 + } __packed; 186 186 187 187 /* defines for scan_type below */ 188 188 #define SCAN_TYPE_ACTIVE 0 ··· 198 198 __le16 max_channel_time; 199 199 u8 essid_size; 200 200 u8 international_scan; 201 - } __attribute__((packed)); 201 + } __packed; 202 202 203 203 struct at76_req_ibss { 204 204 u8 bssid[ETH_ALEN]; ··· 207 207 u8 channel; 208 208 u8 essid_size; 209 209 u8 reserved[3]; 210 - } __attribute__((packed)); 210 + } __packed; 211 211 212 212 struct at76_req_join { 213 213 u8 bssid[ETH_ALEN]; ··· 217 217 __le16 timeout; 218 218 u8 essid_size; 219 219 u8 reserved; 220 - } __attribute__((packed)); 220 + } __packed; 221 221 222 222 struct set_mib_buffer { 223 223 u8 type; ··· 229 229 __le16 word; 230 230 u8 addr[ETH_ALEN]; 231 231 } data; 232 - } __attribute__((packed)); 232 + } __packed; 233 233 234 234 struct mib_local { 235 235 u16 reserved0; ··· 241 241 u16 reserved2; 242 242 u8 preamble_type; 243 243 u16 reserved3; 244 - } __attribute__((packed)); 244 + } __packed; 245 245 246 246 struct mib_mac_addr { 247 247 u8 mac_addr[ETH_ALEN]; 248 248 u8 res[2]; /* ??? */ 249 249 u8 group_addr[4][ETH_ALEN]; 250 250 u8 group_addr_status[4]; 251 - } __attribute__((packed)); 251 + } __packed; 252 252 253 253 struct mib_mac { 254 254 __le32 max_tx_msdu_lifetime; ··· 269 269 u8 desired_bssid[ETH_ALEN]; 270 270 u8 desired_bsstype; /* ad-hoc or infrastructure */ 271 271 u8 reserved2; 272 - } __attribute__((packed)); 272 + } __packed; 273 273 274 274 struct mib_mac_mgmt { 275 275 __le16 beacon_period; ··· 292 292 u8 multi_domain_capability_enabled; 293 293 u8 country_string[3]; 294 294 u8 reserved[3]; 295 - } __attribute__((packed)); 295 + } __packed; 296 296 297 297 struct mib_mac_wep { 298 298 u8 privacy_invoked; /* 0 disable encr., 1 enable encr */ ··· 303 303 __le32 wep_excluded_count; 304 304 u8 wep_default_keyvalue[WEP_KEYS][WEP_LARGE_KEY_LEN]; 305 305 u8 encryption_level; /* 1 for 40bit, 2 for 104bit encryption */ 306 - } __attribute__((packed)); 306 + } __packed; 307 307 308 308 struct mib_phy { 309 309 __le32 ed_threshold; ··· 320 320 u8 current_cca_mode; 321 321 u8 phy_type; 322 322 u8 current_reg_domain; 323 - } __attribute__((packed)); 323 + } __packed; 324 324 325 325 struct mib_fw_version { 326 326 u8 major; 327 327 u8 minor; 328 328 u8 patch; 329 329 u8 build; 330 - } __attribute__((packed)); 330 + } __packed; 331 331 332 332 struct mib_mdomain { 333 333 u8 tx_powerlevel[14]; 334 334 u8 channel_list[14]; /* 0 for invalid channels */ 335 - } __attribute__((packed)); 335 + } __packed; 336 336 337 337 struct at76_fw_header { 338 338 __le32 crc; /* CRC32 of the whole image */ ··· 346 346 __le32 int_fw_len; /* internal firmware image length */ 347 347 __le32 ext_fw_offset; /* external firmware image offset */ 348 348 __le32 ext_fw_len; /* external firmware image length */ 349 - } __attribute__((packed)); 349 + } __packed; 350 350 351 351 /* a description of a regulatory domain and the allowed channels */ 352 352 struct reg_domain {
+3 -3
drivers/net/wireless/b43/b43.h
··· 530 530 /* Size of the data. For ucode and PCM this is in bytes. 531 531 * For IV this is number-of-ivs. */ 532 532 __be32 size; 533 - } __attribute__((__packed__)); 533 + } __packed; 534 534 535 535 /* Initial Value file format */ 536 536 #define B43_IV_OFFSET_MASK 0x7FFF ··· 540 540 union { 541 541 __be16 d16; 542 542 __be32 d32; 543 - } data __attribute__((__packed__)); 544 - } __attribute__((__packed__)); 543 + } data __packed; 544 + } __packed; 545 545 546 546 547 547 /* Data structures for DMA transmission, per 80211 core. */
+4 -4
drivers/net/wireless/b43/dma.h
··· 67 67 struct b43_dmadesc32 { 68 68 __le32 control; 69 69 __le32 address; 70 - } __attribute__ ((__packed__)); 70 + } __packed; 71 71 #define B43_DMA32_DCTL_BYTECNT 0x00001FFF 72 72 #define B43_DMA32_DCTL_ADDREXT_MASK 0x00030000 73 73 #define B43_DMA32_DCTL_ADDREXT_SHIFT 16 ··· 140 140 __le32 control1; 141 141 __le32 address_low; 142 142 __le32 address_high; 143 - } __attribute__ ((__packed__)); 143 + } __packed; 144 144 #define B43_DMA64_DCTL0_DTABLEEND 0x10000000 145 145 #define B43_DMA64_DCTL0_IRQ 0x20000000 146 146 #define B43_DMA64_DCTL0_FRAMEEND 0x40000000 ··· 153 153 union { 154 154 struct b43_dmadesc32 dma32; 155 155 struct b43_dmadesc64 dma64; 156 - } __attribute__ ((__packed__)); 157 - } __attribute__ ((__packed__)); 156 + } __packed; 157 + } __packed; 158 158 159 159 /* Misc DMA constants */ 160 160 #define B43_DMA_RINGMEMSIZE PAGE_SIZE
+10 -10
drivers/net/wireless/b43/xmit.h
··· 10 10 union { \ 11 11 __le32 data; \ 12 12 __u8 raw[size]; \ 13 - } __attribute__((__packed__)); \ 14 - } __attribute__((__packed__)) 13 + } __packed; \ 14 + } __packed 15 15 16 16 /* struct b43_plcp_hdr4 */ 17 17 _b43_declare_plcp_hdr(4); ··· 57 57 __u8 rts_frame[16]; /* The RTS frame (if used) */ 58 58 PAD_BYTES(2); 59 59 struct b43_plcp_hdr6 plcp; /* Main PLCP header */ 60 - } new_format __attribute__ ((__packed__)); 60 + } new_format __packed; 61 61 62 62 /* The old r351 format. */ 63 63 struct { ··· 68 68 __u8 rts_frame[16]; /* The RTS frame (if used) */ 69 69 PAD_BYTES(2); 70 70 struct b43_plcp_hdr6 plcp; /* Main PLCP header */ 71 - } old_format __attribute__ ((__packed__)); 71 + } old_format __packed; 72 72 73 - } __attribute__ ((__packed__)); 74 - } __attribute__ ((__packed__)); 73 + } __packed; 74 + } __packed; 75 75 76 76 /* MAC TX control */ 77 77 #define B43_TXH_MAC_USEFBR 0x10000000 /* Use fallback rate for this AMPDU */ ··· 218 218 struct { 219 219 __u8 jssi; /* PHY RX Status 1: JSSI */ 220 220 __u8 sig_qual; /* PHY RX Status 1: Signal Quality */ 221 - } __attribute__ ((__packed__)); 221 + } __packed; 222 222 223 223 /* RSSI for N-PHYs */ 224 224 struct { 225 225 __s8 power0; /* PHY RX Status 1: Power 0 */ 226 226 __s8 power1; /* PHY RX Status 1: Power 1 */ 227 - } __attribute__ ((__packed__)); 228 - } __attribute__ ((__packed__)); 227 + } __packed; 228 + } __packed; 229 229 __le16 phy_status2; /* PHY RX Status 2 */ 230 230 __le16 phy_status3; /* PHY RX Status 3 */ 231 231 __le32 mac_status; /* MAC RX status */ 232 232 __le16 mac_time; 233 233 __le16 channel; 234 - } __attribute__ ((__packed__)); 234 + } __packed; 235 235 236 236 /* PHY RX Status 0 */ 237 237 #define B43_RX_PHYST0_GAINCTL 0x4000 /* Gain Control */
+3 -3
drivers/net/wireless/b43legacy/b43legacy.h
··· 372 372 /* Size of the data. For ucode and PCM this is in bytes. 373 373 * For IV this is number-of-ivs. */ 374 374 __be32 size; 375 - } __attribute__((__packed__)); 375 + } __packed; 376 376 377 377 /* Initial Value file format */ 378 378 #define B43legacy_IV_OFFSET_MASK 0x7FFF ··· 382 382 union { 383 383 __be16 d16; 384 384 __be32 d32; 385 - } data __attribute__((__packed__)); 386 - } __attribute__((__packed__)); 385 + } data __packed; 386 + } __packed; 387 387 388 388 #define B43legacy_PHYMODE(phytype) (1 << (phytype)) 389 389 #define B43legacy_PHYMODE_B B43legacy_PHYMODE \
+4 -4
drivers/net/wireless/b43legacy/dma.h
··· 72 72 struct b43legacy_dmadesc32 { 73 73 __le32 control; 74 74 __le32 address; 75 - } __attribute__((__packed__)); 75 + } __packed; 76 76 #define B43legacy_DMA32_DCTL_BYTECNT 0x00001FFF 77 77 #define B43legacy_DMA32_DCTL_ADDREXT_MASK 0x00030000 78 78 #define B43legacy_DMA32_DCTL_ADDREXT_SHIFT 16 ··· 147 147 __le32 control1; 148 148 __le32 address_low; 149 149 __le32 address_high; 150 - } __attribute__((__packed__)); 150 + } __packed; 151 151 #define B43legacy_DMA64_DCTL0_DTABLEEND 0x10000000 152 152 #define B43legacy_DMA64_DCTL0_IRQ 0x20000000 153 153 #define B43legacy_DMA64_DCTL0_FRAMEEND 0x40000000 ··· 162 162 union { 163 163 struct b43legacy_dmadesc32 dma32; 164 164 struct b43legacy_dmadesc64 dma64; 165 - } __attribute__((__packed__)); 166 - } __attribute__((__packed__)); 165 + } __packed; 166 + } __packed; 167 167 168 168 169 169 /* Misc DMA constants */
+5 -5
drivers/net/wireless/b43legacy/xmit.h
··· 9 9 union { \ 10 10 __le32 data; \ 11 11 __u8 raw[size]; \ 12 - } __attribute__((__packed__)); \ 13 - } __attribute__((__packed__)) 12 + } __packed; \ 13 + } __packed 14 14 15 15 /* struct b43legacy_plcp_hdr4 */ 16 16 _b43legacy_declare_plcp_hdr(4); ··· 39 39 struct b43legacy_plcp_hdr6 rts_plcp; /* RTS PLCP */ 40 40 __u8 rts_frame[18]; /* The RTS frame (if used) */ 41 41 struct b43legacy_plcp_hdr6 plcp; 42 - } __attribute__((__packed__)); 42 + } __packed; 43 43 44 44 /* MAC TX control */ 45 45 #define B43legacy_TX4_MAC_KEYIDX 0x0FF00000 /* Security key index */ ··· 123 123 __le16 seq; 124 124 u8 phy_stat; 125 125 PAD_BYTES(1); 126 - } __attribute__((__packed__)); 126 + } __packed; 127 127 128 128 129 129 /* Receive header for v3 firmware. */ ··· 138 138 __le16 mac_status; /* MAC RX status */ 139 139 __le16 mac_time; 140 140 __le16 channel; 141 - } __attribute__((__packed__)); 141 + } __packed; 142 142 143 143 144 144 /* PHY RX Status 0 */
+9 -9
drivers/net/wireless/hostap/hostap_80211.h
··· 19 19 __le16 status_code; 20 20 /* possibly followed by Challenge text */ 21 21 u8 variable[0]; 22 - } __attribute__ ((packed)) auth; 22 + } __packed auth; 23 23 struct { 24 24 __le16 reason_code; 25 - } __attribute__ ((packed)) deauth; 25 + } __packed deauth; 26 26 struct { 27 27 __le16 capab_info; 28 28 __le16 listen_interval; 29 29 /* followed by SSID and Supported rates */ 30 30 u8 variable[0]; 31 - } __attribute__ ((packed)) assoc_req; 31 + } __packed assoc_req; 32 32 struct { 33 33 __le16 capab_info; 34 34 __le16 status_code; 35 35 __le16 aid; 36 36 /* followed by Supported rates */ 37 37 u8 variable[0]; 38 - } __attribute__ ((packed)) assoc_resp, reassoc_resp; 38 + } __packed assoc_resp, reassoc_resp; 39 39 struct { 40 40 __le16 capab_info; 41 41 __le16 listen_interval; 42 42 u8 current_ap[6]; 43 43 /* followed by SSID and Supported rates */ 44 44 u8 variable[0]; 45 - } __attribute__ ((packed)) reassoc_req; 45 + } __packed reassoc_req; 46 46 struct { 47 47 __le16 reason_code; 48 - } __attribute__ ((packed)) disassoc; 48 + } __packed disassoc; 49 49 struct { 50 - } __attribute__ ((packed)) probe_req; 50 + } __packed probe_req; 51 51 struct { 52 52 u8 timestamp[8]; 53 53 __le16 beacon_int; ··· 55 55 /* followed by some of SSID, Supported rates, 56 56 * FH Params, DS Params, CF Params, IBSS Params, TIM */ 57 57 u8 variable[0]; 58 - } __attribute__ ((packed)) beacon, probe_resp; 58 + } __packed beacon, probe_resp; 59 59 } u; 60 - } __attribute__ ((packed)); 60 + } __packed; 61 61 62 62 63 63 #define IEEE80211_MGMT_HDR_LEN 24
+5 -5
drivers/net/wireless/hostap/hostap_common.h
··· 179 179 __le16 variant; 180 180 __le16 major; 181 181 __le16 minor; 182 - } __attribute__ ((packed)); 182 + } __packed; 183 183 184 184 #define HFA384X_COMP_ID_PRI 0x15 185 185 #define HFA384X_COMP_ID_STA 0x1f ··· 192 192 __le16 variant; 193 193 __le16 bottom; 194 194 __le16 top; 195 - } __attribute__ ((packed)); 195 + } __packed; 196 196 197 197 198 198 struct hfa384x_build_id 199 199 { 200 200 __le16 pri_seq; 201 201 __le16 sec_seq; 202 - } __attribute__ ((packed)); 202 + } __packed; 203 203 204 204 /* FD01 - Download Buffer */ 205 205 struct hfa384x_rid_download_buffer ··· 207 207 __le16 page; 208 208 __le16 offset; 209 209 __le16 length; 210 - } __attribute__ ((packed)); 210 + } __packed; 211 211 212 212 /* BSS connection quality (RID FD43 range, RID FD51 dBm-normalized) */ 213 213 struct hfa384x_comms_quality { 214 214 __le16 comm_qual; /* 0 .. 92 */ 215 215 __le16 signal_level; /* 27 .. 154 */ 216 216 __le16 noise_level; /* 27 .. 154 */ 217 - } __attribute__ ((packed)); 217 + } __packed; 218 218 219 219 220 220 /* netdevice private ioctls (used, e.g., with iwpriv from user space) */
+16 -16
drivers/net/wireless/hostap/hostap_wlan.h
··· 31 31 u32 did; 32 32 u16 status, len; 33 33 u32 data; 34 - } __attribute__ ((packed)); 34 + } __packed; 35 35 36 36 struct linux_wlan_ng_prism_hdr { 37 37 u32 msgcode, msglen; 38 38 char devname[16]; 39 39 struct linux_wlan_ng_val hosttime, mactime, channel, rssi, sq, signal, 40 40 noise, rate, istx, frmlen; 41 - } __attribute__ ((packed)); 41 + } __packed; 42 42 43 43 struct linux_wlan_ng_cap_hdr { 44 44 __be32 version; ··· 55 55 __be32 ssi_noise; 56 56 __be32 preamble; 57 57 __be32 encoding; 58 - } __attribute__ ((packed)); 58 + } __packed; 59 59 60 60 struct hostap_radiotap_rx { 61 61 struct ieee80211_radiotap_header hdr; ··· 66 66 __le16 chan_flags; 67 67 s8 dbm_antsignal; 68 68 s8 dbm_antnoise; 69 - } __attribute__ ((packed)); 69 + } __packed; 70 70 71 71 #define LWNG_CAP_DID_BASE (4 | (1 << 6)) /* section 4, group 1 */ 72 72 #define LWNG_CAPHDR_VERSION 0x80211001 ··· 97 97 __be16 len; 98 98 99 99 /* followed by frame data; max 2304 bytes */ 100 - } __attribute__ ((packed)); 100 + } __packed; 101 101 102 102 103 103 struct hfa384x_tx_frame { ··· 126 126 __be16 len; 127 127 128 128 /* followed by frame data; max 2304 bytes */ 129 - } __attribute__ ((packed)); 129 + } __packed; 130 130 131 131 132 132 struct hfa384x_rid_hdr 133 133 { 134 134 __le16 len; 135 135 __le16 rid; 136 - } __attribute__ ((packed)); 136 + } __packed; 137 137 138 138 139 139 /* Macro for converting signal levels (range 27 .. 154) to wireless ext ··· 145 145 struct hfa384x_scan_request { 146 146 __le16 channel_list; 147 147 __le16 txrate; /* HFA384X_RATES_* */ 148 - } __attribute__ ((packed)); 148 + } __packed; 149 149 150 150 struct hfa384x_hostscan_request { 151 151 __le16 channel_list; 152 152 __le16 txrate; 153 153 __le16 target_ssid_len; 154 154 u8 target_ssid[32]; 155 - } __attribute__ ((packed)); 155 + } __packed; 156 156 157 157 struct hfa384x_join_request { 158 158 u8 bssid[6]; 159 159 __le16 channel; 160 - } __attribute__ ((packed)); 160 + } __packed; 161 161 162 162 struct hfa384x_info_frame { 163 163 __le16 len; 164 164 __le16 type; 165 - } __attribute__ ((packed)); 165 + } __packed; 166 166 167 167 struct hfa384x_comm_tallies { 168 168 __le16 tx_unicast_frames; ··· 186 186 __le16 rx_discards_wep_undecryptable; 187 187 __le16 rx_message_in_msg_fragments; 188 188 __le16 rx_message_in_bad_msg_fragments; 189 - } __attribute__ ((packed)); 189 + } __packed; 190 190 191 191 struct hfa384x_comm_tallies32 { 192 192 __le32 tx_unicast_frames; ··· 210 210 __le32 rx_discards_wep_undecryptable; 211 211 __le32 rx_message_in_msg_fragments; 212 212 __le32 rx_message_in_bad_msg_fragments; 213 - } __attribute__ ((packed)); 213 + } __packed; 214 214 215 215 struct hfa384x_scan_result_hdr { 216 216 __le16 reserved; ··· 219 219 #define HFA384X_SCAN_HOST_INITIATED 1 220 220 #define HFA384X_SCAN_FIRMWARE_INITIATED 2 221 221 #define HFA384X_SCAN_INQUIRY_FROM_HOST 3 222 - } __attribute__ ((packed)); 222 + } __packed; 223 223 224 224 #define HFA384X_SCAN_MAX_RESULTS 32 225 225 ··· 234 234 u8 ssid[32]; 235 235 u8 sup_rates[10]; 236 236 __le16 rate; 237 - } __attribute__ ((packed)); 237 + } __packed; 238 238 239 239 struct hfa384x_hostscan_result { 240 240 __le16 chid; ··· 248 248 u8 sup_rates[10]; 249 249 __le16 rate; 250 250 __le16 atim; 251 - } __attribute__ ((packed)); 251 + } __packed; 252 252 253 253 struct comm_tallies_sums { 254 254 unsigned int tx_unicast_frames;
+2 -2
drivers/net/wireless/ipw2x00/ipw2100.c
··· 5233 5233 u8 auth_mode; 5234 5234 u8 replay_counters_number; 5235 5235 u8 unicast_using_group; 5236 - } __attribute__ ((packed)); 5236 + } __packed; 5237 5237 5238 5238 static int ipw2100_set_security_information(struct ipw2100_priv *priv, 5239 5239 int auth_mode, ··· 8475 8475 short mode; 8476 8476 unsigned int fw_size; 8477 8477 unsigned int uc_size; 8478 - } __attribute__ ((packed)); 8478 + } __packed; 8479 8479 8480 8480 static int ipw2100_mod_firmware_load(struct ipw2100_fw *fw) 8481 8481 {
+8 -8
drivers/net/wireless/ipw2x00/ipw2100.h
··· 164 164 } fields; 165 165 u8 field; 166 166 } info; 167 - } __attribute__ ((packed)); 167 + } __packed; 168 168 169 169 struct ipw2100_bd { 170 170 u32 host_addr; ··· 174 174 * 1st TBD) */ 175 175 u8 num_fragments; 176 176 u8 reserved[6]; 177 - } __attribute__ ((packed)); 177 + } __packed; 178 178 179 179 #define IPW_BD_QUEUE_LENGTH(n) (1<<n) 180 180 #define IPW_BD_ALIGNMENT(L) (L*sizeof(struct ipw2100_bd)) ··· 232 232 #define IPW_STATUS_FLAG_WEP_ENCRYPTED (1<<1) 233 233 #define IPW_STATUS_FLAG_CRC_ERROR (1<<2) 234 234 u8 rssi; 235 - } __attribute__ ((packed)); 235 + } __packed; 236 236 237 237 struct ipw2100_status_queue { 238 238 /* driver (virtual) pointer to queue */ ··· 293 293 u32 reserved1[3]; 294 294 u32 *ordinal1_ptr; 295 295 u32 *ordinal2_ptr; 296 - } __attribute__ ((packed)); 296 + } __packed; 297 297 298 298 struct ipw2100_data_header { 299 299 u32 host_command_reg; ··· 307 307 u8 src_addr[ETH_ALEN]; 308 308 u8 dst_addr[ETH_ALEN]; 309 309 u16 fragment_size; 310 - } __attribute__ ((packed)); 310 + } __packed; 311 311 312 312 /* Host command data structure */ 313 313 struct host_command { ··· 316 316 u32 host_command_sequence; // UNIQUE COMMAND NUMBER (ID) 317 317 u32 host_command_length; // LENGTH 318 318 u32 host_command_parameters[HOST_COMMAND_PARAMS_REG_LEN]; // COMMAND PARAMETERS 319 - } __attribute__ ((packed)); 319 + } __packed; 320 320 321 321 typedef enum { 322 322 POWER_ON_RESET, ··· 382 382 u32 hnhdr_size; /* size in bytes of data 383 383 or number of entries, if table. 384 384 Does NOT include header */ 385 - } __attribute__ ((packed)); 385 + } __packed; 386 386 387 387 #define MAX_KEY_SIZE 16 388 388 #define MAX_KEYS 8 ··· 814 814 struct ipw2100_notification notification; 815 815 struct ipw2100_cmd_header command; 816 816 } rx_data; 817 - } __attribute__ ((packed)); 817 + } __packed; 818 818 819 819 /* Bit 0-7 are for 802.11b tx rates - . Bit 5-7 are reserved */ 820 820 #define TX_RATE_1_MBIT 0x0001
+61 -61
drivers/net/wireless/ipw2x00/ipw2200.h
··· 388 388 dma_addr_t dma_addr; /**< physical addr for BD's */ 389 389 int low_mark; /**< low watermark, resume queue if free space more than this */ 390 390 int high_mark; /**< high watermark, stop queue if free space less than this */ 391 - } __attribute__ ((packed)); /* XXX */ 391 + } __packed; /* XXX */ 392 392 393 393 struct machdr32 { 394 394 __le16 frame_ctl; ··· 399 399 __le16 seq_ctrl; // more endians! 400 400 u8 addr4[MACADRR_BYTE_LEN]; 401 401 __le16 qos_ctrl; 402 - } __attribute__ ((packed)); 402 + } __packed; 403 403 404 404 struct machdr30 { 405 405 __le16 frame_ctl; ··· 409 409 u8 addr3[MACADRR_BYTE_LEN]; 410 410 __le16 seq_ctrl; // more endians! 411 411 u8 addr4[MACADRR_BYTE_LEN]; 412 - } __attribute__ ((packed)); 412 + } __packed; 413 413 414 414 struct machdr26 { 415 415 __le16 frame_ctl; ··· 419 419 u8 addr3[MACADRR_BYTE_LEN]; 420 420 __le16 seq_ctrl; // more endians! 421 421 __le16 qos_ctrl; 422 - } __attribute__ ((packed)); 422 + } __packed; 423 423 424 424 struct machdr24 { 425 425 __le16 frame_ctl; ··· 428 428 u8 addr2[MACADRR_BYTE_LEN]; 429 429 u8 addr3[MACADRR_BYTE_LEN]; 430 430 __le16 seq_ctrl; // more endians! 431 - } __attribute__ ((packed)); 431 + } __packed; 432 432 433 433 // TX TFD with 32 byte MAC Header 434 434 struct tx_tfd_32 { 435 435 struct machdr32 mchdr; // 32 436 436 __le32 uivplaceholder[2]; // 8 437 - } __attribute__ ((packed)); 437 + } __packed; 438 438 439 439 // TX TFD with 30 byte MAC Header 440 440 struct tx_tfd_30 { 441 441 struct machdr30 mchdr; // 30 442 442 u8 reserved[2]; // 2 443 443 __le32 uivplaceholder[2]; // 8 444 - } __attribute__ ((packed)); 444 + } __packed; 445 445 446 446 // tx tfd with 26 byte mac header 447 447 struct tx_tfd_26 { ··· 449 449 u8 reserved1[2]; // 2 450 450 __le32 uivplaceholder[2]; // 8 451 451 u8 reserved2[4]; // 4 452 - } __attribute__ ((packed)); 452 + } __packed; 453 453 454 454 // tx tfd with 24 byte mac header 455 455 struct tx_tfd_24 { 456 456 struct machdr24 mchdr; // 24 457 457 __le32 uivplaceholder[2]; // 8 458 458 u8 reserved[8]; // 8 459 - } __attribute__ ((packed)); 459 + } __packed; 460 460 461 461 #define DCT_WEP_KEY_FIELD_LENGTH 16 462 462 ··· 465 465 u8 length; 466 466 __le16 reserved; 467 467 u8 payload[0]; 468 - } __attribute__ ((packed)); 468 + } __packed; 469 469 470 470 struct tfd_data { 471 471 /* Header */ ··· 504 504 __le32 num_chunks; 505 505 __le32 chunk_ptr[NUM_TFD_CHUNKS]; 506 506 __le16 chunk_len[NUM_TFD_CHUNKS]; 507 - } __attribute__ ((packed)); 507 + } __packed; 508 508 509 509 struct txrx_control_flags { 510 510 u8 message_type; 511 511 u8 rx_seq_num; 512 512 u8 control_bits; 513 513 u8 reserved; 514 - } __attribute__ ((packed)); 514 + } __packed; 515 515 516 516 #define TFD_SIZE 128 517 517 #define TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH (TFD_SIZE - sizeof(struct txrx_control_flags)) ··· 523 523 struct tfd_command cmd; 524 524 u8 raw[TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH]; 525 525 } u; 526 - } __attribute__ ((packed)); 526 + } __packed; 527 527 528 528 typedef void destructor_func(const void *); 529 529 ··· 559 559 __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS]; 560 560 __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS]; 561 561 } failed; 562 - } __attribute__ ((packed)); 562 + } __packed; 563 563 564 564 /* statistics command response */ 565 565 struct ipw_cmd_stats { ··· 586 586 __le16 rx_autodetec_no_ofdm; 587 587 __le16 rx_autodetec_no_barker; 588 588 __le16 reserved; 589 - } __attribute__ ((packed)); 589 + } __packed; 590 590 591 591 struct notif_channel_result { 592 592 u8 channel_num; 593 593 struct ipw_cmd_stats stats; 594 594 u8 uReserved; 595 - } __attribute__ ((packed)); 595 + } __packed; 596 596 597 597 #define SCAN_COMPLETED_STATUS_COMPLETE 1 598 598 #define SCAN_COMPLETED_STATUS_ABORTED 2 ··· 602 602 u8 num_channels; 603 603 u8 status; 604 604 u8 reserved; 605 - } __attribute__ ((packed)); 605 + } __packed; 606 606 607 607 struct notif_frag_length { 608 608 __le16 frag_length; 609 609 __le16 reserved; 610 - } __attribute__ ((packed)); 610 + } __packed; 611 611 612 612 struct notif_beacon_state { 613 613 __le32 state; 614 614 __le32 number; 615 - } __attribute__ ((packed)); 615 + } __packed; 616 616 617 617 struct notif_tgi_tx_key { 618 618 u8 key_state; 619 619 u8 security_type; 620 620 u8 station_index; 621 621 u8 reserved; 622 - } __attribute__ ((packed)); 622 + } __packed; 623 623 624 624 #define SILENCE_OVER_THRESH (1) 625 625 #define SILENCE_UNDER_THRESH (2) ··· 631 631 struct rate_histogram histogram; 632 632 u8 silence_notification_type; /* SILENCE_OVER/UNDER_THRESH */ 633 633 __le16 silence_count; 634 - } __attribute__ ((packed)); 634 + } __packed; 635 635 636 636 struct notif_association { 637 637 u8 state; 638 - } __attribute__ ((packed)); 638 + } __packed; 639 639 640 640 struct notif_authenticate { 641 641 u8 state; 642 642 struct machdr24 addr; 643 643 __le16 status; 644 - } __attribute__ ((packed)); 644 + } __packed; 645 645 646 646 struct notif_calibration { 647 647 u8 data[104]; 648 - } __attribute__ ((packed)); 648 + } __packed; 649 649 650 650 struct notif_noise { 651 651 __le32 value; 652 - } __attribute__ ((packed)); 652 + } __packed; 653 653 654 654 struct ipw_rx_notification { 655 655 u8 reserved[8]; ··· 669 669 struct notif_noise noise; 670 670 u8 raw[0]; 671 671 } u; 672 - } __attribute__ ((packed)); 672 + } __packed; 673 673 674 674 struct ipw_rx_frame { 675 675 __le32 reserved1; ··· 692 692 u8 rtscts_seen; // 0x1 RTS seen ; 0x2 CTS seen 693 693 __le16 length; 694 694 u8 data[0]; 695 - } __attribute__ ((packed)); 695 + } __packed; 696 696 697 697 struct ipw_rx_header { 698 698 u8 message_type; 699 699 u8 rx_seq_num; 700 700 u8 control_bits; 701 701 u8 reserved; 702 - } __attribute__ ((packed)); 702 + } __packed; 703 703 704 704 struct ipw_rx_packet { 705 705 struct ipw_rx_header header; ··· 707 707 struct ipw_rx_frame frame; 708 708 struct ipw_rx_notification notification; 709 709 } u; 710 - } __attribute__ ((packed)); 710 + } __packed; 711 711 712 712 #define IPW_RX_NOTIFICATION_SIZE sizeof(struct ipw_rx_header) + 12 713 713 #define IPW_RX_FRAME_SIZE (unsigned int)(sizeof(struct ipw_rx_header) + \ ··· 717 717 dma_addr_t dma_addr; 718 718 struct sk_buff *skb; 719 719 struct list_head list; 720 - }; /* Not transferred over network, so not __attribute__ ((packed)) */ 720 + }; /* Not transferred over network, so not __packed */ 721 721 722 722 struct ipw_rx_queue { 723 723 struct ipw_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS]; ··· 730 730 struct list_head rx_free; /* Own an SKBs */ 731 731 struct list_head rx_used; /* No SKB allocated */ 732 732 spinlock_t lock; 733 - }; /* Not transferred over network, so not __attribute__ ((packed)) */ 733 + }; /* Not transferred over network, so not __packed */ 734 734 735 735 struct alive_command_responce { 736 736 u8 alive_command; ··· 745 745 __le16 reserved4; 746 746 u8 time_stamp[5]; /* month, day, year, hours, minutes */ 747 747 u8 ucode_valid; 748 - } __attribute__ ((packed)); 748 + } __packed; 749 749 750 750 #define IPW_MAX_RATES 12 751 751 752 752 struct ipw_rates { 753 753 u8 num_rates; 754 754 u8 rates[IPW_MAX_RATES]; 755 - } __attribute__ ((packed)); 755 + } __packed; 756 756 757 757 struct command_block { 758 758 unsigned int control; 759 759 u32 source_addr; 760 760 u32 dest_addr; 761 761 unsigned int status; 762 - } __attribute__ ((packed)); 762 + } __packed; 763 763 764 764 #define CB_NUMBER_OF_ELEMENTS_SMALL 64 765 765 struct fw_image_desc { ··· 792 792 u8 accept_all_mgmt_frames; 793 793 u8 pass_noise_stats_to_host; 794 794 u8 reserved3; 795 - } __attribute__ ((packed)); 795 + } __packed; 796 796 797 797 struct ipw_multicast_addr { 798 798 u8 num_of_multicast_addresses; ··· 801 801 u8 mac2[6]; 802 802 u8 mac3[6]; 803 803 u8 mac4[6]; 804 - } __attribute__ ((packed)); 804 + } __packed; 805 805 806 806 #define DCW_WEP_KEY_INDEX_MASK 0x03 /* bits [0:1] */ 807 807 #define DCW_WEP_KEY_SEC_TYPE_MASK 0x30 /* bits [4:5] */ ··· 822 822 u8 key_index; 823 823 u8 key_size; 824 824 u8 key[16]; 825 - } __attribute__ ((packed)); 825 + } __packed; 826 826 827 827 struct ipw_tgi_tx_key { 828 828 u8 key_id; ··· 831 831 u8 flags; 832 832 u8 key[16]; 833 833 __le32 tx_counter[2]; 834 - } __attribute__ ((packed)); 834 + } __packed; 835 835 836 836 #define IPW_SCAN_CHANNELS 54 837 837 ··· 840 840 __le16 dwell_time; 841 841 u8 channels_list[IPW_SCAN_CHANNELS]; 842 842 u8 channels_reserved[3]; 843 - } __attribute__ ((packed)); 843 + } __packed; 844 844 845 845 enum { 846 846 IPW_SCAN_PASSIVE_TILL_FIRST_BEACON_SCAN = 0, ··· 857 857 u8 scan_type[IPW_SCAN_CHANNELS / 2]; 858 858 u8 reserved; 859 859 __le16 dwell_time[IPW_SCAN_TYPES]; 860 - } __attribute__ ((packed)); 860 + } __packed; 861 861 862 862 static inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index) 863 863 { ··· 902 902 u8 smr; 903 903 u8 reserved1; 904 904 __le16 reserved2; 905 - } __attribute__ ((packed)); 905 + } __packed; 906 906 907 907 struct ipw_supported_rates { 908 908 u8 ieee_mode; ··· 910 910 u8 purpose; 911 911 u8 reserved; 912 912 u8 supported_rates[IPW_MAX_RATES]; 913 - } __attribute__ ((packed)); 913 + } __packed; 914 914 915 915 struct ipw_rts_threshold { 916 916 __le16 rts_threshold; 917 917 __le16 reserved; 918 - } __attribute__ ((packed)); 918 + } __packed; 919 919 920 920 struct ipw_frag_threshold { 921 921 __le16 frag_threshold; 922 922 __le16 reserved; 923 - } __attribute__ ((packed)); 923 + } __packed; 924 924 925 925 struct ipw_retry_limit { 926 926 u8 short_retry_limit; 927 927 u8 long_retry_limit; 928 928 __le16 reserved; 929 - } __attribute__ ((packed)); 929 + } __packed; 930 930 931 931 struct ipw_dino_config { 932 932 __le32 dino_config_addr; 933 933 __le16 dino_config_size; 934 934 u8 dino_response; 935 935 u8 reserved; 936 - } __attribute__ ((packed)); 936 + } __packed; 937 937 938 938 struct ipw_aironet_info { 939 939 u8 id; 940 940 u8 length; 941 941 __le16 reserved; 942 - } __attribute__ ((packed)); 942 + } __packed; 943 943 944 944 struct ipw_rx_key { 945 945 u8 station_index; ··· 950 950 u8 station_address[6]; 951 951 u8 key_index; 952 952 u8 reserved; 953 - } __attribute__ ((packed)); 953 + } __packed; 954 954 955 955 struct ipw_country_channel_info { 956 956 u8 first_channel; 957 957 u8 no_channels; 958 958 s8 max_tx_power; 959 - } __attribute__ ((packed)); 959 + } __packed; 960 960 961 961 struct ipw_country_info { 962 962 u8 id; 963 963 u8 length; 964 964 u8 country_str[3]; 965 965 struct ipw_country_channel_info groups[7]; 966 - } __attribute__ ((packed)); 966 + } __packed; 967 967 968 968 struct ipw_channel_tx_power { 969 969 u8 channel_number; 970 970 s8 tx_power; 971 - } __attribute__ ((packed)); 971 + } __packed; 972 972 973 973 #define SCAN_ASSOCIATED_INTERVAL (HZ) 974 974 #define SCAN_INTERVAL (HZ / 10) ··· 979 979 u8 num_channels; 980 980 u8 ieee_mode; 981 981 struct ipw_channel_tx_power channels_tx_power[MAX_A_CHANNELS]; 982 - } __attribute__ ((packed)); 982 + } __packed; 983 983 984 984 struct ipw_rsn_capabilities { 985 985 u8 id; 986 986 u8 length; 987 987 __le16 version; 988 - } __attribute__ ((packed)); 988 + } __packed; 989 989 990 990 struct ipw_sensitivity_calib { 991 991 __le16 beacon_rssi_raw; 992 992 __le16 reserved; 993 - } __attribute__ ((packed)); 993 + } __packed; 994 994 995 995 /** 996 996 * Host command structure. ··· 1019 1019 * nParams=(len+3)/4+status_len 1020 1020 */ 1021 1021 u32 param[0]; 1022 - } __attribute__ ((packed)); 1022 + } __packed; 1023 1023 1024 1024 #define STATUS_HCMD_ACTIVE (1<<0) /**< host command in progress */ 1025 1025 ··· 1114 1114 u32 event; 1115 1115 u32 time; 1116 1116 u32 data; 1117 - } __attribute__ ((packed)); 1117 + } __packed; 1118 1118 1119 1119 struct ipw_fw_error { /* XXX */ 1120 1120 unsigned long jiffies; ··· 1125 1125 struct ipw_error_elem *elem; 1126 1126 struct ipw_event *log; 1127 1127 u8 payload[0]; 1128 - } __attribute__ ((packed)); 1128 + } __packed; 1129 1129 1130 1130 #ifdef CONFIG_IPW2200_PROMISCUOUS 1131 1131 ··· 1170 1170 s8 rt_dbmnoise; 1171 1171 u8 rt_antenna; /* antenna number */ 1172 1172 u8 payload[0]; /* payload... */ 1173 - } __attribute__ ((packed)); 1173 + } __packed; 1174 1174 #endif 1175 1175 1176 1176 struct ipw_priv { ··· 1957 1957 struct ipw_fixed_rate { 1958 1958 __le16 tx_rates; 1959 1959 __le16 reserved; 1960 - } __attribute__ ((packed)); 1960 + } __packed; 1961 1961 1962 1962 #define IPW_INDIRECT_ADDR_MASK (~0x3ul) 1963 1963 ··· 1966 1966 u8 len; 1967 1967 u16 reserved; 1968 1968 u32 *param; 1969 - } __attribute__ ((packed)); /* XXX */ 1969 + } __packed; /* XXX */ 1970 1970 1971 1971 struct cmdlog_host_cmd { 1972 1972 u8 cmd; 1973 1973 u8 len; 1974 1974 __le16 reserved; 1975 1975 char param[124]; 1976 - } __attribute__ ((packed)); 1976 + } __packed; 1977 1977 1978 1978 struct ipw_cmd_log { 1979 1979 unsigned long jiffies;
+31 -31
drivers/net/wireless/ipw2x00/libipw.h
··· 154 154 u8 ctrl; /* always 0x03 */ 155 155 u8 oui[P80211_OUI_LEN]; /* organizational universal id */ 156 156 157 - } __attribute__ ((packed)); 157 + } __packed; 158 158 159 159 #define SNAP_SIZE sizeof(struct libipw_snap_hdr) 160 160 ··· 323 323 u8 keys[WEP_KEYS][SCM_KEY_LEN]; 324 324 u8 level; 325 325 u16 flags; 326 - } __attribute__ ((packed)); 326 + } __packed; 327 327 328 328 /* 329 329 ··· 347 347 __le16 duration_id; 348 348 u8 addr1[ETH_ALEN]; 349 349 u8 payload[0]; 350 - } __attribute__ ((packed)); 350 + } __packed; 351 351 352 352 struct libipw_hdr_2addr { 353 353 __le16 frame_ctl; ··· 355 355 u8 addr1[ETH_ALEN]; 356 356 u8 addr2[ETH_ALEN]; 357 357 u8 payload[0]; 358 - } __attribute__ ((packed)); 358 + } __packed; 359 359 360 360 struct libipw_hdr_3addr { 361 361 __le16 frame_ctl; ··· 365 365 u8 addr3[ETH_ALEN]; 366 366 __le16 seq_ctl; 367 367 u8 payload[0]; 368 - } __attribute__ ((packed)); 368 + } __packed; 369 369 370 370 struct libipw_hdr_4addr { 371 371 __le16 frame_ctl; ··· 376 376 __le16 seq_ctl; 377 377 u8 addr4[ETH_ALEN]; 378 378 u8 payload[0]; 379 - } __attribute__ ((packed)); 379 + } __packed; 380 380 381 381 struct libipw_hdr_3addrqos { 382 382 __le16 frame_ctl; ··· 387 387 __le16 seq_ctl; 388 388 u8 payload[0]; 389 389 __le16 qos_ctl; 390 - } __attribute__ ((packed)); 390 + } __packed; 391 391 392 392 struct libipw_info_element { 393 393 u8 id; 394 394 u8 len; 395 395 u8 data[0]; 396 - } __attribute__ ((packed)); 396 + } __packed; 397 397 398 398 /* 399 399 * These are the data types that can make up management packets ··· 406 406 u16 listen_interval; 407 407 struct { 408 408 u16 association_id:14, reserved:2; 409 - } __attribute__ ((packed)); 409 + } __packed; 410 410 u32 time_stamp[2]; 411 411 u16 reason; 412 412 u16 status; ··· 419 419 __le16 status; 420 420 /* challenge */ 421 421 struct libipw_info_element info_element[0]; 422 - } __attribute__ ((packed)); 422 + } __packed; 423 423 424 424 struct libipw_channel_switch { 425 425 u8 id; ··· 427 427 u8 mode; 428 428 u8 channel; 429 429 u8 count; 430 - } __attribute__ ((packed)); 430 + } __packed; 431 431 432 432 struct libipw_action { 433 433 struct libipw_hdr_3addr header; ··· 441 441 struct libipw_channel_switch channel_switch; 442 442 443 443 } format; 444 - } __attribute__ ((packed)); 444 + } __packed; 445 445 446 446 struct libipw_disassoc { 447 447 struct libipw_hdr_3addr header; 448 448 __le16 reason; 449 - } __attribute__ ((packed)); 449 + } __packed; 450 450 451 451 /* Alias deauth for disassoc */ 452 452 #define libipw_deauth libipw_disassoc ··· 455 455 struct libipw_hdr_3addr header; 456 456 /* SSID, supported rates */ 457 457 struct libipw_info_element info_element[0]; 458 - } __attribute__ ((packed)); 458 + } __packed; 459 459 460 460 struct libipw_probe_response { 461 461 struct libipw_hdr_3addr header; ··· 465 465 /* SSID, supported rates, FH params, DS params, 466 466 * CF params, IBSS params, TIM (if beacon), RSN */ 467 467 struct libipw_info_element info_element[0]; 468 - } __attribute__ ((packed)); 468 + } __packed; 469 469 470 470 /* Alias beacon for probe_response */ 471 471 #define libipw_beacon libipw_probe_response ··· 476 476 __le16 listen_interval; 477 477 /* SSID, supported rates, RSN */ 478 478 struct libipw_info_element info_element[0]; 479 - } __attribute__ ((packed)); 479 + } __packed; 480 480 481 481 struct libipw_reassoc_request { 482 482 struct libipw_hdr_3addr header; ··· 484 484 __le16 listen_interval; 485 485 u8 current_ap[ETH_ALEN]; 486 486 struct libipw_info_element info_element[0]; 487 - } __attribute__ ((packed)); 487 + } __packed; 488 488 489 489 struct libipw_assoc_response { 490 490 struct libipw_hdr_3addr header; ··· 493 493 __le16 aid; 494 494 /* supported rates */ 495 495 struct libipw_info_element info_element[0]; 496 - } __attribute__ ((packed)); 496 + } __packed; 497 497 498 498 struct libipw_txb { 499 499 u8 nr_frags; ··· 555 555 u8 qui_subtype; 556 556 u8 version; 557 557 u8 ac_info; 558 - } __attribute__ ((packed)); 558 + } __packed; 559 559 560 560 struct libipw_qos_ac_parameter { 561 561 u8 aci_aifsn; 562 562 u8 ecw_min_max; 563 563 __le16 tx_op_limit; 564 - } __attribute__ ((packed)); 564 + } __packed; 565 565 566 566 struct libipw_qos_parameter_info { 567 567 struct libipw_qos_information_element info_element; 568 568 u8 reserved; 569 569 struct libipw_qos_ac_parameter ac_params_record[QOS_QUEUE_NUM]; 570 - } __attribute__ ((packed)); 570 + } __packed; 571 571 572 572 struct libipw_qos_parameters { 573 573 __le16 cw_min[QOS_QUEUE_NUM]; ··· 575 575 u8 aifs[QOS_QUEUE_NUM]; 576 576 u8 flag[QOS_QUEUE_NUM]; 577 577 __le16 tx_op_limit[QOS_QUEUE_NUM]; 578 - } __attribute__ ((packed)); 578 + } __packed; 579 579 580 580 struct libipw_qos_data { 581 581 struct libipw_qos_parameters parameters; ··· 588 588 struct libipw_tim_parameters { 589 589 u8 tim_count; 590 590 u8 tim_period; 591 - } __attribute__ ((packed)); 591 + } __packed; 592 592 593 593 /*******************************************************/ 594 594 ··· 606 606 __le64 start_time; 607 607 __le16 duration; 608 608 u8 map; 609 - } __attribute__ ((packed)); 609 + } __packed; 610 610 611 611 enum { /* libipw_measurement_request.mode */ 612 612 /* Bit 0 is reserved */ ··· 627 627 u8 channel; 628 628 __le64 start_time; 629 629 __le16 duration; 630 - } __attribute__ ((packed)); 630 + } __packed; 631 631 632 632 struct libipw_measurement_request { 633 633 struct libipw_info_element ie; ··· 635 635 u8 mode; 636 636 u8 type; 637 637 struct libipw_measurement_params params[0]; 638 - } __attribute__ ((packed)); 638 + } __packed; 639 639 640 640 struct libipw_measurement_report { 641 641 struct libipw_info_element ie; ··· 645 645 union { 646 646 struct libipw_basic_report basic[0]; 647 647 } u; 648 - } __attribute__ ((packed)); 648 + } __packed; 649 649 650 650 struct libipw_tpc_report { 651 651 u8 transmit_power; 652 652 u8 link_margin; 653 - } __attribute__ ((packed)); 653 + } __packed; 654 654 655 655 struct libipw_channel_map { 656 656 u8 channel; 657 657 u8 map; 658 - } __attribute__ ((packed)); 658 + } __packed; 659 659 660 660 struct libipw_ibss_dfs { 661 661 struct libipw_info_element ie; ··· 668 668 u8 mode; 669 669 u8 channel; 670 670 u8 count; 671 - } __attribute__ ((packed)); 671 + } __packed; 672 672 673 673 struct libipw_quiet { 674 674 u8 count; 675 675 u8 period; 676 676 u8 duration; 677 677 u8 offset; 678 - } __attribute__ ((packed)); 678 + } __packed; 679 679 680 680 struct libipw_network { 681 681 /* These entries are used to identify a unique network */
+2 -2
drivers/net/wireless/iwlwifi/iwl-3945-fh.h
··· 175 175 struct iwl3945_tfd_tb { 176 176 __le32 addr; 177 177 __le32 len; 178 - } __attribute__ ((packed)); 178 + } __packed; 179 179 180 180 struct iwl3945_tfd { 181 181 __le32 control_flags; 182 182 struct iwl3945_tfd_tb tbs[4]; 183 183 u8 __pad[28]; 184 - } __attribute__ ((packed)); 184 + } __packed; 185 185 186 186 187 187 #endif /* __iwl_3945_fh_h__ */
+5 -5
drivers/net/wireless/iwlwifi/iwl-3945-hw.h
··· 96 96 u8 gain_index; /* index into power (gain) setup table ... */ 97 97 s8 power; /* ... for this pwr level for this chnl group */ 98 98 u16 v_det; /* PA output voltage */ 99 - } __attribute__ ((packed)); 99 + } __packed; 100 100 101 101 /* 102 102 * Mappings of Tx power levels -> nominal radio/DSP gain table indexes. ··· 117 117 u8 group_channel; /* "representative" channel # in this band */ 118 118 s16 temperature; /* h/w temperature at factory calib this band 119 119 * (signed) */ 120 - } __attribute__ ((packed)); 120 + } __packed; 121 121 122 122 /* 123 123 * Temperature-based Tx-power compensation data, not band-specific. ··· 131 131 u32 Tc; 132 132 u32 Td; 133 133 u32 Te; 134 - } __attribute__ ((packed)); 134 + } __packed; 135 135 136 136 /* 137 137 * EEPROM map ··· 215 215 /* abs.ofs: 512 */ 216 216 struct iwl3945_eeprom_temperature_corr corrections; /* abs.ofs: 832 */ 217 217 u8 reserved16[172]; /* fill out to full 1024 byte block */ 218 - } __attribute__ ((packed)); 218 + } __packed; 219 219 220 220 #define IWL3945_EEPROM_IMG_SIZE 1024 221 221 ··· 274 274 * and &iwl3945_shared.rx_read_ptr[0] is provided to FH_RCSR_RPTR_ADDR(0) */ 275 275 struct iwl3945_shared { 276 276 __le32 tx_base_ptr[8]; 277 - } __attribute__ ((packed)); 277 + } __packed; 278 278 279 279 static inline u8 iwl3945_hw_get_rate(__le16 rate_n_flags) 280 280 {
+1 -1
drivers/net/wireless/iwlwifi/iwl-4965-hw.h
··· 787 787 struct iwl4965_scd_bc_tbl { 788 788 __le16 tfd_offset[TFD_QUEUE_BC_SIZE]; 789 789 u8 pad[1024 - (TFD_QUEUE_BC_SIZE) * sizeof(__le16)]; 790 - } __attribute__ ((packed)); 790 + } __packed; 791 791 792 792 #endif /* !__iwl_4965_hw_h__ */
+1 -1
drivers/net/wireless/iwlwifi/iwl-agn-hw.h
··· 112 112 */ 113 113 struct iwlagn_scd_bc_tbl { 114 114 __le16 tfd_offset[TFD_QUEUE_BC_SIZE]; 115 - } __attribute__ ((packed)); 115 + } __packed; 116 116 117 117 118 118 #endif /* __iwl_agn_hw_h__ */
+122 -122
drivers/net/wireless/iwlwifi/iwl-commands.h
··· 227 227 228 228 /* command or response/notification data follows immediately */ 229 229 u8 data[0]; 230 - } __attribute__ ((packed)); 230 + } __packed; 231 231 232 232 233 233 /** ··· 247 247 struct iwl3945_tx_power { 248 248 u8 tx_gain; /* gain for analog radio */ 249 249 u8 dsp_atten; /* gain for DSP */ 250 - } __attribute__ ((packed)); 250 + } __packed; 251 251 252 252 /** 253 253 * struct iwl3945_power_per_rate ··· 258 258 u8 rate; /* plcp */ 259 259 struct iwl3945_tx_power tpc; 260 260 u8 reserved; 261 - } __attribute__ ((packed)); 261 + } __packed; 262 262 263 263 /** 264 264 * iwlagn rate_n_flags bit fields ··· 389 389 */ 390 390 struct tx_power_dual_stream { 391 391 __le32 dw; 392 - } __attribute__ ((packed)); 392 + } __packed; 393 393 394 394 /** 395 395 * struct iwl4965_tx_power_db ··· 398 398 */ 399 399 struct iwl4965_tx_power_db { 400 400 struct tx_power_dual_stream power_tbl[POWER_TABLE_NUM_ENTRIES]; 401 - } __attribute__ ((packed)); 401 + } __packed; 402 402 403 403 /** 404 404 * Command REPLY_TX_POWER_DBM_CMD = 0x98 ··· 412 412 u8 flags; 413 413 s8 srv_chan_lmt; /*in half-dBm (e.g. 30 = 15 dBm) */ 414 414 u8 reserved; 415 - } __attribute__ ((packed)); 415 + } __packed; 416 416 417 417 /** 418 418 * Command TX_ANT_CONFIGURATION_CMD = 0x98 ··· 422 422 */ 423 423 struct iwl_tx_ant_config_cmd { 424 424 __le32 valid; 425 - } __attribute__ ((packed)); 425 + } __packed; 426 426 427 427 /****************************************************************************** 428 428 * (0a) ··· 478 478 __le32 therm_r4[2]; /* signed */ 479 479 __le32 tx_atten[5][2]; /* signed MIMO gain comp, 5 freq groups, 480 480 * 2 Tx chains */ 481 - } __attribute__ ((packed)); 481 + } __packed; 482 482 483 483 484 484 /** ··· 570 570 __le32 error_event_table_ptr; /* SRAM address for error log */ 571 571 __le32 timestamp; 572 572 __le32 is_valid; 573 - } __attribute__ ((packed)); 573 + } __packed; 574 574 575 575 /* 576 576 * REPLY_ERROR = 0x2 (response only, not a command) ··· 582 582 __le16 bad_cmd_seq_num; 583 583 __le32 error_info; 584 584 __le64 timestamp; 585 - } __attribute__ ((packed)); 585 + } __packed; 586 586 587 587 /****************************************************************************** 588 588 * (1) ··· 718 718 __le32 filter_flags; 719 719 __le16 channel; 720 720 __le16 reserved5; 721 - } __attribute__ ((packed)); 721 + } __packed; 722 722 723 723 struct iwl4965_rxon_cmd { 724 724 u8 node_addr[6]; ··· 738 738 __le16 channel; 739 739 u8 ofdm_ht_single_stream_basic_rates; 740 740 u8 ofdm_ht_dual_stream_basic_rates; 741 - } __attribute__ ((packed)); 741 + } __packed; 742 742 743 743 /* 5000 HW just extend this command */ 744 744 struct iwl_rxon_cmd { ··· 763 763 u8 reserved5; 764 764 __le16 acquisition_data; 765 765 __le16 reserved6; 766 - } __attribute__ ((packed)); 766 + } __packed; 767 767 768 768 /* 769 769 * REPLY_RXON_ASSOC = 0x11 (command, has simple generic response) ··· 774 774 u8 ofdm_basic_rates; 775 775 u8 cck_basic_rates; 776 776 __le16 reserved; 777 - } __attribute__ ((packed)); 777 + } __packed; 778 778 779 779 struct iwl4965_rxon_assoc_cmd { 780 780 __le32 flags; ··· 785 785 u8 ofdm_ht_dual_stream_basic_rates; 786 786 __le16 rx_chain_select_flags; 787 787 __le16 reserved; 788 - } __attribute__ ((packed)); 788 + } __packed; 789 789 790 790 struct iwl5000_rxon_assoc_cmd { 791 791 __le32 flags; ··· 800 800 __le16 rx_chain_select_flags; 801 801 __le16 acquisition_data; 802 802 __le32 reserved3; 803 - } __attribute__ ((packed)); 803 + } __packed; 804 804 805 805 #define IWL_CONN_MAX_LISTEN_INTERVAL 10 806 806 #define IWL_MAX_UCODE_BEACON_INTERVAL 4 /* 4096 */ ··· 816 816 __le32 beacon_init_val; 817 817 __le16 listen_interval; 818 818 __le16 reserved; 819 - } __attribute__ ((packed)); 819 + } __packed; 820 820 821 821 /* 822 822 * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response) ··· 829 829 __le32 rxon_filter_flags; 830 830 __le32 switch_time; 831 831 struct iwl3945_power_per_rate power[IWL_MAX_RATES]; 832 - } __attribute__ ((packed)); 832 + } __packed; 833 833 834 834 struct iwl4965_channel_switch_cmd { 835 835 u8 band; ··· 839 839 __le32 rxon_filter_flags; 840 840 __le32 switch_time; 841 841 struct iwl4965_tx_power_db tx_power; 842 - } __attribute__ ((packed)); 842 + } __packed; 843 843 844 844 /** 845 845 * struct iwl5000_channel_switch_cmd ··· 860 860 __le32 rxon_filter_flags; 861 861 __le32 switch_time; 862 862 __le32 reserved[2][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; 863 - } __attribute__ ((packed)); 863 + } __packed; 864 864 865 865 /** 866 866 * struct iwl6000_channel_switch_cmd ··· 881 881 __le32 rxon_filter_flags; 882 882 __le32 switch_time; 883 883 __le32 reserved[3][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; 884 - } __attribute__ ((packed)); 884 + } __packed; 885 885 886 886 /* 887 887 * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command) ··· 890 890 __le16 band; 891 891 __le16 channel; 892 892 __le32 status; /* 0 - OK, 1 - fail */ 893 - } __attribute__ ((packed)); 893 + } __packed; 894 894 895 895 /****************************************************************************** 896 896 * (2) ··· 920 920 u8 aifsn; 921 921 u8 reserved1; 922 922 __le16 edca_txop; 923 - } __attribute__ ((packed)); 923 + } __packed; 924 924 925 925 /* QoS flags defines */ 926 926 #define QOS_PARAM_FLG_UPDATE_EDCA_MSK cpu_to_le32(0x01) ··· 939 939 struct iwl_qosparam_cmd { 940 940 __le32 qos_flags; 941 941 struct iwl_ac_qos ac[AC_NUM]; 942 - } __attribute__ ((packed)); 942 + } __packed; 943 943 944 944 /****************************************************************************** 945 945 * (3) ··· 1015 1015 u8 key_offset; 1016 1016 u8 reserved2; 1017 1017 u8 key[16]; /* 16-byte unicast decryption key */ 1018 - } __attribute__ ((packed)); 1018 + } __packed; 1019 1019 1020 1020 /* 5000 */ 1021 1021 struct iwl_keyinfo { ··· 1029 1029 __le64 tx_secur_seq_cnt; 1030 1030 __le64 hw_tkip_mic_rx_key; 1031 1031 __le64 hw_tkip_mic_tx_key; 1032 - } __attribute__ ((packed)); 1032 + } __packed; 1033 1033 1034 1034 /** 1035 1035 * struct sta_id_modify ··· 1049 1049 u8 sta_id; 1050 1050 u8 modify_mask; 1051 1051 __le16 reserved2; 1052 - } __attribute__ ((packed)); 1052 + } __packed; 1053 1053 1054 1054 /* 1055 1055 * REPLY_ADD_STA = 0x18 (command) ··· 1103 1103 /* Starting Sequence Number for added block-ack support. 1104 1104 * Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */ 1105 1105 __le16 add_immediate_ba_ssn; 1106 - } __attribute__ ((packed)); 1106 + } __packed; 1107 1107 1108 1108 struct iwl4965_addsta_cmd { 1109 1109 u8 mode; /* 1: modify existing, 0: add new station */ ··· 1140 1140 __le16 sleep_tx_count; 1141 1141 1142 1142 __le16 reserved2; 1143 - } __attribute__ ((packed)); 1143 + } __packed; 1144 1144 1145 1145 /* 5000 */ 1146 1146 struct iwl_addsta_cmd { ··· 1178 1178 __le16 sleep_tx_count; 1179 1179 1180 1180 __le16 reserved2; 1181 - } __attribute__ ((packed)); 1181 + } __packed; 1182 1182 1183 1183 1184 1184 #define ADD_STA_SUCCESS_MSK 0x1 ··· 1190 1190 */ 1191 1191 struct iwl_add_sta_resp { 1192 1192 u8 status; /* ADD_STA_* */ 1193 - } __attribute__ ((packed)); 1193 + } __packed; 1194 1194 1195 1195 #define REM_STA_SUCCESS_MSK 0x1 1196 1196 /* ··· 1198 1198 */ 1199 1199 struct iwl_rem_sta_resp { 1200 1200 u8 status; 1201 - } __attribute__ ((packed)); 1201 + } __packed; 1202 1202 1203 1203 /* 1204 1204 * REPLY_REM_STA = 0x19 (command) ··· 1208 1208 u8 reserved[3]; 1209 1209 u8 addr[ETH_ALEN]; /* MAC addr of the first station */ 1210 1210 u8 reserved2[2]; 1211 - } __attribute__ ((packed)); 1211 + } __packed; 1212 1212 1213 1213 /* 1214 1214 * REPLY_WEP_KEY = 0x20 ··· 1220 1220 u8 key_size; 1221 1221 u8 reserved2[3]; 1222 1222 u8 key[16]; 1223 - } __attribute__ ((packed)); 1223 + } __packed; 1224 1224 1225 1225 struct iwl_wep_cmd { 1226 1226 u8 num_keys; ··· 1228 1228 u8 flags; 1229 1229 u8 reserved; 1230 1230 struct iwl_wep_key key[0]; 1231 - } __attribute__ ((packed)); 1231 + } __packed; 1232 1232 1233 1233 #define WEP_KEY_WEP_TYPE 1 1234 1234 #define WEP_KEYS_MAX 4 ··· 1282 1282 __le16 sig_avg; 1283 1283 __le16 noise_diff; 1284 1284 u8 payload[0]; 1285 - } __attribute__ ((packed)); 1285 + } __packed; 1286 1286 1287 1287 struct iwl3945_rx_frame_hdr { 1288 1288 __le16 channel; ··· 1291 1291 u8 rate; 1292 1292 __le16 len; 1293 1293 u8 payload[0]; 1294 - } __attribute__ ((packed)); 1294 + } __packed; 1295 1295 1296 1296 struct iwl3945_rx_frame_end { 1297 1297 __le32 status; 1298 1298 __le64 timestamp; 1299 1299 __le32 beacon_timestamp; 1300 - } __attribute__ ((packed)); 1300 + } __packed; 1301 1301 1302 1302 /* 1303 1303 * REPLY_3945_RX = 0x1b (response only, not a command) ··· 1311 1311 struct iwl3945_rx_frame_stats stats; 1312 1312 struct iwl3945_rx_frame_hdr hdr; 1313 1313 struct iwl3945_rx_frame_end end; 1314 - } __attribute__ ((packed)); 1314 + } __packed; 1315 1315 1316 1316 #define IWL39_RX_FRAME_SIZE (4 + sizeof(struct iwl3945_rx_frame)) 1317 1317 ··· 1327 1327 __le16 agc_info; /* agc code 0:6, agc dB 7:13, reserved 14:15 */ 1328 1328 u8 rssi_info[6]; /* we use even entries, 0/2/4 for A/B/C rssi */ 1329 1329 u8 pad[0]; 1330 - } __attribute__ ((packed)); 1330 + } __packed; 1331 1331 1332 1332 1333 1333 #define IWL50_RX_RES_PHY_CNT 8 ··· 1345 1345 1346 1346 struct iwl5000_non_cfg_phy { 1347 1347 __le32 non_cfg_phy[IWL50_RX_RES_PHY_CNT]; /* up to 8 phy entries */ 1348 - } __attribute__ ((packed)); 1348 + } __packed; 1349 1349 1350 1350 1351 1351 /* ··· 1365 1365 __le32 rate_n_flags; /* RATE_MCS_* */ 1366 1366 __le16 byte_count; /* frame's byte-count */ 1367 1367 __le16 reserved3; 1368 - } __attribute__ ((packed)); 1368 + } __packed; 1369 1369 1370 1370 struct iwl4965_rx_mpdu_res_start { 1371 1371 __le16 byte_count; 1372 1372 __le16 reserved; 1373 - } __attribute__ ((packed)); 1373 + } __packed; 1374 1374 1375 1375 1376 1376 /****************************************************************************** ··· 1557 1557 */ 1558 1558 u8 payload[0]; 1559 1559 struct ieee80211_hdr hdr[0]; 1560 - } __attribute__ ((packed)); 1560 + } __packed; 1561 1561 1562 1562 /* 1563 1563 * REPLY_TX = 0x1c (response) ··· 1569 1569 u8 rate; 1570 1570 __le32 wireless_media_time; 1571 1571 __le32 status; /* TX status */ 1572 - } __attribute__ ((packed)); 1572 + } __packed; 1573 1573 1574 1574 1575 1575 /* ··· 1581 1581 u8 try_cnt; /* Tx attempts */ 1582 1582 u8 bt_kill_cnt; /* Tx attempts blocked by Bluetooth device */ 1583 1583 __le16 reserved; 1584 - } __attribute__ ((packed)); 1584 + } __packed; 1585 1585 1586 1586 struct iwl_tx_cmd { 1587 1587 /* ··· 1660 1660 */ 1661 1661 u8 payload[0]; 1662 1662 struct ieee80211_hdr hdr[0]; 1663 - } __attribute__ ((packed)); 1663 + } __packed; 1664 1664 1665 1665 /* TX command response is sent after *3945* transmission attempts. 1666 1666 * ··· 1826 1826 struct agg_tx_status { 1827 1827 __le16 status; 1828 1828 __le16 sequence; 1829 - } __attribute__ ((packed)); 1829 + } __packed; 1830 1830 1831 1831 struct iwl4965_tx_resp { 1832 1832 u8 frame_count; /* 1 no aggregation, >1 aggregation */ ··· 1863 1863 __le32 status; 1864 1864 struct agg_tx_status agg_status[0]; /* for each agg frame */ 1865 1865 } u; 1866 - } __attribute__ ((packed)); 1866 + } __packed; 1867 1867 1868 1868 /* 1869 1869 * definitions for initial rate index field ··· 1927 1927 */ 1928 1928 struct agg_tx_status status; /* TX status (in aggregation - 1929 1929 * status of 1st frame) */ 1930 - } __attribute__ ((packed)); 1930 + } __packed; 1931 1931 /* 1932 1932 * REPLY_COMPRESSED_BA = 0xc5 (response only, not a command) 1933 1933 * ··· 1945 1945 __le64 bitmap; 1946 1946 __le16 scd_flow; 1947 1947 __le16 scd_ssn; 1948 - } __attribute__ ((packed)); 1948 + } __packed; 1949 1949 1950 1950 /* 1951 1951 * REPLY_TX_PWR_TABLE_CMD = 0x97 (command, has simple generic response) ··· 1958 1958 u8 reserved; 1959 1959 __le16 channel; 1960 1960 struct iwl3945_power_per_rate power[IWL_MAX_RATES]; 1961 - } __attribute__ ((packed)); 1961 + } __packed; 1962 1962 1963 1963 struct iwl4965_txpowertable_cmd { 1964 1964 u8 band; /* 0: 5 GHz, 1: 2.4 GHz */ 1965 1965 u8 reserved; 1966 1966 __le16 channel; 1967 1967 struct iwl4965_tx_power_db tx_power; 1968 - } __attribute__ ((packed)); 1968 + } __packed; 1969 1969 1970 1970 1971 1971 /** ··· 1987 1987 __le16 rate_n_flags; 1988 1988 u8 try_cnt; 1989 1989 u8 next_rate_index; 1990 - } __attribute__ ((packed)); 1990 + } __packed; 1991 1991 1992 1992 struct iwl3945_rate_scaling_cmd { 1993 1993 u8 table_id; 1994 1994 u8 reserved[3]; 1995 1995 struct iwl3945_rate_scaling_info table[IWL_MAX_RATES]; 1996 - } __attribute__ ((packed)); 1996 + } __packed; 1997 1997 1998 1998 1999 1999 /*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */ ··· 2040 2040 * TX FIFOs above 3 use same value (typically 0) as TX FIFO 3. 2041 2041 */ 2042 2042 u8 start_rate_index[LINK_QUAL_AC_NUM]; 2043 - } __attribute__ ((packed)); 2043 + } __packed; 2044 2044 2045 2045 #define LINK_QUAL_AGG_TIME_LIMIT_DEF (4000) /* 4 milliseconds */ 2046 2046 #define LINK_QUAL_AGG_TIME_LIMIT_MAX (65535) ··· 2081 2081 u8 agg_frame_cnt_limit; 2082 2082 2083 2083 __le32 reserved; 2084 - } __attribute__ ((packed)); 2084 + } __packed; 2085 2085 2086 2086 /* 2087 2087 * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response) ··· 2287 2287 __le32 rate_n_flags; /* RATE_MCS_*, IWL_RATE_* */ 2288 2288 } rs_table[LINK_QUAL_MAX_RETRY_NUM]; 2289 2289 __le32 reserved2; 2290 - } __attribute__ ((packed)); 2290 + } __packed; 2291 2291 2292 2292 /* 2293 2293 * BT configuration enable flags: ··· 2328 2328 u8 reserved; 2329 2329 __le32 kill_ack_mask; 2330 2330 __le32 kill_cts_mask; 2331 - } __attribute__ ((packed)); 2331 + } __packed; 2332 2332 2333 2333 /****************************************************************************** 2334 2334 * (6) ··· 2353 2353 u8 channel; /* channel to measure */ 2354 2354 u8 type; /* see enum iwl_measure_type */ 2355 2355 __le16 reserved; 2356 - } __attribute__ ((packed)); 2356 + } __packed; 2357 2357 2358 2358 /* 2359 2359 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command) ··· 2372 2372 __le16 channel_count; /* minimum 1, maximum 10 */ 2373 2373 __le16 reserved3; 2374 2374 struct iwl_measure_channel channels[10]; 2375 - } __attribute__ ((packed)); 2375 + } __packed; 2376 2376 2377 2377 /* 2378 2378 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response) ··· 2383 2383 __le16 status; /* 0 - command will be handled 2384 2384 * 1 - cannot handle (conflicts with another 2385 2385 * measurement) */ 2386 - } __attribute__ ((packed)); 2386 + } __packed; 2387 2387 2388 2388 enum iwl_measurement_state { 2389 2389 IWL_MEASUREMENT_START = 0, ··· 2406 2406 struct iwl_measurement_histogram { 2407 2407 __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */ 2408 2408 __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 1usec counts */ 2409 - } __attribute__ ((packed)); 2409 + } __packed; 2410 2410 2411 2411 /* clear channel availability counters */ 2412 2412 struct iwl_measurement_cca_counters { 2413 2413 __le32 ofdm; 2414 2414 __le32 cck; 2415 - } __attribute__ ((packed)); 2415 + } __packed; 2416 2416 2417 2417 enum iwl_measure_type { 2418 2418 IWL_MEASURE_BASIC = (1 << 0), ··· 2448 2448 struct iwl_measurement_histogram histogram; 2449 2449 __le32 stop_time; /* lower 32-bits of TSF */ 2450 2450 __le32 status; /* see iwl_measurement_status */ 2451 - } __attribute__ ((packed)); 2451 + } __packed; 2452 2452 2453 2453 /****************************************************************************** 2454 2454 * (7) ··· 2504 2504 __le32 rx_data_timeout; 2505 2505 __le32 tx_data_timeout; 2506 2506 __le32 sleep_interval[IWL_POWER_VEC_SIZE]; 2507 - } __attribute__ ((packed)); 2507 + } __packed; 2508 2508 2509 2509 struct iwl_powertable_cmd { 2510 2510 __le16 flags; ··· 2514 2514 __le32 tx_data_timeout; 2515 2515 __le32 sleep_interval[IWL_POWER_VEC_SIZE]; 2516 2516 __le32 keep_alive_beacons; 2517 - } __attribute__ ((packed)); 2517 + } __packed; 2518 2518 2519 2519 /* 2520 2520 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command) ··· 2527 2527 __le32 sleep_time; 2528 2528 __le32 tsf_low; 2529 2529 __le32 bcon_timer; 2530 - } __attribute__ ((packed)); 2530 + } __packed; 2531 2531 2532 2532 /* Sleep states. 3945 and 4965 identical. */ 2533 2533 enum { ··· 2552 2552 #define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */ 2553 2553 struct iwl_card_state_cmd { 2554 2554 __le32 status; /* CARD_STATE_CMD_* request new power state */ 2555 - } __attribute__ ((packed)); 2555 + } __packed; 2556 2556 2557 2557 /* 2558 2558 * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command) 2559 2559 */ 2560 2560 struct iwl_card_state_notif { 2561 2561 __le32 flags; 2562 - } __attribute__ ((packed)); 2562 + } __packed; 2563 2563 2564 2564 #define HW_CARD_DISABLED 0x01 2565 2565 #define SW_CARD_DISABLED 0x02 ··· 2570 2570 __le32 reserved; 2571 2571 __le32 critical_temperature_M; 2572 2572 __le32 critical_temperature_R; 2573 - } __attribute__ ((packed)); 2573 + } __packed; 2574 2574 2575 2575 /* 1000, and 6x00 */ 2576 2576 struct iwl_ct_kill_throttling_config { 2577 2577 __le32 critical_temperature_exit; 2578 2578 __le32 reserved; 2579 2579 __le32 critical_temperature_enter; 2580 - } __attribute__ ((packed)); 2580 + } __packed; 2581 2581 2582 2582 /****************************************************************************** 2583 2583 * (8) ··· 2622 2622 struct iwl3945_tx_power tpc; 2623 2623 __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ 2624 2624 __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ 2625 - } __attribute__ ((packed)); 2625 + } __packed; 2626 2626 2627 2627 /* set number of direct probes u8 type */ 2628 2628 #define IWL39_SCAN_PROBE_MASK(n) ((BIT(n) | (BIT(n) - BIT(1)))) ··· 2641 2641 u8 dsp_atten; /* gain for DSP */ 2642 2642 __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ 2643 2643 __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ 2644 - } __attribute__ ((packed)); 2644 + } __packed; 2645 2645 2646 2646 /* set number of direct probes __le32 type */ 2647 2647 #define IWL_SCAN_PROBE_MASK(n) cpu_to_le32((BIT(n) | (BIT(n) - BIT(1)))) ··· 2658 2658 u8 id; 2659 2659 u8 len; 2660 2660 u8 ssid[32]; 2661 - } __attribute__ ((packed)); 2661 + } __packed; 2662 2662 2663 2663 #define PROBE_OPTION_MAX_3945 4 2664 2664 #define PROBE_OPTION_MAX 20 ··· 2764 2764 * before requesting another scan. 2765 2765 */ 2766 2766 u8 data[0]; 2767 - } __attribute__ ((packed)); 2767 + } __packed; 2768 2768 2769 2769 struct iwl_scan_cmd { 2770 2770 __le16 len; ··· 2808 2808 * before requesting another scan. 2809 2809 */ 2810 2810 u8 data[0]; 2811 - } __attribute__ ((packed)); 2811 + } __packed; 2812 2812 2813 2813 /* Can abort will notify by complete notification with abort status. */ 2814 2814 #define CAN_ABORT_STATUS cpu_to_le32(0x1) ··· 2820 2820 */ 2821 2821 struct iwl_scanreq_notification { 2822 2822 __le32 status; /* 1: okay, 2: cannot fulfill request */ 2823 - } __attribute__ ((packed)); 2823 + } __packed; 2824 2824 2825 2825 /* 2826 2826 * SCAN_START_NOTIFICATION = 0x82 (notification only, not a command) ··· 2833 2833 u8 band; 2834 2834 u8 reserved[2]; 2835 2835 __le32 status; 2836 - } __attribute__ ((packed)); 2836 + } __packed; 2837 2837 2838 2838 #define SCAN_OWNER_STATUS 0x1; 2839 2839 #define MEASURE_OWNER_STATUS 0x2; ··· 2849 2849 __le32 tsf_low; 2850 2850 __le32 tsf_high; 2851 2851 __le32 statistics[NUMBER_OF_STATISTICS]; 2852 - } __attribute__ ((packed)); 2852 + } __packed; 2853 2853 2854 2854 /* 2855 2855 * SCAN_COMPLETE_NOTIFICATION = 0x84 (notification only, not a command) ··· 2861 2861 u8 last_channel; 2862 2862 __le32 tsf_low; 2863 2863 __le32 tsf_high; 2864 - } __attribute__ ((packed)); 2864 + } __packed; 2865 2865 2866 2866 2867 2867 /****************************************************************************** ··· 2879 2879 __le32 low_tsf; 2880 2880 __le32 high_tsf; 2881 2881 __le32 ibss_mgr_status; 2882 - } __attribute__ ((packed)); 2882 + } __packed; 2883 2883 2884 2884 struct iwl4965_beacon_notif { 2885 2885 struct iwl4965_tx_resp beacon_notify_hdr; 2886 2886 __le32 low_tsf; 2887 2887 __le32 high_tsf; 2888 2888 __le32 ibss_mgr_status; 2889 - } __attribute__ ((packed)); 2889 + } __packed; 2890 2890 2891 2891 /* 2892 2892 * REPLY_TX_BEACON = 0x91 (command, has simple generic response) ··· 2898 2898 u8 tim_size; 2899 2899 u8 reserved1; 2900 2900 struct ieee80211_hdr frame[0]; /* beacon frame */ 2901 - } __attribute__ ((packed)); 2901 + } __packed; 2902 2902 2903 2903 struct iwl_tx_beacon_cmd { 2904 2904 struct iwl_tx_cmd tx; ··· 2906 2906 u8 tim_size; 2907 2907 u8 reserved1; 2908 2908 struct ieee80211_hdr frame[0]; /* beacon frame */ 2909 - } __attribute__ ((packed)); 2909 + } __packed; 2910 2910 2911 2911 /****************************************************************************** 2912 2912 * (10) ··· 2932 2932 __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS]; 2933 2933 __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS]; 2934 2934 } failed; 2935 - } __attribute__ ((packed)); 2935 + } __packed; 2936 2936 2937 2937 /* statistics command response */ 2938 2938 ··· 2952 2952 __le32 rxe_frame_limit_overrun; 2953 2953 __le32 sent_ack_cnt; 2954 2954 __le32 sent_cts_cnt; 2955 - } __attribute__ ((packed)); 2955 + } __packed; 2956 2956 2957 2957 struct iwl39_statistics_rx_non_phy { 2958 2958 __le32 bogus_cts; /* CTS received when not expecting CTS */ ··· 2963 2963 * filtering process */ 2964 2964 __le32 non_channel_beacons; /* beacons with our bss id but not on 2965 2965 * our serving channel */ 2966 - } __attribute__ ((packed)); 2966 + } __packed; 2967 2967 2968 2968 struct iwl39_statistics_rx { 2969 2969 struct iwl39_statistics_rx_phy ofdm; 2970 2970 struct iwl39_statistics_rx_phy cck; 2971 2971 struct iwl39_statistics_rx_non_phy general; 2972 - } __attribute__ ((packed)); 2972 + } __packed; 2973 2973 2974 2974 struct iwl39_statistics_tx { 2975 2975 __le32 preamble_cnt; ··· 2981 2981 __le32 ack_timeout; 2982 2982 __le32 expected_ack_cnt; 2983 2983 __le32 actual_ack_cnt; 2984 - } __attribute__ ((packed)); 2984 + } __packed; 2985 2985 2986 2986 struct statistics_dbg { 2987 2987 __le32 burst_check; 2988 2988 __le32 burst_count; 2989 2989 __le32 reserved[4]; 2990 - } __attribute__ ((packed)); 2990 + } __packed; 2991 2991 2992 2992 struct iwl39_statistics_div { 2993 2993 __le32 tx_on_a; 2994 2994 __le32 tx_on_b; 2995 2995 __le32 exec_time; 2996 2996 __le32 probe_time; 2997 - } __attribute__ ((packed)); 2997 + } __packed; 2998 2998 2999 2999 struct iwl39_statistics_general { 3000 3000 __le32 temperature; ··· 3004 3004 __le32 slots_idle; 3005 3005 __le32 ttl_timestamp; 3006 3006 struct iwl39_statistics_div div; 3007 - } __attribute__ ((packed)); 3007 + } __packed; 3008 3008 3009 3009 struct statistics_rx_phy { 3010 3010 __le32 ina_cnt; ··· 3027 3027 __le32 mh_format_err; 3028 3028 __le32 re_acq_main_rssi_sum; 3029 3029 __le32 reserved3; 3030 - } __attribute__ ((packed)); 3030 + } __packed; 3031 3031 3032 3032 struct statistics_rx_ht_phy { 3033 3033 __le32 plcp_err; ··· 3040 3040 __le32 agg_mpdu_cnt; 3041 3041 __le32 agg_cnt; 3042 3042 __le32 unsupport_mcs; 3043 - } __attribute__ ((packed)); 3043 + } __packed; 3044 3044 3045 3045 #define INTERFERENCE_DATA_AVAILABLE cpu_to_le32(1) 3046 3046 ··· 3075 3075 __le32 beacon_energy_a; 3076 3076 __le32 beacon_energy_b; 3077 3077 __le32 beacon_energy_c; 3078 - } __attribute__ ((packed)); 3078 + } __packed; 3079 3079 3080 3080 struct statistics_rx { 3081 3081 struct statistics_rx_phy ofdm; 3082 3082 struct statistics_rx_phy cck; 3083 3083 struct statistics_rx_non_phy general; 3084 3084 struct statistics_rx_ht_phy ofdm_ht; 3085 - } __attribute__ ((packed)); 3085 + } __packed; 3086 3086 3087 3087 /** 3088 3088 * struct statistics_tx_power - current tx power ··· 3096 3096 u8 ant_b; 3097 3097 u8 ant_c; 3098 3098 u8 reserved; 3099 - } __attribute__ ((packed)); 3099 + } __packed; 3100 3100 3101 3101 struct statistics_tx_non_phy_agg { 3102 3102 __le32 ba_timeout; ··· 3109 3109 __le32 underrun; 3110 3110 __le32 bt_prio_kill; 3111 3111 __le32 rx_ba_rsp_cnt; 3112 - } __attribute__ ((packed)); 3112 + } __packed; 3113 3113 3114 3114 struct statistics_tx { 3115 3115 __le32 preamble_cnt; ··· 3134 3134 */ 3135 3135 struct statistics_tx_power tx_power; 3136 3136 __le32 reserved1; 3137 - } __attribute__ ((packed)); 3137 + } __packed; 3138 3138 3139 3139 3140 3140 struct statistics_div { ··· 3144 3144 __le32 probe_time; 3145 3145 __le32 reserved1; 3146 3146 __le32 reserved2; 3147 - } __attribute__ ((packed)); 3147 + } __packed; 3148 3148 3149 3149 struct statistics_general { 3150 3150 __le32 temperature; /* radio temperature */ ··· 3164 3164 __le32 num_of_sos_states; 3165 3165 __le32 reserved2; 3166 3166 __le32 reserved3; 3167 - } __attribute__ ((packed)); 3167 + } __packed; 3168 3168 3169 3169 #define UCODE_STATISTICS_CLEAR_MSK (0x1 << 0) 3170 3170 #define UCODE_STATISTICS_FREQUENCY_MSK (0x1 << 1) ··· 3189 3189 #define IWL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */ 3190 3190 struct iwl_statistics_cmd { 3191 3191 __le32 configuration_flags; /* IWL_STATS_CONF_* */ 3192 - } __attribute__ ((packed)); 3192 + } __packed; 3193 3193 3194 3194 /* 3195 3195 * STATISTICS_NOTIFICATION = 0x9d (notification only, not a command) ··· 3214 3214 struct iwl39_statistics_rx rx; 3215 3215 struct iwl39_statistics_tx tx; 3216 3216 struct iwl39_statistics_general general; 3217 - } __attribute__ ((packed)); 3217 + } __packed; 3218 3218 3219 3219 struct iwl_notif_statistics { 3220 3220 __le32 flag; 3221 3221 struct statistics_rx rx; 3222 3222 struct statistics_tx tx; 3223 3223 struct statistics_general general; 3224 - } __attribute__ ((packed)); 3224 + } __packed; 3225 3225 3226 3226 3227 3227 /* ··· 3253 3253 __le32 total_missed_becons; 3254 3254 __le32 num_expected_beacons; 3255 3255 __le32 num_recvd_beacons; 3256 - } __attribute__ ((packed)); 3256 + } __packed; 3257 3257 3258 3258 3259 3259 /****************************************************************************** ··· 3455 3455 struct iwl_sensitivity_cmd { 3456 3456 __le16 control; /* always use "1" */ 3457 3457 __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */ 3458 - } __attribute__ ((packed)); 3458 + } __packed; 3459 3459 3460 3460 3461 3461 /** ··· 3536 3536 __le32 send_res; 3537 3537 __le32 apply_res; 3538 3538 __le32 reserved; 3539 - } __attribute__ ((packed)); 3539 + } __packed; 3540 3540 3541 3541 struct iwl_calib_cfg_status_s { 3542 3542 struct iwl_calib_cfg_elmnt_s once; 3543 3543 struct iwl_calib_cfg_elmnt_s perd; 3544 3544 __le32 flags; 3545 - } __attribute__ ((packed)); 3545 + } __packed; 3546 3546 3547 3547 struct iwl_calib_cfg_cmd { 3548 3548 struct iwl_calib_cfg_status_s ucd_calib_cfg; 3549 3549 struct iwl_calib_cfg_status_s drv_calib_cfg; 3550 3550 __le32 reserved1; 3551 - } __attribute__ ((packed)); 3551 + } __packed; 3552 3552 3553 3553 struct iwl_calib_hdr { 3554 3554 u8 op_code; 3555 3555 u8 first_group; 3556 3556 u8 groups_num; 3557 3557 u8 data_valid; 3558 - } __attribute__ ((packed)); 3558 + } __packed; 3559 3559 3560 3560 struct iwl_calib_cmd { 3561 3561 struct iwl_calib_hdr hdr; 3562 3562 u8 data[0]; 3563 - } __attribute__ ((packed)); 3563 + } __packed; 3564 3564 3565 3565 /* IWL_PHY_CALIBRATE_DIFF_GAIN_CMD (7) */ 3566 3566 struct iwl_calib_diff_gain_cmd { ··· 3569 3569 s8 diff_gain_b; 3570 3570 s8 diff_gain_c; 3571 3571 u8 reserved1; 3572 - } __attribute__ ((packed)); 3572 + } __packed; 3573 3573 3574 3574 struct iwl_calib_xtal_freq_cmd { 3575 3575 struct iwl_calib_hdr hdr; 3576 3576 u8 cap_pin1; 3577 3577 u8 cap_pin2; 3578 3578 u8 pad[2]; 3579 - } __attribute__ ((packed)); 3579 + } __packed; 3580 3580 3581 3581 /* IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */ 3582 3582 struct iwl_calib_chain_noise_reset_cmd { ··· 3590 3590 u8 delta_gain_1; 3591 3591 u8 delta_gain_2; 3592 3592 u8 pad[2]; 3593 - } __attribute__ ((packed)); 3593 + } __packed; 3594 3594 3595 3595 /****************************************************************************** 3596 3596 * (12) ··· 3613 3613 u8 on; /* # intervals on while blinking; 3614 3614 * "0", regardless of "off", turns LED off */ 3615 3615 u8 reserved; 3616 - } __attribute__ ((packed)); 3616 + } __packed; 3617 3617 3618 3618 /* 3619 3619 * station priority table entries ··· 3749 3749 u8 win_medium_prio; 3750 3750 u8 reserved; 3751 3751 u8 flags; 3752 - } __attribute__ ((packed)); 3752 + } __packed; 3753 3753 3754 3754 /* COEX flag masks */ 3755 3755 ··· 3766 3766 u8 flags; 3767 3767 u8 reserved[3]; 3768 3768 struct iwl_wimax_coex_event_entry sta_prio[COEX_NUM_OF_EVENTS]; 3769 - } __attribute__ ((packed)); 3769 + } __packed; 3770 3770 3771 3771 /* 3772 3772 * Coexistence MEDIUM NOTIFICATION ··· 3795 3795 struct iwl_coex_medium_notification { 3796 3796 __le32 status; 3797 3797 __le32 events; 3798 - } __attribute__ ((packed)); 3798 + } __packed; 3799 3799 3800 3800 /* 3801 3801 * Coexistence EVENT Command ··· 3810 3810 u8 flags; 3811 3811 u8 event; 3812 3812 __le16 reserved; 3813 - } __attribute__ ((packed)); 3813 + } __packed; 3814 3814 3815 3815 struct iwl_coex_event_resp { 3816 3816 __le32 status; 3817 - } __attribute__ ((packed)); 3817 + } __packed; 3818 3818 3819 3819 3820 3820 /****************************************************************************** ··· 3858 3858 __le32 status; 3859 3859 u8 raw[0]; 3860 3860 } u; 3861 - } __attribute__ ((packed)); 3861 + } __packed; 3862 3862 3863 3863 int iwl_agn_check_rxon_cmd(struct iwl_priv *priv); 3864 3864
+4 -4
drivers/net/wireless/iwlwifi/iwl-dev.h
··· 157 157 * space more than this */ 158 158 int high_mark; /* high watermark, stop queue if free 159 159 * space less than this */ 160 - } __attribute__ ((packed)); 160 + } __packed; 161 161 162 162 /* One for each TFD */ 163 163 struct iwl_tx_info { ··· 343 343 struct iwl_tx_cmd tx; 344 344 struct iwl6000_channel_switch_cmd chswitch; 345 345 u8 payload[DEF_CMD_PAYLOAD_SIZE]; 346 - } __attribute__ ((packed)) cmd; 347 - } __attribute__ ((packed)); 346 + } __packed cmd; 347 + } __packed; 348 348 349 349 #define TFD_MAX_PAYLOAD_SIZE (sizeof(struct iwl_device_cmd)) 350 350 ··· 590 590 __le16 alternative; /* see comment */ 591 591 __le32 length; /* not including type/length fields */ 592 592 u8 data[0]; 593 - } __attribute__ ((packed)); 593 + } __packed; 594 594 595 595 #define IWL_TLV_UCODE_MAGIC 0x0a4c5749 596 596
+6 -6
drivers/net/wireless/iwlwifi/iwl-eeprom.h
··· 118 118 struct iwl_eeprom_channel { 119 119 u8 flags; /* EEPROM_CHANNEL_* flags copied from EEPROM */ 120 120 s8 max_power_avg; /* max power (dBm) on this chnl, limit 31 */ 121 - } __attribute__ ((packed)); 121 + } __packed; 122 122 123 123 /** 124 124 * iwl_eeprom_enhanced_txpwr structure ··· 144 144 s8 reserved; 145 145 s8 mimo2_max; 146 146 s8 mimo3_max; 147 - } __attribute__ ((packed)); 147 + } __packed; 148 148 149 149 /* 3945 Specific */ 150 150 #define EEPROM_3945_EEPROM_VERSION (0x2f) ··· 312 312 u8 gain_idx; /* Index into gain table */ 313 313 u8 actual_pow; /* Measured RF output power, half-dBm */ 314 314 s8 pa_det; /* Power amp detector level (not used) */ 315 - } __attribute__ ((packed)); 315 + } __packed; 316 316 317 317 318 318 /* ··· 328 328 struct iwl_eeprom_calib_measure 329 329 measurements[EEPROM_TX_POWER_TX_CHAINS] 330 330 [EEPROM_TX_POWER_MEASUREMENTS]; 331 - } __attribute__ ((packed)); 331 + } __packed; 332 332 333 333 /* 334 334 * txpower subband info. ··· 345 345 u8 ch_to; /* channel number of highest channel in subband */ 346 346 struct iwl_eeprom_calib_ch_info ch1; 347 347 struct iwl_eeprom_calib_ch_info ch2; 348 - } __attribute__ ((packed)); 348 + } __packed; 349 349 350 350 351 351 /* ··· 374 374 __le16 voltage; /* signed */ 375 375 struct iwl_eeprom_calib_subband_info 376 376 band_info[EEPROM_TX_POWER_BANDS]; 377 - } __attribute__ ((packed)); 377 + } __packed; 378 378 379 379 380 380 #define ADDRESS_MSK 0x0000FFFF
+3 -3
drivers/net/wireless/iwlwifi/iwl-fh.h
··· 449 449 __le16 finished_rb_num; 450 450 __le16 finished_fr_nam; 451 451 __le32 __unused; /* 3945 only */ 452 - } __attribute__ ((packed)); 452 + } __packed; 453 453 454 454 455 455 #define TFD_QUEUE_SIZE_MAX (256) ··· 475 475 struct iwl_tfd_tb { 476 476 __le32 lo; 477 477 __le16 hi_n_len; 478 - } __attribute__((packed)); 478 + } __packed; 479 479 480 480 /** 481 481 * struct iwl_tfd ··· 510 510 u8 num_tbs; 511 511 struct iwl_tfd_tb tbs[IWL_NUM_OF_TBS]; 512 512 __le32 __pad; 513 - } __attribute__ ((packed)); 513 + } __packed; 514 514 515 515 /* Keep Warm Size */ 516 516 #define IWL_KW_SIZE 0x1000 /* 4k */
+5 -5
drivers/net/wireless/iwlwifi/iwl-spectrum.h
··· 42 42 __le64 start_time; 43 43 __le16 duration; 44 44 u8 map; 45 - } __attribute__ ((packed)); 45 + } __packed; 46 46 47 47 enum { /* ieee80211_measurement_request.mode */ 48 48 /* Bit 0 is reserved */ ··· 63 63 u8 channel; 64 64 __le64 start_time; 65 65 __le16 duration; 66 - } __attribute__ ((packed)); 66 + } __packed; 67 67 68 68 struct ieee80211_info_element { 69 69 u8 id; 70 70 u8 len; 71 71 u8 data[0]; 72 - } __attribute__ ((packed)); 72 + } __packed; 73 73 74 74 struct ieee80211_measurement_request { 75 75 struct ieee80211_info_element ie; ··· 77 77 u8 mode; 78 78 u8 type; 79 79 struct ieee80211_measurement_params params[0]; 80 - } __attribute__ ((packed)); 80 + } __packed; 81 81 82 82 struct ieee80211_measurement_report { 83 83 struct ieee80211_info_element ie; ··· 87 87 union { 88 88 struct ieee80211_basic_report basic[0]; 89 89 } u; 90 - } __attribute__ ((packed)); 90 + } __packed; 91 91 92 92 #endif
+25 -25
drivers/net/wireless/iwmc3200wifi/commands.h
··· 56 56 57 57 struct iwm_umac_cmd_reset { 58 58 __le32 flags; 59 - } __attribute__ ((packed)); 59 + } __packed; 60 60 61 61 #define UMAC_PARAM_TBL_ORD_FIX 0x0 62 62 #define UMAC_PARAM_TBL_ORD_VAR 0x1 ··· 220 220 __le16 tbl; 221 221 __le16 key; 222 222 __le32 value; 223 - } __attribute__ ((packed)); 223 + } __packed; 224 224 225 225 struct iwm_umac_cmd_set_param_var { 226 226 __le16 tbl; 227 227 __le16 key; 228 228 __le16 len; 229 229 __le16 reserved; 230 - } __attribute__ ((packed)); 230 + } __packed; 231 231 232 232 struct iwm_umac_cmd_get_param { 233 233 __le16 tbl; 234 234 __le16 key; 235 - } __attribute__ ((packed)); 235 + } __packed; 236 236 237 237 struct iwm_umac_cmd_get_param_resp { 238 238 __le16 tbl; 239 239 __le16 key; 240 240 __le16 len; 241 241 __le16 reserved; 242 - } __attribute__ ((packed)); 242 + } __packed; 243 243 244 244 struct iwm_umac_cmd_eeprom_proxy_hdr { 245 245 __le32 type; 246 246 __le32 offset; 247 247 __le32 len; 248 - } __attribute__ ((packed)); 248 + } __packed; 249 249 250 250 struct iwm_umac_cmd_eeprom_proxy { 251 251 struct iwm_umac_cmd_eeprom_proxy_hdr hdr; 252 252 u8 buf[0]; 253 - } __attribute__ ((packed)); 253 + } __packed; 254 254 255 255 #define IWM_UMAC_CMD_EEPROM_TYPE_READ 0x1 256 256 #define IWM_UMAC_CMD_EEPROM_TYPE_WRITE 0x2 ··· 267 267 u8 reserved; 268 268 u8 flags; 269 269 __le32 channels_mask; 270 - } __attribute__ ((packed)); 270 + } __packed; 271 271 272 272 struct iwm_umac_cmd_get_channel_list { 273 273 __le16 count; 274 274 __le16 reserved; 275 275 struct iwm_umac_channel_info ch[0]; 276 - } __attribute__ ((packed)); 276 + } __packed; 277 277 278 278 279 279 /* UMAC WiFi interface commands */ ··· 304 304 u8 ssid_len; 305 305 u8 ssid[IEEE80211_MAX_SSID_LEN]; 306 306 u8 reserved[3]; 307 - } __attribute__ ((packed)); 307 + } __packed; 308 308 309 309 struct iwm_umac_cmd_scan_request { 310 310 struct iwm_umac_wifi_if hdr; ··· 314 314 u8 timeout; /* In seconds */ 315 315 u8 reserved; 316 316 struct iwm_umac_ssid ssids[UMAC_WIFI_IF_PROBE_OPTION_MAX]; 317 - } __attribute__ ((packed)); 317 + } __packed; 318 318 319 319 #define UMAC_CIPHER_TYPE_NONE 0xFF 320 320 #define UMAC_CIPHER_TYPE_USE_GROUPCAST 0x00 ··· 357 357 u8 ucast_cipher; 358 358 u8 mcast_cipher; 359 359 u8 flags; 360 - } __attribute__ ((packed)); 360 + } __packed; 361 361 362 362 struct iwm_umac_ibss { 363 363 u8 beacon_interval; /* in millisecond */ ··· 366 366 u8 band; 367 367 u8 channel; 368 368 u8 reserved[3]; 369 - } __attribute__ ((packed)); 369 + } __packed; 370 370 371 371 #define UMAC_MODE_BSS 0 372 372 #define UMAC_MODE_IBSS 1 ··· 385 385 __le16 flags; 386 386 u8 wireless_mode; 387 387 u8 bss_num; 388 - } __attribute__ ((packed)); 388 + } __packed; 389 389 390 390 struct iwm_umac_invalidate_profile { 391 391 struct iwm_umac_wifi_if hdr; 392 392 u8 reason; 393 393 u8 reserved[3]; 394 - } __attribute__ ((packed)); 394 + } __packed; 395 395 396 396 /* Encryption key commands */ 397 397 struct iwm_umac_key_wep40 { ··· 400 400 u8 key[WLAN_KEY_LEN_WEP40]; 401 401 u8 static_key; 402 402 u8 reserved[2]; 403 - } __attribute__ ((packed)); 403 + } __packed; 404 404 405 405 struct iwm_umac_key_wep104 { 406 406 struct iwm_umac_wifi_if hdr; ··· 408 408 u8 key[WLAN_KEY_LEN_WEP104]; 409 409 u8 static_key; 410 410 u8 reserved[2]; 411 - } __attribute__ ((packed)); 411 + } __packed; 412 412 413 413 #define IWM_TKIP_KEY_SIZE 16 414 414 #define IWM_TKIP_MIC_SIZE 8 ··· 420 420 u8 tkip_key[IWM_TKIP_KEY_SIZE]; 421 421 u8 mic_rx_key[IWM_TKIP_MIC_SIZE]; 422 422 u8 mic_tx_key[IWM_TKIP_MIC_SIZE]; 423 - } __attribute__ ((packed)); 423 + } __packed; 424 424 425 425 struct iwm_umac_key_ccmp { 426 426 struct iwm_umac_wifi_if hdr; ··· 428 428 u8 iv_count[6]; 429 429 u8 reserved[2]; 430 430 u8 key[WLAN_KEY_LEN_CCMP]; 431 - } __attribute__ ((packed)); 431 + } __packed; 432 432 433 433 struct iwm_umac_key_remove { 434 434 struct iwm_umac_wifi_if hdr; 435 435 struct iwm_umac_key_hdr key_hdr; 436 - } __attribute__ ((packed)); 436 + } __packed; 437 437 438 438 struct iwm_umac_tx_key_id { 439 439 struct iwm_umac_wifi_if hdr; 440 440 u8 key_idx; 441 441 u8 reserved[3]; 442 - } __attribute__ ((packed)); 442 + } __packed; 443 443 444 444 struct iwm_umac_pwr_trigger { 445 445 struct iwm_umac_wifi_if hdr; 446 446 __le32 reseved; 447 - } __attribute__ ((packed)); 447 + } __packed; 448 448 449 449 struct iwm_umac_cmd_stats_req { 450 450 __le32 flags; 451 - } __attribute__ ((packed)); 451 + } __packed; 452 452 453 453 struct iwm_umac_cmd_stop_resume_tx { 454 454 u8 flags; ··· 456 456 __le16 stop_resume_tid_msk; 457 457 __le16 last_seq_num[IWM_UMAC_TID_NR]; 458 458 u16 reserved; 459 - } __attribute__ ((packed)); 459 + } __packed; 460 460 461 461 #define IWM_CMD_PMKID_ADD 1 462 462 #define IWM_CMD_PMKID_DEL 2 ··· 468 468 u8 bssid[ETH_ALEN]; 469 469 __le16 reserved; 470 470 u8 pmkid[WLAN_PMKID_LEN]; 471 - } __attribute__ ((packed)); 471 + } __packed; 472 472 473 473 /* LMAC commands */ 474 474 int iwm_read_mac(struct iwm_priv *iwm, u8 *mac);
+1 -1
drivers/net/wireless/iwmc3200wifi/iwm.h
··· 162 162 u8 mac[ETH_ALEN]; 163 163 u8 key_idx; 164 164 u8 multicast; /* BCast encrypt & BCast decrypt of frames FROM mac */ 165 - } __attribute__ ((packed)); 165 + } __packed; 166 166 167 167 struct iwm_key { 168 168 struct iwm_umac_key_hdr hdr;
+16 -16
drivers/net/wireless/iwmc3200wifi/lmac.h
··· 43 43 u8 id; 44 44 u8 flags; 45 45 __le16 seq_num; 46 - } __attribute__ ((packed)); 46 + } __packed; 47 47 48 48 /* LMAC commands */ 49 49 #define CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK 0x1 ··· 54 54 __le32 send_res; /* 1 for sending back results */ 55 55 __le32 apply_res; /* 1 for applying calibration results to HW */ 56 56 __le32 reserved; 57 - } __attribute__ ((packed)); 57 + } __packed; 58 58 59 59 struct iwm_lmac_cal_cfg_status { 60 60 struct iwm_lmac_cal_cfg_elt init; 61 61 struct iwm_lmac_cal_cfg_elt periodic; 62 62 __le32 flags; /* CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK */ 63 - } __attribute__ ((packed)); 63 + } __packed; 64 64 65 65 struct iwm_lmac_cal_cfg_cmd { 66 66 struct iwm_lmac_cal_cfg_status ucode_cfg; 67 67 struct iwm_lmac_cal_cfg_status driver_cfg; 68 68 __le32 reserved; 69 - } __attribute__ ((packed)); 69 + } __packed; 70 70 71 71 struct iwm_lmac_cal_cfg_resp { 72 72 __le32 status; 73 - } __attribute__ ((packed)); 73 + } __packed; 74 74 75 75 #define IWM_CARD_STATE_SW_HW_ENABLED 0x00 76 76 #define IWM_CARD_STATE_HW_DISABLED 0x01 ··· 80 80 81 81 struct iwm_lmac_card_state { 82 82 __le32 flags; 83 - } __attribute__ ((packed)); 83 + } __packed; 84 84 85 85 /** 86 86 * COEX_PRIORITY_TABLE_CMD ··· 131 131 u8 win_med_prio; 132 132 u8 reserved; 133 133 u8 flags; 134 - } __attribute__ ((packed)); 134 + } __packed; 135 135 136 136 #define COEX_FLAGS_STA_TABLE_VALID_MSK 0x1 137 137 #define COEX_FLAGS_UNASSOC_WAKEUP_UMASK_MSK 0x4 ··· 142 142 u8 flags; 143 143 u8 reserved[3]; 144 144 struct coex_event sta_prio[COEX_EVENTS_NUM]; 145 - } __attribute__ ((packed)); 145 + } __packed; 146 146 147 147 /* Coexistence definitions 148 148 * ··· 192 192 u32 exit_threshold; 193 193 u32 reserved; 194 194 u32 entry_threshold; 195 - } __attribute__ ((packed)); 195 + } __packed; 196 196 197 197 198 198 /* LMAC OP CODES */ ··· 428 428 u8 first_grp; 429 429 u8 grp_num; 430 430 u8 all_data_valid; 431 - } __attribute__ ((packed)); 431 + } __packed; 432 432 433 433 #define IWM_LMAC_CALIB_FREQ_GROUPS_NR 7 434 434 #define IWM_CALIB_FREQ_GROUPS_NR 5 ··· 437 437 struct iwm_calib_rxiq_entry { 438 438 u16 ptam_postdist_ars; 439 439 u16 ptam_postdist_arc; 440 - } __attribute__ ((packed)); 440 + } __packed; 441 441 442 442 struct iwm_calib_rxiq_group { 443 443 struct iwm_calib_rxiq_entry mode[IWM_CALIB_DC_MODES_NR]; 444 - } __attribute__ ((packed)); 444 + } __packed; 445 445 446 446 struct iwm_lmac_calib_rxiq { 447 447 struct iwm_calib_rxiq_group group[IWM_LMAC_CALIB_FREQ_GROUPS_NR]; 448 - } __attribute__ ((packed)); 448 + } __packed; 449 449 450 450 struct iwm_calib_rxiq { 451 451 struct iwm_lmac_calib_hdr hdr; 452 452 struct iwm_calib_rxiq_group group[IWM_CALIB_FREQ_GROUPS_NR]; 453 - } __attribute__ ((packed)); 453 + } __packed; 454 454 455 455 #define LMAC_STA_ID_SEED 0x0f 456 456 #define LMAC_STA_ID_POS 0 ··· 463 463 u8 pa_integ_res_A[3]; 464 464 u8 pa_integ_res_B[3]; 465 465 u8 pa_integ_res_C[3]; 466 - } __attribute__ ((packed)); 466 + } __packed; 467 467 468 468 struct iwm_lmac_tx_resp { 469 469 u8 frame_cnt; /* 1-no aggregation, greater then 1 - aggregation */ ··· 479 479 u8 ra_tid; 480 480 __le16 frame_ctl; 481 481 __le32 status; 482 - } __attribute__ ((packed)); 482 + } __packed; 483 483 484 484 #endif
+30 -30
drivers/net/wireless/iwmc3200wifi/umac.h
··· 42 42 struct iwm_udma_in_hdr { 43 43 __le32 cmd; 44 44 __le32 size; 45 - } __attribute__ ((packed)); 45 + } __packed; 46 46 47 47 struct iwm_udma_out_nonwifi_hdr { 48 48 __le32 cmd; 49 49 __le32 addr; 50 50 __le32 op1_sz; 51 51 __le32 op2; 52 - } __attribute__ ((packed)); 52 + } __packed; 53 53 54 54 struct iwm_udma_out_wifi_hdr { 55 55 __le32 cmd; 56 56 __le32 meta_data; 57 - } __attribute__ ((packed)); 57 + } __packed; 58 58 59 59 /* Sequence numbering */ 60 60 #define UMAC_WIFI_SEQ_NUM_BASE 1 ··· 408 408 __le16 flags; 409 409 u8 payload_offset; /* includes: MAC header, pad, IV */ 410 410 u8 tail_len; /* includes: MIC, ICV, CRC (w/o STATUS) */ 411 - } __attribute__ ((packed)); 411 + } __packed; 412 412 413 413 struct iwm_rx_mpdu_hdr { 414 414 __le16 len; 415 415 __le16 reserved; 416 - } __attribute__ ((packed)); 416 + } __packed; 417 417 418 418 /* UMAC SW WIFI API */ 419 419 ··· 421 421 u8 cmd; 422 422 u8 flags; 423 423 __le16 seq_num; 424 - } __attribute__ ((packed)); 424 + } __packed; 425 425 426 426 struct iwm_umac_fw_cmd_hdr { 427 427 __le32 meta_data; 428 428 struct iwm_dev_cmd_hdr cmd; 429 - } __attribute__ ((packed)); 429 + } __packed; 430 430 431 431 struct iwm_umac_wifi_out_hdr { 432 432 struct iwm_udma_out_wifi_hdr hw_hdr; 433 433 struct iwm_umac_fw_cmd_hdr sw_hdr; 434 - } __attribute__ ((packed)); 434 + } __packed; 435 435 436 436 struct iwm_umac_nonwifi_out_hdr { 437 437 struct iwm_udma_out_nonwifi_hdr hw_hdr; 438 - } __attribute__ ((packed)); 438 + } __packed; 439 439 440 440 struct iwm_umac_wifi_in_hdr { 441 441 struct iwm_udma_in_hdr hw_hdr; 442 442 struct iwm_umac_fw_cmd_hdr sw_hdr; 443 - } __attribute__ ((packed)); 443 + } __packed; 444 444 445 445 struct iwm_umac_nonwifi_in_hdr { 446 446 struct iwm_udma_in_hdr hw_hdr; 447 447 __le32 time_stamp; 448 - } __attribute__ ((packed)); 448 + } __packed; 449 449 450 450 #define IWM_UMAC_PAGE_SIZE 0x200 451 451 ··· 521 521 u8 status; 522 522 u8 flags; 523 523 __le16 buf_size; 524 - } __attribute__ ((packed)); 524 + } __packed; 525 525 526 526 #define UMAC_ROAM_REASON_FIRST_SELECTION 0x1 527 527 #define UMAC_ROAM_REASON_AP_DEAUTH 0x2 ··· 535 535 __le32 roam_reason; 536 536 u8 bssid[ETH_ALEN]; 537 537 u8 reserved[2]; 538 - } __attribute__ ((packed)); 538 + } __packed; 539 539 540 540 #define UMAC_ASSOC_COMPLETE_SUCCESS 0x0 541 541 #define UMAC_ASSOC_COMPLETE_FAILURE 0x1 ··· 546 546 u8 bssid[ETH_ALEN]; 547 547 u8 band; 548 548 u8 channel; 549 - } __attribute__ ((packed)); 549 + } __packed; 550 550 551 551 #define UMAC_PROFILE_INVALID_ASSOC_TIMEOUT 0x0 552 552 #define UMAC_PROFILE_INVALID_ROAM_TIMEOUT 0x1 ··· 556 556 struct iwm_umac_notif_profile_invalidate { 557 557 struct iwm_umac_notif_wifi_if mlme_hdr; 558 558 __le32 reason; 559 - } __attribute__ ((packed)); 559 + } __packed; 560 560 561 561 #define UMAC_SCAN_RESULT_SUCCESS 0x0 562 562 #define UMAC_SCAN_RESULT_ABORTED 0x1 ··· 568 568 __le32 type; 569 569 __le32 result; 570 570 u8 seq_num; 571 - } __attribute__ ((packed)); 571 + } __packed; 572 572 573 573 #define UMAC_OPCODE_ADD_MODIFY 0x0 574 574 #define UMAC_OPCODE_REMOVE 0x1 ··· 582 582 u8 mac_addr[ETH_ALEN]; 583 583 u8 sta_id; /* bits 0-3: station ID, bits 4-7: station color */ 584 584 u8 flags; 585 - } __attribute__ ((packed)); 585 + } __packed; 586 586 587 587 #define UMAC_BAND_2GHZ 0 588 588 #define UMAC_BAND_5GHZ 1 ··· 601 601 s8 rssi; 602 602 u8 reserved; 603 603 u8 frame_buf[1]; 604 - } __attribute__ ((packed)); 604 + } __packed; 605 605 606 606 #define IWM_BSS_REMOVE_INDEX_MSK 0x0fff 607 607 #define IWM_BSS_REMOVE_FLAGS_MSK 0xfc00 ··· 614 614 struct iwm_umac_notif_wifi_if mlme_hdr; 615 615 __le32 count; 616 616 __le16 entries[0]; 617 - } __attribute__ ((packed)); 617 + } __packed; 618 618 619 619 struct iwm_umac_notif_mgt_frame { 620 620 struct iwm_umac_notif_wifi_if mlme_hdr; 621 621 __le16 len; 622 622 u8 frame[1]; 623 - } __attribute__ ((packed)); 623 + } __packed; 624 624 625 625 struct iwm_umac_notif_alive { 626 626 struct iwm_umac_wifi_in_hdr hdr; ··· 630 630 __le16 reserved2; 631 631 __le16 page_grp_count; 632 632 __le32 page_grp_state[IWM_MACS_OUT_GROUPS]; 633 - } __attribute__ ((packed)); 633 + } __packed; 634 634 635 635 struct iwm_umac_notif_init_complete { 636 636 struct iwm_umac_wifi_in_hdr hdr; 637 637 __le16 status; 638 638 __le16 reserved; 639 - } __attribute__ ((packed)); 639 + } __packed; 640 640 641 641 /* error categories */ 642 642 enum { ··· 667 667 __le32 dbm_buf_end; 668 668 __le32 dbm_buf_write_ptr; 669 669 __le32 dbm_buf_cycle_cnt; 670 - } __attribute__ ((packed)); 670 + } __packed; 671 671 672 672 struct iwm_umac_notif_error { 673 673 struct iwm_umac_wifi_in_hdr hdr; 674 674 struct iwm_fw_error_hdr err; 675 - } __attribute__ ((packed)); 675 + } __packed; 676 676 677 677 #define UMAC_DEALLOC_NTFY_CHANGES_CNT_POS 0 678 678 #define UMAC_DEALLOC_NTFY_CHANGES_CNT_SEED 0xff ··· 687 687 struct iwm_umac_wifi_in_hdr hdr; 688 688 __le32 changes; 689 689 __le32 grp_info[IWM_MACS_OUT_GROUPS]; 690 - } __attribute__ ((packed)); 690 + } __packed; 691 691 692 692 struct iwm_umac_notif_wifi_status { 693 693 struct iwm_umac_wifi_in_hdr hdr; 694 694 __le16 status; 695 695 __le16 reserved; 696 - } __attribute__ ((packed)); 696 + } __packed; 697 697 698 698 struct iwm_umac_notif_rx_ticket { 699 699 struct iwm_umac_wifi_in_hdr hdr; 700 700 u8 num_tickets; 701 701 u8 reserved[3]; 702 702 struct iwm_rx_ticket tickets[1]; 703 - } __attribute__ ((packed)); 703 + } __packed; 704 704 705 705 /* Tx/Rx rates window (number of max of last update window per second) */ 706 706 #define UMAC_NTF_RATE_SAMPLE_NR 4 ··· 758 758 __le32 roam_unassoc; 759 759 __le32 roam_deauth; 760 760 __le32 roam_ap_loadblance; 761 - } __attribute__ ((packed)); 761 + } __packed; 762 762 763 763 #define UMAC_STOP_TX_FLAG 0x1 764 764 #define UMAC_RESUME_TX_FLAG 0x2 ··· 770 770 u8 flags; /* UMAC_*_TX_FLAG_* */ 771 771 u8 sta_id; 772 772 __le16 stop_resume_tid_msk; /* tid bitmask */ 773 - } __attribute__ ((packed)); 773 + } __packed; 774 774 775 775 #define UMAC_MAX_NUM_PMKIDS 4 776 776 ··· 779 779 u8 oid; 780 780 u8 flags; 781 781 __le16 buf_size; 782 - } __attribute__ ((packed)); 782 + } __packed; 783 783 784 784 #define IWM_SEQ_NUM_HOST_MSK 0x0000 785 785 #define IWM_SEQ_NUM_UMAC_MSK 0x4000
+60 -60
drivers/net/wireless/libertas/host.h
··· 326 326 u8 pktdelay_2ms; 327 327 /* reserved */ 328 328 u8 reserved1; 329 - } __attribute__ ((packed)); 329 + } __packed; 330 330 331 331 /* RxPD Descriptor */ 332 332 struct rxpd { ··· 339 339 u8 bss_type; 340 340 /* BSS number */ 341 341 u8 bss_num; 342 - } __attribute__ ((packed)) bss; 343 - } __attribute__ ((packed)) u; 342 + } __packed bss; 343 + } __packed u; 344 344 345 345 /* SNR */ 346 346 u8 snr; ··· 366 366 /* Pkt Priority */ 367 367 u8 priority; 368 368 u8 reserved[3]; 369 - } __attribute__ ((packed)); 369 + } __packed; 370 370 371 371 struct cmd_header { 372 372 __le16 command; 373 373 __le16 size; 374 374 __le16 seqnum; 375 375 __le16 result; 376 - } __attribute__ ((packed)); 376 + } __packed; 377 377 378 378 /* Generic structure to hold all key types. */ 379 379 struct enc_key { ··· 387 387 struct lbs_offset_value { 388 388 u32 offset; 389 389 u32 value; 390 - } __attribute__ ((packed)); 390 + } __packed; 391 391 392 392 /* 393 393 * Define data structure for CMD_GET_HW_SPEC ··· 426 426 427 427 /*FW/HW capability */ 428 428 __le32 fwcapinfo; 429 - } __attribute__ ((packed)); 429 + } __packed; 430 430 431 431 struct cmd_ds_802_11_subscribe_event { 432 432 struct cmd_header hdr; ··· 440 440 * bump this up a bit. 441 441 */ 442 442 uint8_t tlv[128]; 443 - } __attribute__ ((packed)); 443 + } __packed; 444 444 445 445 /* 446 446 * This scan handle Country Information IE(802.11d compliant) ··· 452 452 uint8_t bsstype; 453 453 uint8_t bssid[ETH_ALEN]; 454 454 uint8_t tlvbuffer[0]; 455 - } __attribute__ ((packed)); 455 + } __packed; 456 456 457 457 struct cmd_ds_802_11_scan_rsp { 458 458 struct cmd_header hdr; ··· 460 460 __le16 bssdescriptsize; 461 461 uint8_t nr_sets; 462 462 uint8_t bssdesc_and_tlvbuffer[0]; 463 - } __attribute__ ((packed)); 463 + } __packed; 464 464 465 465 struct cmd_ds_802_11_get_log { 466 466 struct cmd_header hdr; ··· 478 478 __le32 fcserror; 479 479 __le32 txframe; 480 480 __le32 wepundecryptable; 481 - } __attribute__ ((packed)); 481 + } __packed; 482 482 483 483 struct cmd_ds_mac_control { 484 484 struct cmd_header hdr; 485 485 __le16 action; 486 486 u16 reserved; 487 - } __attribute__ ((packed)); 487 + } __packed; 488 488 489 489 struct cmd_ds_mac_multicast_adr { 490 490 struct cmd_header hdr; 491 491 __le16 action; 492 492 __le16 nr_of_adrs; 493 493 u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE]; 494 - } __attribute__ ((packed)); 494 + } __packed; 495 495 496 496 struct cmd_ds_802_11_authenticate { 497 497 struct cmd_header hdr; ··· 499 499 u8 bssid[ETH_ALEN]; 500 500 u8 authtype; 501 501 u8 reserved[10]; 502 - } __attribute__ ((packed)); 502 + } __packed; 503 503 504 504 struct cmd_ds_802_11_deauthenticate { 505 505 struct cmd_header hdr; 506 506 507 507 u8 macaddr[ETH_ALEN]; 508 508 __le16 reasoncode; 509 - } __attribute__ ((packed)); 509 + } __packed; 510 510 511 511 struct cmd_ds_802_11_associate { 512 512 struct cmd_header hdr; ··· 517 517 __le16 bcnperiod; 518 518 u8 dtimperiod; 519 519 u8 iebuf[512]; /* Enough for required and most optional IEs */ 520 - } __attribute__ ((packed)); 520 + } __packed; 521 521 522 522 struct cmd_ds_802_11_associate_response { 523 523 struct cmd_header hdr; ··· 526 526 __le16 statuscode; 527 527 __le16 aid; 528 528 u8 iebuf[512]; 529 - } __attribute__ ((packed)); 529 + } __packed; 530 530 531 531 struct cmd_ds_802_11_set_wep { 532 532 struct cmd_header hdr; ··· 540 540 /* 40, 128bit or TXWEP */ 541 541 uint8_t keytype[4]; 542 542 uint8_t keymaterial[4][16]; 543 - } __attribute__ ((packed)); 543 + } __packed; 544 544 545 545 struct cmd_ds_802_11_snmp_mib { 546 546 struct cmd_header hdr; ··· 549 549 __le16 oid; 550 550 __le16 bufsize; 551 551 u8 value[128]; 552 - } __attribute__ ((packed)); 552 + } __packed; 553 553 554 554 struct cmd_ds_mac_reg_access { 555 555 __le16 action; 556 556 __le16 offset; 557 557 __le32 value; 558 - } __attribute__ ((packed)); 558 + } __packed; 559 559 560 560 struct cmd_ds_bbp_reg_access { 561 561 __le16 action; 562 562 __le16 offset; 563 563 u8 value; 564 564 u8 reserved[3]; 565 - } __attribute__ ((packed)); 565 + } __packed; 566 566 567 567 struct cmd_ds_rf_reg_access { 568 568 __le16 action; 569 569 __le16 offset; 570 570 u8 value; 571 571 u8 reserved[3]; 572 - } __attribute__ ((packed)); 572 + } __packed; 573 573 574 574 struct cmd_ds_802_11_radio_control { 575 575 struct cmd_header hdr; 576 576 577 577 __le16 action; 578 578 __le16 control; 579 - } __attribute__ ((packed)); 579 + } __packed; 580 580 581 581 struct cmd_ds_802_11_beacon_control { 582 582 __le16 action; 583 583 __le16 beacon_enable; 584 584 __le16 beacon_period; 585 - } __attribute__ ((packed)); 585 + } __packed; 586 586 587 587 struct cmd_ds_802_11_sleep_params { 588 588 struct cmd_header hdr; ··· 607 607 608 608 /* reserved field, should be set to zero */ 609 609 __le16 reserved; 610 - } __attribute__ ((packed)); 610 + } __packed; 611 611 612 612 struct cmd_ds_802_11_rf_channel { 613 613 struct cmd_header hdr; ··· 617 617 __le16 rftype; /* unused */ 618 618 __le16 reserved; /* unused */ 619 619 u8 channellist[32]; /* unused */ 620 - } __attribute__ ((packed)); 620 + } __packed; 621 621 622 622 struct cmd_ds_802_11_rssi { 623 623 /* weighting factor */ ··· 626 626 __le16 reserved_0; 627 627 __le16 reserved_1; 628 628 __le16 reserved_2; 629 - } __attribute__ ((packed)); 629 + } __packed; 630 630 631 631 struct cmd_ds_802_11_rssi_rsp { 632 632 __le16 SNR; 633 633 __le16 noisefloor; 634 634 __le16 avgSNR; 635 635 __le16 avgnoisefloor; 636 - } __attribute__ ((packed)); 636 + } __packed; 637 637 638 638 struct cmd_ds_802_11_mac_address { 639 639 struct cmd_header hdr; 640 640 641 641 __le16 action; 642 642 u8 macadd[ETH_ALEN]; 643 - } __attribute__ ((packed)); 643 + } __packed; 644 644 645 645 struct cmd_ds_802_11_rf_tx_power { 646 646 struct cmd_header hdr; ··· 649 649 __le16 curlevel; 650 650 s8 maxlevel; 651 651 s8 minlevel; 652 - } __attribute__ ((packed)); 652 + } __packed; 653 653 654 654 struct cmd_ds_802_11_monitor_mode { 655 655 __le16 action; 656 656 __le16 mode; 657 - } __attribute__ ((packed)); 657 + } __packed; 658 658 659 659 struct cmd_ds_set_boot2_ver { 660 660 struct cmd_header hdr; 661 661 662 662 __le16 action; 663 663 __le16 version; 664 - } __attribute__ ((packed)); 664 + } __packed; 665 665 666 666 struct cmd_ds_802_11_fw_wake_method { 667 667 struct cmd_header hdr; 668 668 669 669 __le16 action; 670 670 __le16 method; 671 - } __attribute__ ((packed)); 671 + } __packed; 672 672 673 673 struct cmd_ds_802_11_ps_mode { 674 674 __le16 action; ··· 676 676 __le16 multipledtim; 677 677 __le16 reserved; 678 678 __le16 locallisteninterval; 679 - } __attribute__ ((packed)); 679 + } __packed; 680 680 681 681 struct cmd_confirm_sleep { 682 682 struct cmd_header hdr; ··· 686 686 __le16 multipledtim; 687 687 __le16 reserved; 688 688 __le16 locallisteninterval; 689 - } __attribute__ ((packed)); 689 + } __packed; 690 690 691 691 struct cmd_ds_802_11_data_rate { 692 692 struct cmd_header hdr; ··· 694 694 __le16 action; 695 695 __le16 reserved; 696 696 u8 rates[MAX_RATES]; 697 - } __attribute__ ((packed)); 697 + } __packed; 698 698 699 699 struct cmd_ds_802_11_rate_adapt_rateset { 700 700 struct cmd_header hdr; 701 701 __le16 action; 702 702 __le16 enablehwauto; 703 703 __le16 bitmap; 704 - } __attribute__ ((packed)); 704 + } __packed; 705 705 706 706 struct cmd_ds_802_11_ad_hoc_start { 707 707 struct cmd_header hdr; ··· 718 718 __le16 capability; 719 719 u8 rates[MAX_RATES]; 720 720 u8 tlv_memory_size_pad[100]; 721 - } __attribute__ ((packed)); 721 + } __packed; 722 722 723 723 struct cmd_ds_802_11_ad_hoc_result { 724 724 struct cmd_header hdr; 725 725 726 726 u8 pad[3]; 727 727 u8 bssid[ETH_ALEN]; 728 - } __attribute__ ((packed)); 728 + } __packed; 729 729 730 730 struct adhoc_bssdesc { 731 731 u8 bssid[ETH_ALEN]; ··· 746 746 * Adhoc join command and will cause a binary layout mismatch with 747 747 * the firmware 748 748 */ 749 - } __attribute__ ((packed)); 749 + } __packed; 750 750 751 751 struct cmd_ds_802_11_ad_hoc_join { 752 752 struct cmd_header hdr; ··· 754 754 struct adhoc_bssdesc bss; 755 755 __le16 failtimeout; /* Reserved on v9 and later */ 756 756 __le16 probedelay; /* Reserved on v9 and later */ 757 - } __attribute__ ((packed)); 757 + } __packed; 758 758 759 759 struct cmd_ds_802_11_ad_hoc_stop { 760 760 struct cmd_header hdr; 761 - } __attribute__ ((packed)); 761 + } __packed; 762 762 763 763 struct cmd_ds_802_11_enable_rsn { 764 764 struct cmd_header hdr; 765 765 766 766 __le16 action; 767 767 __le16 enable; 768 - } __attribute__ ((packed)); 768 + } __packed; 769 769 770 770 struct MrvlIEtype_keyParamSet { 771 771 /* type ID */ ··· 785 785 786 786 /* key material of size keylen */ 787 787 u8 key[32]; 788 - } __attribute__ ((packed)); 788 + } __packed; 789 789 790 790 #define MAX_WOL_RULES 16 791 791 ··· 797 797 __le16 reserve; 798 798 __be32 sig_mask; 799 799 __be32 signature; 800 - } __attribute__ ((packed)); 800 + } __packed; 801 801 802 802 struct wol_config { 803 803 uint8_t action; ··· 805 805 uint8_t no_rules_in_cmd; 806 806 uint8_t result; 807 807 struct host_wol_rule rule[MAX_WOL_RULES]; 808 - } __attribute__ ((packed)); 808 + } __packed; 809 809 810 810 struct cmd_ds_host_sleep { 811 811 struct cmd_header hdr; ··· 813 813 uint8_t gpio; 814 814 uint16_t gap; 815 815 struct wol_config wol_conf; 816 - } __attribute__ ((packed)); 816 + } __packed; 817 817 818 818 819 819 ··· 822 822 823 823 __le16 action; 824 824 struct MrvlIEtype_keyParamSet keyParamSet[2]; 825 - } __attribute__ ((packed)); 825 + } __packed; 826 826 827 827 struct cmd_ds_802_11_eeprom_access { 828 828 struct cmd_header hdr; ··· 832 832 /* firmware says it returns a maximum of 20 bytes */ 833 833 #define LBS_EEPROM_READ_LEN 20 834 834 u8 value[LBS_EEPROM_READ_LEN]; 835 - } __attribute__ ((packed)); 835 + } __packed; 836 836 837 837 struct cmd_ds_802_11_tpc_cfg { 838 838 struct cmd_header hdr; ··· 843 843 int8_t P1; 844 844 int8_t P2; 845 845 uint8_t usesnr; 846 - } __attribute__ ((packed)); 846 + } __packed; 847 847 848 848 849 849 struct cmd_ds_802_11_pa_cfg { ··· 854 854 int8_t P0; 855 855 int8_t P1; 856 856 int8_t P2; 857 - } __attribute__ ((packed)); 857 + } __packed; 858 858 859 859 860 860 struct cmd_ds_802_11_led_ctrl { 861 861 __le16 action; 862 862 __le16 numled; 863 863 u8 data[256]; 864 - } __attribute__ ((packed)); 864 + } __packed; 865 865 866 866 struct cmd_ds_802_11_afc { 867 867 __le16 afc_auto; ··· 875 875 __le16 carrier_offset; /* signed */ 876 876 }; 877 877 }; 878 - } __attribute__ ((packed)); 878 + } __packed; 879 879 880 880 struct cmd_tx_rate_query { 881 881 __le16 txrate; 882 - } __attribute__ ((packed)); 882 + } __packed; 883 883 884 884 struct cmd_ds_get_tsf { 885 885 __le64 tsfvalue; 886 - } __attribute__ ((packed)); 886 + } __packed; 887 887 888 888 struct cmd_ds_bt_access { 889 889 __le16 action; 890 890 __le32 id; 891 891 u8 addr1[ETH_ALEN]; 892 892 u8 addr2[ETH_ALEN]; 893 - } __attribute__ ((packed)); 893 + } __packed; 894 894 895 895 struct cmd_ds_fwt_access { 896 896 __le16 action; ··· 910 910 __le32 snr; 911 911 __le32 references; 912 912 u8 prec[ETH_ALEN]; 913 - } __attribute__ ((packed)); 913 + } __packed; 914 914 915 915 struct cmd_ds_mesh_config { 916 916 struct cmd_header hdr; ··· 920 920 __le16 type; 921 921 __le16 length; 922 922 u8 data[128]; /* last position reserved */ 923 - } __attribute__ ((packed)); 923 + } __packed; 924 924 925 925 struct cmd_ds_mesh_access { 926 926 struct cmd_header hdr; 927 927 928 928 __le16 action; 929 929 __le32 data[32]; /* last position reserved */ 930 - } __attribute__ ((packed)); 930 + } __packed; 931 931 932 932 /* Number of stats counters returned by the firmware */ 933 933 #define MESH_STATS_NUM 8 ··· 957 957 struct cmd_ds_fwt_access fwt; 958 958 struct cmd_ds_802_11_beacon_control bcn_ctrl; 959 959 } params; 960 - } __attribute__ ((packed)); 960 + } __packed; 961 961 962 962 #endif
+2 -2
drivers/net/wireless/libertas/radiotap.h
··· 6 6 u8 txpower; 7 7 u8 rts_retries; 8 8 u8 data_retries; 9 - } __attribute__ ((packed)); 9 + } __packed; 10 10 11 11 #define TX_RADIOTAP_PRESENT ( \ 12 12 (1 << IEEE80211_RADIOTAP_RATE) | \ ··· 34 34 u8 flags; 35 35 u8 rate; 36 36 u8 antsignal; 37 - } __attribute__ ((packed)); 37 + } __packed; 38 38 39 39 #define RX_RADIOTAP_PRESENT ( \ 40 40 (1 << IEEE80211_RADIOTAP_FLAGS) | \
+4 -4
drivers/net/wireless/libertas/rx.c
··· 15 15 u8 dest_addr[6]; 16 16 u8 src_addr[6]; 17 17 u16 h803_len; 18 - } __attribute__ ((packed)); 18 + } __packed; 19 19 20 20 struct rfc1042hdr { 21 21 u8 llc_dsap; ··· 23 23 u8 llc_ctrl; 24 24 u8 snap_oui[3]; 25 25 u16 snap_type; 26 - } __attribute__ ((packed)); 26 + } __packed; 27 27 28 28 struct rxpackethdr { 29 29 struct eth803hdr eth803_hdr; 30 30 struct rfc1042hdr rfc1042_hdr; 31 - } __attribute__ ((packed)); 31 + } __packed; 32 32 33 33 struct rx80211packethdr { 34 34 struct rxpd rx_pd; 35 35 void *eth80211_hdr; 36 - } __attribute__ ((packed)); 36 + } __packed; 37 37 38 38 static int process_rxed_802_11_packet(struct lbs_private *priv, 39 39 struct sk_buff *skb);
+33 -33
drivers/net/wireless/libertas/types.h
··· 11 11 struct ieee_ie_header { 12 12 u8 id; 13 13 u8 len; 14 - } __attribute__ ((packed)); 14 + } __packed; 15 15 16 16 struct ieee_ie_cf_param_set { 17 17 struct ieee_ie_header header; ··· 20 20 u8 cfpperiod; 21 21 __le16 cfpmaxduration; 22 22 __le16 cfpdurationremaining; 23 - } __attribute__ ((packed)); 23 + } __packed; 24 24 25 25 26 26 struct ieee_ie_ibss_param_set { 27 27 struct ieee_ie_header header; 28 28 29 29 __le16 atimwindow; 30 - } __attribute__ ((packed)); 30 + } __packed; 31 31 32 32 union ieee_ss_param_set { 33 33 struct ieee_ie_cf_param_set cf; 34 34 struct ieee_ie_ibss_param_set ibss; 35 - } __attribute__ ((packed)); 35 + } __packed; 36 36 37 37 struct ieee_ie_fh_param_set { 38 38 struct ieee_ie_header header; ··· 41 41 u8 hopset; 42 42 u8 hoppattern; 43 43 u8 hopindex; 44 - } __attribute__ ((packed)); 44 + } __packed; 45 45 46 46 struct ieee_ie_ds_param_set { 47 47 struct ieee_ie_header header; 48 48 49 49 u8 channel; 50 - } __attribute__ ((packed)); 50 + } __packed; 51 51 52 52 union ieee_phy_param_set { 53 53 struct ieee_ie_fh_param_set fh; 54 54 struct ieee_ie_ds_param_set ds; 55 - } __attribute__ ((packed)); 55 + } __packed; 56 56 57 57 /** TLV type ID definition */ 58 58 #define PROPRIETARY_TLV_BASE_ID 0x0100 ··· 100 100 struct mrvl_ie_header { 101 101 __le16 type; 102 102 __le16 len; 103 - } __attribute__ ((packed)); 103 + } __packed; 104 104 105 105 struct mrvl_ie_data { 106 106 struct mrvl_ie_header header; 107 107 u8 Data[1]; 108 - } __attribute__ ((packed)); 108 + } __packed; 109 109 110 110 struct mrvl_ie_rates_param_set { 111 111 struct mrvl_ie_header header; 112 112 u8 rates[1]; 113 - } __attribute__ ((packed)); 113 + } __packed; 114 114 115 115 struct mrvl_ie_ssid_param_set { 116 116 struct mrvl_ie_header header; 117 117 u8 ssid[1]; 118 - } __attribute__ ((packed)); 118 + } __packed; 119 119 120 120 struct mrvl_ie_wildcard_ssid_param_set { 121 121 struct mrvl_ie_header header; 122 122 u8 MaxSsidlength; 123 123 u8 ssid[1]; 124 - } __attribute__ ((packed)); 124 + } __packed; 125 125 126 126 struct chanscanmode { 127 127 #ifdef __BIG_ENDIAN_BITFIELD ··· 133 133 u8 disablechanfilt:1; 134 134 u8 reserved_2_7:6; 135 135 #endif 136 - } __attribute__ ((packed)); 136 + } __packed; 137 137 138 138 struct chanscanparamset { 139 139 u8 radiotype; ··· 141 141 struct chanscanmode chanscanmode; 142 142 __le16 minscantime; 143 143 __le16 maxscantime; 144 - } __attribute__ ((packed)); 144 + } __packed; 145 145 146 146 struct mrvl_ie_chanlist_param_set { 147 147 struct mrvl_ie_header header; 148 148 struct chanscanparamset chanscanparam[1]; 149 - } __attribute__ ((packed)); 149 + } __packed; 150 150 151 151 struct mrvl_ie_cf_param_set { 152 152 struct mrvl_ie_header header; ··· 154 154 u8 cfpperiod; 155 155 __le16 cfpmaxduration; 156 156 __le16 cfpdurationremaining; 157 - } __attribute__ ((packed)); 157 + } __packed; 158 158 159 159 struct mrvl_ie_ds_param_set { 160 160 struct mrvl_ie_header header; 161 161 u8 channel; 162 - } __attribute__ ((packed)); 162 + } __packed; 163 163 164 164 struct mrvl_ie_rsn_param_set { 165 165 struct mrvl_ie_header header; 166 166 u8 rsnie[1]; 167 - } __attribute__ ((packed)); 167 + } __packed; 168 168 169 169 struct mrvl_ie_tsf_timestamp { 170 170 struct mrvl_ie_header header; 171 171 __le64 tsftable[1]; 172 - } __attribute__ ((packed)); 172 + } __packed; 173 173 174 174 /* v9 and later firmware only */ 175 175 struct mrvl_ie_auth_type { 176 176 struct mrvl_ie_header header; 177 177 __le16 auth; 178 - } __attribute__ ((packed)); 178 + } __packed; 179 179 180 180 /** Local Power capability */ 181 181 struct mrvl_ie_power_capability { 182 182 struct mrvl_ie_header header; 183 183 s8 minpower; 184 184 s8 maxpower; 185 - } __attribute__ ((packed)); 185 + } __packed; 186 186 187 187 /* used in CMD_802_11_SUBSCRIBE_EVENT for SNR, RSSI and Failure */ 188 188 struct mrvl_ie_thresholds { 189 189 struct mrvl_ie_header header; 190 190 u8 value; 191 191 u8 freq; 192 - } __attribute__ ((packed)); 192 + } __packed; 193 193 194 194 struct mrvl_ie_beacons_missed { 195 195 struct mrvl_ie_header header; 196 196 u8 beaconmissed; 197 197 u8 reserved; 198 - } __attribute__ ((packed)); 198 + } __packed; 199 199 200 200 struct mrvl_ie_num_probes { 201 201 struct mrvl_ie_header header; 202 202 __le16 numprobes; 203 - } __attribute__ ((packed)); 203 + } __packed; 204 204 205 205 struct mrvl_ie_bcast_probe { 206 206 struct mrvl_ie_header header; 207 207 __le16 bcastprobe; 208 - } __attribute__ ((packed)); 208 + } __packed; 209 209 210 210 struct mrvl_ie_num_ssid_probe { 211 211 struct mrvl_ie_header header; 212 212 __le16 numssidprobe; 213 - } __attribute__ ((packed)); 213 + } __packed; 214 214 215 215 struct led_pin { 216 216 u8 led; 217 217 u8 pin; 218 - } __attribute__ ((packed)); 218 + } __packed; 219 219 220 220 struct mrvl_ie_ledgpio { 221 221 struct mrvl_ie_header header; 222 222 struct led_pin ledpin[1]; 223 - } __attribute__ ((packed)); 223 + } __packed; 224 224 225 225 struct led_bhv { 226 226 uint8_t firmwarestate; 227 227 uint8_t led; 228 228 uint8_t ledstate; 229 229 uint8_t ledarg; 230 - } __attribute__ ((packed)); 230 + } __packed; 231 231 232 232 233 233 struct mrvl_ie_ledbhv { 234 234 struct mrvl_ie_header header; 235 235 struct led_bhv ledbhv[1]; 236 - } __attribute__ ((packed)); 236 + } __packed; 237 237 238 238 /* Meant to be packed as the value member of a struct ieee80211_info_element. 239 239 * Note that the len member of the ieee80211_info_element varies depending on ··· 248 248 uint8_t mesh_capability; 249 249 uint8_t mesh_id_len; 250 250 uint8_t mesh_id[IEEE80211_MAX_SSID_LEN]; 251 - } __attribute__ ((packed)); 251 + } __packed; 252 252 253 253 struct mrvl_meshie { 254 254 u8 id, len; 255 255 struct mrvl_meshie_val val; 256 - } __attribute__ ((packed)); 256 + } __packed; 257 257 258 258 struct mrvl_mesh_defaults { 259 259 __le32 bootflag; ··· 261 261 uint8_t reserved; 262 262 __le16 channel; 263 263 struct mrvl_meshie meshie; 264 - } __attribute__ ((packed)); 264 + } __packed; 265 265 266 266 #endif
+2 -2
drivers/net/wireless/libertas_tf/libertas_tf.h
··· 316 316 __le16 size; 317 317 __le16 seqnum; 318 318 __le16 result; 319 - } __attribute__ ((packed)); 319 + } __packed; 320 320 321 321 struct cmd_ctrl_node { 322 322 struct list_head list; ··· 369 369 370 370 /*FW/HW capability */ 371 371 __le32 fwcapinfo; 372 - } __attribute__ ((packed)); 372 + } __packed; 373 373 374 374 struct cmd_ds_mac_control { 375 375 struct cmd_header hdr;
+1 -1
drivers/net/wireless/mac80211_hwsim.c
··· 317 317 u8 rt_rate; 318 318 __le16 rt_channel; 319 319 __le16 rt_chbitmask; 320 - } __attribute__ ((packed)); 320 + } __packed; 321 321 322 322 323 323 static netdev_tx_t hwsim_mon_xmit(struct sk_buff *skb,
+33 -33
drivers/net/wireless/mwl8k.c
··· 426 426 __u8 macid; 427 427 __le16 result; 428 428 char payload[0]; 429 - } __attribute__((packed)); 429 + } __packed; 430 430 431 431 /* 432 432 * Firmware loading. ··· 632 632 __le16 fwlen; 633 633 struct ieee80211_hdr wh; 634 634 char data[0]; 635 - } __attribute__((packed)); 635 + } __packed; 636 636 637 637 /* Routines to add/remove DMA header from skb. */ 638 638 static inline void mwl8k_remove_dma_header(struct sk_buff *skb, __le16 qos) ··· 711 711 __u8 rx_status; 712 712 __u8 channel; 713 713 __u8 rx_ctrl; 714 - } __attribute__((packed)); 714 + } __packed; 715 715 716 716 #define MWL8K_8366_AP_RATE_INFO_MCS_FORMAT 0x80 717 717 #define MWL8K_8366_AP_RATE_INFO_40MHZ 0x40 ··· 806 806 __u8 rx_ctrl; 807 807 __u8 rx_status; 808 808 __u8 pad2[2]; 809 - } __attribute__((packed)); 809 + } __packed; 810 810 811 811 #define MWL8K_STA_RATE_INFO_SHORTPRE 0x8000 812 812 #define MWL8K_STA_RATE_INFO_ANTSELECT(x) (((x) >> 11) & 0x3) ··· 1120 1120 __le16 rate_info; 1121 1121 __u8 peer_id; 1122 1122 __u8 tx_frag_cnt; 1123 - } __attribute__((packed)); 1123 + } __packed; 1124 1124 1125 1125 #define MWL8K_TX_DESCS 128 1126 1126 ··· 1666 1666 __le32 caps2; 1667 1667 __le32 num_tx_desc_per_queue; 1668 1668 __le32 total_rxd; 1669 - } __attribute__((packed)); 1669 + } __packed; 1670 1670 1671 1671 #define MWL8K_CAP_MAX_AMSDU 0x20000000 1672 1672 #define MWL8K_CAP_GREENFIELD 0x08000000 ··· 1810 1810 __le32 wcbbase1; 1811 1811 __le32 wcbbase2; 1812 1812 __le32 wcbbase3; 1813 - } __attribute__((packed)); 1813 + } __packed; 1814 1814 1815 1815 static int mwl8k_cmd_get_hw_spec_ap(struct ieee80211_hw *hw) 1816 1816 { ··· 1883 1883 __le32 flags; 1884 1884 __le32 num_tx_desc_per_queue; 1885 1885 __le32 total_rxd; 1886 - } __attribute__((packed)); 1886 + } __packed; 1887 1887 1888 1888 #define MWL8K_SET_HW_SPEC_FLAG_HOST_DECR_MGMT 0x00000080 1889 1889 #define MWL8K_SET_HW_SPEC_FLAG_HOSTFORM_PROBERESP 0x00000020 ··· 1985 1985 struct mwl8k_cmd_get_stat { 1986 1986 struct mwl8k_cmd_pkt header; 1987 1987 __le32 stats[64]; 1988 - } __attribute__((packed)); 1988 + } __packed; 1989 1989 1990 1990 #define MWL8K_STAT_ACK_FAILURE 9 1991 1991 #define MWL8K_STAT_RTS_FAILURE 12 ··· 2029 2029 __le16 action; 2030 2030 __le16 control; 2031 2031 __le16 radio_on; 2032 - } __attribute__((packed)); 2032 + } __packed; 2033 2033 2034 2034 static int 2035 2035 mwl8k_cmd_radio_control(struct ieee80211_hw *hw, bool enable, bool force) ··· 2092 2092 __le16 current_level; 2093 2093 __le16 reserved; 2094 2094 __le16 power_level_list[MWL8K_TX_POWER_LEVEL_TOTAL]; 2095 - } __attribute__((packed)); 2095 + } __packed; 2096 2096 2097 2097 static int mwl8k_cmd_rf_tx_power(struct ieee80211_hw *hw, int dBm) 2098 2098 { ··· 2121 2121 struct mwl8k_cmd_pkt header; 2122 2122 __le16 antenna; 2123 2123 __le16 mode; 2124 - } __attribute__((packed)); 2124 + } __packed; 2125 2125 2126 2126 #define MWL8K_RF_ANTENNA_RX 1 2127 2127 #define MWL8K_RF_ANTENNA_TX 2 ··· 2182 2182 */ 2183 2183 struct mwl8k_cmd_set_pre_scan { 2184 2184 struct mwl8k_cmd_pkt header; 2185 - } __attribute__((packed)); 2185 + } __packed; 2186 2186 2187 2187 static int mwl8k_cmd_set_pre_scan(struct ieee80211_hw *hw) 2188 2188 { ··· 2209 2209 struct mwl8k_cmd_pkt header; 2210 2210 __le32 isibss; 2211 2211 __u8 bssid[ETH_ALEN]; 2212 - } __attribute__((packed)); 2212 + } __packed; 2213 2213 2214 2214 static int 2215 2215 mwl8k_cmd_set_post_scan(struct ieee80211_hw *hw, const __u8 *mac) ··· 2240 2240 __le16 action; 2241 2241 __u8 current_channel; 2242 2242 __le32 channel_flags; 2243 - } __attribute__((packed)); 2243 + } __packed; 2244 2244 2245 2245 static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw, 2246 2246 struct ieee80211_conf *conf) ··· 2293 2293 __u8 bssid[ETH_ALEN]; 2294 2294 __le16 protection_mode; 2295 2295 __u8 supp_rates[14]; 2296 - } __attribute__((packed)); 2296 + } __packed; 2297 2297 2298 2298 static void legacy_rate_mask_to_array(u8 *rates, u32 mask) 2299 2299 { ··· 2364 2364 /* Bitmap for supported MCS codes. */ 2365 2365 __u8 mcs_set[16]; 2366 2366 __u8 reserved[16]; 2367 - } __attribute__((packed)); 2367 + } __packed; 2368 2368 2369 2369 static int 2370 2370 mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ··· 2397 2397 struct mwl8k_cmd_pkt header; 2398 2398 __le32 sleep_interval; /* Number of beacon periods to sleep */ 2399 2399 __u8 beacon_data[MWL8K_FJ_BEACON_MAXLEN]; 2400 - } __attribute__((packed)); 2400 + } __packed; 2401 2401 2402 2402 static int mwl8k_cmd_finalize_join(struct ieee80211_hw *hw, void *frame, 2403 2403 int framelen, int dtim) ··· 2436 2436 struct mwl8k_cmd_pkt header; 2437 2437 __le16 action; 2438 2438 __le16 threshold; 2439 - } __attribute__((packed)); 2439 + } __packed; 2440 2440 2441 2441 static int 2442 2442 mwl8k_cmd_set_rts_threshold(struct ieee80211_hw *hw, int rts_thresh) ··· 2466 2466 struct mwl8k_cmd_pkt header; 2467 2467 __le16 action; 2468 2468 __u8 short_slot; 2469 - } __attribute__((packed)); 2469 + } __packed; 2470 2470 2471 2471 static int mwl8k_cmd_set_slot(struct ieee80211_hw *hw, bool short_slot_time) 2472 2472 { ··· 2528 2528 __u8 txq; 2529 2529 } sta; 2530 2530 }; 2531 - } __attribute__((packed)); 2531 + } __packed; 2532 2532 2533 2533 #define MWL8K_SET_EDCA_CW 0x01 2534 2534 #define MWL8K_SET_EDCA_TXOP 0x02 ··· 2579 2579 struct mwl8k_cmd_set_wmm_mode { 2580 2580 struct mwl8k_cmd_pkt header; 2581 2581 __le16 action; 2582 - } __attribute__((packed)); 2582 + } __packed; 2583 2583 2584 2584 static int mwl8k_cmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable) 2585 2585 { ··· 2612 2612 __le32 action; 2613 2613 __u8 rx_antenna_map; 2614 2614 __u8 tx_antenna_map; 2615 - } __attribute__((packed)); 2615 + } __packed; 2616 2616 2617 2617 static int mwl8k_cmd_mimo_config(struct ieee80211_hw *hw, __u8 rx, __u8 tx) 2618 2618 { ··· 2652 2652 __le32 rate_type; 2653 2653 __le32 reserved1; 2654 2654 __le32 reserved2; 2655 - } __attribute__((packed)); 2655 + } __packed; 2656 2656 2657 2657 #define MWL8K_USE_AUTO_RATE 0x0002 2658 2658 #define MWL8K_UCAST_RATE 0 ··· 2694 2694 u8 multicast_rate; 2695 2695 u8 multicast_rate_type; 2696 2696 u8 management_rate; 2697 - } __attribute__((packed)); 2697 + } __packed; 2698 2698 2699 2699 static int 2700 2700 mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) ··· 2724 2724 struct mwl8k_cmd_enable_sniffer { 2725 2725 struct mwl8k_cmd_pkt header; 2726 2726 __le32 action; 2727 - } __attribute__((packed)); 2727 + } __packed; 2728 2728 2729 2729 static int mwl8k_cmd_enable_sniffer(struct ieee80211_hw *hw, bool enable) 2730 2730 { ··· 2757 2757 } mbss; 2758 2758 __u8 mac_addr[ETH_ALEN]; 2759 2759 }; 2760 - } __attribute__((packed)); 2760 + } __packed; 2761 2761 2762 2762 #define MWL8K_MAC_TYPE_PRIMARY_CLIENT 0 2763 2763 #define MWL8K_MAC_TYPE_SECONDARY_CLIENT 1 ··· 2812 2812 struct mwl8k_cmd_pkt header; 2813 2813 __le16 action; 2814 2814 __le16 mode; 2815 - } __attribute__((packed)); 2815 + } __packed; 2816 2816 2817 2817 static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) 2818 2818 { ··· 2840 2840 struct mwl8k_cmd_bss_start { 2841 2841 struct mwl8k_cmd_pkt header; 2842 2842 __le32 enable; 2843 - } __attribute__((packed)); 2843 + } __packed; 2844 2844 2845 2845 static int mwl8k_cmd_bss_start(struct ieee80211_hw *hw, 2846 2846 struct ieee80211_vif *vif, int enable) ··· 2885 2885 __u8 add_qos_info; 2886 2886 __u8 is_qos_sta; 2887 2887 __le32 fw_sta_ptr; 2888 - } __attribute__((packed)); 2888 + } __packed; 2889 2889 2890 2890 #define MWL8K_STA_ACTION_ADD 0 2891 2891 #define MWL8K_STA_ACTION_REMOVE 2 ··· 2978 2978 __le16 control1; 2979 2979 __le16 control2; 2980 2980 __le16 control3; 2981 - } __attribute__((packed)); 2981 + } __packed; 2982 2982 2983 2983 struct peer_capability_info { 2984 2984 /* Peer type - AP vs. STA. */ ··· 3007 3007 __u8 pad2; 3008 3008 __u8 station_id; 3009 3009 __le16 amsdu_enabled; 3010 - } __attribute__((packed)); 3010 + } __packed; 3011 3011 3012 3012 struct mwl8k_cmd_update_stadb { 3013 3013 struct mwl8k_cmd_pkt header; ··· 3022 3022 3023 3023 /* Peer info - valid during add/update. */ 3024 3024 struct peer_capability_info peer_info; 3025 - } __attribute__((packed)); 3025 + } __packed; 3026 3026 3027 3027 #define MWL8K_STA_DB_MODIFY_ENTRY 1 3028 3028 #define MWL8K_STA_DB_DEL_ENTRY 2
+1 -1
drivers/net/wireless/orinoco/fw.c
··· 49 49 __le32 pri_offset; /* Offset to primary plug data */ 50 50 __le32 compat_offset; /* Offset to compatibility data*/ 51 51 char signature[0]; /* FW signature length headersize-20 */ 52 - } __attribute__ ((packed)); 52 + } __packed; 53 53 54 54 /* Check the range of various header entries. Return a pointer to a 55 55 * description of the problem, or NULL if everything checks out. */
+9 -9
drivers/net/wireless/orinoco/hermes.h
··· 205 205 u8 retry_count; 206 206 u8 tx_rate; 207 207 __le16 tx_control; 208 - } __attribute__ ((packed)); 208 + } __packed; 209 209 210 210 #define HERMES_TXSTAT_RETRYERR (0x0001) 211 211 #define HERMES_TXSTAT_AGEDERR (0x0002) ··· 254 254 /* Those last are probably not available in very old firmwares */ 255 255 __le16 RxDiscards_WEPICVError; 256 256 __le16 RxDiscards_WEPExcluded; 257 - } __attribute__ ((packed)); 257 + } __packed; 258 258 259 259 /* Grabbed from wlan-ng - Thanks Mark... - Jean II 260 260 * This is the result of a scan inquiry command */ ··· 271 271 u8 rates[10]; /* Bit rate supported */ 272 272 __le16 proberesp_rate; /* Data rate of the response frame */ 273 273 __le16 atim; /* ATIM window time, Kus (hostscan only) */ 274 - } __attribute__ ((packed)); 274 + } __packed; 275 275 276 276 /* Same stuff for the Lucent/Agere card. 277 277 * Thanks to h1kari <h1kari AT dachb0den.com> - Jean II */ ··· 285 285 /* bits: 0-ess, 1-ibss, 4-privacy [wep] */ 286 286 __le16 essid_len; /* ESSID length */ 287 287 u8 essid[32]; /* ESSID of the network */ 288 - } __attribute__ ((packed)); 288 + } __packed; 289 289 290 290 /* Moustafa: Scan structure for Symbol cards */ 291 291 struct symbol_scan_apinfo { ··· 303 303 __le16 basic_rates; /* Basic rates bitmask */ 304 304 u8 unknown2[6]; /* Always FF:FF:FF:FF:00:00 */ 305 305 u8 unknown3[8]; /* Always 0, appeared in f/w 3.91-68 */ 306 - } __attribute__ ((packed)); 306 + } __packed; 307 307 308 308 union hermes_scan_info { 309 309 struct agere_scan_apinfo a; ··· 343 343 __le16 beacon_interval; 344 344 __le16 capabilities; 345 345 u8 data[0]; 346 - } __attribute__ ((packed)); 346 + } __packed; 347 347 348 348 #define HERMES_LINKSTATUS_NOT_CONNECTED (0x0000) 349 349 #define HERMES_LINKSTATUS_CONNECTED (0x0001) ··· 355 355 356 356 struct hermes_linkstatus { 357 357 __le16 linkstatus; /* Link status */ 358 - } __attribute__ ((packed)); 358 + } __packed; 359 359 360 360 struct hermes_response { 361 361 u16 status, resp0, resp1, resp2; ··· 365 365 struct hermes_idstring { 366 366 __le16 len; 367 367 __le16 val[16]; 368 - } __attribute__ ((packed)); 368 + } __packed; 369 369 370 370 struct hermes_multicast { 371 371 u8 addr[HERMES_MAX_MULTICAST][ETH_ALEN]; 372 - } __attribute__ ((packed)); 372 + } __packed; 373 373 374 374 /* Timeouts */ 375 375 #define HERMES_BAP_BUSY_TIMEOUT (10000) /* In iterations of ~1us */
+4 -4
drivers/net/wireless/orinoco/hermes_dld.c
··· 65 65 __le32 addr; /* adapter address where to write the block */ 66 66 __le16 len; /* length of the data only, in bytes */ 67 67 char data[0]; /* data to be written */ 68 - } __attribute__ ((packed)); 68 + } __packed; 69 69 70 70 /* 71 71 * Plug Data References are located in in the image after the last data ··· 77 77 __le32 addr; /* adapter address where to write the data */ 78 78 __le32 len; /* expected length of the data, in bytes */ 79 79 char next[0]; /* next PDR starts here */ 80 - } __attribute__ ((packed)); 80 + } __packed; 81 81 82 82 /* 83 83 * Plug Data Items are located in the EEPROM read from the adapter by ··· 88 88 __le16 len; /* length of ID and data, in words */ 89 89 __le16 id; /* record ID */ 90 90 char data[0]; /* plug data */ 91 - } __attribute__ ((packed)); 91 + } __packed; 92 92 93 93 /*** FW data block access functions ***/ 94 94 ··· 317 317 __le16 len; \ 318 318 __le16 id; \ 319 319 u8 val[length]; \ 320 - } __attribute__ ((packed)) default_pdr_data_##pid = { \ 320 + } __packed default_pdr_data_##pid = { \ 321 321 cpu_to_le16((sizeof(default_pdr_data_##pid)/ \ 322 322 sizeof(__le16)) - 1), \ 323 323 cpu_to_le16(pid), \
+3 -3
drivers/net/wireless/orinoco/hw.c
··· 45 45 /* Firmware version encoding */ 46 46 struct comp_id { 47 47 u16 id, variant, major, minor; 48 - } __attribute__ ((packed)); 48 + } __packed; 49 49 50 50 static inline fwtype_t determine_firmware_type(struct comp_id *nic_id) 51 51 { ··· 995 995 u8 tx_mic[MIC_KEYLEN]; 996 996 u8 rx_mic[MIC_KEYLEN]; 997 997 u8 tsc[ORINOCO_SEQ_LEN]; 998 - } __attribute__ ((packed)) buf; 998 + } __packed buf; 999 999 hermes_t *hw = &priv->hw; 1000 1000 int ret; 1001 1001 int err; ··· 1326 1326 struct { 1327 1327 u8 addr[ETH_ALEN]; 1328 1328 __le16 reason_code; 1329 - } __attribute__ ((packed)) buf; 1329 + } __packed buf; 1330 1330 1331 1331 /* Currently only supported by WPA enabled Agere fw */ 1332 1332 if (!priv->has_wpa)
+5 -5
drivers/net/wireless/orinoco/main.c
··· 172 172 __le16 frame_ctl; 173 173 __le16 duration_id; 174 174 u8 addr1[ETH_ALEN]; 175 - } __attribute__ ((packed)); 175 + } __packed; 176 176 177 177 /* Rx frame header except compatibility 802.3 header */ 178 178 struct hermes_rx_descriptor { ··· 196 196 197 197 /* Data length */ 198 198 __le16 data_len; 199 - } __attribute__ ((packed)); 199 + } __packed; 200 200 201 201 struct orinoco_rx_data { 202 202 struct hermes_rx_descriptor *desc; ··· 390 390 struct header_struct { 391 391 struct ethhdr eth; /* 802.3 header */ 392 392 u8 encap[6]; /* 802.2 header */ 393 - } __attribute__ ((packed)) hdr; 393 + } __packed hdr; 394 394 int len = skb->len + sizeof(encaps_hdr) - (2 * ETH_ALEN); 395 395 396 396 if (skb_headroom(skb) < ENCAPS_OVERHEAD) { ··· 1170 1170 struct join_req { 1171 1171 u8 bssid[ETH_ALEN]; 1172 1172 __le16 channel; 1173 - } __attribute__ ((packed)) req; 1173 + } __packed req; 1174 1174 const int atom_len = offsetof(struct prism2_scan_apinfo, atim); 1175 1175 struct prism2_scan_apinfo *atom = NULL; 1176 1176 int offset = 4; ··· 1410 1410 struct { 1411 1411 __le16 len; 1412 1412 __le16 type; 1413 - } __attribute__ ((packed)) info; 1413 + } __packed info; 1414 1414 int len, type; 1415 1415 int err; 1416 1416
+1 -1
drivers/net/wireless/orinoco/orinoco.h
··· 32 32 struct orinoco_key { 33 33 __le16 len; /* always stored as little-endian */ 34 34 char data[ORINOCO_MAX_KEY_SIZE]; 35 - } __attribute__ ((packed)); 35 + } __packed; 36 36 37 37 #define TKIP_KEYLEN 16 38 38 #define MIC_KEYLEN 8
+2 -2
drivers/net/wireless/orinoco/orinoco_usb.c
··· 90 90 /* SNAP */ 91 91 u8 oui[3]; 92 92 __be16 ethertype; 93 - } __attribute__ ((packed)); 93 + } __packed; 94 94 95 95 struct ez_usb_fw { 96 96 u16 size; ··· 222 222 __le16 hermes_len; 223 223 __le16 hermes_rid; 224 224 u8 data[0]; 225 - } __attribute__ ((packed)); 225 + } __packed; 226 226 227 227 /* Table of devices that work or may work with this driver */ 228 228 static struct usb_device_id ezusb_table[] = {
+1 -1
drivers/net/wireless/orinoco/wext.c
··· 128 128 } else { 129 129 struct { 130 130 __le16 qual, signal, noise, unused; 131 - } __attribute__ ((packed)) cq; 131 + } __packed cq; 132 132 133 133 err = HERMES_READ_RECORD(hw, USER_BAP, 134 134 HERMES_RID_COMMSQUALITY, &cq);
+8 -8
drivers/net/wireless/p54/net2280.h
··· 232 232 #define GPIO2_INTERRUPT 2 233 233 #define GPIO1_INTERRUPT 1 234 234 #define GPIO0_INTERRUPT 0 235 - } __attribute__ ((packed)); 235 + } __packed; 236 236 237 237 /* usb control, BAR0 + 0x0080 */ 238 238 struct net2280_usb_regs { ··· 296 296 #define FORCE_IMMEDIATE 7 297 297 #define OUR_USB_ADDRESS 0 298 298 __le32 ourconfig; 299 - } __attribute__ ((packed)); 299 + } __packed; 300 300 301 301 /* pci control, BAR0 + 0x0100 */ 302 302 struct net2280_pci_regs { ··· 323 323 #define PCI_ARBITER_CLEAR 2 324 324 #define PCI_EXTERNAL_ARBITER 1 325 325 #define PCI_HOST_MODE 0 326 - } __attribute__ ((packed)); 326 + } __packed; 327 327 328 328 /* dma control, BAR0 + 0x0180 ... array of four structs like this, 329 329 * for channels 0..3. see also struct net2280_dma: descriptor ··· 364 364 __le32 dmaaddr; 365 365 __le32 dmadesc; 366 366 u32 _unused1; 367 - } __attribute__ ((packed)); 367 + } __packed; 368 368 369 369 /* dedicated endpoint registers, BAR0 + 0x0200 */ 370 370 ··· 374 374 /* offset 0x0204, 0x0214, 0x224, 0x234, 0x244 */ 375 375 __le32 dep_rsp; 376 376 u32 _unused[2]; 377 - } __attribute__ ((packed)); 377 + } __packed; 378 378 379 379 /* configurable endpoint registers, BAR0 + 0x0300 ... array of seven structs 380 380 * like this, for ep0 then the configurable endpoints A..F ··· 437 437 __le32 ep_avail; 438 438 __le32 ep_data; 439 439 u32 _unused0[2]; 440 - } __attribute__ ((packed)); 440 + } __packed; 441 441 442 442 struct net2280_reg_write { 443 443 __le16 port; 444 444 __le32 addr; 445 445 __le32 val; 446 - } __attribute__ ((packed)); 446 + } __packed; 447 447 448 448 struct net2280_reg_read { 449 449 __le16 port; 450 450 __le32 addr; 451 - } __attribute__ ((packed)); 451 + } __packed; 452 452 #endif /* NET2280_H */
+3 -3
drivers/net/wireless/p54/p54pci.h
··· 65 65 u8 unused_6[1924]; 66 66 u8 cardbus_cis[0x800]; 67 67 u8 direct_mem_win[0x1000]; 68 - } __attribute__ ((packed)); 68 + } __packed; 69 69 70 70 /* usb backend only needs the register defines above */ 71 71 #ifndef P54USB_H ··· 74 74 __le32 device_addr; 75 75 __le16 len; 76 76 __le16 flags; 77 - } __attribute__ ((packed)); 77 + } __packed; 78 78 79 79 struct p54p_ring_control { 80 80 __le32 host_idx[4]; ··· 83 83 struct p54p_desc tx_data[32]; 84 84 struct p54p_desc rx_mgmt[4]; 85 85 struct p54p_desc tx_mgmt[4]; 86 - } __attribute__ ((packed)); 86 + } __packed; 87 87 88 88 #define P54P_READ(r) (__force __le32)__raw_readl(&priv->map->r) 89 89 #define P54P_WRITE(r, val) __raw_writel((__force u32)(__le32)(val), &priv->map->r)
+1 -1
drivers/net/wireless/p54/p54spi.h
··· 96 96 __le16 cmd; 97 97 __le16 len; 98 98 __le32 addr; 99 - } __attribute__ ((packed)); 99 + } __packed; 100 100 101 101 struct p54s_tx_info { 102 102 struct list_head tx_list;
+3 -3
drivers/net/wireless/p54/p54usb.h
··· 70 70 __le16 len; 71 71 __le16 follower; /* ? */ 72 72 u8 padding[8]; 73 - } __attribute__((packed)); 73 + } __packed; 74 74 75 75 struct lm87_tx_hdr { 76 76 __le32 device_addr; 77 77 __le32 chksum; 78 - } __attribute__((packed)); 78 + } __packed; 79 79 80 80 /* Some flags for the isl hardware registers controlling DMA inside the 81 81 * chip */ ··· 103 103 __le32 fw_load_addr; 104 104 __le32 fw_length; 105 105 __le32 crc; 106 - } __attribute__((packed)); 106 + } __packed; 107 107 108 108 /* pipes 3 and 4 are not used by the driver */ 109 109 #define P54U_PIPE_NUMBER 9
+1 -1
drivers/net/wireless/prism54/isl_ioctl.c
··· 2101 2101 u8 timestamp[8]; 2102 2102 u16 beacon_int; 2103 2103 u16 capab_info; 2104 - } __attribute__ ((packed)); 2104 + } __packed; 2105 2105 2106 2106 #define WLAN_EID_GENERIC 0xdd 2107 2107 static u8 wpa_oid[4] = { 0x00, 0x50, 0xf2, 1 };
+9 -9
drivers/net/wireless/prism54/isl_oid.h
··· 29 29 struct obj_ssid { 30 30 u8 length; 31 31 char octets[33]; 32 - } __attribute__ ((packed)); 32 + } __packed; 33 33 34 34 struct obj_key { 35 35 u8 type; /* dot11_priv_t */ 36 36 u8 length; 37 37 char key[32]; 38 - } __attribute__ ((packed)); 38 + } __packed; 39 39 40 40 struct obj_mlme { 41 41 u8 address[6]; 42 42 u16 id; 43 43 u16 state; 44 44 u16 code; 45 - } __attribute__ ((packed)); 45 + } __packed; 46 46 47 47 struct obj_mlmeex { 48 48 u8 address[6]; ··· 51 51 u16 code; 52 52 u16 size; 53 53 u8 data[0]; 54 - } __attribute__ ((packed)); 54 + } __packed; 55 55 56 56 struct obj_buffer { 57 57 u32 size; 58 58 u32 addr; /* 32bit bus address */ 59 - } __attribute__ ((packed)); 59 + } __packed; 60 60 61 61 struct obj_bss { 62 62 u8 address[6]; ··· 77 77 short rates; 78 78 short basic_rates; 79 79 int:16; /* padding */ 80 - } __attribute__ ((packed)); 80 + } __packed; 81 81 82 82 struct obj_bsslist { 83 83 u32 nr; 84 84 struct obj_bss bsslist[0]; 85 - } __attribute__ ((packed)); 85 + } __packed; 86 86 87 87 struct obj_frequencies { 88 88 u16 nr; 89 89 u16 mhz[0]; 90 - } __attribute__ ((packed)); 90 + } __packed; 91 91 92 92 struct obj_attachment { 93 93 char type; ··· 95 95 short id; 96 96 short size; 97 97 char data[0]; 98 - } __attribute__((packed)); 98 + } __packed; 99 99 100 100 /* 101 101 * in case everything's ok, the inlined function below will be
+2 -2
drivers/net/wireless/prism54/islpci_eth.h
··· 34 34 __le16 unk3; 35 35 u8 rssi; 36 36 u8 padding[3]; 37 - } __attribute__ ((packed)); 37 + } __packed; 38 38 39 39 struct rx_annex_header { 40 40 u8 addr1[ETH_ALEN]; 41 41 u8 addr2[ETH_ALEN]; 42 42 struct rfmon_header rfmon; 43 - } __attribute__ ((packed)); 43 + } __packed; 44 44 45 45 /* wlan-ng (and hopefully others) AVS header, version one. Fields in 46 46 * network byte order. */
+1 -1
drivers/net/wireless/prism54/islpci_mgt.h
··· 101 101 u8 device_id; 102 102 u8 flags; 103 103 u32 length; 104 - } __attribute__ ((packed)) 104 + } __packed 105 105 pimfor_header_t; 106 106 107 107 /* A received and interrupt-processed management frame, either for
+17 -17
drivers/net/wireless/rndis_wlan.c
··· 238 238 u8 bssid[6]; 239 239 u8 padding[2]; 240 240 __le32 flags; 241 - } __attribute__((packed)); 241 + } __packed; 242 242 243 243 struct ndis_80211_pmkid_candidate { 244 244 u8 bssid[6]; 245 245 u8 padding[2]; 246 246 __le32 flags; 247 - } __attribute__((packed)); 247 + } __packed; 248 248 249 249 struct ndis_80211_pmkid_cand_list { 250 250 __le32 version; 251 251 __le32 num_candidates; 252 252 struct ndis_80211_pmkid_candidate candidate_list[0]; 253 - } __attribute__((packed)); 253 + } __packed; 254 254 255 255 struct ndis_80211_status_indication { 256 256 __le32 status_type; ··· 260 260 struct ndis_80211_auth_request auth_request[0]; 261 261 struct ndis_80211_pmkid_cand_list cand_list; 262 262 } u; 263 - } __attribute__((packed)); 263 + } __packed; 264 264 265 265 struct ndis_80211_ssid { 266 266 __le32 length; 267 267 u8 essid[NDIS_802_11_LENGTH_SSID]; 268 - } __attribute__((packed)); 268 + } __packed; 269 269 270 270 struct ndis_80211_conf_freq_hop { 271 271 __le32 length; 272 272 __le32 hop_pattern; 273 273 __le32 hop_set; 274 274 __le32 dwell_time; 275 - } __attribute__((packed)); 275 + } __packed; 276 276 277 277 struct ndis_80211_conf { 278 278 __le32 length; ··· 280 280 __le32 atim_window; 281 281 __le32 ds_config; 282 282 struct ndis_80211_conf_freq_hop fh_config; 283 - } __attribute__((packed)); 283 + } __packed; 284 284 285 285 struct ndis_80211_bssid_ex { 286 286 __le32 length; ··· 295 295 u8 rates[NDIS_802_11_LENGTH_RATES_EX]; 296 296 __le32 ie_length; 297 297 u8 ies[0]; 298 - } __attribute__((packed)); 298 + } __packed; 299 299 300 300 struct ndis_80211_bssid_list_ex { 301 301 __le32 num_items; 302 302 struct ndis_80211_bssid_ex bssid[0]; 303 - } __attribute__((packed)); 303 + } __packed; 304 304 305 305 struct ndis_80211_fixed_ies { 306 306 u8 timestamp[8]; 307 307 __le16 beacon_interval; 308 308 __le16 capabilities; 309 - } __attribute__((packed)); 309 + } __packed; 310 310 311 311 struct ndis_80211_wep_key { 312 312 __le32 size; 313 313 __le32 index; 314 314 __le32 length; 315 315 u8 material[32]; 316 - } __attribute__((packed)); 316 + } __packed; 317 317 318 318 struct ndis_80211_key { 319 319 __le32 size; ··· 323 323 u8 padding[6]; 324 324 u8 rsc[8]; 325 325 u8 material[32]; 326 - } __attribute__((packed)); 326 + } __packed; 327 327 328 328 struct ndis_80211_remove_key { 329 329 __le32 size; 330 330 __le32 index; 331 331 u8 bssid[6]; 332 332 u8 padding[2]; 333 - } __attribute__((packed)); 333 + } __packed; 334 334 335 335 struct ndis_config_param { 336 336 __le32 name_offs; ··· 338 338 __le32 type; 339 339 __le32 value_offs; 340 340 __le32 value_length; 341 - } __attribute__((packed)); 341 + } __packed; 342 342 343 343 struct ndis_80211_assoc_info { 344 344 __le32 length; ··· 358 358 } resp_ie; 359 359 __le32 resp_ie_length; 360 360 __le32 offset_resp_ies; 361 - } __attribute__((packed)); 361 + } __packed; 362 362 363 363 struct ndis_80211_auth_encr_pair { 364 364 __le32 auth_mode; 365 365 __le32 encr_mode; 366 - } __attribute__((packed)); 366 + } __packed; 367 367 368 368 struct ndis_80211_capability { 369 369 __le32 length; ··· 371 371 __le32 num_pmkids; 372 372 __le32 num_auth_encr_pair; 373 373 struct ndis_80211_auth_encr_pair auth_encr_pair[0]; 374 - } __attribute__((packed)); 374 + } __packed; 375 375 376 376 struct ndis_80211_bssid_info { 377 377 u8 bssid[6];
+3 -3
drivers/net/wireless/rt2x00/rt2800.h
··· 1370 1370 struct mac_wcid_entry { 1371 1371 u8 mac[6]; 1372 1372 u8 reserved[2]; 1373 - } __attribute__ ((packed)); 1373 + } __packed; 1374 1374 1375 1375 struct hw_key_entry { 1376 1376 u8 key[16]; 1377 1377 u8 tx_mic[8]; 1378 1378 u8 rx_mic[8]; 1379 - } __attribute__ ((packed)); 1379 + } __packed; 1380 1380 1381 1381 struct mac_iveiv_entry { 1382 1382 u8 iv[8]; 1383 - } __attribute__ ((packed)); 1383 + } __packed; 1384 1384 1385 1385 /* 1386 1386 * MAC_WCID_ATTRIBUTE:
+2 -2
drivers/net/wireless/rt2x00/rt61pci.h
··· 153 153 u8 key[16]; 154 154 u8 tx_mic[8]; 155 155 u8 rx_mic[8]; 156 - } __attribute__ ((packed)); 156 + } __packed; 157 157 158 158 struct hw_pairwise_ta_entry { 159 159 u8 address[6]; 160 160 u8 cipher; 161 161 u8 reserved; 162 - } __attribute__ ((packed)); 162 + } __packed; 163 163 164 164 /* 165 165 * Other on-chip shared memory space.
+2 -2
drivers/net/wireless/rt2x00/rt73usb.h
··· 108 108 u8 key[16]; 109 109 u8 tx_mic[8]; 110 110 u8 rx_mic[8]; 111 - } __attribute__ ((packed)); 111 + } __packed; 112 112 113 113 struct hw_pairwise_ta_entry { 114 114 u8 address[6]; 115 115 u8 cipher; 116 116 u8 reserved; 117 - } __attribute__ ((packed)); 117 + } __packed; 118 118 119 119 /* 120 120 * Since NULL frame won't be that long (256 byte),
+2 -2
drivers/net/wireless/rtl818x/rtl8180.h
··· 36 36 u8 agc; 37 37 u8 flags2; 38 38 u32 reserved[2]; 39 - } __attribute__ ((packed)); 39 + } __packed; 40 40 41 41 struct rtl8180_rx_desc { 42 42 __le32 flags; ··· 45 45 __le32 rx_buf; 46 46 __le64 tsft; 47 47 }; 48 - } __attribute__ ((packed)); 48 + } __packed; 49 49 50 50 struct rtl8180_tx_ring { 51 51 struct rtl8180_tx_desc *desc;
+4 -4
drivers/net/wireless/rtl818x/rtl8187.h
··· 47 47 u8 agc; 48 48 u8 reserved; 49 49 __le64 mac_time; 50 - } __attribute__((packed)); 50 + } __packed; 51 51 52 52 struct rtl8187b_rx_hdr { 53 53 __le32 flags; ··· 59 59 __le16 snr_long2end; 60 60 s8 pwdb_g12; 61 61 u8 fot; 62 - } __attribute__((packed)); 62 + } __packed; 63 63 64 64 /* {rtl8187,rtl8187b}_tx_info is in skb */ 65 65 ··· 68 68 __le16 rts_duration; 69 69 __le16 len; 70 70 __le32 retry; 71 - } __attribute__((packed)); 71 + } __packed; 72 72 73 73 struct rtl8187b_tx_hdr { 74 74 __le32 flags; ··· 80 80 __le32 unused_3; 81 81 __le32 retry; 82 82 __le32 unused_4[2]; 83 - } __attribute__((packed)); 83 + } __packed; 84 84 85 85 enum { 86 86 DEVICE_RTL8187,
+1 -1
drivers/net/wireless/rtl818x/rtl818x.h
··· 185 185 u8 reserved_22[4]; 186 186 __le16 TALLY_CNT; 187 187 u8 TALLY_SEL; 188 - } __attribute__((packed)); 188 + } __packed; 189 189 190 190 struct rtl818x_rf_ops { 191 191 char *name;
+51 -51
drivers/net/wireless/wl12xx/wl1251_acx.h
··· 60 60 /* the number of missed sequence numbers in the squentially */ 61 61 /* values of frames seq numbers */ 62 62 u32 seq_num_miss; 63 - } __attribute__ ((packed)); 63 + } __packed; 64 64 65 65 struct acx_revision { 66 66 struct acx_header header; ··· 89 89 * bits 24 - 31: Chip ID - The WiLink chip ID. 90 90 */ 91 91 u32 hw_version; 92 - } __attribute__ ((packed)); 92 + } __packed; 93 93 94 94 enum wl1251_psm_mode { 95 95 /* Active mode */ ··· 111 111 /* 2 - ELP mode: Deep / Max sleep*/ 112 112 u8 sleep_auth; 113 113 u8 padding[3]; 114 - } __attribute__ ((packed)); 114 + } __packed; 115 115 116 116 enum { 117 117 HOSTIF_PCI_MASTER_HOST_INDIRECT, ··· 159 159 * complete ring until an interrupt is generated. 160 160 */ 161 161 u32 tx_complete_timeout; 162 - } __attribute__ ((packed)); 162 + } __packed; 163 163 164 164 165 165 struct acx_data_path_params_resp { ··· 180 180 u32 tx_control_addr; 181 181 182 182 u32 tx_complete_addr; 183 - } __attribute__ ((packed)); 183 + } __packed; 184 184 185 185 #define TX_MSDU_LIFETIME_MIN 0 186 186 #define TX_MSDU_LIFETIME_MAX 3000 ··· 197 197 * firmware discards the MSDU. 198 198 */ 199 199 u32 lifetime; 200 - } __attribute__ ((packed)); 200 + } __packed; 201 201 202 202 /* 203 203 * RX Config Options Table ··· 285 285 286 286 u32 config_options; 287 287 u32 filter_options; 288 - } __attribute__ ((packed)); 288 + } __packed; 289 289 290 290 enum { 291 291 QOS_AC_BE = 0, ··· 325 325 326 326 /* Lowest memory blocks guaranteed for this queue */ 327 327 u16 low_threshold; 328 - } __attribute__ ((packed)); 328 + } __packed; 329 329 330 330 struct acx_packet_detection { 331 331 struct acx_header header; 332 332 333 333 u32 threshold; 334 - } __attribute__ ((packed)); 334 + } __packed; 335 335 336 336 337 337 enum acx_slot_type { ··· 349 349 u8 wone_index; /* Reserved */ 350 350 u8 slot_time; 351 351 u8 reserved[6]; 352 - } __attribute__ ((packed)); 352 + } __packed; 353 353 354 354 355 355 #define ADDRESS_GROUP_MAX (8) ··· 362 362 u8 num_groups; 363 363 u8 pad[2]; 364 364 u8 mac_table[ADDRESS_GROUP_MAX_LEN]; 365 - } __attribute__ ((packed)); 365 + } __packed; 366 366 367 367 368 368 #define RX_TIMEOUT_PS_POLL_MIN 0 ··· 388 388 * from an UPSD enabled queue. 389 389 */ 390 390 u16 upsd_timeout; 391 - } __attribute__ ((packed)); 391 + } __packed; 392 392 393 393 #define RTS_THRESHOLD_MIN 0 394 394 #define RTS_THRESHOLD_MAX 4096 ··· 399 399 400 400 u16 threshold; 401 401 u8 pad[2]; 402 - } __attribute__ ((packed)); 402 + } __packed; 403 403 404 404 struct acx_beacon_filter_option { 405 405 struct acx_header header; ··· 415 415 */ 416 416 u8 max_num_beacons; 417 417 u8 pad[2]; 418 - } __attribute__ ((packed)); 418 + } __packed; 419 419 420 420 /* 421 421 * ACXBeaconFilterEntry (not 221) ··· 461 461 u8 num_ie; 462 462 u8 table[BEACON_FILTER_TABLE_MAX_SIZE]; 463 463 u8 pad[3]; 464 - } __attribute__ ((packed)); 464 + } __packed; 465 465 466 466 #define SYNCH_FAIL_DEFAULT_THRESHOLD 10 /* number of beacons */ 467 467 #define NO_BEACON_DEFAULT_TIMEOUT (500) /* in microseconds */ ··· 494 494 */ 495 495 u8 enable; 496 496 u8 pad[3]; 497 - } __attribute__ ((packed)); 497 + } __packed; 498 498 499 499 #define PTA_ANTENNA_TYPE_DEF (0) 500 500 #define PTA_BT_HP_MAXTIME_DEF (2000) ··· 648 648 649 649 /* range: 0 - 20 default: 1 */ 650 650 u8 bt_hp_respected_num; 651 - } __attribute__ ((packed)); 651 + } __packed; 652 652 653 653 #define CCA_THRSH_ENABLE_ENERGY_D 0x140A 654 654 #define CCA_THRSH_DISABLE_ENERGY_D 0xFFEF ··· 660 660 u16 rx_cca_threshold; 661 661 u8 tx_energy_detection; 662 662 u8 pad; 663 - } __attribute__ ((packed)); 663 + } __packed; 664 664 665 665 #define BCN_RX_TIMEOUT_DEF_VALUE 10000 666 666 #define BROADCAST_RX_TIMEOUT_DEF_VALUE 20000 ··· 679 679 /* Consecutive PS Poll failures before updating the host */ 680 680 u8 ps_poll_threshold; 681 681 u8 pad[2]; 682 - } __attribute__ ((packed)); 682 + } __packed; 683 683 684 684 struct acx_event_mask { 685 685 struct acx_header header; 686 686 687 687 u32 event_mask; 688 688 u32 high_event_mask; /* Unused */ 689 - } __attribute__ ((packed)); 689 + } __packed; 690 690 691 691 #define CFG_RX_FCS BIT(2) 692 692 #define CFG_RX_ALL_GOOD BIT(3) ··· 729 729 u8 tx_ctrl_frame_mod; /* CCK_* or PBCC_* */ 730 730 u8 tx_mgt_frame_rate; 731 731 u8 tx_mgt_frame_mod; 732 - } __attribute__ ((packed)); 732 + } __packed; 733 733 734 734 /* STA MAC */ 735 735 struct acx_dot11_station_id { ··· 737 737 738 738 u8 mac[ETH_ALEN]; 739 739 u8 pad[2]; 740 - } __attribute__ ((packed)); 740 + } __packed; 741 741 742 742 struct acx_feature_config { 743 743 struct acx_header header; 744 744 745 745 u32 options; 746 746 u32 data_flow_options; 747 - } __attribute__ ((packed)); 747 + } __packed; 748 748 749 749 struct acx_current_tx_power { 750 750 struct acx_header header; 751 751 752 752 u8 current_tx_power; 753 753 u8 padding[3]; 754 - } __attribute__ ((packed)); 754 + } __packed; 755 755 756 756 struct acx_dot11_default_key { 757 757 struct acx_header header; 758 758 759 759 u8 id; 760 760 u8 pad[3]; 761 - } __attribute__ ((packed)); 761 + } __packed; 762 762 763 763 struct acx_tsf_info { 764 764 struct acx_header header; ··· 769 769 u32 last_TBTT_lsb; 770 770 u8 last_dtim_count; 771 771 u8 pad[3]; 772 - } __attribute__ ((packed)); 772 + } __packed; 773 773 774 774 enum acx_wake_up_event { 775 775 WAKE_UP_EVENT_BEACON_BITMAP = 0x01, /* Wake on every Beacon*/ ··· 785 785 u8 wake_up_event; /* Only one bit can be set */ 786 786 u8 listen_interval; 787 787 u8 pad[2]; 788 - } __attribute__ ((packed)); 788 + } __packed; 789 789 790 790 struct acx_aid { 791 791 struct acx_header header; ··· 795 795 */ 796 796 u16 aid; 797 797 u8 pad[2]; 798 - } __attribute__ ((packed)); 798 + } __packed; 799 799 800 800 enum acx_preamble_type { 801 801 ACX_PREAMBLE_LONG = 0, ··· 811 811 */ 812 812 u8 preamble; 813 813 u8 padding[3]; 814 - } __attribute__ ((packed)); 814 + } __packed; 815 815 816 816 enum acx_ctsprotect_type { 817 817 CTSPROTECT_DISABLE = 0, ··· 822 822 struct acx_header header; 823 823 u8 ctsprotect; 824 824 u8 padding[3]; 825 - } __attribute__ ((packed)); 825 + } __packed; 826 826 827 827 struct acx_tx_statistics { 828 828 u32 internal_desc_overflow; 829 - } __attribute__ ((packed)); 829 + } __packed; 830 830 831 831 struct acx_rx_statistics { 832 832 u32 out_of_mem; ··· 837 837 u32 xfr_hint_trig; 838 838 u32 path_reset; 839 839 u32 reset_counter; 840 - } __attribute__ ((packed)); 840 + } __packed; 841 841 842 842 struct acx_dma_statistics { 843 843 u32 rx_requested; 844 844 u32 rx_errors; 845 845 u32 tx_requested; 846 846 u32 tx_errors; 847 - } __attribute__ ((packed)); 847 + } __packed; 848 848 849 849 struct acx_isr_statistics { 850 850 /* host command complete */ ··· 903 903 904 904 /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */ 905 905 u32 low_rssi; 906 - } __attribute__ ((packed)); 906 + } __packed; 907 907 908 908 struct acx_wep_statistics { 909 909 /* WEP address keys configured */ ··· 925 925 926 926 /* WEP decrypt interrupts */ 927 927 u32 interrupt; 928 - } __attribute__ ((packed)); 928 + } __packed; 929 929 930 930 #define ACX_MISSED_BEACONS_SPREAD 10 931 931 ··· 985 985 986 986 /* the number of beacons in awake mode */ 987 987 u32 rcvd_awake_beacons; 988 - } __attribute__ ((packed)); 988 + } __packed; 989 989 990 990 struct acx_mic_statistics { 991 991 u32 rx_pkts; 992 992 u32 calc_failure; 993 - } __attribute__ ((packed)); 993 + } __packed; 994 994 995 995 struct acx_aes_statistics { 996 996 u32 encrypt_fail; ··· 999 999 u32 decrypt_packets; 1000 1000 u32 encrypt_interrupt; 1001 1001 u32 decrypt_interrupt; 1002 - } __attribute__ ((packed)); 1002 + } __packed; 1003 1003 1004 1004 struct acx_event_statistics { 1005 1005 u32 heart_beat; ··· 1010 1010 u32 oom_late; 1011 1011 u32 phy_transmit_error; 1012 1012 u32 tx_stuck; 1013 - } __attribute__ ((packed)); 1013 + } __packed; 1014 1014 1015 1015 struct acx_ps_statistics { 1016 1016 u32 pspoll_timeouts; ··· 1020 1020 u32 pspoll_max_apturn; 1021 1021 u32 pspoll_utilization; 1022 1022 u32 upsd_utilization; 1023 - } __attribute__ ((packed)); 1023 + } __packed; 1024 1024 1025 1025 struct acx_rxpipe_statistics { 1026 1026 u32 rx_prep_beacon_drop; ··· 1028 1028 u32 beacon_buffer_thres_host_int_trig_rx_data; 1029 1029 u32 missed_beacon_host_int_trig_rx_data; 1030 1030 u32 tx_xfr_host_int_trig_rx_data; 1031 - } __attribute__ ((packed)); 1031 + } __packed; 1032 1032 1033 1033 struct acx_statistics { 1034 1034 struct acx_header header; ··· 1044 1044 struct acx_event_statistics event; 1045 1045 struct acx_ps_statistics ps; 1046 1046 struct acx_rxpipe_statistics rxpipe; 1047 - } __attribute__ ((packed)); 1047 + } __packed; 1048 1048 1049 1049 #define ACX_MAX_RATE_CLASSES 8 1050 1050 #define ACX_RATE_MASK_UNSPECIFIED 0 ··· 1063 1063 1064 1064 u32 rate_class_cnt; 1065 1065 struct acx_rate_class rate_class[ACX_MAX_RATE_CLASSES]; 1066 - } __attribute__ ((packed)); 1066 + } __packed; 1067 1067 1068 1068 struct wl1251_acx_memory { 1069 1069 __le16 num_stations; /* number of STAs to be supported. */ ··· 1082 1082 u8 tx_min_mem_block_num; 1083 1083 u8 num_ssid_profiles; 1084 1084 __le16 debug_buffer_size; 1085 - } __attribute__ ((packed)); 1085 + } __packed; 1086 1086 1087 1087 1088 1088 #define ACX_RX_DESC_MIN 1 ··· 1094 1094 u8 type; 1095 1095 u8 priority; 1096 1096 __le32 dma_address; 1097 - } __attribute__ ((packed)); 1097 + } __packed; 1098 1098 1099 1099 #define ACX_TX_DESC_MIN 1 1100 1100 #define ACX_TX_DESC_MAX 127 ··· 1103 1103 u8 num_descs; 1104 1104 u8 pad[2]; 1105 1105 u8 attributes; 1106 - } __attribute__ ((packed)); 1106 + } __packed; 1107 1107 1108 1108 #define MAX_TX_QUEUE_CONFIGS 5 1109 1109 #define MAX_TX_QUEUES 4 ··· 1113 1113 struct wl1251_acx_memory mem_config; 1114 1114 struct wl1251_acx_rx_queue_config rx_queue_config; 1115 1115 struct wl1251_acx_tx_queue_config tx_queue_config[MAX_TX_QUEUE_CONFIGS]; 1116 - } __attribute__ ((packed)); 1116 + } __packed; 1117 1117 1118 1118 struct wl1251_acx_mem_map { 1119 1119 struct acx_header header; ··· 1147 1147 1148 1148 /* Number of blocks FW allocated for RX packets */ 1149 1149 u32 num_rx_mem_blocks; 1150 - } __attribute__ ((packed)); 1150 + } __packed; 1151 1151 1152 1152 1153 1153 struct wl1251_acx_wr_tbtt_and_dtim { ··· 1164 1164 */ 1165 1165 u8 dtim; 1166 1166 u8 padding; 1167 - } __attribute__ ((packed)); 1167 + } __packed; 1168 1168 1169 1169 struct wl1251_acx_ac_cfg { 1170 1170 struct acx_header header; ··· 1194 1194 1195 1195 /* The TX Op Limit (in microseconds) for the access class. */ 1196 1196 u16 txop_limit; 1197 - } __attribute__ ((packed)); 1197 + } __packed; 1198 1198 1199 1199 1200 1200 enum wl1251_acx_channel_type { ··· 1245 1245 1246 1246 /* not supported */ 1247 1247 u32 apsdconf[2]; 1248 - } __attribute__ ((packed)); 1248 + } __packed; 1249 1249 1250 1250 /************************************************************************* 1251 1251
+11 -11
drivers/net/wireless/wl12xx/wl1251_cmd.h
··· 106 106 u16 status; 107 107 /* payload */ 108 108 u8 data[0]; 109 - } __attribute__ ((packed)); 109 + } __packed; 110 110 111 111 struct wl1251_command { 112 112 struct wl1251_cmd_header header; ··· 201 201 u8 ssid_len; 202 202 u8 ssid[32]; 203 203 204 - } __attribute__ ((packed)); 204 + } __packed; 205 205 206 206 struct wl1251_scan_ch_parameters { 207 207 u32 min_duration; /* in TU */ ··· 218 218 u8 tx_power_att; 219 219 u8 channel; 220 220 u8 pad[3]; 221 - } __attribute__ ((packed)); 221 + } __packed; 222 222 223 223 /* SCAN parameters */ 224 224 #define SCAN_MAX_NUM_OF_CHANNELS 16 ··· 228 228 229 229 struct wl1251_scan_parameters params; 230 230 struct wl1251_scan_ch_parameters channels[SCAN_MAX_NUM_OF_CHANNELS]; 231 - } __attribute__ ((packed)); 231 + } __packed; 232 232 233 233 enum { 234 234 BSS_TYPE_IBSS = 0, ··· 276 276 u8 tx_mgt_frame_rate; /* OBSOLETE */ 277 277 u8 tx_mgt_frame_mod; /* OBSOLETE */ 278 278 u8 reserved; 279 - } __attribute__ ((packed)); 279 + } __packed; 280 280 281 281 struct cmd_enabledisable_path { 282 282 struct wl1251_cmd_header header; 283 283 284 284 u8 channel; 285 285 u8 padding[3]; 286 - } __attribute__ ((packed)); 286 + } __packed; 287 287 288 288 #define WL1251_MAX_TEMPLATE_SIZE 300 289 289 ··· 292 292 293 293 __le16 size; 294 294 u8 data[0]; 295 - } __attribute__ ((packed)); 295 + } __packed; 296 296 297 297 #define TIM_ELE_ID 5 298 298 #define PARTIAL_VBM_MAX 251 ··· 304 304 u8 dtim_period; 305 305 u8 bitmap_ctrl; 306 306 u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */ 307 - } __attribute__ ((packed)); 307 + } __packed; 308 308 309 309 /* Virtual Bit Map update */ 310 310 struct wl1251_cmd_vbm_update { ··· 312 312 __le16 len; 313 313 u8 padding[2]; 314 314 struct wl1251_tim tim; 315 - } __attribute__ ((packed)); 315 + } __packed; 316 316 317 317 enum wl1251_cmd_ps_mode { 318 318 STATION_ACTIVE_MODE, ··· 333 333 u8 hang_over_period; 334 334 u16 null_data_rate; 335 335 u8 pad[2]; 336 - } __attribute__ ((packed)); 336 + } __packed; 337 337 338 338 struct wl1251_cmd_trigger_scan_to { 339 339 struct wl1251_cmd_header header; ··· 411 411 u8 key[MAX_KEY_SIZE]; 412 412 u16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY]; 413 413 u32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY]; 414 - } __attribute__ ((packed)); 414 + } __packed; 415 415 416 416 417 417 #endif /* __WL1251_CMD_H__ */
+2 -2
drivers/net/wireless/wl12xx/wl1251_event.h
··· 82 82 u32 report_1; 83 83 u32 report_2; 84 84 u32 report_3; 85 - } __attribute__ ((packed)); 85 + } __packed; 86 86 87 87 struct event_mailbox { 88 88 u32 events_vector; ··· 112 112 struct event_debug_report report; 113 113 u8 average_snr_level; 114 114 u8 padding[19]; 115 - } __attribute__ ((packed)); 115 + } __packed; 116 116 117 117 int wl1251_event_unmask(struct wl1251 *wl); 118 118 void wl1251_event_mbox_config(struct wl1251 *wl);
+1 -1
drivers/net/wireless/wl12xx/wl1251_rx.h
··· 117 117 s8 rssi; /* in dB */ 118 118 u8 rcpi; /* in dB */ 119 119 u8 snr; /* in dB */ 120 - } __attribute__ ((packed)); 120 + } __packed; 121 121 122 122 void wl1251_rx(struct wl1251 *wl); 123 123
+3 -3
drivers/net/wireless/wl12xx/wl1251_tx.h
··· 109 109 unsigned xfer_pad:1; 110 110 111 111 unsigned reserved:7; 112 - } __attribute__ ((packed)); 112 + } __packed; 113 113 114 114 115 115 struct tx_double_buffer_desc { ··· 156 156 u8 num_mem_blocks; 157 157 158 158 u8 reserved; 159 - } __attribute__ ((packed)); 159 + } __packed; 160 160 161 161 enum { 162 162 TX_SUCCESS = 0, ··· 208 208 209 209 /* See done_1 */ 210 210 u8 done_2; 211 - } __attribute__ ((packed)); 211 + } __packed; 212 212 213 213 static inline int wl1251_tx_get_queue(int queue) 214 214 {
+2 -2
drivers/net/wireless/wl12xx/wl1271.h
··· 141 141 u8 dyn_radio_params[WL1271_NVS_FEM_COUNT] 142 142 [WL1271_NVS_DYN_RADIO_PARAMS_SIZE_PADDED]; 143 143 u8 ini_spare[WL1271_NVS_INI_SPARE_SIZE]; 144 - } __attribute__ ((packed)); 144 + } __packed; 145 145 146 146 /* 147 147 * Enable/disable 802.11a support for WL1273 ··· 317 317 __le32 tx_released_blks[NUM_TX_QUEUES]; 318 318 __le32 fw_localtime; 319 319 __le32 padding[2]; 320 - } __attribute__ ((packed)); 320 + } __packed; 321 321 322 322 struct wl1271_rx_mem_pool_addr { 323 323 u32 addr;
+51 -51
drivers/net/wireless/wl12xx/wl1271_acx.h
··· 75 75 76 76 /* payload length (not including headers */ 77 77 __le16 len; 78 - } __attribute__ ((packed)); 78 + } __packed; 79 79 80 80 struct acx_error_counter { 81 81 struct acx_header header; ··· 98 98 /* the number of missed sequence numbers in the squentially */ 99 99 /* values of frames seq numbers */ 100 100 __le32 seq_num_miss; 101 - } __attribute__ ((packed)); 101 + } __packed; 102 102 103 103 struct acx_revision { 104 104 struct acx_header header; ··· 127 127 * bits 24 - 31: Chip ID - The WiLink chip ID. 128 128 */ 129 129 __le32 hw_version; 130 - } __attribute__ ((packed)); 130 + } __packed; 131 131 132 132 enum wl1271_psm_mode { 133 133 /* Active mode */ ··· 149 149 /* 2 - ELP mode: Deep / Max sleep*/ 150 150 u8 sleep_auth; 151 151 u8 padding[3]; 152 - } __attribute__ ((packed)); 152 + } __packed; 153 153 154 154 enum { 155 155 HOSTIF_PCI_MASTER_HOST_INDIRECT, ··· 187 187 * firmware discards the MSDU. 188 188 */ 189 189 __le32 lifetime; 190 - } __attribute__ ((packed)); 190 + } __packed; 191 191 192 192 /* 193 193 * RX Config Options Table ··· 275 275 276 276 __le32 config_options; 277 277 __le32 filter_options; 278 - } __attribute__ ((packed)); 278 + } __packed; 279 279 280 280 struct acx_packet_detection { 281 281 struct acx_header header; 282 282 283 283 __le32 threshold; 284 - } __attribute__ ((packed)); 284 + } __packed; 285 285 286 286 287 287 enum acx_slot_type { ··· 299 299 u8 wone_index; /* Reserved */ 300 300 u8 slot_time; 301 301 u8 reserved[6]; 302 - } __attribute__ ((packed)); 302 + } __packed; 303 303 304 304 305 305 #define ACX_MC_ADDRESS_GROUP_MAX (8) ··· 312 312 u8 num_groups; 313 313 u8 pad[2]; 314 314 u8 mac_table[ADDRESS_GROUP_MAX_LEN]; 315 - } __attribute__ ((packed)); 315 + } __packed; 316 316 317 317 struct acx_rx_timeout { 318 318 struct acx_header header; 319 319 320 320 __le16 ps_poll_timeout; 321 321 __le16 upsd_timeout; 322 - } __attribute__ ((packed)); 322 + } __packed; 323 323 324 324 struct acx_rts_threshold { 325 325 struct acx_header header; 326 326 327 327 __le16 threshold; 328 328 u8 pad[2]; 329 - } __attribute__ ((packed)); 329 + } __packed; 330 330 331 331 struct acx_beacon_filter_option { 332 332 struct acx_header header; ··· 342 342 */ 343 343 u8 max_num_beacons; 344 344 u8 pad[2]; 345 - } __attribute__ ((packed)); 345 + } __packed; 346 346 347 347 /* 348 348 * ACXBeaconFilterEntry (not 221) ··· 383 383 u8 num_ie; 384 384 u8 pad[3]; 385 385 u8 table[BEACON_FILTER_TABLE_MAX_SIZE]; 386 - } __attribute__ ((packed)); 386 + } __packed; 387 387 388 388 struct acx_conn_monit_params { 389 389 struct acx_header header; 390 390 391 391 __le32 synch_fail_thold; /* number of beacons missed */ 392 392 __le32 bss_lose_timeout; /* number of TU's from synch fail */ 393 - } __attribute__ ((packed)); 393 + } __packed; 394 394 395 395 struct acx_bt_wlan_coex { 396 396 struct acx_header header; 397 397 398 398 u8 enable; 399 399 u8 pad[3]; 400 - } __attribute__ ((packed)); 400 + } __packed; 401 401 402 402 struct acx_bt_wlan_coex_param { 403 403 struct acx_header header; ··· 405 405 __le32 params[CONF_SG_PARAMS_MAX]; 406 406 u8 param_idx; 407 407 u8 padding[3]; 408 - } __attribute__ ((packed)); 408 + } __packed; 409 409 410 410 struct acx_dco_itrim_params { 411 411 struct acx_header header; ··· 413 413 u8 enable; 414 414 u8 padding[3]; 415 415 __le32 timeout; 416 - } __attribute__ ((packed)); 416 + } __packed; 417 417 418 418 struct acx_energy_detection { 419 419 struct acx_header header; ··· 422 422 __le16 rx_cca_threshold; 423 423 u8 tx_energy_detection; 424 424 u8 pad; 425 - } __attribute__ ((packed)); 425 + } __packed; 426 426 427 427 struct acx_beacon_broadcast { 428 428 struct acx_header header; ··· 436 436 /* Consecutive PS Poll failures before updating the host */ 437 437 u8 ps_poll_threshold; 438 438 u8 pad[2]; 439 - } __attribute__ ((packed)); 439 + } __packed; 440 440 441 441 struct acx_event_mask { 442 442 struct acx_header header; 443 443 444 444 __le32 event_mask; 445 445 __le32 high_event_mask; /* Unused */ 446 - } __attribute__ ((packed)); 446 + } __packed; 447 447 448 448 #define CFG_RX_FCS BIT(2) 449 449 #define CFG_RX_ALL_GOOD BIT(3) ··· 488 488 489 489 __le32 options; 490 490 __le32 data_flow_options; 491 - } __attribute__ ((packed)); 491 + } __packed; 492 492 493 493 struct acx_current_tx_power { 494 494 struct acx_header header; 495 495 496 496 u8 current_tx_power; 497 497 u8 padding[3]; 498 - } __attribute__ ((packed)); 498 + } __packed; 499 499 500 500 struct acx_wake_up_condition { 501 501 struct acx_header header; ··· 503 503 u8 wake_up_event; /* Only one bit can be set */ 504 504 u8 listen_interval; 505 505 u8 pad[2]; 506 - } __attribute__ ((packed)); 506 + } __packed; 507 507 508 508 struct acx_aid { 509 509 struct acx_header header; ··· 513 513 */ 514 514 __le16 aid; 515 515 u8 pad[2]; 516 - } __attribute__ ((packed)); 516 + } __packed; 517 517 518 518 enum acx_preamble_type { 519 519 ACX_PREAMBLE_LONG = 0, ··· 529 529 */ 530 530 u8 preamble; 531 531 u8 padding[3]; 532 - } __attribute__ ((packed)); 532 + } __packed; 533 533 534 534 enum acx_ctsprotect_type { 535 535 CTSPROTECT_DISABLE = 0, ··· 540 540 struct acx_header header; 541 541 u8 ctsprotect; 542 542 u8 padding[3]; 543 - } __attribute__ ((packed)); 543 + } __packed; 544 544 545 545 struct acx_tx_statistics { 546 546 __le32 internal_desc_overflow; 547 - } __attribute__ ((packed)); 547 + } __packed; 548 548 549 549 struct acx_rx_statistics { 550 550 __le32 out_of_mem; ··· 555 555 __le32 xfr_hint_trig; 556 556 __le32 path_reset; 557 557 __le32 reset_counter; 558 - } __attribute__ ((packed)); 558 + } __packed; 559 559 560 560 struct acx_dma_statistics { 561 561 __le32 rx_requested; 562 562 __le32 rx_errors; 563 563 __le32 tx_requested; 564 564 __le32 tx_errors; 565 - } __attribute__ ((packed)); 565 + } __packed; 566 566 567 567 struct acx_isr_statistics { 568 568 /* host command complete */ ··· 621 621 622 622 /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */ 623 623 __le32 low_rssi; 624 - } __attribute__ ((packed)); 624 + } __packed; 625 625 626 626 struct acx_wep_statistics { 627 627 /* WEP address keys configured */ ··· 643 643 644 644 /* WEP decrypt interrupts */ 645 645 __le32 interrupt; 646 - } __attribute__ ((packed)); 646 + } __packed; 647 647 648 648 #define ACX_MISSED_BEACONS_SPREAD 10 649 649 ··· 703 703 704 704 /* the number of beacons in awake mode */ 705 705 __le32 rcvd_awake_beacons; 706 - } __attribute__ ((packed)); 706 + } __packed; 707 707 708 708 struct acx_mic_statistics { 709 709 __le32 rx_pkts; 710 710 __le32 calc_failure; 711 - } __attribute__ ((packed)); 711 + } __packed; 712 712 713 713 struct acx_aes_statistics { 714 714 __le32 encrypt_fail; ··· 717 717 __le32 decrypt_packets; 718 718 __le32 encrypt_interrupt; 719 719 __le32 decrypt_interrupt; 720 - } __attribute__ ((packed)); 720 + } __packed; 721 721 722 722 struct acx_event_statistics { 723 723 __le32 heart_beat; ··· 728 728 __le32 oom_late; 729 729 __le32 phy_transmit_error; 730 730 __le32 tx_stuck; 731 - } __attribute__ ((packed)); 731 + } __packed; 732 732 733 733 struct acx_ps_statistics { 734 734 __le32 pspoll_timeouts; ··· 738 738 __le32 pspoll_max_apturn; 739 739 __le32 pspoll_utilization; 740 740 __le32 upsd_utilization; 741 - } __attribute__ ((packed)); 741 + } __packed; 742 742 743 743 struct acx_rxpipe_statistics { 744 744 __le32 rx_prep_beacon_drop; ··· 746 746 __le32 beacon_buffer_thres_host_int_trig_rx_data; 747 747 __le32 missed_beacon_host_int_trig_rx_data; 748 748 __le32 tx_xfr_host_int_trig_rx_data; 749 - } __attribute__ ((packed)); 749 + } __packed; 750 750 751 751 struct acx_statistics { 752 752 struct acx_header header; ··· 762 762 struct acx_event_statistics event; 763 763 struct acx_ps_statistics ps; 764 764 struct acx_rxpipe_statistics rxpipe; 765 - } __attribute__ ((packed)); 765 + } __packed; 766 766 767 767 struct acx_rate_class { 768 768 __le32 enabled_rates; ··· 780 780 781 781 __le32 rate_class_cnt; 782 782 struct acx_rate_class rate_class[CONF_TX_MAX_RATE_CLASSES]; 783 - } __attribute__ ((packed)); 783 + } __packed; 784 784 785 785 struct acx_ac_cfg { 786 786 struct acx_header header; ··· 790 790 u8 aifsn; 791 791 u8 reserved; 792 792 __le16 tx_op_limit; 793 - } __attribute__ ((packed)); 793 + } __packed; 794 794 795 795 struct acx_tid_config { 796 796 struct acx_header header; ··· 801 801 u8 ack_policy; 802 802 u8 padding[3]; 803 803 __le32 apsd_conf[2]; 804 - } __attribute__ ((packed)); 804 + } __packed; 805 805 806 806 struct acx_frag_threshold { 807 807 struct acx_header header; 808 808 __le16 frag_threshold; 809 809 u8 padding[2]; 810 - } __attribute__ ((packed)); 810 + } __packed; 811 811 812 812 struct acx_tx_config_options { 813 813 struct acx_header header; 814 814 __le16 tx_compl_timeout; /* msec */ 815 815 __le16 tx_compl_threshold; /* number of packets */ 816 - } __attribute__ ((packed)); 816 + } __packed; 817 817 818 818 #define ACX_RX_MEM_BLOCKS 70 819 819 #define ACX_TX_MIN_MEM_BLOCKS 40 ··· 828 828 u8 num_stations; 829 829 u8 num_ssid_profiles; 830 830 __le32 total_tx_descriptors; 831 - } __attribute__ ((packed)); 831 + } __packed; 832 832 833 833 struct wl1271_acx_mem_map { 834 834 struct acx_header header; ··· 872 872 u8 *rx_cbuf; 873 873 __le32 rx_ctrl; 874 874 __le32 tx_ctrl; 875 - } __attribute__ ((packed)); 875 + } __packed; 876 876 877 877 struct wl1271_acx_rx_config_opt { 878 878 struct acx_header header; ··· 882 882 __le16 timeout; 883 883 u8 queue_type; 884 884 u8 reserved; 885 - } __attribute__ ((packed)); 885 + } __packed; 886 886 887 887 888 888 struct wl1271_acx_bet_enable { ··· 891 891 u8 enable; 892 892 u8 max_consecutive; 893 893 u8 padding[2]; 894 - } __attribute__ ((packed)); 894 + } __packed; 895 895 896 896 #define ACX_IPV4_VERSION 4 897 897 #define ACX_IPV6_VERSION 6 ··· 905 905 requests directed to this IP address will pass 906 906 through. For IPv4, the first four bytes are 907 907 used. */ 908 - } __attribute__((packed)); 908 + } __packed; 909 909 910 910 struct wl1271_acx_pm_config { 911 911 struct acx_header header; ··· 913 913 __le32 host_clk_settling_time; 914 914 u8 host_fast_wakeup_support; 915 915 u8 padding[3]; 916 - } __attribute__ ((packed)); 916 + } __packed; 917 917 918 918 struct wl1271_acx_keep_alive_mode { 919 919 struct acx_header header; 920 920 921 921 u8 enabled; 922 922 u8 padding[3]; 923 - } __attribute__ ((packed)); 923 + } __packed; 924 924 925 925 enum { 926 926 ACX_KEEP_ALIVE_NO_TX = 0, ··· 940 940 u8 tpl_validation; 941 941 u8 trigger; 942 942 u8 padding; 943 - } __attribute__ ((packed)); 943 + } __packed; 944 944 945 945 enum { 946 946 WL1271_ACX_TRIG_TYPE_LEVEL = 0,
+20 -20
drivers/net/wireless/wl12xx/wl1271_cmd.h
··· 136 136 __le16 status; 137 137 /* payload */ 138 138 u8 data[0]; 139 - } __attribute__ ((packed)); 139 + } __packed; 140 140 141 141 #define WL1271_CMD_MAX_PARAMS 572 142 142 143 143 struct wl1271_command { 144 144 struct wl1271_cmd_header header; 145 145 u8 parameters[WL1271_CMD_MAX_PARAMS]; 146 - } __attribute__ ((packed)); 146 + } __packed; 147 147 148 148 enum { 149 149 CMD_MAILBOX_IDLE = 0, ··· 196 196 of this field is the Host in WRITE command or the Wilink in READ 197 197 command. */ 198 198 u8 value[MAX_READ_SIZE]; 199 - } __attribute__ ((packed)); 199 + } __packed; 200 200 201 201 #define CMDMBOX_HEADER_LEN 4 202 202 #define CMDMBOX_INFO_ELEM_HEADER_LEN 4 ··· 243 243 u8 ssid[IW_ESSID_MAX_SIZE]; 244 244 u8 ctrl; /* JOIN_CMD_CTRL_* */ 245 245 u8 reserved[3]; 246 - } __attribute__ ((packed)); 246 + } __packed; 247 247 248 248 struct cmd_enabledisable_path { 249 249 struct wl1271_cmd_header header; 250 250 251 251 u8 channel; 252 252 u8 padding[3]; 253 - } __attribute__ ((packed)); 253 + } __packed; 254 254 255 255 #define WL1271_RATE_AUTOMATIC 0 256 256 ··· 266 266 u8 aflags; 267 267 u8 reserved; 268 268 u8 template_data[WL1271_CMD_TEMPL_MAX_SIZE]; 269 - } __attribute__ ((packed)); 269 + } __packed; 270 270 271 271 #define TIM_ELE_ID 5 272 272 #define PARTIAL_VBM_MAX 251 ··· 278 278 u8 dtim_period; 279 279 u8 bitmap_ctrl; 280 280 u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */ 281 - } __attribute__ ((packed)); 281 + } __packed; 282 282 283 283 enum wl1271_cmd_ps_mode { 284 284 STATION_ACTIVE_MODE, ··· 298 298 */ 299 299 u8 hang_over_period; 300 300 __le32 null_data_rate; 301 - } __attribute__ ((packed)); 301 + } __packed; 302 302 303 303 /* HW encryption keys */ 304 304 #define NUM_ACCESS_CATEGORIES_COPY 4 ··· 348 348 u8 key[MAX_KEY_SIZE]; 349 349 __le16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY]; 350 350 __le32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY]; 351 - } __attribute__ ((packed)); 351 + } __packed; 352 352 353 353 354 354 #define WL1271_SCAN_MAX_CHANNELS 24 ··· 385 385 u8 use_ssid_list; 386 386 u8 scan_tag; 387 387 u8 padding2; 388 - } __attribute__ ((packed)); 388 + } __packed; 389 389 390 390 struct basic_scan_channel_params { 391 391 /* Duration in TU to wait for frames on a channel for active scan */ ··· 400 400 u8 dfs_candidate; 401 401 u8 activity_detected; 402 402 u8 pad; 403 - } __attribute__ ((packed)); 403 + } __packed; 404 404 405 405 struct wl1271_cmd_scan { 406 406 struct wl1271_cmd_header header; 407 407 408 408 struct basic_scan_params params; 409 409 struct basic_scan_channel_params channels[WL1271_SCAN_MAX_CHANNELS]; 410 - } __attribute__ ((packed)); 410 + } __packed; 411 411 412 412 struct wl1271_cmd_trigger_scan_to { 413 413 struct wl1271_cmd_header header; 414 414 415 415 __le32 timeout; 416 - } __attribute__ ((packed)); 416 + } __packed; 417 417 418 418 struct wl1271_cmd_test_header { 419 419 u8 id; 420 420 u8 padding[3]; 421 - } __attribute__ ((packed)); 421 + } __packed; 422 422 423 423 enum wl1271_channel_tune_bands { 424 424 WL1271_CHANNEL_TUNE_BAND_2_4, ··· 441 441 442 442 u8 params[WL1271_NVS_GENERAL_PARAMS_SIZE]; 443 443 s8 reserved[23]; 444 - } __attribute__ ((packed)); 444 + } __packed; 445 445 446 446 #define WL1271_STAT_RADIO_PARAMS_5_SIZE 29 447 447 #define WL1271_DYN_RADIO_PARAMS_5_SIZE 104 ··· 457 457 u8 dyn_radio_params[WL1271_NVS_DYN_RADIO_PARAMS_SIZE]; 458 458 u8 reserved; 459 459 u8 dyn_radio_params_5[WL1271_DYN_RADIO_PARAMS_5_SIZE]; 460 - } __attribute__ ((packed)); 460 + } __packed; 461 461 462 462 struct wl1271_cmd_cal_channel_tune { 463 463 struct wl1271_cmd_header header; ··· 468 468 u8 channel; 469 469 470 470 __le16 radio_status; 471 - } __attribute__ ((packed)); 471 + } __packed; 472 472 473 473 struct wl1271_cmd_cal_update_ref_point { 474 474 struct wl1271_cmd_header header; ··· 479 479 __le32 ref_detector; 480 480 u8 sub_band; 481 481 u8 padding[3]; 482 - } __attribute__ ((packed)); 482 + } __packed; 483 483 484 484 #define MAX_TLV_LENGTH 400 485 485 #define MAX_NVS_VERSION_LENGTH 12 ··· 501 501 502 502 u8 sub_band_mask; 503 503 u8 padding2; 504 - } __attribute__ ((packed)); 504 + } __packed; 505 505 506 506 507 507 /* ··· 529 529 u8 type; 530 530 531 531 u8 padding; 532 - } __attribute__ ((packed)); 532 + } __packed; 533 533 534 534 #endif /* __WL1271_CMD_H__ */
+2 -2
drivers/net/wireless/wl12xx/wl1271_event.h
··· 85 85 __le32 report_1; 86 86 __le32 report_2; 87 87 __le32 report_3; 88 - } __attribute__ ((packed)); 88 + } __packed; 89 89 90 90 #define NUM_OF_RSSI_SNR_TRIGGERS 8 91 91 ··· 116 116 u8 ps_status; 117 117 118 118 u8 reserved_5[29]; 119 - } __attribute__ ((packed)); 119 + } __packed; 120 120 121 121 int wl1271_event_unmask(struct wl1271 *wl); 122 122 void wl1271_event_mbox_config(struct wl1271 *wl);
+1 -1
drivers/net/wireless/wl12xx/wl1271_rx.h
··· 113 113 u8 process_id; 114 114 u8 pad_len; 115 115 u8 reserved; 116 - } __attribute__ ((packed)); 116 + } __packed; 117 117 118 118 void wl1271_rx(struct wl1271 *wl, struct wl1271_fw_status *status); 119 119 u8 wl1271_rate_to_idx(struct wl1271 *wl, int rate);
+3 -3
drivers/net/wireless/wl12xx/wl1271_tx.h
··· 80 80 /* Identifier of the remote STA in IBSS, 1 in infra-BSS */ 81 81 u8 aid; 82 82 u8 reserved; 83 - } __attribute__ ((packed)); 83 + } __packed; 84 84 85 85 enum wl1271_tx_hw_res_status { 86 86 TX_SUCCESS = 0, ··· 115 115 u8 rate_class_index; 116 116 /* for 4-byte alignment. */ 117 117 u8 spare; 118 - } __attribute__ ((packed)); 118 + } __packed; 119 119 120 120 struct wl1271_tx_hw_res_if { 121 121 __le32 tx_result_fw_counter; 122 122 __le32 tx_result_host_counter; 123 123 struct wl1271_tx_hw_res_descr tx_results_queue[TX_HW_RESULT_QUEUE_LEN]; 124 - } __attribute__ ((packed)); 124 + } __packed; 125 125 126 126 static inline int wl1271_tx_get_queue(int queue) 127 127 {
+13 -13
drivers/net/wireless/wl12xx/wl12xx_80211.h
··· 66 66 u8 bssid[ETH_ALEN]; 67 67 __le16 seq_ctl; 68 68 u8 payload[0]; 69 - } __attribute__ ((packed)); 69 + } __packed; 70 70 71 71 struct wl12xx_ie_header { 72 72 u8 id; 73 73 u8 len; 74 - } __attribute__ ((packed)); 74 + } __packed; 75 75 76 76 /* IEs */ 77 77 78 78 struct wl12xx_ie_ssid { 79 79 struct wl12xx_ie_header header; 80 80 char ssid[IW_ESSID_MAX_SIZE]; 81 - } __attribute__ ((packed)); 81 + } __packed; 82 82 83 83 struct wl12xx_ie_rates { 84 84 struct wl12xx_ie_header header; 85 85 u8 rates[MAX_SUPPORTED_RATES]; 86 - } __attribute__ ((packed)); 86 + } __packed; 87 87 88 88 struct wl12xx_ie_ds_params { 89 89 struct wl12xx_ie_header header; 90 90 u8 channel; 91 - } __attribute__ ((packed)); 91 + } __packed; 92 92 93 93 struct country_triplet { 94 94 u8 channel; 95 95 u8 num_channels; 96 96 u8 max_tx_power; 97 - } __attribute__ ((packed)); 97 + } __packed; 98 98 99 99 struct wl12xx_ie_country { 100 100 struct wl12xx_ie_header header; 101 101 u8 country_string[COUNTRY_STRING_LEN]; 102 102 struct country_triplet triplets[MAX_COUNTRY_TRIPLETS]; 103 - } __attribute__ ((packed)); 103 + } __packed; 104 104 105 105 106 106 /* Templates */ ··· 115 115 struct wl12xx_ie_rates ext_rates; 116 116 struct wl12xx_ie_ds_params ds_params; 117 117 struct wl12xx_ie_country country; 118 - } __attribute__ ((packed)); 118 + } __packed; 119 119 120 120 struct wl12xx_null_data_template { 121 121 struct ieee80211_header header; 122 - } __attribute__ ((packed)); 122 + } __packed; 123 123 124 124 struct wl12xx_ps_poll_template { 125 125 __le16 fc; 126 126 __le16 aid; 127 127 u8 bssid[ETH_ALEN]; 128 128 u8 ta[ETH_ALEN]; 129 - } __attribute__ ((packed)); 129 + } __packed; 130 130 131 131 struct wl12xx_qos_null_data_template { 132 132 struct ieee80211_header header; 133 133 __le16 qos_ctl; 134 - } __attribute__ ((packed)); 134 + } __packed; 135 135 136 136 struct wl12xx_probe_req_template { 137 137 struct ieee80211_header header; 138 138 struct wl12xx_ie_ssid ssid; 139 139 struct wl12xx_ie_rates rates; 140 140 struct wl12xx_ie_rates ext_rates; 141 - } __attribute__ ((packed)); 141 + } __packed; 142 142 143 143 144 144 struct wl12xx_probe_resp_template { ··· 151 151 struct wl12xx_ie_rates ext_rates; 152 152 struct wl12xx_ie_ds_params ds_params; 153 153 struct wl12xx_ie_country country; 154 - } __attribute__ ((packed)); 154 + } __packed; 155 155 156 156 #endif
+8 -8
drivers/net/wireless/wl3501.h
··· 231 231 but sizeof(enum) > sizeof(u8) :-( */ 232 232 u8 len; 233 233 u8 data[0]; 234 - } __attribute__ ((packed)); 234 + } __packed; 235 235 236 236 struct iw_mgmt_essid_pset { 237 237 struct iw_mgmt_info_element el; 238 238 u8 essid[IW_ESSID_MAX_SIZE]; 239 - } __attribute__ ((packed)); 239 + } __packed; 240 240 241 241 /* 242 242 * According to 802.11 Wireless Netowors, the definitive guide - O'Reilly ··· 247 247 struct iw_mgmt_data_rset { 248 248 struct iw_mgmt_info_element el; 249 249 u8 data_rate_labels[IW_DATA_RATE_MAX_LABELS]; 250 - } __attribute__ ((packed)); 250 + } __packed; 251 251 252 252 struct iw_mgmt_ds_pset { 253 253 struct iw_mgmt_info_element el; 254 254 u8 chan; 255 - } __attribute__ ((packed)); 255 + } __packed; 256 256 257 257 struct iw_mgmt_cf_pset { 258 258 struct iw_mgmt_info_element el; ··· 260 260 u8 cfp_period; 261 261 u16 cfp_max_duration; 262 262 u16 cfp_dur_remaining; 263 - } __attribute__ ((packed)); 263 + } __packed; 264 264 265 265 struct iw_mgmt_ibss_pset { 266 266 struct iw_mgmt_info_element el; 267 267 u16 atim_window; 268 - } __attribute__ ((packed)); 268 + } __packed; 269 269 270 270 struct wl3501_tx_hdr { 271 271 u16 tx_cnt; ··· 544 544 u8 service; 545 545 u16 len; 546 546 u16 crc16; 547 - } __attribute__ ((packed)); 547 + } __packed; 548 548 549 549 struct wl3501_80211_tx_hdr { 550 550 struct wl3501_80211_tx_plcp_hdr pclp_hdr; 551 551 struct ieee80211_hdr mac_hdr; 552 - } __attribute__ ((packed)); 552 + } __packed; 553 553 554 554 /* 555 555 Reserve the beginning Tx space for descriptor use.
+6 -6
drivers/net/wireless/zd1211rw/zd_mac.h
··· 35 35 __le16 current_length; 36 36 u8 service; 37 37 __le16 next_frame_length; 38 - } __attribute__((packed)); 38 + } __packed; 39 39 40 40 #define ZD_CS_RESERVED_SIZE 25 41 41 ··· 106 106 struct rx_length_info { 107 107 __le16 length[3]; 108 108 __le16 tag; 109 - } __attribute__((packed)); 109 + } __packed; 110 110 111 111 #define RX_LENGTH_INFO_TAG 0x697e 112 112 ··· 117 117 u8 signal_quality_ofdm; 118 118 u8 decryption_type; 119 119 u8 frame_status; 120 - } __attribute__((packed)); 120 + } __packed; 121 121 122 122 /* rx_status field decryption_type */ 123 123 #define ZD_RX_NO_WEP 0 ··· 153 153 u8 mac[ETH_ALEN]; 154 154 u8 retry; 155 155 u8 failure; 156 - } __attribute__((packed)); 156 + } __packed; 157 157 158 158 enum mac_flags { 159 159 MAC_FIXED_CHANNEL = 0x01, ··· 225 225 struct ofdm_plcp_header { 226 226 u8 prefix[3]; 227 227 __le16 service; 228 - } __attribute__((packed)); 228 + } __packed; 229 229 230 230 static inline u8 zd_ofdm_plcp_header_rate(const struct ofdm_plcp_header *header) 231 231 { ··· 252 252 u8 service; 253 253 __le16 length; 254 254 __le16 crc16; 255 - } __attribute__((packed)); 255 + } __packed; 256 256 257 257 static inline u8 zd_cck_plcp_header_signal(const struct cck_plcp_header *header) 258 258 {
+7 -7
drivers/net/wireless/zd1211rw/zd_usb.h
··· 79 79 struct usb_req_read_regs { 80 80 __le16 id; 81 81 __le16 addr[0]; 82 - } __attribute__((packed)); 82 + } __packed; 83 83 84 84 struct reg_data { 85 85 __le16 addr; 86 86 __le16 value; 87 - } __attribute__((packed)); 87 + } __packed; 88 88 89 89 struct usb_req_write_regs { 90 90 __le16 id; 91 91 struct reg_data reg_writes[0]; 92 - } __attribute__((packed)); 92 + } __packed; 93 93 94 94 enum { 95 95 RF_IF_LE = 0x02, ··· 106 106 /* RF2595: 24 */ 107 107 __le16 bit_values[0]; 108 108 /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */ 109 - } __attribute__((packed)); 109 + } __packed; 110 110 111 111 /* USB interrupt */ 112 112 ··· 123 123 struct usb_int_header { 124 124 u8 type; /* must always be 1 */ 125 125 u8 id; 126 - } __attribute__((packed)); 126 + } __packed; 127 127 128 128 struct usb_int_regs { 129 129 struct usb_int_header hdr; 130 130 struct reg_data regs[0]; 131 - } __attribute__((packed)); 131 + } __packed; 132 132 133 133 struct usb_int_retry_fail { 134 134 struct usb_int_header hdr; ··· 136 136 u8 _dummy; 137 137 u8 addr[ETH_ALEN]; 138 138 u8 ibss_wakeup_dest; 139 - } __attribute__((packed)); 139 + } __packed; 140 140 141 141 struct read_regs_int { 142 142 struct completion completion;