diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-06-02 14:10:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-03 06:18:23 -0400 |
commit | ba2d3587912f82d1ab4367975b1df460db60fb1e (patch) | |
tree | 1e4e04caf23274bb4e39edbfc5713b4856326953 /drivers/net | |
parent | 1273d97674a1782ff55b823aa6c40aea9b538aaf (diff) |
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>
Diffstat (limited to 'drivers/net')
113 files changed, 934 insertions, 934 deletions
diff --git a/drivers/net/3c527.h b/drivers/net/3c527.h index 75e28fef797b..d693b8d15cde 100644 --- a/drivers/net/3c527.h +++ b/drivers/net/3c527.h | |||
@@ -34,7 +34,7 @@ struct mc32_mailbox | |||
34 | { | 34 | { |
35 | u16 mbox; | 35 | u16 mbox; |
36 | u16 data[1]; | 36 | u16 data[1]; |
37 | } __attribute((packed)); | 37 | } __packed; |
38 | 38 | ||
39 | struct skb_header | 39 | struct skb_header |
40 | { | 40 | { |
@@ -43,7 +43,7 @@ struct skb_header | |||
43 | u16 next; /* Do not change! */ | 43 | u16 next; /* Do not change! */ |
44 | u16 length; | 44 | u16 length; |
45 | u32 data; | 45 | u32 data; |
46 | } __attribute((packed)); | 46 | } __packed; |
47 | 47 | ||
48 | struct mc32_stats | 48 | struct mc32_stats |
49 | { | 49 | { |
@@ -68,7 +68,7 @@ struct mc32_stats | |||
68 | u32 dataA[6]; | 68 | u32 dataA[6]; |
69 | u16 dataB[5]; | 69 | u16 dataB[5]; |
70 | u32 dataC[14]; | 70 | u32 dataC[14]; |
71 | } __attribute((packed)); | 71 | } __packed; |
72 | 72 | ||
73 | #define STATUS_MASK 0x0F | 73 | #define STATUS_MASK 0x0F |
74 | #define COMPLETED (1<<7) | 74 | #define COMPLETED (1<<7) |
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c index 9c149750e2bf..e949ba80127d 100644 --- a/drivers/net/8139cp.c +++ b/drivers/net/8139cp.c | |||
@@ -322,7 +322,7 @@ struct cp_dma_stats { | |||
322 | __le32 rx_ok_mcast; | 322 | __le32 rx_ok_mcast; |
323 | __le16 tx_abort; | 323 | __le16 tx_abort; |
324 | __le16 tx_underrun; | 324 | __le16 tx_underrun; |
325 | } __attribute__((packed)); | 325 | } __packed; |
326 | 326 | ||
327 | struct cp_extra_stats { | 327 | struct cp_extra_stats { |
328 | unsigned long rx_frags; | 328 | unsigned long rx_frags; |
diff --git a/drivers/net/atlx/atl1.h b/drivers/net/atlx/atl1.h index 146372fd6683..9c0ddb273ac8 100644 --- a/drivers/net/atlx/atl1.h +++ b/drivers/net/atlx/atl1.h | |||
@@ -436,8 +436,8 @@ struct rx_free_desc { | |||
436 | __le16 buf_len; /* Size of the receive buffer in host memory */ | 436 | __le16 buf_len; /* Size of the receive buffer in host memory */ |
437 | u16 coalese; /* Update consumer index to host after the | 437 | u16 coalese; /* Update consumer index to host after the |
438 | * reception of this frame */ | 438 | * reception of this frame */ |
439 | /* __attribute__ ((packed)) is required */ | 439 | /* __packed is required */ |
440 | } __attribute__ ((packed)); | 440 | } __packed; |
441 | 441 | ||
442 | /* | 442 | /* |
443 | * The L1 transmit packet descriptor is comprised of four 32-bit words. | 443 | * The L1 transmit packet descriptor is comprised of four 32-bit words. |
diff --git a/drivers/net/can/mscan/mscan.h b/drivers/net/can/mscan/mscan.h index 4ff966473bc9..b43e9f5d3268 100644 --- a/drivers/net/can/mscan/mscan.h +++ b/drivers/net/can/mscan/mscan.h | |||
@@ -227,7 +227,7 @@ struct mscan_regs { | |||
227 | u16 time; /* + 0x7c 0x3e */ | 227 | u16 time; /* + 0x7c 0x3e */ |
228 | } tx; | 228 | } tx; |
229 | _MSCAN_RESERVED_(32, 2); /* + 0x7e */ | 229 | _MSCAN_RESERVED_(32, 2); /* + 0x7e */ |
230 | } __attribute__ ((packed)); | 230 | } __packed; |
231 | 231 | ||
232 | #undef _MSCAN_RESERVED_ | 232 | #undef _MSCAN_RESERVED_ |
233 | #define MSCAN_REGION sizeof(struct mscan) | 233 | #define MSCAN_REGION sizeof(struct mscan) |
diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c index 1fc0871d2ef7..e75f1a876972 100644 --- a/drivers/net/can/usb/ems_usb.c +++ b/drivers/net/can/usb/ems_usb.c | |||
@@ -197,7 +197,7 @@ struct cpc_can_err_counter { | |||
197 | }; | 197 | }; |
198 | 198 | ||
199 | /* Main message type used between library and application */ | 199 | /* Main message type used between library and application */ |
200 | struct __attribute__ ((packed)) ems_cpc_msg { | 200 | struct __packed ems_cpc_msg { |
201 | u8 type; /* type of message */ | 201 | u8 type; /* type of message */ |
202 | u8 length; /* length of data within union 'msg' */ | 202 | u8 length; /* length of data within union 'msg' */ |
203 | u8 msgid; /* confirmation handle */ | 203 | u8 msgid; /* confirmation handle */ |
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c index abcc838e18af..4fd6b2b4554b 100644 --- a/drivers/net/dm9000.c +++ b/drivers/net/dm9000.c | |||
@@ -961,7 +961,7 @@ struct dm9000_rxhdr { | |||
961 | u8 RxPktReady; | 961 | u8 RxPktReady; |
962 | u8 RxStatus; | 962 | u8 RxStatus; |
963 | __le16 RxLen; | 963 | __le16 RxLen; |
964 | } __attribute__((__packed__)); | 964 | } __packed; |
965 | 965 | ||
966 | /* | 966 | /* |
967 | * Received a packet and pass to upper layer | 967 | * Received a packet and pass to upper layer |
diff --git a/drivers/net/ehea/ehea_qmr.h b/drivers/net/ehea/ehea_qmr.h index 882c50c9c34f..f608a6c54af5 100644 --- a/drivers/net/ehea/ehea_qmr.h +++ b/drivers/net/ehea/ehea_qmr.h | |||
@@ -126,7 +126,7 @@ struct ehea_swqe { | |||
126 | u8 immediate_data[SWQE2_MAX_IMM]; | 126 | u8 immediate_data[SWQE2_MAX_IMM]; |
127 | /* 0xd0 */ | 127 | /* 0xd0 */ |
128 | struct ehea_vsgentry sg_list[EHEA_MAX_WQE_SG_ENTRIES-1]; | 128 | struct ehea_vsgentry sg_list[EHEA_MAX_WQE_SG_ENTRIES-1]; |
129 | } immdata_desc __attribute__ ((packed)); | 129 | } immdata_desc __packed; |
130 | 130 | ||
131 | /* Send WQE Format 3 */ | 131 | /* Send WQE Format 3 */ |
132 | struct { | 132 | struct { |
diff --git a/drivers/net/enic/vnic_vic.h b/drivers/net/enic/vnic_vic.h index 085c2a274cb1..7e46e5e8600f 100644 --- a/drivers/net/enic/vnic_vic.h +++ b/drivers/net/enic/vnic_vic.h | |||
@@ -44,7 +44,7 @@ struct vic_provinfo { | |||
44 | u16 length; | 44 | u16 length; |
45 | u8 value[0]; | 45 | u8 value[0]; |
46 | } tlv[0]; | 46 | } tlv[0]; |
47 | } __attribute__ ((packed)); | 47 | } __packed; |
48 | 48 | ||
49 | #define VIC_PROVINFO_MAX_DATA 1385 | 49 | #define VIC_PROVINFO_MAX_DATA 1385 |
50 | #define VIC_PROVINFO_MAX_TLV_DATA (VIC_PROVINFO_MAX_DATA - \ | 50 | #define VIC_PROVINFO_MAX_TLV_DATA (VIC_PROVINFO_MAX_DATA - \ |
diff --git a/drivers/net/fsl_pq_mdio.h b/drivers/net/fsl_pq_mdio.h index 1f7d865cedb6..bd17a2a0139b 100644 --- a/drivers/net/fsl_pq_mdio.h +++ b/drivers/net/fsl_pq_mdio.h | |||
@@ -39,7 +39,7 @@ struct fsl_pq_mdio { | |||
39 | u8 reserved[28]; /* Space holder */ | 39 | u8 reserved[28]; /* Space holder */ |
40 | u32 utbipar; /* TBI phy address reg (only on UCC) */ | 40 | u32 utbipar; /* TBI phy address reg (only on UCC) */ |
41 | u8 res4[2728]; | 41 | u8 res4[2728]; |
42 | } __attribute__ ((packed)); | 42 | } __packed; |
43 | 43 | ||
44 | int fsl_pq_mdio_read(struct mii_bus *bus, int mii_id, int regnum); | 44 | int fsl_pq_mdio_read(struct mii_bus *bus, int mii_id, int regnum); |
45 | int fsl_pq_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value); | 45 | int fsl_pq_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value); |
diff --git a/drivers/net/irda/donauboe.h b/drivers/net/irda/donauboe.h index 0dbd1932b72f..36c3060411d2 100644 --- a/drivers/net/irda/donauboe.h +++ b/drivers/net/irda/donauboe.h | |||
@@ -273,7 +273,7 @@ struct OboeSlot | |||
273 | __u8 control; /*Slot control/status see below */ | 273 | __u8 control; /*Slot control/status see below */ |
274 | __u32 address; /*Slot buffer address */ | 274 | __u32 address; /*Slot buffer address */ |
275 | } | 275 | } |
276 | __attribute__ ((packed)); | 276 | __packed; |
277 | 277 | ||
278 | #define OBOE_NTASKS OBOE_TXRING_OFFSET_IN_SLOTS | 278 | #define OBOE_NTASKS OBOE_TXRING_OFFSET_IN_SLOTS |
279 | 279 | ||
diff --git a/drivers/net/irda/irda-usb.h b/drivers/net/irda/irda-usb.h index ac0443d52e50..58ddb5214916 100644 --- a/drivers/net/irda/irda-usb.h +++ b/drivers/net/irda/irda-usb.h | |||
@@ -125,7 +125,7 @@ struct irda_class_desc { | |||
125 | __u8 bmAdditionalBOFs; | 125 | __u8 bmAdditionalBOFs; |
126 | __u8 bIrdaRateSniff; | 126 | __u8 bIrdaRateSniff; |
127 | __u8 bMaxUnicastList; | 127 | __u8 bMaxUnicastList; |
128 | } __attribute__ ((packed)); | 128 | } __packed; |
129 | 129 | ||
130 | /* class specific interface request to get the IrDA-USB class descriptor | 130 | /* class specific interface request to get the IrDA-USB class descriptor |
131 | * (6.2.5, USB-IrDA class spec 1.0) */ | 131 | * (6.2.5, USB-IrDA class spec 1.0) */ |
diff --git a/drivers/net/irda/ks959-sir.c b/drivers/net/irda/ks959-sir.c index b54d3b48045e..1046014dd6c2 100644 --- a/drivers/net/irda/ks959-sir.c +++ b/drivers/net/irda/ks959-sir.c | |||
@@ -154,7 +154,7 @@ struct ks959_speedparams { | |||
154 | __le32 baudrate; /* baud rate, little endian */ | 154 | __le32 baudrate; /* baud rate, little endian */ |
155 | __u8 flags; | 155 | __u8 flags; |
156 | __u8 reserved[3]; | 156 | __u8 reserved[3]; |
157 | } __attribute__ ((packed)); | 157 | } __packed; |
158 | 158 | ||
159 | #define KS_DATA_5_BITS 0x00 | 159 | #define KS_DATA_5_BITS 0x00 |
160 | #define KS_DATA_6_BITS 0x01 | 160 | #define KS_DATA_6_BITS 0x01 |
diff --git a/drivers/net/irda/ksdazzle-sir.c b/drivers/net/irda/ksdazzle-sir.c index 8d713ebac15b..9cc142fcc712 100644 --- a/drivers/net/irda/ksdazzle-sir.c +++ b/drivers/net/irda/ksdazzle-sir.c | |||
@@ -117,7 +117,7 @@ struct ksdazzle_speedparams { | |||
117 | __le32 baudrate; /* baud rate, little endian */ | 117 | __le32 baudrate; /* baud rate, little endian */ |
118 | __u8 flags; | 118 | __u8 flags; |
119 | __u8 reserved[3]; | 119 | __u8 reserved[3]; |
120 | } __attribute__ ((packed)); | 120 | } __packed; |
121 | 121 | ||
122 | #define KS_DATA_5_BITS 0x00 | 122 | #define KS_DATA_5_BITS 0x00 |
123 | #define KS_DATA_6_BITS 0x01 | 123 | #define KS_DATA_6_BITS 0x01 |
diff --git a/drivers/net/irda/vlsi_ir.h b/drivers/net/irda/vlsi_ir.h index 3050d1a0cccf..3f24a1f33022 100644 --- a/drivers/net/irda/vlsi_ir.h +++ b/drivers/net/irda/vlsi_ir.h | |||
@@ -544,9 +544,9 @@ struct ring_descr_hw { | |||
544 | struct { | 544 | struct { |
545 | u8 addr_res[3]; | 545 | u8 addr_res[3]; |
546 | volatile u8 status; /* descriptor status */ | 546 | volatile u8 status; /* descriptor status */ |
547 | } __attribute__((packed)) rd_s; | 547 | } __packed rd_s; |
548 | } __attribute((packed)) rd_u; | 548 | } __packed rd_u; |
549 | } __attribute__ ((packed)); | 549 | } __packed; |
550 | 550 | ||
551 | #define rd_addr rd_u.addr | 551 | #define rd_addr rd_u.addr |
552 | #define rd_status rd_u.rd_s.status | 552 | #define rd_status rd_u.rd_s.status |
diff --git a/drivers/net/mlx4/eq.c b/drivers/net/mlx4/eq.c index 423053482ed5..22d0b3b796b4 100644 --- a/drivers/net/mlx4/eq.c +++ b/drivers/net/mlx4/eq.c | |||
@@ -110,7 +110,7 @@ struct mlx4_eqe { | |||
110 | u32 raw[6]; | 110 | u32 raw[6]; |
111 | struct { | 111 | struct { |
112 | __be32 cqn; | 112 | __be32 cqn; |
113 | } __attribute__((packed)) comp; | 113 | } __packed comp; |
114 | struct { | 114 | struct { |
115 | u16 reserved1; | 115 | u16 reserved1; |
116 | __be16 token; | 116 | __be16 token; |
@@ -118,27 +118,27 @@ struct mlx4_eqe { | |||
118 | u8 reserved3[3]; | 118 | u8 reserved3[3]; |
119 | u8 status; | 119 | u8 status; |
120 | __be64 out_param; | 120 | __be64 out_param; |
121 | } __attribute__((packed)) cmd; | 121 | } __packed cmd; |
122 | struct { | 122 | struct { |
123 | __be32 qpn; | 123 | __be32 qpn; |
124 | } __attribute__((packed)) qp; | 124 | } __packed qp; |
125 | struct { | 125 | struct { |
126 | __be32 srqn; | 126 | __be32 srqn; |
127 | } __attribute__((packed)) srq; | 127 | } __packed srq; |
128 | struct { | 128 | struct { |
129 | __be32 cqn; | 129 | __be32 cqn; |
130 | u32 reserved1; | 130 | u32 reserved1; |
131 | u8 reserved2[3]; | 131 | u8 reserved2[3]; |
132 | u8 syndrome; | 132 | u8 syndrome; |
133 | } __attribute__((packed)) cq_err; | 133 | } __packed cq_err; |
134 | struct { | 134 | struct { |
135 | u32 reserved1[2]; | 135 | u32 reserved1[2]; |
136 | __be32 port; | 136 | __be32 port; |
137 | } __attribute__((packed)) port_change; | 137 | } __packed port_change; |
138 | } event; | 138 | } event; |
139 | u8 reserved3[3]; | 139 | u8 reserved3[3]; |
140 | u8 owner; | 140 | u8 owner; |
141 | } __attribute__((packed)); | 141 | } __packed; |
142 | 142 | ||
143 | static void eq_set_ci(struct mlx4_eq *eq, int req_not) | 143 | static void eq_set_ci(struct mlx4_eq *eq, int req_not) |
144 | { | 144 | { |
diff --git a/drivers/net/mlx4/mr.c b/drivers/net/mlx4/mr.c index 3dc69be4949f..9c188bdd7f4f 100644 --- a/drivers/net/mlx4/mr.c +++ b/drivers/net/mlx4/mr.c | |||
@@ -58,7 +58,7 @@ struct mlx4_mpt_entry { | |||
58 | __be32 mtt_sz; | 58 | __be32 mtt_sz; |
59 | __be32 entity_size; | 59 | __be32 entity_size; |
60 | __be32 first_byte_offset; | 60 | __be32 first_byte_offset; |
61 | } __attribute__((packed)); | 61 | } __packed; |
62 | 62 | ||
63 | #define MLX4_MPT_FLAG_SW_OWNS (0xfUL << 28) | 63 | #define MLX4_MPT_FLAG_SW_OWNS (0xfUL << 28) |
64 | #define MLX4_MPT_FLAG_FREE (0x3UL << 28) | 64 | #define MLX4_MPT_FLAG_FREE (0x3UL << 28) |
diff --git a/drivers/net/ps3_gelic_wireless.h b/drivers/net/ps3_gelic_wireless.h index 0a88b535197a..f7e51b7d7049 100644 --- a/drivers/net/ps3_gelic_wireless.h +++ b/drivers/net/ps3_gelic_wireless.h | |||
@@ -74,7 +74,7 @@ struct gelic_eurus_common_cfg { | |||
74 | u16 bss_type; /* infra or adhoc */ | 74 | u16 bss_type; /* infra or adhoc */ |
75 | u16 auth_method; /* shared key or open */ | 75 | u16 auth_method; /* shared key or open */ |
76 | u16 op_mode; /* B/G */ | 76 | u16 op_mode; /* B/G */ |
77 | } __attribute__((packed)); | 77 | } __packed; |
78 | 78 | ||
79 | 79 | ||
80 | /* for GELIC_EURUS_CMD_WEP_CFG */ | 80 | /* for GELIC_EURUS_CMD_WEP_CFG */ |
@@ -88,7 +88,7 @@ struct gelic_eurus_wep_cfg { | |||
88 | /* all fields are big endian */ | 88 | /* all fields are big endian */ |
89 | u16 security; | 89 | u16 security; |
90 | u8 key[4][16]; | 90 | u8 key[4][16]; |
91 | } __attribute__((packed)); | 91 | } __packed; |
92 | 92 | ||
93 | /* for GELIC_EURUS_CMD_WPA_CFG */ | 93 | /* for GELIC_EURUS_CMD_WPA_CFG */ |
94 | enum gelic_eurus_wpa_security { | 94 | enum gelic_eurus_wpa_security { |
@@ -120,7 +120,7 @@ struct gelic_eurus_wpa_cfg { | |||
120 | u16 security; | 120 | u16 security; |
121 | u16 psk_type; /* psk key encoding type */ | 121 | u16 psk_type; /* psk key encoding type */ |
122 | u8 psk[GELIC_WL_EURUS_PSK_MAX_LEN]; /* psk key; hex or passphrase */ | 122 | u8 psk[GELIC_WL_EURUS_PSK_MAX_LEN]; /* psk key; hex or passphrase */ |
123 | } __attribute__((packed)); | 123 | } __packed; |
124 | 124 | ||
125 | /* for GELIC_EURUS_CMD_{START,GET}_SCAN */ | 125 | /* for GELIC_EURUS_CMD_{START,GET}_SCAN */ |
126 | enum gelic_eurus_scan_capability { | 126 | enum gelic_eurus_scan_capability { |
@@ -171,7 +171,7 @@ struct gelic_eurus_scan_info { | |||
171 | __be32 reserved3; | 171 | __be32 reserved3; |
172 | __be32 reserved4; | 172 | __be32 reserved4; |
173 | u8 elements[0]; /* ie */ | 173 | u8 elements[0]; /* ie */ |
174 | } __attribute__ ((packed)); | 174 | } __packed; |
175 | 175 | ||
176 | /* the hypervisor returns bbs up to 16 */ | 176 | /* the hypervisor returns bbs up to 16 */ |
177 | #define GELIC_EURUS_MAX_SCAN (16) | 177 | #define GELIC_EURUS_MAX_SCAN (16) |
@@ -193,7 +193,7 @@ struct gelic_wl_scan_info { | |||
193 | struct gelic_eurus_rssi_info { | 193 | struct gelic_eurus_rssi_info { |
194 | /* big endian */ | 194 | /* big endian */ |
195 | __be16 rssi; | 195 | __be16 rssi; |
196 | } __attribute__ ((packed)); | 196 | } __packed; |
197 | 197 | ||
198 | 198 | ||
199 | /* for 'stat' member of gelic_wl_info */ | 199 | /* for 'stat' member of gelic_wl_info */ |
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h index 20624ba44a37..bfb8b327f2fd 100644 --- a/drivers/net/qlge/qlge.h +++ b/drivers/net/qlge/qlge.h | |||
@@ -1062,7 +1062,7 @@ struct tx_buf_desc { | |||
1062 | #define TX_DESC_LEN_MASK 0x000fffff | 1062 | #define TX_DESC_LEN_MASK 0x000fffff |
1063 | #define TX_DESC_C 0x40000000 | 1063 | #define TX_DESC_C 0x40000000 |
1064 | #define TX_DESC_E 0x80000000 | 1064 | #define TX_DESC_E 0x80000000 |
1065 | } __attribute((packed)); | 1065 | } __packed; |
1066 | 1066 | ||
1067 | /* | 1067 | /* |
1068 | * IOCB Definitions... | 1068 | * IOCB Definitions... |
@@ -1095,7 +1095,7 @@ struct ob_mac_iocb_req { | |||
1095 | __le16 vlan_tci; | 1095 | __le16 vlan_tci; |
1096 | __le16 reserved4; | 1096 | __le16 reserved4; |
1097 | struct tx_buf_desc tbd[TX_DESC_PER_IOCB]; | 1097 | struct tx_buf_desc tbd[TX_DESC_PER_IOCB]; |
1098 | } __attribute((packed)); | 1098 | } __packed; |
1099 | 1099 | ||
1100 | struct ob_mac_iocb_rsp { | 1100 | struct ob_mac_iocb_rsp { |
1101 | u8 opcode; /* */ | 1101 | u8 opcode; /* */ |
@@ -1112,7 +1112,7 @@ struct ob_mac_iocb_rsp { | |||
1112 | u32 tid; | 1112 | u32 tid; |
1113 | u32 txq_idx; | 1113 | u32 txq_idx; |
1114 | __le32 reserved[13]; | 1114 | __le32 reserved[13]; |
1115 | } __attribute((packed)); | 1115 | } __packed; |
1116 | 1116 | ||
1117 | struct ob_mac_tso_iocb_req { | 1117 | struct ob_mac_tso_iocb_req { |
1118 | u8 opcode; | 1118 | u8 opcode; |
@@ -1140,7 +1140,7 @@ struct ob_mac_tso_iocb_req { | |||
1140 | __le16 vlan_tci; | 1140 | __le16 vlan_tci; |
1141 | __le16 mss; | 1141 | __le16 mss; |
1142 | struct tx_buf_desc tbd[TX_DESC_PER_IOCB]; | 1142 | struct tx_buf_desc tbd[TX_DESC_PER_IOCB]; |
1143 | } __attribute((packed)); | 1143 | } __packed; |
1144 | 1144 | ||
1145 | struct ob_mac_tso_iocb_rsp { | 1145 | struct ob_mac_tso_iocb_rsp { |
1146 | u8 opcode; | 1146 | u8 opcode; |
@@ -1157,7 +1157,7 @@ struct ob_mac_tso_iocb_rsp { | |||
1157 | u32 tid; | 1157 | u32 tid; |
1158 | u32 txq_idx; | 1158 | u32 txq_idx; |
1159 | __le32 reserved2[13]; | 1159 | __le32 reserved2[13]; |
1160 | } __attribute((packed)); | 1160 | } __packed; |
1161 | 1161 | ||
1162 | struct ib_mac_iocb_rsp { | 1162 | struct ib_mac_iocb_rsp { |
1163 | u8 opcode; /* 0x20 */ | 1163 | u8 opcode; /* 0x20 */ |
@@ -1216,7 +1216,7 @@ struct ib_mac_iocb_rsp { | |||
1216 | #define IB_MAC_IOCB_RSP_HL 0x80 | 1216 | #define IB_MAC_IOCB_RSP_HL 0x80 |
1217 | __le32 hdr_len; /* */ | 1217 | __le32 hdr_len; /* */ |
1218 | __le64 hdr_addr; /* */ | 1218 | __le64 hdr_addr; /* */ |
1219 | } __attribute((packed)); | 1219 | } __packed; |
1220 | 1220 | ||
1221 | struct ib_ae_iocb_rsp { | 1221 | struct ib_ae_iocb_rsp { |
1222 | u8 opcode; | 1222 | u8 opcode; |
@@ -1237,7 +1237,7 @@ struct ib_ae_iocb_rsp { | |||
1237 | #define PCI_ERR_ANON_BUF_RD 0x40 | 1237 | #define PCI_ERR_ANON_BUF_RD 0x40 |
1238 | u8 q_id; | 1238 | u8 q_id; |
1239 | __le32 reserved[15]; | 1239 | __le32 reserved[15]; |
1240 | } __attribute((packed)); | 1240 | } __packed; |
1241 | 1241 | ||
1242 | /* | 1242 | /* |
1243 | * These three structures are for generic | 1243 | * These three structures are for generic |
@@ -1249,7 +1249,7 @@ struct ql_net_rsp_iocb { | |||
1249 | __le16 length; | 1249 | __le16 length; |
1250 | __le32 tid; | 1250 | __le32 tid; |
1251 | __le32 reserved[14]; | 1251 | __le32 reserved[14]; |
1252 | } __attribute((packed)); | 1252 | } __packed; |
1253 | 1253 | ||
1254 | struct net_req_iocb { | 1254 | struct net_req_iocb { |
1255 | u8 opcode; | 1255 | u8 opcode; |
@@ -1257,7 +1257,7 @@ struct net_req_iocb { | |||
1257 | __le16 flags1; | 1257 | __le16 flags1; |
1258 | __le32 tid; | 1258 | __le32 tid; |
1259 | __le32 reserved1[30]; | 1259 | __le32 reserved1[30]; |
1260 | } __attribute((packed)); | 1260 | } __packed; |
1261 | 1261 | ||
1262 | /* | 1262 | /* |
1263 | * tx ring initialization control block for chip. | 1263 | * tx ring initialization control block for chip. |
@@ -1283,7 +1283,7 @@ struct wqicb { | |||
1283 | __le16 rid; | 1283 | __le16 rid; |
1284 | __le64 addr; | 1284 | __le64 addr; |
1285 | __le64 cnsmr_idx_addr; | 1285 | __le64 cnsmr_idx_addr; |
1286 | } __attribute((packed)); | 1286 | } __packed; |
1287 | 1287 | ||
1288 | /* | 1288 | /* |
1289 | * rx ring initialization control block for chip. | 1289 | * rx ring initialization control block for chip. |
@@ -1317,7 +1317,7 @@ struct cqicb { | |||
1317 | __le64 sbq_addr; | 1317 | __le64 sbq_addr; |
1318 | __le16 sbq_buf_size; | 1318 | __le16 sbq_buf_size; |
1319 | __le16 sbq_len; /* entry count */ | 1319 | __le16 sbq_len; /* entry count */ |
1320 | } __attribute((packed)); | 1320 | } __packed; |
1321 | 1321 | ||
1322 | struct ricb { | 1322 | struct ricb { |
1323 | u8 base_cq; | 1323 | u8 base_cq; |
@@ -1335,7 +1335,7 @@ struct ricb { | |||
1335 | u8 hash_cq_id[1024]; | 1335 | u8 hash_cq_id[1024]; |
1336 | __le32 ipv6_hash_key[10]; | 1336 | __le32 ipv6_hash_key[10]; |
1337 | __le32 ipv4_hash_key[4]; | 1337 | __le32 ipv4_hash_key[4]; |
1338 | } __attribute((packed)); | 1338 | } __packed; |
1339 | 1339 | ||
1340 | /* SOFTWARE/DRIVER DATA STRUCTURES. */ | 1340 | /* SOFTWARE/DRIVER DATA STRUCTURES. */ |
1341 | 1341 | ||
diff --git a/drivers/net/sfc/selftest.c b/drivers/net/sfc/selftest.c index c088740e3493..1f83404af63b 100644 --- a/drivers/net/sfc/selftest.c +++ b/drivers/net/sfc/selftest.c | |||
@@ -38,7 +38,7 @@ struct efx_loopback_payload { | |||
38 | struct udphdr udp; | 38 | struct udphdr udp; |
39 | __be16 iteration; | 39 | __be16 iteration; |
40 | const char msg[64]; | 40 | const char msg[64]; |
41 | } __attribute__ ((packed)); | 41 | } __packed; |
42 | 42 | ||
43 | /* Loopback test source MAC address */ | 43 | /* Loopback test source MAC address */ |
44 | static const unsigned char payload_source[ETH_ALEN] = { | 44 | static const unsigned char payload_source[ETH_ALEN] = { |
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index 084eff21b67a..61891a6cacc2 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
@@ -2161,21 +2161,21 @@ struct sky2_tx_le { | |||
2161 | __le16 length; /* also vlan tag or checksum start */ | 2161 | __le16 length; /* also vlan tag or checksum start */ |
2162 | u8 ctrl; | 2162 | u8 ctrl; |
2163 | u8 opcode; | 2163 | u8 opcode; |
2164 | } __attribute((packed)); | 2164 | } __packed; |
2165 | 2165 | ||
2166 | struct sky2_rx_le { | 2166 | struct sky2_rx_le { |
2167 | __le32 addr; | 2167 | __le32 addr; |
2168 | __le16 length; | 2168 | __le16 length; |
2169 | u8 ctrl; | 2169 | u8 ctrl; |
2170 | u8 opcode; | 2170 | u8 opcode; |
2171 | } __attribute((packed)); | 2171 | } __packed; |
2172 | 2172 | ||
2173 | struct sky2_status_le { | 2173 | struct sky2_status_le { |
2174 | __le32 status; /* also checksum */ | 2174 | __le32 status; /* also checksum */ |
2175 | __le16 length; /* also vlan tag */ | 2175 | __le16 length; /* also vlan tag */ |
2176 | u8 css; | 2176 | u8 css; |
2177 | u8 opcode; | 2177 | u8 opcode; |
2178 | } __attribute((packed)); | 2178 | } __packed; |
2179 | 2179 | ||
2180 | struct tx_ring_info { | 2180 | struct tx_ring_info { |
2181 | struct sk_buff *skb; | 2181 | struct sk_buff *skb; |
diff --git a/drivers/net/tehuti.h b/drivers/net/tehuti.h index cff98d07cba8..67e3b71bf705 100644 --- a/drivers/net/tehuti.h +++ b/drivers/net/tehuti.h | |||
@@ -334,7 +334,7 @@ struct txd_desc { | |||
334 | u32 va_lo; | 334 | u32 va_lo; |
335 | u32 va_hi; | 335 | u32 va_hi; |
336 | struct pbl pbl[0]; /* Fragments */ | 336 | struct pbl pbl[0]; /* Fragments */ |
337 | } __attribute__ ((packed)); | 337 | } __packed; |
338 | 338 | ||
339 | /* Register region size */ | 339 | /* Register region size */ |
340 | #define BDX_REGS_SIZE 0x1000 | 340 | #define BDX_REGS_SIZE 0x1000 |
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index c0e70006374e..960962660079 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c | |||
@@ -262,13 +262,13 @@ struct de_srom_media_block { | |||
262 | u16 csr13; | 262 | u16 csr13; |
263 | u16 csr14; | 263 | u16 csr14; |
264 | u16 csr15; | 264 | u16 csr15; |
265 | } __attribute__((packed)); | 265 | } __packed; |
266 | 266 | ||
267 | struct de_srom_info_leaf { | 267 | struct de_srom_info_leaf { |
268 | u16 default_media; | 268 | u16 default_media; |
269 | u8 n_blocks; | 269 | u8 n_blocks; |
270 | u8 unused; | 270 | u8 unused; |
271 | } __attribute__((packed)); | 271 | } __packed; |
272 | 272 | ||
273 | struct de_desc { | 273 | struct de_desc { |
274 | __le32 opts1; | 274 | __le32 opts1; |
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index 22bde49262c0..2e50077ff450 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c | |||
@@ -255,7 +255,7 @@ struct typhoon_shared { | |||
255 | struct rx_free rxBuff[RXFREE_ENTRIES] __3xp_aligned; | 255 | struct rx_free rxBuff[RXFREE_ENTRIES] __3xp_aligned; |
256 | u32 zeroWord; | 256 | u32 zeroWord; |
257 | struct tx_desc txHi[TXHI_ENTRIES]; | 257 | struct tx_desc txHi[TXHI_ENTRIES]; |
258 | } __attribute__ ((packed)); | 258 | } __packed; |
259 | 259 | ||
260 | struct rxbuff_ent { | 260 | struct rxbuff_ent { |
261 | struct sk_buff *skb; | 261 | struct sk_buff *skb; |
diff --git a/drivers/net/typhoon.h b/drivers/net/typhoon.h index 673fd5125914..88187fc84aa3 100644 --- a/drivers/net/typhoon.h +++ b/drivers/net/typhoon.h | |||
@@ -77,7 +77,7 @@ struct typhoon_indexes { | |||
77 | volatile __le32 cmdCleared; | 77 | volatile __le32 cmdCleared; |
78 | volatile __le32 respReady; | 78 | volatile __le32 respReady; |
79 | volatile __le32 rxHiReady; | 79 | volatile __le32 rxHiReady; |
80 | } __attribute__ ((packed)); | 80 | } __packed; |
81 | 81 | ||
82 | /* The host<->Typhoon interface | 82 | /* The host<->Typhoon interface |
83 | * Our means of communicating where things are | 83 | * Our means of communicating where things are |
@@ -125,7 +125,7 @@ struct typhoon_interface { | |||
125 | __le32 rxHiAddr; | 125 | __le32 rxHiAddr; |
126 | __le32 rxHiAddrHi; | 126 | __le32 rxHiAddrHi; |
127 | __le32 rxHiSize; | 127 | __le32 rxHiSize; |
128 | } __attribute__ ((packed)); | 128 | } __packed; |
129 | 129 | ||
130 | /* The Typhoon transmit/fragment descriptor | 130 | /* The Typhoon transmit/fragment descriptor |
131 | * | 131 | * |
@@ -187,7 +187,7 @@ struct tx_desc { | |||
187 | #define TYPHOON_TX_PF_VLAN_MASK cpu_to_le32(0x0ffff000) | 187 | #define TYPHOON_TX_PF_VLAN_MASK cpu_to_le32(0x0ffff000) |
188 | #define TYPHOON_TX_PF_INTERNAL cpu_to_le32(0xf0000000) | 188 | #define TYPHOON_TX_PF_INTERNAL cpu_to_le32(0xf0000000) |
189 | #define TYPHOON_TX_PF_VLAN_TAG_SHIFT 12 | 189 | #define TYPHOON_TX_PF_VLAN_TAG_SHIFT 12 |
190 | } __attribute__ ((packed)); | 190 | } __packed; |
191 | 191 | ||
192 | /* The TCP Segmentation offload option descriptor | 192 | /* The TCP Segmentation offload option descriptor |
193 | * | 193 | * |
@@ -208,7 +208,7 @@ struct tcpopt_desc { | |||
208 | __le32 respAddrLo; | 208 | __le32 respAddrLo; |
209 | __le32 bytesTx; | 209 | __le32 bytesTx; |
210 | __le32 status; | 210 | __le32 status; |
211 | } __attribute__ ((packed)); | 211 | } __packed; |
212 | 212 | ||
213 | /* The IPSEC Offload descriptor | 213 | /* The IPSEC Offload descriptor |
214 | * | 214 | * |
@@ -227,7 +227,7 @@ struct ipsec_desc { | |||
227 | __le32 sa1; | 227 | __le32 sa1; |
228 | __le32 sa2; | 228 | __le32 sa2; |
229 | __le32 reserved; | 229 | __le32 reserved; |
230 | } __attribute__ ((packed)); | 230 | } __packed; |
231 | 231 | ||
232 | /* The Typhoon receive descriptor (Updated by NIC) | 232 | /* The Typhoon receive descriptor (Updated by NIC) |
233 | * | 233 | * |
@@ -284,7 +284,7 @@ struct rx_desc { | |||
284 | #define TYPHOON_RX_UNKNOWN_SA cpu_to_le16(0x0100) | 284 | #define TYPHOON_RX_UNKNOWN_SA cpu_to_le16(0x0100) |
285 | #define TYPHOON_RX_ESP_FORMAT_ERR cpu_to_le16(0x0200) | 285 | #define TYPHOON_RX_ESP_FORMAT_ERR cpu_to_le16(0x0200) |
286 | __be32 vlanTag; | 286 | __be32 vlanTag; |
287 | } __attribute__ ((packed)); | 287 | } __packed; |
288 | 288 | ||
289 | /* The Typhoon free buffer descriptor, used to give a buffer to the NIC | 289 | /* The Typhoon free buffer descriptor, used to give a buffer to the NIC |
290 | * | 290 | * |
@@ -301,7 +301,7 @@ struct rx_free { | |||
301 | __le32 physAddrHi; | 301 | __le32 physAddrHi; |
302 | u32 virtAddr; | 302 | u32 virtAddr; |
303 | u32 virtAddrHi; | 303 | u32 virtAddrHi; |
304 | } __attribute__ ((packed)); | 304 | } __packed; |
305 | 305 | ||
306 | /* The Typhoon command descriptor, used for commands and responses | 306 | /* The Typhoon command descriptor, used for commands and responses |
307 | * | 307 | * |
@@ -347,7 +347,7 @@ struct cmd_desc { | |||
347 | __le16 parm1; | 347 | __le16 parm1; |
348 | __le32 parm2; | 348 | __le32 parm2; |
349 | __le32 parm3; | 349 | __le32 parm3; |
350 | } __attribute__ ((packed)); | 350 | } __packed; |
351 | 351 | ||
352 | /* The Typhoon response descriptor, see command descriptor for details | 352 | /* The Typhoon response descriptor, see command descriptor for details |
353 | */ | 353 | */ |
@@ -359,7 +359,7 @@ struct resp_desc { | |||
359 | __le16 parm1; | 359 | __le16 parm1; |
360 | __le32 parm2; | 360 | __le32 parm2; |
361 | __le32 parm3; | 361 | __le32 parm3; |
362 | } __attribute__ ((packed)); | 362 | } __packed; |
363 | 363 | ||
364 | #define INIT_COMMAND_NO_RESPONSE(x, command) \ | 364 | #define INIT_COMMAND_NO_RESPONSE(x, command) \ |
365 | do { struct cmd_desc *_ptr = (x); \ | 365 | do { struct cmd_desc *_ptr = (x); \ |
@@ -427,7 +427,7 @@ struct stats_resp { | |||
427 | #define TYPHOON_LINK_HALF_DUPLEX cpu_to_le32(0x00000000) | 427 | #define TYPHOON_LINK_HALF_DUPLEX cpu_to_le32(0x00000000) |
428 | __le32 unused2; | 428 | __le32 unused2; |
429 | __le32 unused3; | 429 | __le32 unused3; |
430 | } __attribute__ ((packed)); | 430 | } __packed; |
431 | 431 | ||
432 | /* TYPHOON_CMD_XCVR_SELECT xcvr values (resp.parm1) | 432 | /* TYPHOON_CMD_XCVR_SELECT xcvr values (resp.parm1) |
433 | */ | 433 | */ |
@@ -488,7 +488,7 @@ struct sa_descriptor { | |||
488 | u32 index; | 488 | u32 index; |
489 | u32 unused; | 489 | u32 unused; |
490 | u32 unused2; | 490 | u32 unused2; |
491 | } __attribute__ ((packed)); | 491 | } __packed; |
492 | 492 | ||
493 | /* TYPHOON_CMD_SET_OFFLOAD_TASKS bits (cmd.parm2 (Tx) & cmd.parm3 (Rx)) | 493 | /* TYPHOON_CMD_SET_OFFLOAD_TASKS bits (cmd.parm2 (Tx) & cmd.parm3 (Rx)) |
494 | * This is all for IPv4. | 494 | * This is all for IPv4. |
@@ -518,14 +518,14 @@ struct typhoon_file_header { | |||
518 | __le32 numSections; | 518 | __le32 numSections; |
519 | __le32 startAddr; | 519 | __le32 startAddr; |
520 | __le32 hmacDigest[5]; | 520 | __le32 hmacDigest[5]; |
521 | } __attribute__ ((packed)); | 521 | } __packed; |
522 | 522 | ||
523 | struct typhoon_section_header { | 523 | struct typhoon_section_header { |
524 | __le32 len; | 524 | __le32 len; |
525 | u16 checksum; | 525 | u16 checksum; |
526 | u16 reserved; | 526 | u16 reserved; |
527 | __le32 startAddr; | 527 | __le32 startAddr; |
528 | } __attribute__ ((packed)); | 528 | } __packed; |
529 | 529 | ||
530 | /* The Typhoon Register offsets | 530 | /* The Typhoon Register offsets |
531 | */ | 531 | */ |
diff --git a/drivers/net/ucc_geth.h b/drivers/net/ucc_geth.h index ef1fbeb11c6e..05a95586f3c5 100644 --- a/drivers/net/ucc_geth.h +++ b/drivers/net/ucc_geth.h | |||
@@ -106,7 +106,7 @@ struct ucc_geth { | |||
106 | u32 scar; /* Statistics carry register */ | 106 | u32 scar; /* Statistics carry register */ |
107 | u32 scam; /* Statistics caryy mask register */ | 107 | u32 scam; /* Statistics caryy mask register */ |
108 | u8 res5[0x200 - 0x1c4]; | 108 | u8 res5[0x200 - 0x1c4]; |
109 | } __attribute__ ((packed)); | 109 | } __packed; |
110 | 110 | ||
111 | /* UCC GETH TEMODR Register */ | 111 | /* UCC GETH TEMODR Register */ |
112 | #define TEMODER_TX_RMON_STATISTICS_ENABLE 0x0100 /* enable Tx statistics | 112 | #define TEMODER_TX_RMON_STATISTICS_ENABLE 0x0100 /* enable Tx statistics |
@@ -420,11 +420,11 @@ struct ucc_geth { | |||
420 | 420 | ||
421 | struct ucc_geth_thread_data_tx { | 421 | struct ucc_geth_thread_data_tx { |
422 | u8 res0[104]; | 422 | u8 res0[104]; |
423 | } __attribute__ ((packed)); | 423 | } __packed; |
424 | 424 | ||
425 | struct ucc_geth_thread_data_rx { | 425 | struct ucc_geth_thread_data_rx { |
426 | u8 res0[40]; | 426 | u8 res0[40]; |
427 | } __attribute__ ((packed)); | 427 | } __packed; |
428 | 428 | ||
429 | /* Send Queue Queue-Descriptor */ | 429 | /* Send Queue Queue-Descriptor */ |
430 | struct ucc_geth_send_queue_qd { | 430 | struct ucc_geth_send_queue_qd { |
@@ -432,19 +432,19 @@ struct ucc_geth_send_queue_qd { | |||
432 | u8 res0[0x8]; | 432 | u8 res0[0x8]; |
433 | u32 last_bd_completed_address;/* initialize to last entry in BD ring */ | 433 | u32 last_bd_completed_address;/* initialize to last entry in BD ring */ |
434 | u8 res1[0x30]; | 434 | u8 res1[0x30]; |
435 | } __attribute__ ((packed)); | 435 | } __packed; |
436 | 436 | ||
437 | struct ucc_geth_send_queue_mem_region { | 437 | struct ucc_geth_send_queue_mem_region { |
438 | struct ucc_geth_send_queue_qd sqqd[NUM_TX_QUEUES]; | 438 | struct ucc_geth_send_queue_qd sqqd[NUM_TX_QUEUES]; |
439 | } __attribute__ ((packed)); | 439 | } __packed; |
440 | 440 | ||
441 | struct ucc_geth_thread_tx_pram { | 441 | struct ucc_geth_thread_tx_pram { |
442 | u8 res0[64]; | 442 | u8 res0[64]; |
443 | } __attribute__ ((packed)); | 443 | } __packed; |
444 | 444 | ||
445 | struct ucc_geth_thread_rx_pram { | 445 | struct ucc_geth_thread_rx_pram { |
446 | u8 res0[128]; | 446 | u8 res0[128]; |
447 | } __attribute__ ((packed)); | 447 | } __packed; |
448 | 448 | ||
449 | #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING 64 | 449 | #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING 64 |
450 | #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_8 64 | 450 | #define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_8 64 |
@@ -484,7 +484,7 @@ struct ucc_geth_scheduler { | |||
484 | /**< weight factor for queues */ | 484 | /**< weight factor for queues */ |
485 | u32 minw; /* temporary variable handled by QE */ | 485 | u32 minw; /* temporary variable handled by QE */ |
486 | u8 res1[0x70 - 0x64]; | 486 | u8 res1[0x70 - 0x64]; |
487 | } __attribute__ ((packed)); | 487 | } __packed; |
488 | 488 | ||
489 | struct ucc_geth_tx_firmware_statistics_pram { | 489 | struct ucc_geth_tx_firmware_statistics_pram { |
490 | u32 sicoltx; /* single collision */ | 490 | u32 sicoltx; /* single collision */ |
@@ -506,7 +506,7 @@ struct ucc_geth_tx_firmware_statistics_pram { | |||
506 | and 1518 octets */ | 506 | and 1518 octets */ |
507 | u32 txpktsjumbo; /* total packets (including bad) between 1024 | 507 | u32 txpktsjumbo; /* total packets (including bad) between 1024 |
508 | and MAXLength octets */ | 508 | and MAXLength octets */ |
509 | } __attribute__ ((packed)); | 509 | } __packed; |
510 | 510 | ||
511 | struct ucc_geth_rx_firmware_statistics_pram { | 511 | struct ucc_geth_rx_firmware_statistics_pram { |
512 | u32 frrxfcser; /* frames with crc error */ | 512 | u32 frrxfcser; /* frames with crc error */ |
@@ -540,7 +540,7 @@ struct ucc_geth_rx_firmware_statistics_pram { | |||
540 | replaced */ | 540 | replaced */ |
541 | u32 insertvlan; /* total frames that had their VLAN tag | 541 | u32 insertvlan; /* total frames that had their VLAN tag |
542 | inserted */ | 542 | inserted */ |
543 | } __attribute__ ((packed)); | 543 | } __packed; |
544 | 544 | ||
545 | struct ucc_geth_rx_interrupt_coalescing_entry { | 545 | struct ucc_geth_rx_interrupt_coalescing_entry { |
546 | u32 interruptcoalescingmaxvalue; /* interrupt coalescing max | 546 | u32 interruptcoalescingmaxvalue; /* interrupt coalescing max |
@@ -548,23 +548,23 @@ struct ucc_geth_rx_interrupt_coalescing_entry { | |||
548 | u32 interruptcoalescingcounter; /* interrupt coalescing counter, | 548 | u32 interruptcoalescingcounter; /* interrupt coalescing counter, |
549 | initialize to | 549 | initialize to |
550 | interruptcoalescingmaxvalue */ | 550 | interruptcoalescingmaxvalue */ |
551 | } __attribute__ ((packed)); | 551 | } __packed; |
552 | 552 | ||
553 | struct ucc_geth_rx_interrupt_coalescing_table { | 553 | struct ucc_geth_rx_interrupt_coalescing_table { |
554 | struct ucc_geth_rx_interrupt_coalescing_entry coalescingentry[NUM_RX_QUEUES]; | 554 | struct ucc_geth_rx_interrupt_coalescing_entry coalescingentry[NUM_RX_QUEUES]; |
555 | /**< interrupt coalescing entry */ | 555 | /**< interrupt coalescing entry */ |
556 | } __attribute__ ((packed)); | 556 | } __packed; |
557 | 557 | ||
558 | struct ucc_geth_rx_prefetched_bds { | 558 | struct ucc_geth_rx_prefetched_bds { |
559 | struct qe_bd bd[NUM_BDS_IN_PREFETCHED_BDS]; /* prefetched bd */ | 559 | struct qe_bd bd[NUM_BDS_IN_PREFETCHED_BDS]; /* prefetched bd */ |
560 | } __attribute__ ((packed)); | 560 | } __packed; |
561 | 561 | ||
562 | struct ucc_geth_rx_bd_queues_entry { | 562 | struct ucc_geth_rx_bd_queues_entry { |
563 | u32 bdbaseptr; /* BD base pointer */ | 563 | u32 bdbaseptr; /* BD base pointer */ |
564 | u32 bdptr; /* BD pointer */ | 564 | u32 bdptr; /* BD pointer */ |
565 | u32 externalbdbaseptr; /* external BD base pointer */ | 565 | u32 externalbdbaseptr; /* external BD base pointer */ |
566 | u32 externalbdptr; /* external BD pointer */ | 566 | u32 externalbdptr; /* external BD pointer */ |
567 | } __attribute__ ((packed)); | 567 | } __packed; |
568 | 568 | ||
569 | struct ucc_geth_tx_global_pram { | 569 | struct ucc_geth_tx_global_pram { |
570 | u16 temoder; | 570 | u16 temoder; |
@@ -580,13 +580,13 @@ struct ucc_geth_tx_global_pram { | |||
580 | u32 tqptr; /* a base pointer to the Tx Queues Memory | 580 | u32 tqptr; /* a base pointer to the Tx Queues Memory |
581 | Region */ | 581 | Region */ |
582 | u8 res2[0x80 - 0x74]; | 582 | u8 res2[0x80 - 0x74]; |
583 | } __attribute__ ((packed)); | 583 | } __packed; |
584 | 584 | ||
585 | /* structure representing Extended Filtering Global Parameters in PRAM */ | 585 | /* structure representing Extended Filtering Global Parameters in PRAM */ |
586 | struct ucc_geth_exf_global_pram { | 586 | struct ucc_geth_exf_global_pram { |
587 | u32 l2pcdptr; /* individual address filter, high */ | 587 | u32 l2pcdptr; /* individual address filter, high */ |
588 | u8 res0[0x10 - 0x04]; | 588 | u8 res0[0x10 - 0x04]; |
589 | } __attribute__ ((packed)); | 589 | } __packed; |
590 | 590 | ||
591 | struct ucc_geth_rx_global_pram { | 591 | struct ucc_geth_rx_global_pram { |
592 | u32 remoder; /* ethernet mode reg. */ | 592 | u32 remoder; /* ethernet mode reg. */ |
@@ -620,7 +620,7 @@ struct ucc_geth_rx_global_pram { | |||
620 | u32 exfGlobalParam; /* base address for extended filtering global | 620 | u32 exfGlobalParam; /* base address for extended filtering global |
621 | parameters */ | 621 | parameters */ |
622 | u8 res6[0x100 - 0xC4]; /* Initialize to zero */ | 622 | u8 res6[0x100 - 0xC4]; /* Initialize to zero */ |
623 | } __attribute__ ((packed)); | 623 | } __packed; |
624 | 624 | ||
625 | #define GRACEFUL_STOP_ACKNOWLEDGE_RX 0x01 | 625 | #define GRACEFUL_STOP_ACKNOWLEDGE_RX 0x01 |
626 | 626 | ||
@@ -639,7 +639,7 @@ struct ucc_geth_init_pram { | |||
639 | u32 txglobal; /* tx global */ | 639 | u32 txglobal; /* tx global */ |
640 | u32 txthread[ENET_INIT_PARAM_MAX_ENTRIES_TX]; /* tx threads */ | 640 | u32 txthread[ENET_INIT_PARAM_MAX_ENTRIES_TX]; /* tx threads */ |
641 | u8 res3[0x1]; | 641 | u8 res3[0x1]; |
642 | } __attribute__ ((packed)); | 642 | } __packed; |
643 | 643 | ||
644 | #define ENET_INIT_PARAM_RGF_SHIFT (32 - 4) | 644 | #define ENET_INIT_PARAM_RGF_SHIFT (32 - 4) |
645 | #define ENET_INIT_PARAM_TGF_SHIFT (32 - 8) | 645 | #define ENET_INIT_PARAM_TGF_SHIFT (32 - 8) |
@@ -661,7 +661,7 @@ struct ucc_geth_82xx_enet_address { | |||
661 | u16 h; /* address (MSB) */ | 661 | u16 h; /* address (MSB) */ |
662 | u16 m; /* address */ | 662 | u16 m; /* address */ |
663 | u16 l; /* address (LSB) */ | 663 | u16 l; /* address (LSB) */ |
664 | } __attribute__ ((packed)); | 664 | } __packed; |
665 | 665 | ||
666 | /* structure representing 82xx Address Filtering PRAM */ | 666 | /* structure representing 82xx Address Filtering PRAM */ |
667 | struct ucc_geth_82xx_address_filtering_pram { | 667 | struct ucc_geth_82xx_address_filtering_pram { |
@@ -672,7 +672,7 @@ struct ucc_geth_82xx_address_filtering_pram { | |||
672 | struct ucc_geth_82xx_enet_address __iomem taddr; | 672 | struct ucc_geth_82xx_enet_address __iomem taddr; |
673 | struct ucc_geth_82xx_enet_address __iomem paddr[NUM_OF_PADDRS]; | 673 | struct ucc_geth_82xx_enet_address __iomem paddr[NUM_OF_PADDRS]; |
674 | u8 res0[0x40 - 0x38]; | 674 | u8 res0[0x40 - 0x38]; |
675 | } __attribute__ ((packed)); | 675 | } __packed; |
676 | 676 | ||
677 | /* GETH Tx firmware statistics structure, used when calling | 677 | /* GETH Tx firmware statistics structure, used when calling |
678 | UCC_GETH_GetStatistics. */ | 678 | UCC_GETH_GetStatistics. */ |
@@ -696,7 +696,7 @@ struct ucc_geth_tx_firmware_statistics { | |||
696 | and 1518 octets */ | 696 | and 1518 octets */ |
697 | u32 txpktsjumbo; /* total packets (including bad) between 1024 | 697 | u32 txpktsjumbo; /* total packets (including bad) between 1024 |
698 | and MAXLength octets */ | 698 | and MAXLength octets */ |
699 | } __attribute__ ((packed)); | 699 | } __packed; |
700 | 700 | ||
701 | /* GETH Rx firmware statistics structure, used when calling | 701 | /* GETH Rx firmware statistics structure, used when calling |
702 | UCC_GETH_GetStatistics. */ | 702 | UCC_GETH_GetStatistics. */ |
@@ -732,7 +732,7 @@ struct ucc_geth_rx_firmware_statistics { | |||
732 | replaced */ | 732 | replaced */ |
733 | u32 insertvlan; /* total frames that had their VLAN tag | 733 | u32 insertvlan; /* total frames that had their VLAN tag |
734 | inserted */ | 734 | inserted */ |
735 | } __attribute__ ((packed)); | 735 | } __packed; |
736 | 736 | ||
737 | /* GETH hardware statistics structure, used when calling | 737 | /* GETH hardware statistics structure, used when calling |
738 | UCC_GETH_GetStatistics. */ | 738 | UCC_GETH_GetStatistics. */ |
@@ -781,7 +781,7 @@ struct ucc_geth_hardware_statistics { | |||
781 | u32 rbca; /* Total number of frames received successfully | 781 | u32 rbca; /* Total number of frames received successfully |
782 | that had destination address equal to the | 782 | that had destination address equal to the |
783 | broadcast address */ | 783 | broadcast address */ |
784 | } __attribute__ ((packed)); | 784 | } __packed; |
785 | 785 | ||
786 | /* UCC GETH Tx errors returned via TxConf callback */ | 786 | /* UCC GETH Tx errors returned via TxConf callback */ |
787 | #define TX_ERRORS_DEF 0x0200 | 787 | #define TX_ERRORS_DEF 0x0200 |
diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c index 1f802e90474c..7e797ed0439a 100644 --- a/drivers/net/usb/asix.c +++ b/drivers/net/usb/asix.c | |||
@@ -179,7 +179,7 @@ struct ax88172_int_data { | |||
179 | __le16 res2; | 179 | __le16 res2; |
180 | u8 status; | 180 | u8 status; |
181 | __le16 res3; | 181 | __le16 res3; |
182 | } __attribute__ ((packed)); | 182 | } __packed; |
183 | 183 | ||
184 | static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index, | 184 | static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index, |
185 | u16 size, void *data) | 185 | u16 size, void *data) |
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 0a3c41faea9c..c8570b097880 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
@@ -211,7 +211,7 @@ struct hso_serial_state_notification { | |||
211 | u16 wIndex; | 211 | u16 wIndex; |
212 | u16 wLength; | 212 | u16 wLength; |
213 | u16 UART_state_bitmap; | 213 | u16 UART_state_bitmap; |
214 | } __attribute__((packed)); | 214 | } __packed; |
215 | 215 | ||
216 | struct hso_tiocmget { | 216 | struct hso_tiocmget { |
217 | struct mutex mutex; | 217 | struct mutex mutex; |
diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c index d6078b8c4273..2b7b39cad1ce 100644 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c | |||
@@ -207,7 +207,7 @@ struct kaweth_ethernet_configuration | |||
207 | __le16 segment_size; | 207 | __le16 segment_size; |
208 | __u16 max_multicast_filters; | 208 | __u16 max_multicast_filters; |
209 | __u8 reserved3; | 209 | __u8 reserved3; |
210 | } __attribute__ ((packed)); | 210 | } __packed; |
211 | 211 | ||
212 | /**************************************************************** | 212 | /**************************************************************** |
213 | * kaweth_device | 213 | * kaweth_device |
diff --git a/drivers/net/usb/net1080.c b/drivers/net/usb/net1080.c index 961a8ed38d8f..ba72a7281cb0 100644 --- a/drivers/net/usb/net1080.c +++ b/drivers/net/usb/net1080.c | |||
@@ -64,13 +64,13 @@ struct nc_header { // packed: | |||
64 | // all else is optional, and must start with: | 64 | // all else is optional, and must start with: |
65 | // __le16 vendorId; // from usb-if | 65 | // __le16 vendorId; // from usb-if |
66 | // __le16 productId; | 66 | // __le16 productId; |
67 | } __attribute__((__packed__)); | 67 | } __packed; |
68 | 68 | ||
69 | #define PAD_BYTE ((unsigned char)0xAC) | 69 | #define PAD_BYTE ((unsigned char)0xAC) |
70 | 70 | ||
71 | struct nc_trailer { | 71 | struct nc_trailer { |
72 | __le16 packet_id; | 72 | __le16 packet_id; |
73 | } __attribute__((__packed__)); | 73 | } __packed; |
74 | 74 | ||
75 | // packets may use FLAG_FRAMING_NC and optional pad | 75 | // packets may use FLAG_FRAMING_NC and optional pad |
76 | #define FRAMED_SIZE(mtu) (sizeof (struct nc_header) \ | 76 | #define FRAMED_SIZE(mtu) (sizeof (struct nc_header) \ |
diff --git a/drivers/net/usb/sierra_net.c b/drivers/net/usb/sierra_net.c index f1942d69a0d5..ee85c8b9a858 100644 --- a/drivers/net/usb/sierra_net.c +++ b/drivers/net/usb/sierra_net.c | |||
@@ -165,7 +165,7 @@ struct lsi_umts { | |||
165 | u8 gw_addr_len; /* NW-supplied GW address len */ | 165 | u8 gw_addr_len; /* NW-supplied GW address len */ |
166 | u8 gw_addr[16]; /* NW-supplied GW address (bigendian) */ | 166 | u8 gw_addr[16]; /* NW-supplied GW address (bigendian) */ |
167 | u8 reserved[8]; | 167 | u8 reserved[8]; |
168 | } __attribute__ ((packed)); | 168 | } __packed; |
169 | 169 | ||
170 | #define SIERRA_NET_LSI_COMMON_LEN 4 | 170 | #define SIERRA_NET_LSI_COMMON_LEN 4 |
171 | #define SIERRA_NET_LSI_UMTS_LEN (sizeof(struct lsi_umts)) | 171 | #define SIERRA_NET_LSI_UMTS_LEN (sizeof(struct lsi_umts)) |
diff --git a/drivers/net/via-velocity.h b/drivers/net/via-velocity.h index c38191179fae..f7b33ae7a703 100644 --- a/drivers/net/via-velocity.h +++ b/drivers/net/via-velocity.h | |||
@@ -193,7 +193,7 @@ struct rx_desc { | |||
193 | __le32 pa_low; /* Low 32 bit PCI address */ | 193 | __le32 pa_low; /* Low 32 bit PCI address */ |
194 | __le16 pa_high; /* Next 16 bit PCI address (48 total) */ | 194 | __le16 pa_high; /* Next 16 bit PCI address (48 total) */ |
195 | __le16 size; /* bits 0--14 - frame size, bit 15 - enable int. */ | 195 | __le16 size; /* bits 0--14 - frame size, bit 15 - enable int. */ |
196 | } __attribute__ ((__packed__)); | 196 | } __packed; |
197 | 197 | ||
198 | /* | 198 | /* |
199 | * Transmit descriptor | 199 | * Transmit descriptor |
@@ -208,7 +208,7 @@ struct tdesc1 { | |||
208 | __le16 vlan; | 208 | __le16 vlan; |
209 | u8 TCR; | 209 | u8 TCR; |
210 | u8 cmd; /* bits 0--1 - TCPLS, bits 4--7 - CMDZ */ | 210 | u8 cmd; /* bits 0--1 - TCPLS, bits 4--7 - CMDZ */ |
211 | } __attribute__ ((__packed__)); | 211 | } __packed; |
212 | 212 | ||
213 | enum { | 213 | enum { |
214 | TD_QUEUE = cpu_to_le16(0x8000) | 214 | TD_QUEUE = cpu_to_le16(0x8000) |
@@ -218,7 +218,7 @@ struct td_buf { | |||
218 | __le32 pa_low; | 218 | __le32 pa_low; |
219 | __le16 pa_high; | 219 | __le16 pa_high; |
220 | __le16 size; /* bits 0--13 - size, bit 15 - queue */ | 220 | __le16 size; /* bits 0--13 - size, bit 15 - queue */ |
221 | } __attribute__ ((__packed__)); | 221 | } __packed; |
222 | 222 | ||
223 | struct tx_desc { | 223 | struct tx_desc { |
224 | struct tdesc0 tdesc0; | 224 | struct tdesc0 tdesc0; |
@@ -1096,7 +1096,7 @@ struct mac_regs { | |||
1096 | 1096 | ||
1097 | volatile __le16 PatternCRC[8]; /* 0xB0 */ | 1097 | volatile __le16 PatternCRC[8]; /* 0xB0 */ |
1098 | volatile __le32 ByteMask[4][4]; /* 0xC0 */ | 1098 | volatile __le32 ByteMask[4][4]; /* 0xC0 */ |
1099 | } __attribute__ ((__packed__)); | 1099 | } __packed; |
1100 | 1100 | ||
1101 | 1101 | ||
1102 | enum hw_mib { | 1102 | enum hw_mib { |
@@ -1216,7 +1216,7 @@ struct arp_packet { | |||
1216 | u8 ar_sip[4]; | 1216 | u8 ar_sip[4]; |
1217 | u8 ar_tha[ETH_ALEN]; | 1217 | u8 ar_tha[ETH_ALEN]; |
1218 | u8 ar_tip[4]; | 1218 | u8 ar_tip[4]; |
1219 | } __attribute__ ((__packed__)); | 1219 | } __packed; |
1220 | 1220 | ||
1221 | struct _magic_packet { | 1221 | struct _magic_packet { |
1222 | u8 dest_mac[6]; | 1222 | u8 dest_mac[6]; |
@@ -1224,7 +1224,7 @@ struct _magic_packet { | |||
1224 | __be16 type; | 1224 | __be16 type; |
1225 | u8 MAC[16][6]; | 1225 | u8 MAC[16][6]; |
1226 | u8 password[6]; | 1226 | u8 password[6]; |
1227 | } __attribute__ ((__packed__)); | 1227 | } __packed; |
1228 | 1228 | ||
1229 | /* | 1229 | /* |
1230 | * Store for chip context when saving and restoring status. Not | 1230 | * Store for chip context when saving and restoring status. Not |
diff --git a/drivers/net/wan/hd64570.h b/drivers/net/wan/hd64570.h index 3839662ff201..e4f539ad071b 100644 --- a/drivers/net/wan/hd64570.h +++ b/drivers/net/wan/hd64570.h | |||
@@ -153,7 +153,7 @@ typedef struct { | |||
153 | u16 len; /* Data Length */ | 153 | u16 len; /* Data Length */ |
154 | u8 stat; /* Status */ | 154 | u8 stat; /* Status */ |
155 | u8 unused; /* pads to 2-byte boundary */ | 155 | u8 unused; /* pads to 2-byte boundary */ |
156 | }__attribute__ ((packed)) pkt_desc; | 156 | }__packed pkt_desc; |
157 | 157 | ||
158 | 158 | ||
159 | /* Packet Descriptor Status bits */ | 159 | /* Packet Descriptor Status bits */ |
diff --git a/drivers/net/wan/hdlc_cisco.c b/drivers/net/wan/hdlc_cisco.c index ee7083fbea50..b38ffa149aba 100644 --- a/drivers/net/wan/hdlc_cisco.c +++ b/drivers/net/wan/hdlc_cisco.c | |||
@@ -36,7 +36,7 @@ struct hdlc_header { | |||
36 | u8 address; | 36 | u8 address; |
37 | u8 control; | 37 | u8 control; |
38 | __be16 protocol; | 38 | __be16 protocol; |
39 | }__attribute__ ((packed)); | 39 | }__packed; |
40 | 40 | ||
41 | 41 | ||
42 | struct cisco_packet { | 42 | struct cisco_packet { |
@@ -45,7 +45,7 @@ struct cisco_packet { | |||
45 | __be32 par2; | 45 | __be32 par2; |
46 | __be16 rel; /* reliability */ | 46 | __be16 rel; /* reliability */ |
47 | __be32 time; | 47 | __be32 time; |
48 | }__attribute__ ((packed)); | 48 | }__packed; |
49 | #define CISCO_PACKET_LEN 18 | 49 | #define CISCO_PACKET_LEN 18 |
50 | #define CISCO_BIG_PACKET_LEN 20 | 50 | #define CISCO_BIG_PACKET_LEN 20 |
51 | 51 | ||
diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c index 0e52993e2079..0edb535bb2b5 100644 --- a/drivers/net/wan/hdlc_fr.c +++ b/drivers/net/wan/hdlc_fr.c | |||
@@ -112,7 +112,7 @@ typedef struct { | |||
112 | unsigned de: 1; | 112 | unsigned de: 1; |
113 | unsigned ea2: 1; | 113 | unsigned ea2: 1; |
114 | #endif | 114 | #endif |
115 | }__attribute__ ((packed)) fr_hdr; | 115 | }__packed fr_hdr; |
116 | 116 | ||
117 | 117 | ||
118 | typedef struct pvc_device_struct { | 118 | typedef struct pvc_device_struct { |
diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c index e155938c4f82..f4125da2762f 100644 --- a/drivers/net/wan/sdla.c +++ b/drivers/net/wan/sdla.c | |||
@@ -330,7 +330,7 @@ struct _dlci_stat | |||
330 | { | 330 | { |
331 | short dlci; | 331 | short dlci; |
332 | char flags; | 332 | char flags; |
333 | } __attribute__((packed)); | 333 | } __packed; |
334 | 334 | ||
335 | struct _frad_stat | 335 | struct _frad_stat |
336 | { | 336 | { |
diff --git a/drivers/net/wimax/i2400m/control.c b/drivers/net/wimax/i2400m/control.c index d86e8f31e7fc..2f725d0cc762 100644 --- a/drivers/net/wimax/i2400m/control.c +++ b/drivers/net/wimax/i2400m/control.c | |||
@@ -848,7 +848,7 @@ struct i2400m_cmd_enter_power_save { | |||
848 | struct i2400m_l3l4_hdr hdr; | 848 | struct i2400m_l3l4_hdr hdr; |
849 | struct i2400m_tlv_hdr tlv; | 849 | struct i2400m_tlv_hdr tlv; |
850 | __le32 val; | 850 | __le32 val; |
851 | } __attribute__((packed)); | 851 | } __packed; |
852 | 852 | ||
853 | 853 | ||
854 | /* | 854 | /* |
diff --git a/drivers/net/wimax/i2400m/fw.c b/drivers/net/wimax/i2400m/fw.c index 3f283bff0ff7..e9b34b0cb197 100644 --- a/drivers/net/wimax/i2400m/fw.c +++ b/drivers/net/wimax/i2400m/fw.c | |||
@@ -651,7 +651,7 @@ static int i2400m_download_chunk(struct i2400m *i2400m, const void *chunk, | |||
651 | struct { | 651 | struct { |
652 | struct i2400m_bootrom_header cmd; | 652 | struct i2400m_bootrom_header cmd; |
653 | u8 cmd_payload[chunk_len]; | 653 | u8 cmd_payload[chunk_len]; |
654 | } __attribute__((packed)) *buf; | 654 | } __packed *buf; |
655 | struct i2400m_bootrom_header ack; | 655 | struct i2400m_bootrom_header ack; |
656 | 656 | ||
657 | d_fnstart(5, dev, "(i2400m %p chunk %p __chunk_len %zu addr 0x%08lx " | 657 | d_fnstart(5, dev, "(i2400m %p chunk %p __chunk_len %zu addr 0x%08lx " |
@@ -794,7 +794,7 @@ int i2400m_dnload_finalize(struct i2400m *i2400m, | |||
794 | struct { | 794 | struct { |
795 | struct i2400m_bootrom_header cmd; | 795 | struct i2400m_bootrom_header cmd; |
796 | u8 cmd_pl[0]; | 796 | u8 cmd_pl[0]; |
797 | } __attribute__((packed)) *cmd_buf; | 797 | } __packed *cmd_buf; |
798 | size_t signature_block_offset, signature_block_size; | 798 | size_t signature_block_offset, signature_block_size; |
799 | 799 | ||
800 | d_fnstart(3, dev, "offset %zu\n", offset); | 800 | d_fnstart(3, dev, "offset %zu\n", offset); |
@@ -1029,7 +1029,7 @@ int i2400m_read_mac_addr(struct i2400m *i2400m) | |||
1029 | struct { | 1029 | struct { |
1030 | struct i2400m_bootrom_header ack; | 1030 | struct i2400m_bootrom_header ack; |
1031 | u8 ack_pl[16]; | 1031 | u8 ack_pl[16]; |
1032 | } __attribute__((packed)) ack_buf; | 1032 | } __packed ack_buf; |
1033 | 1033 | ||
1034 | d_fnstart(5, dev, "(i2400m %p)\n", i2400m); | 1034 | d_fnstart(5, dev, "(i2400m %p)\n", i2400m); |
1035 | cmd = i2400m->bm_cmd_buf; | 1035 | cmd = i2400m->bm_cmd_buf; |
@@ -1115,7 +1115,7 @@ int i2400m_dnload_init_signed(struct i2400m *i2400m, | |||
1115 | struct { | 1115 | struct { |
1116 | struct i2400m_bootrom_header cmd; | 1116 | struct i2400m_bootrom_header cmd; |
1117 | struct i2400m_bcf_hdr cmd_pl; | 1117 | struct i2400m_bcf_hdr cmd_pl; |
1118 | } __attribute__((packed)) *cmd_buf; | 1118 | } __packed *cmd_buf; |
1119 | struct i2400m_bootrom_header ack; | 1119 | struct i2400m_bootrom_header ack; |
1120 | 1120 | ||
1121 | d_fnstart(5, dev, "(i2400m %p bcf_hdr %p)\n", i2400m, bcf_hdr); | 1121 | d_fnstart(5, dev, "(i2400m %p bcf_hdr %p)\n", i2400m, bcf_hdr); |
diff --git a/drivers/net/wimax/i2400m/op-rfkill.c b/drivers/net/wimax/i2400m/op-rfkill.c index 035e4cf3e6ed..9e02b90b0080 100644 --- a/drivers/net/wimax/i2400m/op-rfkill.c +++ b/drivers/net/wimax/i2400m/op-rfkill.c | |||
@@ -91,7 +91,7 @@ int i2400m_op_rfkill_sw_toggle(struct wimax_dev *wimax_dev, | |||
91 | struct { | 91 | struct { |
92 | struct i2400m_l3l4_hdr hdr; | 92 | struct i2400m_l3l4_hdr hdr; |
93 | struct i2400m_tlv_rf_operation sw_rf; | 93 | struct i2400m_tlv_rf_operation sw_rf; |
94 | } __attribute__((packed)) *cmd; | 94 | } __packed *cmd; |
95 | char strerr[32]; | 95 | char strerr[32]; |
96 | 96 | ||
97 | d_fnstart(4, dev, "(wimax_dev %p state %d)\n", wimax_dev, state); | 97 | d_fnstart(4, dev, "(wimax_dev %p state %d)\n", wimax_dev, state); |
diff --git a/drivers/net/wireless/adm8211.h b/drivers/net/wireless/adm8211.h index b07e4d3a6b4d..bbc10b1cde87 100644 --- a/drivers/net/wireless/adm8211.h +++ b/drivers/net/wireless/adm8211.h | |||
@@ -80,7 +80,7 @@ struct adm8211_csr { | |||
80 | __le32 FEMR; /* 0x104 */ | 80 | __le32 FEMR; /* 0x104 */ |
81 | __le32 FPSR; /* 0x108 */ | 81 | __le32 FPSR; /* 0x108 */ |
82 | __le32 FFER; /* 0x10C */ | 82 | __le32 FFER; /* 0x10C */ |
83 | } __attribute__ ((packed)); | 83 | } __packed; |
84 | 84 | ||
85 | /* CSR0 - PAR (PCI Address Register) */ | 85 | /* CSR0 - PAR (PCI Address Register) */ |
86 | #define ADM8211_PAR_MWIE (1 << 24) | 86 | #define ADM8211_PAR_MWIE (1 << 24) |
@@ -484,7 +484,7 @@ struct adm8211_tx_hdr { | |||
484 | u8 entry_control; // huh?? | 484 | u8 entry_control; // huh?? |
485 | u16 reserved_1; | 485 | u16 reserved_1; |
486 | u32 reserved_2; | 486 | u32 reserved_2; |
487 | } __attribute__ ((packed)); | 487 | } __packed; |
488 | 488 | ||
489 | 489 | ||
490 | #define RX_COPY_BREAK 128 | 490 | #define RX_COPY_BREAK 128 |
@@ -531,7 +531,7 @@ struct adm8211_eeprom { | |||
531 | u8 lnags_threshold[14]; /* 0x70 */ | 531 | u8 lnags_threshold[14]; /* 0x70 */ |
532 | __le16 checksum; /* 0x7E */ | 532 | __le16 checksum; /* 0x7E */ |
533 | u8 cis_data[0]; /* 0x80, 384 bytes */ | 533 | u8 cis_data[0]; /* 0x80, 384 bytes */ |
534 | } __attribute__ ((packed)); | 534 | } __packed; |
535 | 535 | ||
536 | struct adm8211_priv { | 536 | struct adm8211_priv { |
537 | struct pci_dev *pdev; | 537 | struct pci_dev *pdev; |
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c index 3b7ab20a5c54..6b605df8a923 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c | |||
@@ -506,20 +506,20 @@ struct WepKeyRid { | |||
506 | u8 mac[ETH_ALEN]; | 506 | u8 mac[ETH_ALEN]; |
507 | __le16 klen; | 507 | __le16 klen; |
508 | u8 key[16]; | 508 | u8 key[16]; |
509 | } __attribute__ ((packed)); | 509 | } __packed; |
510 | 510 | ||
511 | /* These structures are from the Aironet's PC4500 Developers Manual */ | 511 | /* These structures are from the Aironet's PC4500 Developers Manual */ |
512 | typedef struct Ssid Ssid; | 512 | typedef struct Ssid Ssid; |
513 | struct Ssid { | 513 | struct Ssid { |
514 | __le16 len; | 514 | __le16 len; |
515 | u8 ssid[32]; | 515 | u8 ssid[32]; |
516 | } __attribute__ ((packed)); | 516 | } __packed; |
517 | 517 | ||
518 | typedef struct SsidRid SsidRid; | 518 | typedef struct SsidRid SsidRid; |
519 | struct SsidRid { | 519 | struct SsidRid { |
520 | __le16 len; | 520 | __le16 len; |
521 | Ssid ssids[3]; | 521 | Ssid ssids[3]; |
522 | } __attribute__ ((packed)); | 522 | } __packed; |
523 | 523 | ||
524 | typedef struct ModulationRid ModulationRid; | 524 | typedef struct ModulationRid ModulationRid; |
525 | struct ModulationRid { | 525 | struct ModulationRid { |
@@ -528,7 +528,7 @@ struct ModulationRid { | |||
528 | #define MOD_DEFAULT cpu_to_le16(0) | 528 | #define MOD_DEFAULT cpu_to_le16(0) |
529 | #define MOD_CCK cpu_to_le16(1) | 529 | #define MOD_CCK cpu_to_le16(1) |
530 | #define MOD_MOK cpu_to_le16(2) | 530 | #define MOD_MOK cpu_to_le16(2) |
531 | } __attribute__ ((packed)); | 531 | } __packed; |
532 | 532 | ||
533 | typedef struct ConfigRid ConfigRid; | 533 | typedef struct ConfigRid ConfigRid; |
534 | struct ConfigRid { | 534 | struct ConfigRid { |
@@ -652,7 +652,7 @@ struct ConfigRid { | |||
652 | #define MAGIC_STAY_IN_CAM (1<<10) | 652 | #define MAGIC_STAY_IN_CAM (1<<10) |
653 | u8 magicControl; | 653 | u8 magicControl; |
654 | __le16 autoWake; | 654 | __le16 autoWake; |
655 | } __attribute__ ((packed)); | 655 | } __packed; |
656 | 656 | ||
657 | typedef struct StatusRid StatusRid; | 657 | typedef struct StatusRid StatusRid; |
658 | struct StatusRid { | 658 | struct StatusRid { |
@@ -711,20 +711,20 @@ struct StatusRid { | |||
711 | #define STAT_LEAPFAILED 91 | 711 | #define STAT_LEAPFAILED 91 |
712 | #define STAT_LEAPTIMEDOUT 92 | 712 | #define STAT_LEAPTIMEDOUT 92 |
713 | #define STAT_LEAPCOMPLETE 93 | 713 | #define STAT_LEAPCOMPLETE 93 |
714 | } __attribute__ ((packed)); | 714 | } __packed; |
715 | 715 | ||
716 | typedef struct StatsRid StatsRid; | 716 | typedef struct StatsRid StatsRid; |
717 | struct StatsRid { | 717 | struct StatsRid { |
718 | __le16 len; | 718 | __le16 len; |
719 | __le16 spacer; | 719 | __le16 spacer; |
720 | __le32 vals[100]; | 720 | __le32 vals[100]; |
721 | } __attribute__ ((packed)); | 721 | } __packed; |
722 | 722 | ||
723 | typedef struct APListRid APListRid; | 723 | typedef struct APListRid APListRid; |
724 | struct APListRid { | 724 | struct APListRid { |
725 | __le16 len; | 725 | __le16 len; |
726 | u8 ap[4][ETH_ALEN]; | 726 | u8 ap[4][ETH_ALEN]; |
727 | } __attribute__ ((packed)); | 727 | } __packed; |
728 | 728 | ||
729 | typedef struct CapabilityRid CapabilityRid; | 729 | typedef struct CapabilityRid CapabilityRid; |
730 | struct CapabilityRid { | 730 | struct CapabilityRid { |
@@ -754,7 +754,7 @@ struct CapabilityRid { | |||
754 | __le16 bootBlockVer; | 754 | __le16 bootBlockVer; |
755 | __le16 requiredHard; | 755 | __le16 requiredHard; |
756 | __le16 extSoftCap; | 756 | __le16 extSoftCap; |
757 | } __attribute__ ((packed)); | 757 | } __packed; |
758 | 758 | ||
759 | /* Only present on firmware >= 5.30.17 */ | 759 | /* Only present on firmware >= 5.30.17 */ |
760 | typedef struct BSSListRidExtra BSSListRidExtra; | 760 | typedef struct BSSListRidExtra BSSListRidExtra; |
@@ -762,7 +762,7 @@ struct BSSListRidExtra { | |||
762 | __le16 unknown[4]; | 762 | __le16 unknown[4]; |
763 | u8 fixed[12]; /* WLAN management frame */ | 763 | u8 fixed[12]; /* WLAN management frame */ |
764 | u8 iep[624]; | 764 | u8 iep[624]; |
765 | } __attribute__ ((packed)); | 765 | } __packed; |
766 | 766 | ||
767 | typedef struct BSSListRid BSSListRid; | 767 | typedef struct BSSListRid BSSListRid; |
768 | struct BSSListRid { | 768 | struct BSSListRid { |
@@ -796,7 +796,7 @@ struct BSSListRid { | |||
796 | 796 | ||
797 | /* Only present on firmware >= 5.30.17 */ | 797 | /* Only present on firmware >= 5.30.17 */ |
798 | BSSListRidExtra extra; | 798 | BSSListRidExtra extra; |
799 | } __attribute__ ((packed)); | 799 | } __packed; |
800 | 800 | ||
801 | typedef struct { | 801 | typedef struct { |
802 | BSSListRid bss; | 802 | BSSListRid bss; |
@@ -807,13 +807,13 @@ typedef struct tdsRssiEntry tdsRssiEntry; | |||
807 | struct tdsRssiEntry { | 807 | struct tdsRssiEntry { |
808 | u8 rssipct; | 808 | u8 rssipct; |
809 | u8 rssidBm; | 809 | u8 rssidBm; |
810 | } __attribute__ ((packed)); | 810 | } __packed; |
811 | 811 | ||
812 | typedef struct tdsRssiRid tdsRssiRid; | 812 | typedef struct tdsRssiRid tdsRssiRid; |
813 | struct tdsRssiRid { | 813 | struct tdsRssiRid { |
814 | u16 len; | 814 | u16 len; |
815 | tdsRssiEntry x[256]; | 815 | tdsRssiEntry x[256]; |
816 | } __attribute__ ((packed)); | 816 | } __packed; |
817 | 817 | ||
818 | typedef struct MICRid MICRid; | 818 | typedef struct MICRid MICRid; |
819 | struct MICRid { | 819 | struct MICRid { |
@@ -823,7 +823,7 @@ struct MICRid { | |||
823 | u8 multicast[16]; | 823 | u8 multicast[16]; |
824 | __le16 unicastValid; | 824 | __le16 unicastValid; |
825 | u8 unicast[16]; | 825 | u8 unicast[16]; |
826 | } __attribute__ ((packed)); | 826 | } __packed; |
827 | 827 | ||
828 | typedef struct MICBuffer MICBuffer; | 828 | typedef struct MICBuffer MICBuffer; |
829 | struct MICBuffer { | 829 | struct MICBuffer { |
@@ -841,7 +841,7 @@ struct MICBuffer { | |||
841 | } u; | 841 | } u; |
842 | __be32 mic; | 842 | __be32 mic; |
843 | __be32 seq; | 843 | __be32 seq; |
844 | } __attribute__ ((packed)); | 844 | } __packed; |
845 | 845 | ||
846 | typedef struct { | 846 | typedef struct { |
847 | u8 da[ETH_ALEN]; | 847 | u8 da[ETH_ALEN]; |
@@ -996,7 +996,7 @@ struct rx_hdr { | |||
996 | u8 rate; | 996 | u8 rate; |
997 | u8 freq; | 997 | u8 freq; |
998 | __le16 tmp[4]; | 998 | __le16 tmp[4]; |
999 | } __attribute__ ((packed)); | 999 | } __packed; |
1000 | 1000 | ||
1001 | typedef struct { | 1001 | typedef struct { |
1002 | unsigned int ctl: 15; | 1002 | unsigned int ctl: 15; |
diff --git a/drivers/net/wireless/at76c50x-usb.c b/drivers/net/wireless/at76c50x-usb.c index 8a2d4afc74f8..429b281d40d1 100644 --- a/drivers/net/wireless/at76c50x-usb.c +++ b/drivers/net/wireless/at76c50x-usb.c | |||
@@ -305,7 +305,7 @@ struct dfu_status { | |||
305 | unsigned char poll_timeout[3]; | 305 | unsigned char poll_timeout[3]; |
306 | unsigned char state; | 306 | unsigned char state; |
307 | unsigned char string; | 307 | unsigned char string; |
308 | } __attribute__((packed)); | 308 | } __packed; |
309 | 309 | ||
310 | static inline int at76_is_intersil(enum board_type board) | 310 | static inline int at76_is_intersil(enum board_type board) |
311 | { | 311 | { |
diff --git a/drivers/net/wireless/at76c50x-usb.h b/drivers/net/wireless/at76c50x-usb.h index 1ec5ccffdbc0..972ea0fc1a0b 100644 --- a/drivers/net/wireless/at76c50x-usb.h +++ b/drivers/net/wireless/at76c50x-usb.h | |||
@@ -99,7 +99,7 @@ struct hwcfg_r505 { | |||
99 | u8 reserved2[14]; | 99 | u8 reserved2[14]; |
100 | u8 cr15_values[14]; | 100 | u8 cr15_values[14]; |
101 | u8 reserved3[3]; | 101 | u8 reserved3[3]; |
102 | } __attribute__((packed)); | 102 | } __packed; |
103 | 103 | ||
104 | struct hwcfg_rfmd { | 104 | struct hwcfg_rfmd { |
105 | u8 cr20_values[14]; | 105 | u8 cr20_values[14]; |
@@ -111,7 +111,7 @@ struct hwcfg_rfmd { | |||
111 | u8 low_power_values[14]; | 111 | u8 low_power_values[14]; |
112 | u8 normal_power_values[14]; | 112 | u8 normal_power_values[14]; |
113 | u8 reserved1[3]; | 113 | u8 reserved1[3]; |
114 | } __attribute__((packed)); | 114 | } __packed; |
115 | 115 | ||
116 | struct hwcfg_intersil { | 116 | struct hwcfg_intersil { |
117 | u8 mac_addr[ETH_ALEN]; | 117 | u8 mac_addr[ETH_ALEN]; |
@@ -120,7 +120,7 @@ struct hwcfg_intersil { | |||
120 | u8 pidvid[4]; | 120 | u8 pidvid[4]; |
121 | u8 regulatory_domain; | 121 | u8 regulatory_domain; |
122 | u8 reserved[1]; | 122 | u8 reserved[1]; |
123 | } __attribute__((packed)); | 123 | } __packed; |
124 | 124 | ||
125 | union at76_hwcfg { | 125 | union at76_hwcfg { |
126 | struct hwcfg_intersil i; | 126 | struct hwcfg_intersil i; |
@@ -149,14 +149,14 @@ struct at76_card_config { | |||
149 | u8 ssid_len; | 149 | u8 ssid_len; |
150 | u8 short_preamble; | 150 | u8 short_preamble; |
151 | __le16 beacon_period; | 151 | __le16 beacon_period; |
152 | } __attribute__((packed)); | 152 | } __packed; |
153 | 153 | ||
154 | struct at76_command { | 154 | struct at76_command { |
155 | u8 cmd; | 155 | u8 cmd; |
156 | u8 reserved; | 156 | u8 reserved; |
157 | __le16 size; | 157 | __le16 size; |
158 | u8 data[0]; | 158 | u8 data[0]; |
159 | } __attribute__((packed)); | 159 | } __packed; |
160 | 160 | ||
161 | /* Length of Atmel-specific Rx header before 802.11 frame */ | 161 | /* Length of Atmel-specific Rx header before 802.11 frame */ |
162 | #define AT76_RX_HDRLEN offsetof(struct at76_rx_buffer, packet) | 162 | #define AT76_RX_HDRLEN offsetof(struct at76_rx_buffer, packet) |
@@ -171,7 +171,7 @@ struct at76_rx_buffer { | |||
171 | u8 noise_level; | 171 | u8 noise_level; |
172 | __le32 rx_time; | 172 | __le32 rx_time; |
173 | u8 packet[IEEE80211_MAX_FRAG_THRESHOLD]; | 173 | u8 packet[IEEE80211_MAX_FRAG_THRESHOLD]; |
174 | } __attribute__((packed)); | 174 | } __packed; |
175 | 175 | ||
176 | /* Length of Atmel-specific Tx header before 802.11 frame */ | 176 | /* Length of Atmel-specific Tx header before 802.11 frame */ |
177 | #define AT76_TX_HDRLEN offsetof(struct at76_tx_buffer, packet) | 177 | #define AT76_TX_HDRLEN offsetof(struct at76_tx_buffer, packet) |
@@ -182,7 +182,7 @@ struct at76_tx_buffer { | |||
182 | u8 padding; | 182 | u8 padding; |
183 | u8 reserved[4]; | 183 | u8 reserved[4]; |
184 | u8 packet[IEEE80211_MAX_FRAG_THRESHOLD]; | 184 | u8 packet[IEEE80211_MAX_FRAG_THRESHOLD]; |
185 | } __attribute__((packed)); | 185 | } __packed; |
186 | 186 | ||
187 | /* defines for scan_type below */ | 187 | /* defines for scan_type below */ |
188 | #define SCAN_TYPE_ACTIVE 0 | 188 | #define SCAN_TYPE_ACTIVE 0 |
@@ -198,7 +198,7 @@ struct at76_req_scan { | |||
198 | __le16 max_channel_time; | 198 | __le16 max_channel_time; |
199 | u8 essid_size; | 199 | u8 essid_size; |
200 | u8 international_scan; | 200 | u8 international_scan; |
201 | } __attribute__((packed)); | 201 | } __packed; |
202 | 202 | ||
203 | struct at76_req_ibss { | 203 | struct at76_req_ibss { |
204 | u8 bssid[ETH_ALEN]; | 204 | u8 bssid[ETH_ALEN]; |
@@ -207,7 +207,7 @@ struct at76_req_ibss { | |||
207 | u8 channel; | 207 | u8 channel; |
208 | u8 essid_size; | 208 | u8 essid_size; |
209 | u8 reserved[3]; | 209 | u8 reserved[3]; |
210 | } __attribute__((packed)); | 210 | } __packed; |
211 | 211 | ||
212 | struct at76_req_join { | 212 | struct at76_req_join { |
213 | u8 bssid[ETH_ALEN]; | 213 | u8 bssid[ETH_ALEN]; |
@@ -217,7 +217,7 @@ struct at76_req_join { | |||
217 | __le16 timeout; | 217 | __le16 timeout; |
218 | u8 essid_size; | 218 | u8 essid_size; |
219 | u8 reserved; | 219 | u8 reserved; |
220 | } __attribute__((packed)); | 220 | } __packed; |
221 | 221 | ||
222 | struct set_mib_buffer { | 222 | struct set_mib_buffer { |
223 | u8 type; | 223 | u8 type; |
@@ -229,7 +229,7 @@ struct set_mib_buffer { | |||
229 | __le16 word; | 229 | __le16 word; |
230 | u8 addr[ETH_ALEN]; | 230 | u8 addr[ETH_ALEN]; |
231 | } data; | 231 | } data; |
232 | } __attribute__((packed)); | 232 | } __packed; |
233 | 233 | ||
234 | struct mib_local { | 234 | struct mib_local { |
235 | u16 reserved0; | 235 | u16 reserved0; |
@@ -241,14 +241,14 @@ struct mib_local { | |||
241 | u16 reserved2; | 241 | u16 reserved2; |
242 | u8 preamble_type; | 242 | u8 preamble_type; |
243 | u16 reserved3; | 243 | u16 reserved3; |
244 | } __attribute__((packed)); | 244 | } __packed; |
245 | 245 | ||
246 | struct mib_mac_addr { | 246 | struct mib_mac_addr { |
247 | u8 mac_addr[ETH_ALEN]; | 247 | u8 mac_addr[ETH_ALEN]; |
248 | u8 res[2]; /* ??? */ | 248 | u8 res[2]; /* ??? */ |
249 | u8 group_addr[4][ETH_ALEN]; | 249 | u8 group_addr[4][ETH_ALEN]; |
250 | u8 group_addr_status[4]; | 250 | u8 group_addr_status[4]; |
251 | } __attribute__((packed)); | 251 | } __packed; |
252 | 252 | ||
253 | struct mib_mac { | 253 | struct mib_mac { |
254 | __le32 max_tx_msdu_lifetime; | 254 | __le32 max_tx_msdu_lifetime; |
@@ -269,7 +269,7 @@ struct mib_mac { | |||
269 | u8 desired_bssid[ETH_ALEN]; | 269 | u8 desired_bssid[ETH_ALEN]; |
270 | u8 desired_bsstype; /* ad-hoc or infrastructure */ | 270 | u8 desired_bsstype; /* ad-hoc or infrastructure */ |
271 | u8 reserved2; | 271 | u8 reserved2; |
272 | } __attribute__((packed)); | 272 | } __packed; |
273 | 273 | ||
274 | struct mib_mac_mgmt { | 274 | struct mib_mac_mgmt { |
275 | __le16 beacon_period; | 275 | __le16 beacon_period; |
@@ -292,7 +292,7 @@ struct mib_mac_mgmt { | |||
292 | u8 multi_domain_capability_enabled; | 292 | u8 multi_domain_capability_enabled; |
293 | u8 country_string[3]; | 293 | u8 country_string[3]; |
294 | u8 reserved[3]; | 294 | u8 reserved[3]; |
295 | } __attribute__((packed)); | 295 | } __packed; |
296 | 296 | ||
297 | struct mib_mac_wep { | 297 | struct mib_mac_wep { |
298 | u8 privacy_invoked; /* 0 disable encr., 1 enable encr */ | 298 | u8 privacy_invoked; /* 0 disable encr., 1 enable encr */ |
@@ -303,7 +303,7 @@ struct mib_mac_wep { | |||
303 | __le32 wep_excluded_count; | 303 | __le32 wep_excluded_count; |
304 | u8 wep_default_keyvalue[WEP_KEYS][WEP_LARGE_KEY_LEN]; | 304 | u8 wep_default_keyvalue[WEP_KEYS][WEP_LARGE_KEY_LEN]; |
305 | u8 encryption_level; /* 1 for 40bit, 2 for 104bit encryption */ | 305 | u8 encryption_level; /* 1 for 40bit, 2 for 104bit encryption */ |
306 | } __attribute__((packed)); | 306 | } __packed; |
307 | 307 | ||
308 | struct mib_phy { | 308 | struct mib_phy { |
309 | __le32 ed_threshold; | 309 | __le32 ed_threshold; |
@@ -320,19 +320,19 @@ struct mib_phy { | |||
320 | u8 current_cca_mode; | 320 | u8 current_cca_mode; |
321 | u8 phy_type; | 321 | u8 phy_type; |
322 | u8 current_reg_domain; | 322 | u8 current_reg_domain; |
323 | } __attribute__((packed)); | 323 | } __packed; |
324 | 324 | ||
325 | struct mib_fw_version { | 325 | struct mib_fw_version { |
326 | u8 major; | 326 | u8 major; |
327 | u8 minor; | 327 | u8 minor; |
328 | u8 patch; | 328 | u8 patch; |
329 | u8 build; | 329 | u8 build; |
330 | } __attribute__((packed)); | 330 | } __packed; |
331 | 331 | ||
332 | struct mib_mdomain { | 332 | struct mib_mdomain { |
333 | u8 tx_powerlevel[14]; | 333 | u8 tx_powerlevel[14]; |
334 | u8 channel_list[14]; /* 0 for invalid channels */ | 334 | u8 channel_list[14]; /* 0 for invalid channels */ |
335 | } __attribute__((packed)); | 335 | } __packed; |
336 | 336 | ||
337 | struct at76_fw_header { | 337 | struct at76_fw_header { |
338 | __le32 crc; /* CRC32 of the whole image */ | 338 | __le32 crc; /* CRC32 of the whole image */ |
@@ -346,7 +346,7 @@ struct at76_fw_header { | |||
346 | __le32 int_fw_len; /* internal firmware image length */ | 346 | __le32 int_fw_len; /* internal firmware image length */ |
347 | __le32 ext_fw_offset; /* external firmware image offset */ | 347 | __le32 ext_fw_offset; /* external firmware image offset */ |
348 | __le32 ext_fw_len; /* external firmware image length */ | 348 | __le32 ext_fw_len; /* external firmware image length */ |
349 | } __attribute__((packed)); | 349 | } __packed; |
350 | 350 | ||
351 | /* a description of a regulatory domain and the allowed channels */ | 351 | /* a description of a regulatory domain and the allowed channels */ |
352 | struct reg_domain { | 352 | struct reg_domain { |
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h index 3a003e6803a5..8674a99356af 100644 --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h | |||
@@ -530,7 +530,7 @@ struct b43_fw_header { | |||
530 | /* Size of the data. For ucode and PCM this is in bytes. | 530 | /* Size of the data. For ucode and PCM this is in bytes. |
531 | * For IV this is number-of-ivs. */ | 531 | * For IV this is number-of-ivs. */ |
532 | __be32 size; | 532 | __be32 size; |
533 | } __attribute__((__packed__)); | 533 | } __packed; |
534 | 534 | ||
535 | /* Initial Value file format */ | 535 | /* Initial Value file format */ |
536 | #define B43_IV_OFFSET_MASK 0x7FFF | 536 | #define B43_IV_OFFSET_MASK 0x7FFF |
@@ -540,8 +540,8 @@ struct b43_iv { | |||
540 | union { | 540 | union { |
541 | __be16 d16; | 541 | __be16 d16; |
542 | __be32 d32; | 542 | __be32 d32; |
543 | } data __attribute__((__packed__)); | 543 | } data __packed; |
544 | } __attribute__((__packed__)); | 544 | } __packed; |
545 | 545 | ||
546 | 546 | ||
547 | /* Data structures for DMA transmission, per 80211 core. */ | 547 | /* Data structures for DMA transmission, per 80211 core. */ |
diff --git a/drivers/net/wireless/b43/dma.h b/drivers/net/wireless/b43/dma.h index dc91944d6022..a01c2100f166 100644 --- a/drivers/net/wireless/b43/dma.h +++ b/drivers/net/wireless/b43/dma.h | |||
@@ -67,7 +67,7 @@ | |||
67 | struct b43_dmadesc32 { | 67 | struct b43_dmadesc32 { |
68 | __le32 control; | 68 | __le32 control; |
69 | __le32 address; | 69 | __le32 address; |
70 | } __attribute__ ((__packed__)); | 70 | } __packed; |
71 | #define B43_DMA32_DCTL_BYTECNT 0x00001FFF | 71 | #define B43_DMA32_DCTL_BYTECNT 0x00001FFF |
72 | #define B43_DMA32_DCTL_ADDREXT_MASK 0x00030000 | 72 | #define B43_DMA32_DCTL_ADDREXT_MASK 0x00030000 |
73 | #define B43_DMA32_DCTL_ADDREXT_SHIFT 16 | 73 | #define B43_DMA32_DCTL_ADDREXT_SHIFT 16 |
@@ -140,7 +140,7 @@ struct b43_dmadesc64 { | |||
140 | __le32 control1; | 140 | __le32 control1; |
141 | __le32 address_low; | 141 | __le32 address_low; |
142 | __le32 address_high; | 142 | __le32 address_high; |
143 | } __attribute__ ((__packed__)); | 143 | } __packed; |
144 | #define B43_DMA64_DCTL0_DTABLEEND 0x10000000 | 144 | #define B43_DMA64_DCTL0_DTABLEEND 0x10000000 |
145 | #define B43_DMA64_DCTL0_IRQ 0x20000000 | 145 | #define B43_DMA64_DCTL0_IRQ 0x20000000 |
146 | #define B43_DMA64_DCTL0_FRAMEEND 0x40000000 | 146 | #define B43_DMA64_DCTL0_FRAMEEND 0x40000000 |
@@ -153,8 +153,8 @@ struct b43_dmadesc_generic { | |||
153 | union { | 153 | union { |
154 | struct b43_dmadesc32 dma32; | 154 | struct b43_dmadesc32 dma32; |
155 | struct b43_dmadesc64 dma64; | 155 | struct b43_dmadesc64 dma64; |
156 | } __attribute__ ((__packed__)); | 156 | } __packed; |
157 | } __attribute__ ((__packed__)); | 157 | } __packed; |
158 | 158 | ||
159 | /* Misc DMA constants */ | 159 | /* Misc DMA constants */ |
160 | #define B43_DMA_RINGMEMSIZE PAGE_SIZE | 160 | #define B43_DMA_RINGMEMSIZE PAGE_SIZE |
diff --git a/drivers/net/wireless/b43/xmit.h b/drivers/net/wireless/b43/xmit.h index d23ff9fe0c9e..d4cf9b390af3 100644 --- a/drivers/net/wireless/b43/xmit.h +++ b/drivers/net/wireless/b43/xmit.h | |||
@@ -10,8 +10,8 @@ | |||
10 | union { \ | 10 | union { \ |
11 | __le32 data; \ | 11 | __le32 data; \ |
12 | __u8 raw[size]; \ | 12 | __u8 raw[size]; \ |
13 | } __attribute__((__packed__)); \ | 13 | } __packed; \ |
14 | } __attribute__((__packed__)) | 14 | } __packed |
15 | 15 | ||
16 | /* struct b43_plcp_hdr4 */ | 16 | /* struct b43_plcp_hdr4 */ |
17 | _b43_declare_plcp_hdr(4); | 17 | _b43_declare_plcp_hdr(4); |
@@ -57,7 +57,7 @@ struct b43_txhdr { | |||
57 | __u8 rts_frame[16]; /* The RTS frame (if used) */ | 57 | __u8 rts_frame[16]; /* The RTS frame (if used) */ |
58 | PAD_BYTES(2); | 58 | PAD_BYTES(2); |
59 | struct b43_plcp_hdr6 plcp; /* Main PLCP header */ | 59 | struct b43_plcp_hdr6 plcp; /* Main PLCP header */ |
60 | } new_format __attribute__ ((__packed__)); | 60 | } new_format __packed; |
61 | 61 | ||
62 | /* The old r351 format. */ | 62 | /* The old r351 format. */ |
63 | struct { | 63 | struct { |
@@ -68,10 +68,10 @@ struct b43_txhdr { | |||
68 | __u8 rts_frame[16]; /* The RTS frame (if used) */ | 68 | __u8 rts_frame[16]; /* The RTS frame (if used) */ |
69 | PAD_BYTES(2); | 69 | PAD_BYTES(2); |
70 | struct b43_plcp_hdr6 plcp; /* Main PLCP header */ | 70 | struct b43_plcp_hdr6 plcp; /* Main PLCP header */ |
71 | } old_format __attribute__ ((__packed__)); | 71 | } old_format __packed; |
72 | 72 | ||
73 | } __attribute__ ((__packed__)); | 73 | } __packed; |
74 | } __attribute__ ((__packed__)); | 74 | } __packed; |
75 | 75 | ||
76 | /* MAC TX control */ | 76 | /* MAC TX control */ |
77 | #define B43_TXH_MAC_USEFBR 0x10000000 /* Use fallback rate for this AMPDU */ | 77 | #define B43_TXH_MAC_USEFBR 0x10000000 /* Use fallback rate for this AMPDU */ |
@@ -218,20 +218,20 @@ struct b43_rxhdr_fw4 { | |||
218 | struct { | 218 | struct { |
219 | __u8 jssi; /* PHY RX Status 1: JSSI */ | 219 | __u8 jssi; /* PHY RX Status 1: JSSI */ |
220 | __u8 sig_qual; /* PHY RX Status 1: Signal Quality */ | 220 | __u8 sig_qual; /* PHY RX Status 1: Signal Quality */ |
221 | } __attribute__ ((__packed__)); | 221 | } __packed; |
222 | 222 | ||
223 | /* RSSI for N-PHYs */ | 223 | /* RSSI for N-PHYs */ |
224 | struct { | 224 | struct { |
225 | __s8 power0; /* PHY RX Status 1: Power 0 */ | 225 | __s8 power0; /* PHY RX Status 1: Power 0 */ |
226 | __s8 power1; /* PHY RX Status 1: Power 1 */ | 226 | __s8 power1; /* PHY RX Status 1: Power 1 */ |
227 | } __attribute__ ((__packed__)); | 227 | } __packed; |
228 | } __attribute__ ((__packed__)); | 228 | } __packed; |
229 | __le16 phy_status2; /* PHY RX Status 2 */ | 229 | __le16 phy_status2; /* PHY RX Status 2 */ |
230 | __le16 phy_status3; /* PHY RX Status 3 */ | 230 | __le16 phy_status3; /* PHY RX Status 3 */ |
231 | __le32 mac_status; /* MAC RX status */ | 231 | __le32 mac_status; /* MAC RX status */ |
232 | __le16 mac_time; | 232 | __le16 mac_time; |
233 | __le16 channel; | 233 | __le16 channel; |
234 | } __attribute__ ((__packed__)); | 234 | } __packed; |
235 | 235 | ||
236 | /* PHY RX Status 0 */ | 236 | /* PHY RX Status 0 */ |
237 | #define B43_RX_PHYST0_GAINCTL 0x4000 /* Gain Control */ | 237 | #define B43_RX_PHYST0_GAINCTL 0x4000 /* Gain Control */ |
diff --git a/drivers/net/wireless/b43legacy/b43legacy.h b/drivers/net/wireless/b43legacy/b43legacy.h index 89fe2f972c72..c81b2f53b0c5 100644 --- a/drivers/net/wireless/b43legacy/b43legacy.h +++ b/drivers/net/wireless/b43legacy/b43legacy.h | |||
@@ -372,7 +372,7 @@ struct b43legacy_fw_header { | |||
372 | /* Size of the data. For ucode and PCM this is in bytes. | 372 | /* Size of the data. For ucode and PCM this is in bytes. |
373 | * For IV this is number-of-ivs. */ | 373 | * For IV this is number-of-ivs. */ |
374 | __be32 size; | 374 | __be32 size; |
375 | } __attribute__((__packed__)); | 375 | } __packed; |
376 | 376 | ||
377 | /* Initial Value file format */ | 377 | /* Initial Value file format */ |
378 | #define B43legacy_IV_OFFSET_MASK 0x7FFF | 378 | #define B43legacy_IV_OFFSET_MASK 0x7FFF |
@@ -382,8 +382,8 @@ struct b43legacy_iv { | |||
382 | union { | 382 | union { |
383 | __be16 d16; | 383 | __be16 d16; |
384 | __be32 d32; | 384 | __be32 d32; |
385 | } data __attribute__((__packed__)); | 385 | } data __packed; |
386 | } __attribute__((__packed__)); | 386 | } __packed; |
387 | 387 | ||
388 | #define B43legacy_PHYMODE(phytype) (1 << (phytype)) | 388 | #define B43legacy_PHYMODE(phytype) (1 << (phytype)) |
389 | #define B43legacy_PHYMODE_B B43legacy_PHYMODE \ | 389 | #define B43legacy_PHYMODE_B B43legacy_PHYMODE \ |
diff --git a/drivers/net/wireless/b43legacy/dma.h b/drivers/net/wireless/b43legacy/dma.h index f9681041c2d8..f89c34226288 100644 --- a/drivers/net/wireless/b43legacy/dma.h +++ b/drivers/net/wireless/b43legacy/dma.h | |||
@@ -72,7 +72,7 @@ | |||
72 | struct b43legacy_dmadesc32 { | 72 | struct b43legacy_dmadesc32 { |
73 | __le32 control; | 73 | __le32 control; |
74 | __le32 address; | 74 | __le32 address; |
75 | } __attribute__((__packed__)); | 75 | } __packed; |
76 | #define B43legacy_DMA32_DCTL_BYTECNT 0x00001FFF | 76 | #define B43legacy_DMA32_DCTL_BYTECNT 0x00001FFF |
77 | #define B43legacy_DMA32_DCTL_ADDREXT_MASK 0x00030000 | 77 | #define B43legacy_DMA32_DCTL_ADDREXT_MASK 0x00030000 |
78 | #define B43legacy_DMA32_DCTL_ADDREXT_SHIFT 16 | 78 | #define B43legacy_DMA32_DCTL_ADDREXT_SHIFT 16 |
@@ -147,7 +147,7 @@ struct b43legacy_dmadesc64 { | |||
147 | __le32 control1; | 147 | __le32 control1; |
148 | __le32 address_low; | 148 | __le32 address_low; |
149 | __le32 address_high; | 149 | __le32 address_high; |
150 | } __attribute__((__packed__)); | 150 | } __packed; |
151 | #define B43legacy_DMA64_DCTL0_DTABLEEND 0x10000000 | 151 | #define B43legacy_DMA64_DCTL0_DTABLEEND 0x10000000 |
152 | #define B43legacy_DMA64_DCTL0_IRQ 0x20000000 | 152 | #define B43legacy_DMA64_DCTL0_IRQ 0x20000000 |
153 | #define B43legacy_DMA64_DCTL0_FRAMEEND 0x40000000 | 153 | #define B43legacy_DMA64_DCTL0_FRAMEEND 0x40000000 |
@@ -162,8 +162,8 @@ struct b43legacy_dmadesc_generic { | |||
162 | union { | 162 | union { |
163 | struct b43legacy_dmadesc32 dma32; | 163 | struct b43legacy_dmadesc32 dma32; |
164 | struct b43legacy_dmadesc64 dma64; | 164 | struct b43legacy_dmadesc64 dma64; |
165 | } __attribute__((__packed__)); | 165 | } __packed; |
166 | } __attribute__((__packed__)); | 166 | } __packed; |
167 | 167 | ||
168 | 168 | ||
169 | /* Misc DMA constants */ | 169 | /* Misc DMA constants */ |
diff --git a/drivers/net/wireless/b43legacy/xmit.h b/drivers/net/wireless/b43legacy/xmit.h index 91633087a20b..289db00a4a7b 100644 --- a/drivers/net/wireless/b43legacy/xmit.h +++ b/drivers/net/wireless/b43legacy/xmit.h | |||
@@ -9,8 +9,8 @@ | |||
9 | union { \ | 9 | union { \ |
10 | __le32 data; \ | 10 | __le32 data; \ |
11 | __u8 raw[size]; \ | 11 | __u8 raw[size]; \ |
12 | } __attribute__((__packed__)); \ | 12 | } __packed; \ |
13 | } __attribute__((__packed__)) | 13 | } __packed |
14 | 14 | ||
15 | /* struct b43legacy_plcp_hdr4 */ | 15 | /* struct b43legacy_plcp_hdr4 */ |
16 | _b43legacy_declare_plcp_hdr(4); | 16 | _b43legacy_declare_plcp_hdr(4); |
@@ -39,7 +39,7 @@ struct b43legacy_txhdr_fw3 { | |||
39 | struct b43legacy_plcp_hdr6 rts_plcp; /* RTS PLCP */ | 39 | struct b43legacy_plcp_hdr6 rts_plcp; /* RTS PLCP */ |
40 | __u8 rts_frame[18]; /* The RTS frame (if used) */ | 40 | __u8 rts_frame[18]; /* The RTS frame (if used) */ |
41 | struct b43legacy_plcp_hdr6 plcp; | 41 | struct b43legacy_plcp_hdr6 plcp; |
42 | } __attribute__((__packed__)); | 42 | } __packed; |
43 | 43 | ||
44 | /* MAC TX control */ | 44 | /* MAC TX control */ |
45 | #define B43legacy_TX4_MAC_KEYIDX 0x0FF00000 /* Security key index */ | 45 | #define B43legacy_TX4_MAC_KEYIDX 0x0FF00000 /* Security key index */ |
@@ -123,7 +123,7 @@ struct b43legacy_hwtxstatus { | |||
123 | __le16 seq; | 123 | __le16 seq; |
124 | u8 phy_stat; | 124 | u8 phy_stat; |
125 | PAD_BYTES(1); | 125 | PAD_BYTES(1); |
126 | } __attribute__((__packed__)); | 126 | } __packed; |
127 | 127 | ||
128 | 128 | ||
129 | /* Receive header for v3 firmware. */ | 129 | /* Receive header for v3 firmware. */ |
@@ -138,7 +138,7 @@ struct b43legacy_rxhdr_fw3 { | |||
138 | __le16 mac_status; /* MAC RX status */ | 138 | __le16 mac_status; /* MAC RX status */ |
139 | __le16 mac_time; | 139 | __le16 mac_time; |
140 | __le16 channel; | 140 | __le16 channel; |
141 | } __attribute__((__packed__)); | 141 | } __packed; |
142 | 142 | ||
143 | 143 | ||
144 | /* PHY RX Status 0 */ | 144 | /* PHY RX Status 0 */ |
diff --git a/drivers/net/wireless/hostap/hostap_80211.h b/drivers/net/wireless/hostap/hostap_80211.h index 7f9d8d976aa8..ed98ce7c8f65 100644 --- a/drivers/net/wireless/hostap/hostap_80211.h +++ b/drivers/net/wireless/hostap/hostap_80211.h | |||
@@ -19,35 +19,35 @@ struct hostap_ieee80211_mgmt { | |||
19 | __le16 status_code; | 19 | __le16 status_code; |
20 | /* possibly followed by Challenge text */ | 20 | /* possibly followed by Challenge text */ |
21 | u8 variable[0]; | 21 | u8 variable[0]; |
22 | } __attribute__ ((packed)) auth; | 22 | } __packed auth; |
23 | struct { | 23 | struct { |
24 | __le16 reason_code; | 24 | __le16 reason_code; |
25 | } __attribute__ ((packed)) deauth; | 25 | } __packed deauth; |
26 | struct { | 26 | struct { |
27 | __le16 capab_info; | 27 | __le16 capab_info; |
28 | __le16 listen_interval; | 28 | __le16 listen_interval; |
29 | /* followed by SSID and Supported rates */ | 29 | /* followed by SSID and Supported rates */ |
30 | u8 variable[0]; | 30 | u8 variable[0]; |
31 | } __attribute__ ((packed)) assoc_req; | 31 | } __packed assoc_req; |
32 | struct { | 32 | struct { |
33 | __le16 capab_info; | 33 | __le16 capab_info; |
34 | __le16 status_code; | 34 | __le16 status_code; |
35 | __le16 aid; | 35 | __le16 aid; |
36 | /* followed by Supported rates */ | 36 | /* followed by Supported rates */ |
37 | u8 variable[0]; | 37 | u8 variable[0]; |
38 | } __attribute__ ((packed)) assoc_resp, reassoc_resp; | 38 | } __packed assoc_resp, reassoc_resp; |
39 | struct { | 39 | struct { |
40 | __le16 capab_info; | 40 | __le16 capab_info; |
41 | __le16 listen_interval; | 41 | __le16 listen_interval; |
42 | u8 current_ap[6]; | 42 | u8 current_ap[6]; |
43 | /* followed by SSID and Supported rates */ | 43 | /* followed by SSID and Supported rates */ |
44 | u8 variable[0]; | 44 | u8 variable[0]; |
45 | } __attribute__ ((packed)) reassoc_req; | 45 | } __packed reassoc_req; |
46 | struct { | 46 | struct { |
47 | __le16 reason_code; | 47 | __le16 reason_code; |
48 | } __attribute__ ((packed)) disassoc; | 48 | } __packed disassoc; |
49 | struct { | 49 | struct { |
50 | } __attribute__ ((packed)) probe_req; | 50 | } __packed probe_req; |
51 | struct { | 51 | struct { |
52 | u8 timestamp[8]; | 52 | u8 timestamp[8]; |
53 | __le16 beacon_int; | 53 | __le16 beacon_int; |
@@ -55,9 +55,9 @@ struct hostap_ieee80211_mgmt { | |||
55 | /* followed by some of SSID, Supported rates, | 55 | /* followed by some of SSID, Supported rates, |
56 | * FH Params, DS Params, CF Params, IBSS Params, TIM */ | 56 | * FH Params, DS Params, CF Params, IBSS Params, TIM */ |
57 | u8 variable[0]; | 57 | u8 variable[0]; |
58 | } __attribute__ ((packed)) beacon, probe_resp; | 58 | } __packed beacon, probe_resp; |
59 | } u; | 59 | } u; |
60 | } __attribute__ ((packed)); | 60 | } __packed; |
61 | 61 | ||
62 | 62 | ||
63 | #define IEEE80211_MGMT_HDR_LEN 24 | 63 | #define IEEE80211_MGMT_HDR_LEN 24 |
diff --git a/drivers/net/wireless/hostap/hostap_common.h b/drivers/net/wireless/hostap/hostap_common.h index 90b64b092007..4230102ac9e4 100644 --- a/drivers/net/wireless/hostap/hostap_common.h +++ b/drivers/net/wireless/hostap/hostap_common.h | |||
@@ -179,7 +179,7 @@ struct hfa384x_comp_ident | |||
179 | __le16 variant; | 179 | __le16 variant; |
180 | __le16 major; | 180 | __le16 major; |
181 | __le16 minor; | 181 | __le16 minor; |
182 | } __attribute__ ((packed)); | 182 | } __packed; |
183 | 183 | ||
184 | #define HFA384X_COMP_ID_PRI 0x15 | 184 | #define HFA384X_COMP_ID_PRI 0x15 |
185 | #define HFA384X_COMP_ID_STA 0x1f | 185 | #define HFA384X_COMP_ID_STA 0x1f |
@@ -192,14 +192,14 @@ struct hfa384x_sup_range | |||
192 | __le16 variant; | 192 | __le16 variant; |
193 | __le16 bottom; | 193 | __le16 bottom; |
194 | __le16 top; | 194 | __le16 top; |
195 | } __attribute__ ((packed)); | 195 | } __packed; |
196 | 196 | ||
197 | 197 | ||
198 | struct hfa384x_build_id | 198 | struct hfa384x_build_id |
199 | { | 199 | { |
200 | __le16 pri_seq; | 200 | __le16 pri_seq; |
201 | __le16 sec_seq; | 201 | __le16 sec_seq; |
202 | } __attribute__ ((packed)); | 202 | } __packed; |
203 | 203 | ||
204 | /* FD01 - Download Buffer */ | 204 | /* FD01 - Download Buffer */ |
205 | struct hfa384x_rid_download_buffer | 205 | struct hfa384x_rid_download_buffer |
@@ -207,14 +207,14 @@ struct hfa384x_rid_download_buffer | |||
207 | __le16 page; | 207 | __le16 page; |
208 | __le16 offset; | 208 | __le16 offset; |
209 | __le16 length; | 209 | __le16 length; |
210 | } __attribute__ ((packed)); | 210 | } __packed; |
211 | 211 | ||
212 | /* BSS connection quality (RID FD43 range, RID FD51 dBm-normalized) */ | 212 | /* BSS connection quality (RID FD43 range, RID FD51 dBm-normalized) */ |
213 | struct hfa384x_comms_quality { | 213 | struct hfa384x_comms_quality { |
214 | __le16 comm_qual; /* 0 .. 92 */ | 214 | __le16 comm_qual; /* 0 .. 92 */ |
215 | __le16 signal_level; /* 27 .. 154 */ | 215 | __le16 signal_level; /* 27 .. 154 */ |
216 | __le16 noise_level; /* 27 .. 154 */ | 216 | __le16 noise_level; /* 27 .. 154 */ |
217 | } __attribute__ ((packed)); | 217 | } __packed; |
218 | 218 | ||
219 | 219 | ||
220 | /* netdevice private ioctls (used, e.g., with iwpriv from user space) */ | 220 | /* netdevice private ioctls (used, e.g., with iwpriv from user space) */ |
diff --git a/drivers/net/wireless/hostap/hostap_wlan.h b/drivers/net/wireless/hostap/hostap_wlan.h index 3d238917af07..c02f8667a7e0 100644 --- a/drivers/net/wireless/hostap/hostap_wlan.h +++ b/drivers/net/wireless/hostap/hostap_wlan.h | |||
@@ -31,14 +31,14 @@ struct linux_wlan_ng_val { | |||
31 | u32 did; | 31 | u32 did; |
32 | u16 status, len; | 32 | u16 status, len; |
33 | u32 data; | 33 | u32 data; |
34 | } __attribute__ ((packed)); | 34 | } __packed; |
35 | 35 | ||
36 | struct linux_wlan_ng_prism_hdr { | 36 | struct linux_wlan_ng_prism_hdr { |
37 | u32 msgcode, msglen; | 37 | u32 msgcode, msglen; |
38 | char devname[16]; | 38 | char devname[16]; |
39 | struct linux_wlan_ng_val hosttime, mactime, channel, rssi, sq, signal, | 39 | struct linux_wlan_ng_val hosttime, mactime, channel, rssi, sq, signal, |
40 | noise, rate, istx, frmlen; | 40 | noise, rate, istx, frmlen; |
41 | } __attribute__ ((packed)); | 41 | } __packed; |
42 | 42 | ||
43 | struct linux_wlan_ng_cap_hdr { | 43 | struct linux_wlan_ng_cap_hdr { |
44 | __be32 version; | 44 | __be32 version; |
@@ -55,7 +55,7 @@ struct linux_wlan_ng_cap_hdr { | |||
55 | __be32 ssi_noise; | 55 | __be32 ssi_noise; |
56 | __be32 preamble; | 56 | __be32 preamble; |
57 | __be32 encoding; | 57 | __be32 encoding; |
58 | } __attribute__ ((packed)); | 58 | } __packed; |
59 | 59 | ||
60 | struct hostap_radiotap_rx { | 60 | struct hostap_radiotap_rx { |
61 | struct ieee80211_radiotap_header hdr; | 61 | struct ieee80211_radiotap_header hdr; |
@@ -66,7 +66,7 @@ struct hostap_radiotap_rx { | |||
66 | __le16 chan_flags; | 66 | __le16 chan_flags; |
67 | s8 dbm_antsignal; | 67 | s8 dbm_antsignal; |
68 | s8 dbm_antnoise; | 68 | s8 dbm_antnoise; |
69 | } __attribute__ ((packed)); | 69 | } __packed; |
70 | 70 | ||
71 | #define LWNG_CAP_DID_BASE (4 | (1 << 6)) /* section 4, group 1 */ | 71 | #define LWNG_CAP_DID_BASE (4 | (1 << 6)) /* section 4, group 1 */ |
72 | #define LWNG_CAPHDR_VERSION 0x80211001 | 72 | #define LWNG_CAPHDR_VERSION 0x80211001 |
@@ -97,7 +97,7 @@ struct hfa384x_rx_frame { | |||
97 | __be16 len; | 97 | __be16 len; |
98 | 98 | ||
99 | /* followed by frame data; max 2304 bytes */ | 99 | /* followed by frame data; max 2304 bytes */ |
100 | } __attribute__ ((packed)); | 100 | } __packed; |
101 | 101 | ||
102 | 102 | ||
103 | struct hfa384x_tx_frame { | 103 | struct hfa384x_tx_frame { |
@@ -126,14 +126,14 @@ struct hfa384x_tx_frame { | |||
126 | __be16 len; | 126 | __be16 len; |
127 | 127 | ||
128 | /* followed by frame data; max 2304 bytes */ | 128 | /* followed by frame data; max 2304 bytes */ |
129 | } __attribute__ ((packed)); | 129 | } __packed; |
130 | 130 | ||
131 | 131 | ||
132 | struct hfa384x_rid_hdr | 132 | struct hfa384x_rid_hdr |
133 | { | 133 | { |
134 | __le16 len; | 134 | __le16 len; |
135 | __le16 rid; | 135 | __le16 rid; |
136 | } __attribute__ ((packed)); | 136 | } __packed; |
137 | 137 | ||
138 | 138 | ||
139 | /* Macro for converting signal levels (range 27 .. 154) to wireless ext | 139 | /* Macro for converting signal levels (range 27 .. 154) to wireless ext |
@@ -145,24 +145,24 @@ struct hfa384x_rid_hdr | |||
145 | struct hfa384x_scan_request { | 145 | struct hfa384x_scan_request { |
146 | __le16 channel_list; | 146 | __le16 channel_list; |
147 | __le16 txrate; /* HFA384X_RATES_* */ | 147 | __le16 txrate; /* HFA384X_RATES_* */ |
148 | } __attribute__ ((packed)); | 148 | } __packed; |
149 | 149 | ||
150 | struct hfa384x_hostscan_request { | 150 | struct hfa384x_hostscan_request { |
151 | __le16 channel_list; | 151 | __le16 channel_list; |
152 | __le16 txrate; | 152 | __le16 txrate; |
153 | __le16 target_ssid_len; | 153 | __le16 target_ssid_len; |
154 | u8 target_ssid[32]; | 154 | u8 target_ssid[32]; |
155 | } __attribute__ ((packed)); | 155 | } __packed; |
156 | 156 | ||
157 | struct hfa384x_join_request { | 157 | struct hfa384x_join_request { |
158 | u8 bssid[6]; | 158 | u8 bssid[6]; |
159 | __le16 channel; | 159 | __le16 channel; |
160 | } __attribute__ ((packed)); | 160 | } __packed; |
161 | 161 | ||
162 | struct hfa384x_info_frame { | 162 | struct hfa384x_info_frame { |
163 | __le16 len; | 163 | __le16 len; |
164 | __le16 type; | 164 | __le16 type; |
165 | } __attribute__ ((packed)); | 165 | } __packed; |
166 | 166 | ||
167 | struct hfa384x_comm_tallies { | 167 | struct hfa384x_comm_tallies { |
168 | __le16 tx_unicast_frames; | 168 | __le16 tx_unicast_frames; |
@@ -186,7 +186,7 @@ struct hfa384x_comm_tallies { | |||
186 | __le16 rx_discards_wep_undecryptable; | 186 | __le16 rx_discards_wep_undecryptable; |
187 | __le16 rx_message_in_msg_fragments; | 187 | __le16 rx_message_in_msg_fragments; |
188 | __le16 rx_message_in_bad_msg_fragments; | 188 | __le16 rx_message_in_bad_msg_fragments; |
189 | } __attribute__ ((packed)); | 189 | } __packed; |
190 | 190 | ||
191 | struct hfa384x_comm_tallies32 { | 191 | struct hfa384x_comm_tallies32 { |
192 | __le32 tx_unicast_frames; | 192 | __le32 tx_unicast_frames; |
@@ -210,7 +210,7 @@ struct hfa384x_comm_tallies32 { | |||
210 | __le32 rx_discards_wep_undecryptable; | 210 | __le32 rx_discards_wep_undecryptable; |
211 | __le32 rx_message_in_msg_fragments; | 211 | __le32 rx_message_in_msg_fragments; |
212 | __le32 rx_message_in_bad_msg_fragments; | 212 | __le32 rx_message_in_bad_msg_fragments; |
213 | } __attribute__ ((packed)); | 213 | } __packed; |
214 | 214 | ||
215 | struct hfa384x_scan_result_hdr { | 215 | struct hfa384x_scan_result_hdr { |
216 | __le16 reserved; | 216 | __le16 reserved; |
@@ -219,7 +219,7 @@ struct hfa384x_scan_result_hdr { | |||
219 | #define HFA384X_SCAN_HOST_INITIATED 1 | 219 | #define HFA384X_SCAN_HOST_INITIATED 1 |
220 | #define HFA384X_SCAN_FIRMWARE_INITIATED 2 | 220 | #define HFA384X_SCAN_FIRMWARE_INITIATED 2 |
221 | #define HFA384X_SCAN_INQUIRY_FROM_HOST 3 | 221 | #define HFA384X_SCAN_INQUIRY_FROM_HOST 3 |
222 | } __attribute__ ((packed)); | 222 | } __packed; |
223 | 223 | ||
224 | #define HFA384X_SCAN_MAX_RESULTS 32 | 224 | #define HFA384X_SCAN_MAX_RESULTS 32 |
225 | 225 | ||
@@ -234,7 +234,7 @@ struct hfa384x_scan_result { | |||
234 | u8 ssid[32]; | 234 | u8 ssid[32]; |
235 | u8 sup_rates[10]; | 235 | u8 sup_rates[10]; |
236 | __le16 rate; | 236 | __le16 rate; |
237 | } __attribute__ ((packed)); | 237 | } __packed; |
238 | 238 | ||
239 | struct hfa384x_hostscan_result { | 239 | struct hfa384x_hostscan_result { |
240 | __le16 chid; | 240 | __le16 chid; |
@@ -248,7 +248,7 @@ struct hfa384x_hostscan_result { | |||
248 | u8 sup_rates[10]; | 248 | u8 sup_rates[10]; |
249 | __le16 rate; | 249 | __le16 rate; |
250 | __le16 atim; | 250 | __le16 atim; |
251 | } __attribute__ ((packed)); | 251 | } __packed; |
252 | 252 | ||
253 | struct comm_tallies_sums { | 253 | struct comm_tallies_sums { |
254 | unsigned int tx_unicast_frames; | 254 | unsigned int tx_unicast_frames; |
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c index 0bd4dfa59a8a..4264fc091ada 100644 --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c | |||
@@ -5233,7 +5233,7 @@ struct security_info_params { | |||
5233 | u8 auth_mode; | 5233 | u8 auth_mode; |
5234 | u8 replay_counters_number; | 5234 | u8 replay_counters_number; |
5235 | u8 unicast_using_group; | 5235 | u8 unicast_using_group; |
5236 | } __attribute__ ((packed)); | 5236 | } __packed; |
5237 | 5237 | ||
5238 | static int ipw2100_set_security_information(struct ipw2100_priv *priv, | 5238 | static int ipw2100_set_security_information(struct ipw2100_priv *priv, |
5239 | int auth_mode, | 5239 | int auth_mode, |
@@ -8475,7 +8475,7 @@ struct ipw2100_fw_header { | |||
8475 | short mode; | 8475 | short mode; |
8476 | unsigned int fw_size; | 8476 | unsigned int fw_size; |
8477 | unsigned int uc_size; | 8477 | unsigned int uc_size; |
8478 | } __attribute__ ((packed)); | 8478 | } __packed; |
8479 | 8479 | ||
8480 | static int ipw2100_mod_firmware_load(struct ipw2100_fw *fw) | 8480 | static int ipw2100_mod_firmware_load(struct ipw2100_fw *fw) |
8481 | { | 8481 | { |
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.h b/drivers/net/wireless/ipw2x00/ipw2100.h index 1eab0d698f4d..838002b4881e 100644 --- a/drivers/net/wireless/ipw2x00/ipw2100.h +++ b/drivers/net/wireless/ipw2x00/ipw2100.h | |||
@@ -164,7 +164,7 @@ struct bd_status { | |||
164 | } fields; | 164 | } fields; |
165 | u8 field; | 165 | u8 field; |
166 | } info; | 166 | } info; |
167 | } __attribute__ ((packed)); | 167 | } __packed; |
168 | 168 | ||
169 | struct ipw2100_bd { | 169 | struct ipw2100_bd { |
170 | u32 host_addr; | 170 | u32 host_addr; |
@@ -174,7 +174,7 @@ struct ipw2100_bd { | |||
174 | * 1st TBD) */ | 174 | * 1st TBD) */ |
175 | u8 num_fragments; | 175 | u8 num_fragments; |
176 | u8 reserved[6]; | 176 | u8 reserved[6]; |
177 | } __attribute__ ((packed)); | 177 | } __packed; |
178 | 178 | ||
179 | #define IPW_BD_QUEUE_LENGTH(n) (1<<n) | 179 | #define IPW_BD_QUEUE_LENGTH(n) (1<<n) |
180 | #define IPW_BD_ALIGNMENT(L) (L*sizeof(struct ipw2100_bd)) | 180 | #define IPW_BD_ALIGNMENT(L) (L*sizeof(struct ipw2100_bd)) |
@@ -232,7 +232,7 @@ struct ipw2100_status { | |||
232 | #define IPW_STATUS_FLAG_WEP_ENCRYPTED (1<<1) | 232 | #define IPW_STATUS_FLAG_WEP_ENCRYPTED (1<<1) |
233 | #define IPW_STATUS_FLAG_CRC_ERROR (1<<2) | 233 | #define IPW_STATUS_FLAG_CRC_ERROR (1<<2) |
234 | u8 rssi; | 234 | u8 rssi; |
235 | } __attribute__ ((packed)); | 235 | } __packed; |
236 | 236 | ||
237 | struct ipw2100_status_queue { | 237 | struct ipw2100_status_queue { |
238 | /* driver (virtual) pointer to queue */ | 238 | /* driver (virtual) pointer to queue */ |
@@ -293,7 +293,7 @@ struct ipw2100_cmd_header { | |||
293 | u32 reserved1[3]; | 293 | u32 reserved1[3]; |
294 | u32 *ordinal1_ptr; | 294 | u32 *ordinal1_ptr; |
295 | u32 *ordinal2_ptr; | 295 | u32 *ordinal2_ptr; |
296 | } __attribute__ ((packed)); | 296 | } __packed; |
297 | 297 | ||
298 | struct ipw2100_data_header { | 298 | struct ipw2100_data_header { |
299 | u32 host_command_reg; | 299 | u32 host_command_reg; |
@@ -307,7 +307,7 @@ struct ipw2100_data_header { | |||
307 | u8 src_addr[ETH_ALEN]; | 307 | u8 src_addr[ETH_ALEN]; |
308 | u8 dst_addr[ETH_ALEN]; | 308 | u8 dst_addr[ETH_ALEN]; |
309 | u16 fragment_size; | 309 | u16 fragment_size; |
310 | } __attribute__ ((packed)); | 310 | } __packed; |
311 | 311 | ||
312 | /* Host command data structure */ | 312 | /* Host command data structure */ |
313 | struct host_command { | 313 | struct host_command { |
@@ -316,7 +316,7 @@ struct host_command { | |||
316 | u32 host_command_sequence; // UNIQUE COMMAND NUMBER (ID) | 316 | u32 host_command_sequence; // UNIQUE COMMAND NUMBER (ID) |
317 | u32 host_command_length; // LENGTH | 317 | u32 host_command_length; // LENGTH |
318 | u32 host_command_parameters[HOST_COMMAND_PARAMS_REG_LEN]; // COMMAND PARAMETERS | 318 | u32 host_command_parameters[HOST_COMMAND_PARAMS_REG_LEN]; // COMMAND PARAMETERS |
319 | } __attribute__ ((packed)); | 319 | } __packed; |
320 | 320 | ||
321 | typedef enum { | 321 | typedef enum { |
322 | POWER_ON_RESET, | 322 | POWER_ON_RESET, |
@@ -382,7 +382,7 @@ struct ipw2100_notification { | |||
382 | u32 hnhdr_size; /* size in bytes of data | 382 | u32 hnhdr_size; /* size in bytes of data |
383 | or number of entries, if table. | 383 | or number of entries, if table. |
384 | Does NOT include header */ | 384 | Does NOT include header */ |
385 | } __attribute__ ((packed)); | 385 | } __packed; |
386 | 386 | ||
387 | #define MAX_KEY_SIZE 16 | 387 | #define MAX_KEY_SIZE 16 |
388 | #define MAX_KEYS 8 | 388 | #define MAX_KEYS 8 |
@@ -814,7 +814,7 @@ struct ipw2100_rx { | |||
814 | struct ipw2100_notification notification; | 814 | struct ipw2100_notification notification; |
815 | struct ipw2100_cmd_header command; | 815 | struct ipw2100_cmd_header command; |
816 | } rx_data; | 816 | } rx_data; |
817 | } __attribute__ ((packed)); | 817 | } __packed; |
818 | 818 | ||
819 | /* Bit 0-7 are for 802.11b tx rates - . Bit 5-7 are reserved */ | 819 | /* Bit 0-7 are for 802.11b tx rates - . Bit 5-7 are reserved */ |
820 | #define TX_RATE_1_MBIT 0x0001 | 820 | #define TX_RATE_1_MBIT 0x0001 |
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.h b/drivers/net/wireless/ipw2x00/ipw2200.h index bf0eeb2e873a..d7d049c7a4fa 100644 --- a/drivers/net/wireless/ipw2x00/ipw2200.h +++ b/drivers/net/wireless/ipw2x00/ipw2200.h | |||
@@ -388,7 +388,7 @@ struct clx2_queue { | |||
388 | dma_addr_t dma_addr; /**< physical addr for BD's */ | 388 | dma_addr_t dma_addr; /**< physical addr for BD's */ |
389 | int low_mark; /**< low watermark, resume queue if free space more than this */ | 389 | int low_mark; /**< low watermark, resume queue if free space more than this */ |
390 | int high_mark; /**< high watermark, stop queue if free space less than this */ | 390 | int high_mark; /**< high watermark, stop queue if free space less than this */ |
391 | } __attribute__ ((packed)); /* XXX */ | 391 | } __packed; /* XXX */ |
392 | 392 | ||
393 | struct machdr32 { | 393 | struct machdr32 { |
394 | __le16 frame_ctl; | 394 | __le16 frame_ctl; |
@@ -399,7 +399,7 @@ struct machdr32 { | |||
399 | __le16 seq_ctrl; // more endians! | 399 | __le16 seq_ctrl; // more endians! |
400 | u8 addr4[MACADRR_BYTE_LEN]; | 400 | u8 addr4[MACADRR_BYTE_LEN]; |
401 | __le16 qos_ctrl; | 401 | __le16 qos_ctrl; |
402 | } __attribute__ ((packed)); | 402 | } __packed; |
403 | 403 | ||
404 | struct machdr30 { | 404 | struct machdr30 { |
405 | __le16 frame_ctl; | 405 | __le16 frame_ctl; |
@@ -409,7 +409,7 @@ struct machdr30 { | |||
409 | u8 addr3[MACADRR_BYTE_LEN]; | 409 | u8 addr3[MACADRR_BYTE_LEN]; |
410 | __le16 seq_ctrl; // more endians! | 410 | __le16 seq_ctrl; // more endians! |
411 | u8 addr4[MACADRR_BYTE_LEN]; | 411 | u8 addr4[MACADRR_BYTE_LEN]; |
412 | } __attribute__ ((packed)); | 412 | } __packed; |
413 | 413 | ||
414 | struct machdr26 { | 414 | struct machdr26 { |
415 | __le16 frame_ctl; | 415 | __le16 frame_ctl; |
@@ -419,7 +419,7 @@ struct machdr26 { | |||
419 | u8 addr3[MACADRR_BYTE_LEN]; | 419 | u8 addr3[MACADRR_BYTE_LEN]; |
420 | __le16 seq_ctrl; // more endians! | 420 | __le16 seq_ctrl; // more endians! |
421 | __le16 qos_ctrl; | 421 | __le16 qos_ctrl; |
422 | } __attribute__ ((packed)); | 422 | } __packed; |
423 | 423 | ||
424 | struct machdr24 { | 424 | struct machdr24 { |
425 | __le16 frame_ctl; | 425 | __le16 frame_ctl; |
@@ -428,20 +428,20 @@ struct machdr24 { | |||
428 | u8 addr2[MACADRR_BYTE_LEN]; | 428 | u8 addr2[MACADRR_BYTE_LEN]; |
429 | u8 addr3[MACADRR_BYTE_LEN]; | 429 | u8 addr3[MACADRR_BYTE_LEN]; |
430 | __le16 seq_ctrl; // more endians! | 430 | __le16 seq_ctrl; // more endians! |
431 | } __attribute__ ((packed)); | 431 | } __packed; |
432 | 432 | ||
433 | // TX TFD with 32 byte MAC Header | 433 | // TX TFD with 32 byte MAC Header |
434 | struct tx_tfd_32 { | 434 | struct tx_tfd_32 { |
435 | struct machdr32 mchdr; // 32 | 435 | struct machdr32 mchdr; // 32 |
436 | __le32 uivplaceholder[2]; // 8 | 436 | __le32 uivplaceholder[2]; // 8 |
437 | } __attribute__ ((packed)); | 437 | } __packed; |
438 | 438 | ||
439 | // TX TFD with 30 byte MAC Header | 439 | // TX TFD with 30 byte MAC Header |
440 | struct tx_tfd_30 { | 440 | struct tx_tfd_30 { |
441 | struct machdr30 mchdr; // 30 | 441 | struct machdr30 mchdr; // 30 |
442 | u8 reserved[2]; // 2 | 442 | u8 reserved[2]; // 2 |
443 | __le32 uivplaceholder[2]; // 8 | 443 | __le32 uivplaceholder[2]; // 8 |
444 | } __attribute__ ((packed)); | 444 | } __packed; |
445 | 445 | ||
446 | // tx tfd with 26 byte mac header | 446 | // tx tfd with 26 byte mac header |
447 | struct tx_tfd_26 { | 447 | struct tx_tfd_26 { |
@@ -449,14 +449,14 @@ struct tx_tfd_26 { | |||
449 | u8 reserved1[2]; // 2 | 449 | u8 reserved1[2]; // 2 |
450 | __le32 uivplaceholder[2]; // 8 | 450 | __le32 uivplaceholder[2]; // 8 |
451 | u8 reserved2[4]; // 4 | 451 | u8 reserved2[4]; // 4 |
452 | } __attribute__ ((packed)); | 452 | } __packed; |
453 | 453 | ||
454 | // tx tfd with 24 byte mac header | 454 | // tx tfd with 24 byte mac header |
455 | struct tx_tfd_24 { | 455 | struct tx_tfd_24 { |
456 | struct machdr24 mchdr; // 24 | 456 | struct machdr24 mchdr; // 24 |
457 | __le32 uivplaceholder[2]; // 8 | 457 | __le32 uivplaceholder[2]; // 8 |
458 | u8 reserved[8]; // 8 | 458 | u8 reserved[8]; // 8 |
459 | } __attribute__ ((packed)); | 459 | } __packed; |
460 | 460 | ||
461 | #define DCT_WEP_KEY_FIELD_LENGTH 16 | 461 | #define DCT_WEP_KEY_FIELD_LENGTH 16 |
462 | 462 | ||
@@ -465,7 +465,7 @@ struct tfd_command { | |||
465 | u8 length; | 465 | u8 length; |
466 | __le16 reserved; | 466 | __le16 reserved; |
467 | u8 payload[0]; | 467 | u8 payload[0]; |
468 | } __attribute__ ((packed)); | 468 | } __packed; |
469 | 469 | ||
470 | struct tfd_data { | 470 | struct tfd_data { |
471 | /* Header */ | 471 | /* Header */ |
@@ -504,14 +504,14 @@ struct tfd_data { | |||
504 | __le32 num_chunks; | 504 | __le32 num_chunks; |
505 | __le32 chunk_ptr[NUM_TFD_CHUNKS]; | 505 | __le32 chunk_ptr[NUM_TFD_CHUNKS]; |
506 | __le16 chunk_len[NUM_TFD_CHUNKS]; | 506 | __le16 chunk_len[NUM_TFD_CHUNKS]; |
507 | } __attribute__ ((packed)); | 507 | } __packed; |
508 | 508 | ||
509 | struct txrx_control_flags { | 509 | struct txrx_control_flags { |
510 | u8 message_type; | 510 | u8 message_type; |
511 | u8 rx_seq_num; | 511 | u8 rx_seq_num; |
512 | u8 control_bits; | 512 | u8 control_bits; |
513 | u8 reserved; | 513 | u8 reserved; |
514 | } __attribute__ ((packed)); | 514 | } __packed; |
515 | 515 | ||
516 | #define TFD_SIZE 128 | 516 | #define TFD_SIZE 128 |
517 | #define TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH (TFD_SIZE - sizeof(struct txrx_control_flags)) | 517 | #define TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH (TFD_SIZE - sizeof(struct txrx_control_flags)) |
@@ -523,7 +523,7 @@ struct tfd_frame { | |||
523 | struct tfd_command cmd; | 523 | struct tfd_command cmd; |
524 | u8 raw[TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH]; | 524 | u8 raw[TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH]; |
525 | } u; | 525 | } u; |
526 | } __attribute__ ((packed)); | 526 | } __packed; |
527 | 527 | ||
528 | typedef void destructor_func(const void *); | 528 | typedef void destructor_func(const void *); |
529 | 529 | ||
@@ -559,7 +559,7 @@ struct rate_histogram { | |||
559 | __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS]; | 559 | __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS]; |
560 | __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS]; | 560 | __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS]; |
561 | } failed; | 561 | } failed; |
562 | } __attribute__ ((packed)); | 562 | } __packed; |
563 | 563 | ||
564 | /* statistics command response */ | 564 | /* statistics command response */ |
565 | struct ipw_cmd_stats { | 565 | struct ipw_cmd_stats { |
@@ -586,13 +586,13 @@ struct ipw_cmd_stats { | |||
586 | __le16 rx_autodetec_no_ofdm; | 586 | __le16 rx_autodetec_no_ofdm; |
587 | __le16 rx_autodetec_no_barker; | 587 | __le16 rx_autodetec_no_barker; |
588 | __le16 reserved; | 588 | __le16 reserved; |
589 | } __attribute__ ((packed)); | 589 | } __packed; |
590 | 590 | ||
591 | struct notif_channel_result { | 591 | struct notif_channel_result { |
592 | u8 channel_num; | 592 | u8 channel_num; |
593 | struct ipw_cmd_stats stats; | 593 | struct ipw_cmd_stats stats; |
594 | u8 uReserved; | 594 | u8 uReserved; |
595 | } __attribute__ ((packed)); | 595 | } __packed; |
596 | 596 | ||
597 | #define SCAN_COMPLETED_STATUS_COMPLETE 1 | 597 | #define SCAN_COMPLETED_STATUS_COMPLETE 1 |
598 | #define SCAN_COMPLETED_STATUS_ABORTED 2 | 598 | #define SCAN_COMPLETED_STATUS_ABORTED 2 |
@@ -602,24 +602,24 @@ struct notif_scan_complete { | |||
602 | u8 num_channels; | 602 | u8 num_channels; |
603 | u8 status; | 603 | u8 status; |
604 | u8 reserved; | 604 | u8 reserved; |
605 | } __attribute__ ((packed)); | 605 | } __packed; |
606 | 606 | ||
607 | struct notif_frag_length { | 607 | struct notif_frag_length { |
608 | __le16 frag_length; | 608 | __le16 frag_length; |
609 | __le16 reserved; | 609 | __le16 reserved; |
610 | } __attribute__ ((packed)); | 610 | } __packed; |
611 | 611 | ||
612 | struct notif_beacon_state { | 612 | struct notif_beacon_state { |
613 | __le32 state; | 613 | __le32 state; |
614 | __le32 number; | 614 | __le32 number; |
615 | } __attribute__ ((packed)); | 615 | } __packed; |
616 | 616 | ||
617 | struct notif_tgi_tx_key { | 617 | struct notif_tgi_tx_key { |
618 | u8 key_state; | 618 | u8 key_state; |
619 | u8 security_type; | 619 | u8 security_type; |
620 | u8 station_index; | 620 | u8 station_index; |
621 | u8 reserved; | 621 | u8 reserved; |
622 | } __attribute__ ((packed)); | 622 | } __packed; |
623 | 623 | ||
624 | #define SILENCE_OVER_THRESH (1) | 624 | #define SILENCE_OVER_THRESH (1) |
625 | #define SILENCE_UNDER_THRESH (2) | 625 | #define SILENCE_UNDER_THRESH (2) |
@@ -631,25 +631,25 @@ struct notif_link_deterioration { | |||
631 | struct rate_histogram histogram; | 631 | struct rate_histogram histogram; |
632 | u8 silence_notification_type; /* SILENCE_OVER/UNDER_THRESH */ | 632 | u8 silence_notification_type; /* SILENCE_OVER/UNDER_THRESH */ |
633 | __le16 silence_count; | 633 | __le16 silence_count; |
634 | } __attribute__ ((packed)); | 634 | } __packed; |
635 | 635 | ||
636 | struct notif_association { | 636 | struct notif_association { |
637 | u8 state; | 637 | u8 state; |
638 | } __attribute__ ((packed)); | 638 | } __packed; |
639 | 639 | ||
640 | struct notif_authenticate { | 640 | struct notif_authenticate { |
641 | u8 state; | 641 | u8 state; |
642 | struct machdr24 addr; | 642 | struct machdr24 addr; |
643 | __le16 status; | 643 | __le16 status; |
644 | } __attribute__ ((packed)); | 644 | } __packed; |
645 | 645 | ||
646 | struct notif_calibration { | 646 | struct notif_calibration { |
647 | u8 data[104]; | 647 | u8 data[104]; |
648 | } __attribute__ ((packed)); | 648 | } __packed; |
649 | 649 | ||
650 | struct notif_noise { | 650 | struct notif_noise { |
651 | __le32 value; | 651 | __le32 value; |
652 | } __attribute__ ((packed)); | 652 | } __packed; |
653 | 653 | ||
654 | struct ipw_rx_notification { | 654 | struct ipw_rx_notification { |
655 | u8 reserved[8]; | 655 | u8 reserved[8]; |
@@ -669,7 +669,7 @@ struct ipw_rx_notification { | |||
669 | struct notif_noise noise; | 669 | struct notif_noise noise; |
670 | u8 raw[0]; | 670 | u8 raw[0]; |
671 | } u; | 671 | } u; |
672 | } __attribute__ ((packed)); | 672 | } __packed; |
673 | 673 | ||
674 | struct ipw_rx_frame { | 674 | struct ipw_rx_frame { |
675 | __le32 reserved1; | 675 | __le32 reserved1; |
@@ -692,14 +692,14 @@ struct ipw_rx_frame { | |||
692 | u8 rtscts_seen; // 0x1 RTS seen ; 0x2 CTS seen | 692 | u8 rtscts_seen; // 0x1 RTS seen ; 0x2 CTS seen |
693 | __le16 length; | 693 | __le16 length; |
694 | u8 data[0]; | 694 | u8 data[0]; |
695 | } __attribute__ ((packed)); | 695 | } __packed; |
696 | 696 | ||
697 | struct ipw_rx_header { | 697 | struct ipw_rx_header { |
698 | u8 message_type; | 698 | u8 message_type; |
699 | u8 rx_seq_num; | 699 | u8 rx_seq_num; |
700 | u8 control_bits; | 700 | u8 control_bits; |
701 | u8 reserved; | 701 | u8 reserved; |
702 | } __attribute__ ((packed)); | 702 | } __packed; |
703 | 703 | ||
704 | struct ipw_rx_packet { | 704 | struct ipw_rx_packet { |
705 | struct ipw_rx_header header; | 705 | struct ipw_rx_header header; |
@@ -707,7 +707,7 @@ struct ipw_rx_packet { | |||
707 | struct ipw_rx_frame frame; | 707 | struct ipw_rx_frame frame; |
708 | struct ipw_rx_notification notification; | 708 | struct ipw_rx_notification notification; |
709 | } u; | 709 | } u; |
710 | } __attribute__ ((packed)); | 710 | } __packed; |
711 | 711 | ||
712 | #define IPW_RX_NOTIFICATION_SIZE sizeof(struct ipw_rx_header) + 12 | 712 | #define IPW_RX_NOTIFICATION_SIZE sizeof(struct ipw_rx_header) + 12 |
713 | #define IPW_RX_FRAME_SIZE (unsigned int)(sizeof(struct ipw_rx_header) + \ | 713 | #define IPW_RX_FRAME_SIZE (unsigned int)(sizeof(struct ipw_rx_header) + \ |
@@ -717,7 +717,7 @@ struct ipw_rx_mem_buffer { | |||
717 | dma_addr_t dma_addr; | 717 | dma_addr_t dma_addr; |
718 | struct sk_buff *skb; | 718 | struct sk_buff *skb; |
719 | struct list_head list; | 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 | struct ipw_rx_queue { | 722 | struct ipw_rx_queue { |
723 | struct ipw_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS]; | 723 | struct ipw_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS]; |
@@ -730,7 +730,7 @@ struct ipw_rx_queue { | |||
730 | struct list_head rx_free; /* Own an SKBs */ | 730 | struct list_head rx_free; /* Own an SKBs */ |
731 | struct list_head rx_used; /* No SKB allocated */ | 731 | struct list_head rx_used; /* No SKB allocated */ |
732 | spinlock_t lock; | 732 | spinlock_t lock; |
733 | }; /* Not transferred over network, so not __attribute__ ((packed)) */ | 733 | }; /* Not transferred over network, so not __packed */ |
734 | 734 | ||
735 | struct alive_command_responce { | 735 | struct alive_command_responce { |
736 | u8 alive_command; | 736 | u8 alive_command; |
@@ -745,21 +745,21 @@ struct alive_command_responce { | |||
745 | __le16 reserved4; | 745 | __le16 reserved4; |
746 | u8 time_stamp[5]; /* month, day, year, hours, minutes */ | 746 | u8 time_stamp[5]; /* month, day, year, hours, minutes */ |
747 | u8 ucode_valid; | 747 | u8 ucode_valid; |
748 | } __attribute__ ((packed)); | 748 | } __packed; |
749 | 749 | ||
750 | #define IPW_MAX_RATES 12 | 750 | #define IPW_MAX_RATES 12 |
751 | 751 | ||
752 | struct ipw_rates { | 752 | struct ipw_rates { |
753 | u8 num_rates; | 753 | u8 num_rates; |
754 | u8 rates[IPW_MAX_RATES]; | 754 | u8 rates[IPW_MAX_RATES]; |
755 | } __attribute__ ((packed)); | 755 | } __packed; |
756 | 756 | ||
757 | struct command_block { | 757 | struct command_block { |
758 | unsigned int control; | 758 | unsigned int control; |
759 | u32 source_addr; | 759 | u32 source_addr; |
760 | u32 dest_addr; | 760 | u32 dest_addr; |
761 | unsigned int status; | 761 | unsigned int status; |
762 | } __attribute__ ((packed)); | 762 | } __packed; |
763 | 763 | ||
764 | #define CB_NUMBER_OF_ELEMENTS_SMALL 64 | 764 | #define CB_NUMBER_OF_ELEMENTS_SMALL 64 |
765 | struct fw_image_desc { | 765 | struct fw_image_desc { |
@@ -792,7 +792,7 @@ struct ipw_sys_config { | |||
792 | u8 accept_all_mgmt_frames; | 792 | u8 accept_all_mgmt_frames; |
793 | u8 pass_noise_stats_to_host; | 793 | u8 pass_noise_stats_to_host; |
794 | u8 reserved3; | 794 | u8 reserved3; |
795 | } __attribute__ ((packed)); | 795 | } __packed; |
796 | 796 | ||
797 | struct ipw_multicast_addr { | 797 | struct ipw_multicast_addr { |
798 | u8 num_of_multicast_addresses; | 798 | u8 num_of_multicast_addresses; |
@@ -801,7 +801,7 @@ struct ipw_multicast_addr { | |||
801 | u8 mac2[6]; | 801 | u8 mac2[6]; |
802 | u8 mac3[6]; | 802 | u8 mac3[6]; |
803 | u8 mac4[6]; | 803 | u8 mac4[6]; |
804 | } __attribute__ ((packed)); | 804 | } __packed; |
805 | 805 | ||
806 | #define DCW_WEP_KEY_INDEX_MASK 0x03 /* bits [0:1] */ | 806 | #define DCW_WEP_KEY_INDEX_MASK 0x03 /* bits [0:1] */ |
807 | #define DCW_WEP_KEY_SEC_TYPE_MASK 0x30 /* bits [4:5] */ | 807 | #define DCW_WEP_KEY_SEC_TYPE_MASK 0x30 /* bits [4:5] */ |
@@ -822,7 +822,7 @@ struct ipw_wep_key { | |||
822 | u8 key_index; | 822 | u8 key_index; |
823 | u8 key_size; | 823 | u8 key_size; |
824 | u8 key[16]; | 824 | u8 key[16]; |
825 | } __attribute__ ((packed)); | 825 | } __packed; |
826 | 826 | ||
827 | struct ipw_tgi_tx_key { | 827 | struct ipw_tgi_tx_key { |
828 | u8 key_id; | 828 | u8 key_id; |
@@ -831,7 +831,7 @@ struct ipw_tgi_tx_key { | |||
831 | u8 flags; | 831 | u8 flags; |
832 | u8 key[16]; | 832 | u8 key[16]; |
833 | __le32 tx_counter[2]; | 833 | __le32 tx_counter[2]; |
834 | } __attribute__ ((packed)); | 834 | } __packed; |
835 | 835 | ||
836 | #define IPW_SCAN_CHANNELS 54 | 836 | #define IPW_SCAN_CHANNELS 54 |
837 | 837 | ||
@@ -840,7 +840,7 @@ struct ipw_scan_request { | |||
840 | __le16 dwell_time; | 840 | __le16 dwell_time; |
841 | u8 channels_list[IPW_SCAN_CHANNELS]; | 841 | u8 channels_list[IPW_SCAN_CHANNELS]; |
842 | u8 channels_reserved[3]; | 842 | u8 channels_reserved[3]; |
843 | } __attribute__ ((packed)); | 843 | } __packed; |
844 | 844 | ||
845 | enum { | 845 | enum { |
846 | IPW_SCAN_PASSIVE_TILL_FIRST_BEACON_SCAN = 0, | 846 | IPW_SCAN_PASSIVE_TILL_FIRST_BEACON_SCAN = 0, |
@@ -857,7 +857,7 @@ struct ipw_scan_request_ext { | |||
857 | u8 scan_type[IPW_SCAN_CHANNELS / 2]; | 857 | u8 scan_type[IPW_SCAN_CHANNELS / 2]; |
858 | u8 reserved; | 858 | u8 reserved; |
859 | __le16 dwell_time[IPW_SCAN_TYPES]; | 859 | __le16 dwell_time[IPW_SCAN_TYPES]; |
860 | } __attribute__ ((packed)); | 860 | } __packed; |
861 | 861 | ||
862 | static inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index) | 862 | static inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index) |
863 | { | 863 | { |
@@ -902,7 +902,7 @@ struct ipw_associate { | |||
902 | u8 smr; | 902 | u8 smr; |
903 | u8 reserved1; | 903 | u8 reserved1; |
904 | __le16 reserved2; | 904 | __le16 reserved2; |
905 | } __attribute__ ((packed)); | 905 | } __packed; |
906 | 906 | ||
907 | struct ipw_supported_rates { | 907 | struct ipw_supported_rates { |
908 | u8 ieee_mode; | 908 | u8 ieee_mode; |
@@ -910,36 +910,36 @@ struct ipw_supported_rates { | |||
910 | u8 purpose; | 910 | u8 purpose; |
911 | u8 reserved; | 911 | u8 reserved; |
912 | u8 supported_rates[IPW_MAX_RATES]; | 912 | u8 supported_rates[IPW_MAX_RATES]; |
913 | } __attribute__ ((packed)); | 913 | } __packed; |
914 | 914 | ||
915 | struct ipw_rts_threshold { | 915 | struct ipw_rts_threshold { |
916 | __le16 rts_threshold; | 916 | __le16 rts_threshold; |
917 | __le16 reserved; | 917 | __le16 reserved; |
918 | } __attribute__ ((packed)); | 918 | } __packed; |
919 | 919 | ||
920 | struct ipw_frag_threshold { | 920 | struct ipw_frag_threshold { |
921 | __le16 frag_threshold; | 921 | __le16 frag_threshold; |
922 | __le16 reserved; | 922 | __le16 reserved; |
923 | } __attribute__ ((packed)); | 923 | } __packed; |
924 | 924 | ||
925 | struct ipw_retry_limit { | 925 | struct ipw_retry_limit { |
926 | u8 short_retry_limit; | 926 | u8 short_retry_limit; |
927 | u8 long_retry_limit; | 927 | u8 long_retry_limit; |
928 | __le16 reserved; | 928 | __le16 reserved; |
929 | } __attribute__ ((packed)); | 929 | } __packed; |
930 | 930 | ||
931 | struct ipw_dino_config { | 931 | struct ipw_dino_config { |
932 | __le32 dino_config_addr; | 932 | __le32 dino_config_addr; |
933 | __le16 dino_config_size; | 933 | __le16 dino_config_size; |
934 | u8 dino_response; | 934 | u8 dino_response; |
935 | u8 reserved; | 935 | u8 reserved; |
936 | } __attribute__ ((packed)); | 936 | } __packed; |
937 | 937 | ||
938 | struct ipw_aironet_info { | 938 | struct ipw_aironet_info { |
939 | u8 id; | 939 | u8 id; |
940 | u8 length; | 940 | u8 length; |
941 | __le16 reserved; | 941 | __le16 reserved; |
942 | } __attribute__ ((packed)); | 942 | } __packed; |
943 | 943 | ||
944 | struct ipw_rx_key { | 944 | struct ipw_rx_key { |
945 | u8 station_index; | 945 | u8 station_index; |
@@ -950,25 +950,25 @@ struct ipw_rx_key { | |||
950 | u8 station_address[6]; | 950 | u8 station_address[6]; |
951 | u8 key_index; | 951 | u8 key_index; |
952 | u8 reserved; | 952 | u8 reserved; |
953 | } __attribute__ ((packed)); | 953 | } __packed; |
954 | 954 | ||
955 | struct ipw_country_channel_info { | 955 | struct ipw_country_channel_info { |
956 | u8 first_channel; | 956 | u8 first_channel; |
957 | u8 no_channels; | 957 | u8 no_channels; |
958 | s8 max_tx_power; | 958 | s8 max_tx_power; |
959 | } __attribute__ ((packed)); | 959 | } __packed; |
960 | 960 | ||
961 | struct ipw_country_info { | 961 | struct ipw_country_info { |
962 | u8 id; | 962 | u8 id; |
963 | u8 length; | 963 | u8 length; |
964 | u8 country_str[3]; | 964 | u8 country_str[3]; |
965 | struct ipw_country_channel_info groups[7]; | 965 | struct ipw_country_channel_info groups[7]; |
966 | } __attribute__ ((packed)); | 966 | } __packed; |
967 | 967 | ||
968 | struct ipw_channel_tx_power { | 968 | struct ipw_channel_tx_power { |
969 | u8 channel_number; | 969 | u8 channel_number; |
970 | s8 tx_power; | 970 | s8 tx_power; |
971 | } __attribute__ ((packed)); | 971 | } __packed; |
972 | 972 | ||
973 | #define SCAN_ASSOCIATED_INTERVAL (HZ) | 973 | #define SCAN_ASSOCIATED_INTERVAL (HZ) |
974 | #define SCAN_INTERVAL (HZ / 10) | 974 | #define SCAN_INTERVAL (HZ / 10) |
@@ -979,18 +979,18 @@ struct ipw_tx_power { | |||
979 | u8 num_channels; | 979 | u8 num_channels; |
980 | u8 ieee_mode; | 980 | u8 ieee_mode; |
981 | struct ipw_channel_tx_power channels_tx_power[MAX_A_CHANNELS]; | 981 | struct ipw_channel_tx_power channels_tx_power[MAX_A_CHANNELS]; |
982 | } __attribute__ ((packed)); | 982 | } __packed; |
983 | 983 | ||
984 | struct ipw_rsn_capabilities { | 984 | struct ipw_rsn_capabilities { |
985 | u8 id; | 985 | u8 id; |
986 | u8 length; | 986 | u8 length; |
987 | __le16 version; | 987 | __le16 version; |
988 | } __attribute__ ((packed)); | 988 | } __packed; |
989 | 989 | ||
990 | struct ipw_sensitivity_calib { | 990 | struct ipw_sensitivity_calib { |
991 | __le16 beacon_rssi_raw; | 991 | __le16 beacon_rssi_raw; |
992 | __le16 reserved; | 992 | __le16 reserved; |
993 | } __attribute__ ((packed)); | 993 | } __packed; |
994 | 994 | ||
995 | /** | 995 | /** |
996 | * Host command structure. | 996 | * Host command structure. |
@@ -1019,7 +1019,7 @@ struct ipw_cmd { /* XXX */ | |||
1019 | * nParams=(len+3)/4+status_len | 1019 | * nParams=(len+3)/4+status_len |
1020 | */ | 1020 | */ |
1021 | u32 param[0]; | 1021 | u32 param[0]; |
1022 | } __attribute__ ((packed)); | 1022 | } __packed; |
1023 | 1023 | ||
1024 | #define STATUS_HCMD_ACTIVE (1<<0) /**< host command in progress */ | 1024 | #define STATUS_HCMD_ACTIVE (1<<0) /**< host command in progress */ |
1025 | 1025 | ||
@@ -1114,7 +1114,7 @@ struct ipw_event { /* XXX */ | |||
1114 | u32 event; | 1114 | u32 event; |
1115 | u32 time; | 1115 | u32 time; |
1116 | u32 data; | 1116 | u32 data; |
1117 | } __attribute__ ((packed)); | 1117 | } __packed; |
1118 | 1118 | ||
1119 | struct ipw_fw_error { /* XXX */ | 1119 | struct ipw_fw_error { /* XXX */ |
1120 | unsigned long jiffies; | 1120 | unsigned long jiffies; |
@@ -1125,7 +1125,7 @@ struct ipw_fw_error { /* XXX */ | |||
1125 | struct ipw_error_elem *elem; | 1125 | struct ipw_error_elem *elem; |
1126 | struct ipw_event *log; | 1126 | struct ipw_event *log; |
1127 | u8 payload[0]; | 1127 | u8 payload[0]; |
1128 | } __attribute__ ((packed)); | 1128 | } __packed; |
1129 | 1129 | ||
1130 | #ifdef CONFIG_IPW2200_PROMISCUOUS | 1130 | #ifdef CONFIG_IPW2200_PROMISCUOUS |
1131 | 1131 | ||
@@ -1170,7 +1170,7 @@ struct ipw_rt_hdr { | |||
1170 | s8 rt_dbmnoise; | 1170 | s8 rt_dbmnoise; |
1171 | u8 rt_antenna; /* antenna number */ | 1171 | u8 rt_antenna; /* antenna number */ |
1172 | u8 payload[0]; /* payload... */ | 1172 | u8 payload[0]; /* payload... */ |
1173 | } __attribute__ ((packed)); | 1173 | } __packed; |
1174 | #endif | 1174 | #endif |
1175 | 1175 | ||
1176 | struct ipw_priv { | 1176 | struct ipw_priv { |
@@ -1957,7 +1957,7 @@ enum { | |||
1957 | struct ipw_fixed_rate { | 1957 | struct ipw_fixed_rate { |
1958 | __le16 tx_rates; | 1958 | __le16 tx_rates; |
1959 | __le16 reserved; | 1959 | __le16 reserved; |
1960 | } __attribute__ ((packed)); | 1960 | } __packed; |
1961 | 1961 | ||
1962 | #define IPW_INDIRECT_ADDR_MASK (~0x3ul) | 1962 | #define IPW_INDIRECT_ADDR_MASK (~0x3ul) |
1963 | 1963 | ||
@@ -1966,14 +1966,14 @@ struct host_cmd { | |||
1966 | u8 len; | 1966 | u8 len; |
1967 | u16 reserved; | 1967 | u16 reserved; |
1968 | u32 *param; | 1968 | u32 *param; |
1969 | } __attribute__ ((packed)); /* XXX */ | 1969 | } __packed; /* XXX */ |
1970 | 1970 | ||
1971 | struct cmdlog_host_cmd { | 1971 | struct cmdlog_host_cmd { |
1972 | u8 cmd; | 1972 | u8 cmd; |
1973 | u8 len; | 1973 | u8 len; |
1974 | __le16 reserved; | 1974 | __le16 reserved; |
1975 | char param[124]; | 1975 | char param[124]; |
1976 | } __attribute__ ((packed)); | 1976 | } __packed; |
1977 | 1977 | ||
1978 | struct ipw_cmd_log { | 1978 | struct ipw_cmd_log { |
1979 | unsigned long jiffies; | 1979 | unsigned long jiffies; |
diff --git a/drivers/net/wireless/ipw2x00/libipw.h b/drivers/net/wireless/ipw2x00/libipw.h index 284b0e4cb815..4736861bc4f8 100644 --- a/drivers/net/wireless/ipw2x00/libipw.h +++ b/drivers/net/wireless/ipw2x00/libipw.h | |||
@@ -154,7 +154,7 @@ struct libipw_snap_hdr { | |||
154 | u8 ctrl; /* always 0x03 */ | 154 | u8 ctrl; /* always 0x03 */ |
155 | u8 oui[P80211_OUI_LEN]; /* organizational universal id */ | 155 | u8 oui[P80211_OUI_LEN]; /* organizational universal id */ |
156 | 156 | ||
157 | } __attribute__ ((packed)); | 157 | } __packed; |
158 | 158 | ||
159 | #define SNAP_SIZE sizeof(struct libipw_snap_hdr) | 159 | #define SNAP_SIZE sizeof(struct libipw_snap_hdr) |
160 | 160 | ||
@@ -323,7 +323,7 @@ struct libipw_security { | |||
323 | u8 keys[WEP_KEYS][SCM_KEY_LEN]; | 323 | u8 keys[WEP_KEYS][SCM_KEY_LEN]; |
324 | u8 level; | 324 | u8 level; |
325 | u16 flags; | 325 | u16 flags; |
326 | } __attribute__ ((packed)); | 326 | } __packed; |
327 | 327 | ||
328 | /* | 328 | /* |
329 | 329 | ||
@@ -347,7 +347,7 @@ struct libipw_hdr_1addr { | |||
347 | __le16 duration_id; | 347 | __le16 duration_id; |
348 | u8 addr1[ETH_ALEN]; | 348 | u8 addr1[ETH_ALEN]; |
349 | u8 payload[0]; | 349 | u8 payload[0]; |
350 | } __attribute__ ((packed)); | 350 | } __packed; |
351 | 351 | ||
352 | struct libipw_hdr_2addr { | 352 | struct libipw_hdr_2addr { |
353 | __le16 frame_ctl; | 353 | __le16 frame_ctl; |
@@ -355,7 +355,7 @@ struct libipw_hdr_2addr { | |||
355 | u8 addr1[ETH_ALEN]; | 355 | u8 addr1[ETH_ALEN]; |
356 | u8 addr2[ETH_ALEN]; | 356 | u8 addr2[ETH_ALEN]; |
357 | u8 payload[0]; | 357 | u8 payload[0]; |
358 | } __attribute__ ((packed)); | 358 | } __packed; |
359 | 359 | ||
360 | struct libipw_hdr_3addr { | 360 | struct libipw_hdr_3addr { |
361 | __le16 frame_ctl; | 361 | __le16 frame_ctl; |
@@ -365,7 +365,7 @@ struct libipw_hdr_3addr { | |||
365 | u8 addr3[ETH_ALEN]; | 365 | u8 addr3[ETH_ALEN]; |
366 | __le16 seq_ctl; | 366 | __le16 seq_ctl; |
367 | u8 payload[0]; | 367 | u8 payload[0]; |
368 | } __attribute__ ((packed)); | 368 | } __packed; |
369 | 369 | ||
370 | struct libipw_hdr_4addr { | 370 | struct libipw_hdr_4addr { |
371 | __le16 frame_ctl; | 371 | __le16 frame_ctl; |
@@ -376,7 +376,7 @@ struct libipw_hdr_4addr { | |||
376 | __le16 seq_ctl; | 376 | __le16 seq_ctl; |
377 | u8 addr4[ETH_ALEN]; | 377 | u8 addr4[ETH_ALEN]; |
378 | u8 payload[0]; | 378 | u8 payload[0]; |
379 | } __attribute__ ((packed)); | 379 | } __packed; |
380 | 380 | ||
381 | struct libipw_hdr_3addrqos { | 381 | struct libipw_hdr_3addrqos { |
382 | __le16 frame_ctl; | 382 | __le16 frame_ctl; |
@@ -387,13 +387,13 @@ struct libipw_hdr_3addrqos { | |||
387 | __le16 seq_ctl; | 387 | __le16 seq_ctl; |
388 | u8 payload[0]; | 388 | u8 payload[0]; |
389 | __le16 qos_ctl; | 389 | __le16 qos_ctl; |
390 | } __attribute__ ((packed)); | 390 | } __packed; |
391 | 391 | ||
392 | struct libipw_info_element { | 392 | struct libipw_info_element { |
393 | u8 id; | 393 | u8 id; |
394 | u8 len; | 394 | u8 len; |
395 | u8 data[0]; | 395 | u8 data[0]; |
396 | } __attribute__ ((packed)); | 396 | } __packed; |
397 | 397 | ||
398 | /* | 398 | /* |
399 | * These are the data types that can make up management packets | 399 | * These are the data types that can make up management packets |
@@ -406,7 +406,7 @@ struct libipw_info_element { | |||
406 | u16 listen_interval; | 406 | u16 listen_interval; |
407 | struct { | 407 | struct { |
408 | u16 association_id:14, reserved:2; | 408 | u16 association_id:14, reserved:2; |
409 | } __attribute__ ((packed)); | 409 | } __packed; |
410 | u32 time_stamp[2]; | 410 | u32 time_stamp[2]; |
411 | u16 reason; | 411 | u16 reason; |
412 | u16 status; | 412 | u16 status; |
@@ -419,7 +419,7 @@ struct libipw_auth { | |||
419 | __le16 status; | 419 | __le16 status; |
420 | /* challenge */ | 420 | /* challenge */ |
421 | struct libipw_info_element info_element[0]; | 421 | struct libipw_info_element info_element[0]; |
422 | } __attribute__ ((packed)); | 422 | } __packed; |
423 | 423 | ||
424 | struct libipw_channel_switch { | 424 | struct libipw_channel_switch { |
425 | u8 id; | 425 | u8 id; |
@@ -427,7 +427,7 @@ struct libipw_channel_switch { | |||
427 | u8 mode; | 427 | u8 mode; |
428 | u8 channel; | 428 | u8 channel; |
429 | u8 count; | 429 | u8 count; |
430 | } __attribute__ ((packed)); | 430 | } __packed; |
431 | 431 | ||
432 | struct libipw_action { | 432 | struct libipw_action { |
433 | struct libipw_hdr_3addr header; | 433 | struct libipw_hdr_3addr header; |
@@ -441,12 +441,12 @@ struct libipw_action { | |||
441 | struct libipw_channel_switch channel_switch; | 441 | struct libipw_channel_switch channel_switch; |
442 | 442 | ||
443 | } format; | 443 | } format; |
444 | } __attribute__ ((packed)); | 444 | } __packed; |
445 | 445 | ||
446 | struct libipw_disassoc { | 446 | struct libipw_disassoc { |
447 | struct libipw_hdr_3addr header; | 447 | struct libipw_hdr_3addr header; |
448 | __le16 reason; | 448 | __le16 reason; |
449 | } __attribute__ ((packed)); | 449 | } __packed; |
450 | 450 | ||
451 | /* Alias deauth for disassoc */ | 451 | /* Alias deauth for disassoc */ |
452 | #define libipw_deauth libipw_disassoc | 452 | #define libipw_deauth libipw_disassoc |
@@ -455,7 +455,7 @@ struct libipw_probe_request { | |||
455 | struct libipw_hdr_3addr header; | 455 | struct libipw_hdr_3addr header; |
456 | /* SSID, supported rates */ | 456 | /* SSID, supported rates */ |
457 | struct libipw_info_element info_element[0]; | 457 | struct libipw_info_element info_element[0]; |
458 | } __attribute__ ((packed)); | 458 | } __packed; |
459 | 459 | ||
460 | struct libipw_probe_response { | 460 | struct libipw_probe_response { |
461 | struct libipw_hdr_3addr header; | 461 | struct libipw_hdr_3addr header; |
@@ -465,7 +465,7 @@ struct libipw_probe_response { | |||
465 | /* SSID, supported rates, FH params, DS params, | 465 | /* SSID, supported rates, FH params, DS params, |
466 | * CF params, IBSS params, TIM (if beacon), RSN */ | 466 | * CF params, IBSS params, TIM (if beacon), RSN */ |
467 | struct libipw_info_element info_element[0]; | 467 | struct libipw_info_element info_element[0]; |
468 | } __attribute__ ((packed)); | 468 | } __packed; |
469 | 469 | ||
470 | /* Alias beacon for probe_response */ | 470 | /* Alias beacon for probe_response */ |
471 | #define libipw_beacon libipw_probe_response | 471 | #define libipw_beacon libipw_probe_response |
@@ -476,7 +476,7 @@ struct libipw_assoc_request { | |||
476 | __le16 listen_interval; | 476 | __le16 listen_interval; |
477 | /* SSID, supported rates, RSN */ | 477 | /* SSID, supported rates, RSN */ |
478 | struct libipw_info_element info_element[0]; | 478 | struct libipw_info_element info_element[0]; |
479 | } __attribute__ ((packed)); | 479 | } __packed; |
480 | 480 | ||
481 | struct libipw_reassoc_request { | 481 | struct libipw_reassoc_request { |
482 | struct libipw_hdr_3addr header; | 482 | struct libipw_hdr_3addr header; |
@@ -484,7 +484,7 @@ struct libipw_reassoc_request { | |||
484 | __le16 listen_interval; | 484 | __le16 listen_interval; |
485 | u8 current_ap[ETH_ALEN]; | 485 | u8 current_ap[ETH_ALEN]; |
486 | struct libipw_info_element info_element[0]; | 486 | struct libipw_info_element info_element[0]; |
487 | } __attribute__ ((packed)); | 487 | } __packed; |
488 | 488 | ||
489 | struct libipw_assoc_response { | 489 | struct libipw_assoc_response { |
490 | struct libipw_hdr_3addr header; | 490 | struct libipw_hdr_3addr header; |
@@ -493,7 +493,7 @@ struct libipw_assoc_response { | |||
493 | __le16 aid; | 493 | __le16 aid; |
494 | /* supported rates */ | 494 | /* supported rates */ |
495 | struct libipw_info_element info_element[0]; | 495 | struct libipw_info_element info_element[0]; |
496 | } __attribute__ ((packed)); | 496 | } __packed; |
497 | 497 | ||
498 | struct libipw_txb { | 498 | struct libipw_txb { |
499 | u8 nr_frags; | 499 | u8 nr_frags; |
@@ -555,19 +555,19 @@ struct libipw_qos_information_element { | |||
555 | u8 qui_subtype; | 555 | u8 qui_subtype; |
556 | u8 version; | 556 | u8 version; |
557 | u8 ac_info; | 557 | u8 ac_info; |
558 | } __attribute__ ((packed)); | 558 | } __packed; |
559 | 559 | ||
560 | struct libipw_qos_ac_parameter { | 560 | struct libipw_qos_ac_parameter { |
561 | u8 aci_aifsn; | 561 | u8 aci_aifsn; |
562 | u8 ecw_min_max; | 562 | u8 ecw_min_max; |
563 | __le16 tx_op_limit; | 563 | __le16 tx_op_limit; |
564 | } __attribute__ ((packed)); | 564 | } __packed; |
565 | 565 | ||
566 | struct libipw_qos_parameter_info { | 566 | struct libipw_qos_parameter_info { |
567 | struct libipw_qos_information_element info_element; | 567 | struct libipw_qos_information_element info_element; |
568 | u8 reserved; | 568 | u8 reserved; |
569 | struct libipw_qos_ac_parameter ac_params_record[QOS_QUEUE_NUM]; | 569 | struct libipw_qos_ac_parameter ac_params_record[QOS_QUEUE_NUM]; |
570 | } __attribute__ ((packed)); | 570 | } __packed; |
571 | 571 | ||
572 | struct libipw_qos_parameters { | 572 | struct libipw_qos_parameters { |
573 | __le16 cw_min[QOS_QUEUE_NUM]; | 573 | __le16 cw_min[QOS_QUEUE_NUM]; |
@@ -575,7 +575,7 @@ struct libipw_qos_parameters { | |||
575 | u8 aifs[QOS_QUEUE_NUM]; | 575 | u8 aifs[QOS_QUEUE_NUM]; |
576 | u8 flag[QOS_QUEUE_NUM]; | 576 | u8 flag[QOS_QUEUE_NUM]; |
577 | __le16 tx_op_limit[QOS_QUEUE_NUM]; | 577 | __le16 tx_op_limit[QOS_QUEUE_NUM]; |
578 | } __attribute__ ((packed)); | 578 | } __packed; |
579 | 579 | ||
580 | struct libipw_qos_data { | 580 | struct libipw_qos_data { |
581 | struct libipw_qos_parameters parameters; | 581 | struct libipw_qos_parameters parameters; |
@@ -588,7 +588,7 @@ struct libipw_qos_data { | |||
588 | struct libipw_tim_parameters { | 588 | struct libipw_tim_parameters { |
589 | u8 tim_count; | 589 | u8 tim_count; |
590 | u8 tim_period; | 590 | u8 tim_period; |
591 | } __attribute__ ((packed)); | 591 | } __packed; |
592 | 592 | ||
593 | /*******************************************************/ | 593 | /*******************************************************/ |
594 | 594 | ||
@@ -606,7 +606,7 @@ struct libipw_basic_report { | |||
606 | __le64 start_time; | 606 | __le64 start_time; |
607 | __le16 duration; | 607 | __le16 duration; |
608 | u8 map; | 608 | u8 map; |
609 | } __attribute__ ((packed)); | 609 | } __packed; |
610 | 610 | ||
611 | enum { /* libipw_measurement_request.mode */ | 611 | enum { /* libipw_measurement_request.mode */ |
612 | /* Bit 0 is reserved */ | 612 | /* Bit 0 is reserved */ |
@@ -627,7 +627,7 @@ struct libipw_measurement_params { | |||
627 | u8 channel; | 627 | u8 channel; |
628 | __le64 start_time; | 628 | __le64 start_time; |
629 | __le16 duration; | 629 | __le16 duration; |
630 | } __attribute__ ((packed)); | 630 | } __packed; |
631 | 631 | ||
632 | struct libipw_measurement_request { | 632 | struct libipw_measurement_request { |
633 | struct libipw_info_element ie; | 633 | struct libipw_info_element ie; |
@@ -635,7 +635,7 @@ struct libipw_measurement_request { | |||
635 | u8 mode; | 635 | u8 mode; |
636 | u8 type; | 636 | u8 type; |
637 | struct libipw_measurement_params params[0]; | 637 | struct libipw_measurement_params params[0]; |
638 | } __attribute__ ((packed)); | 638 | } __packed; |
639 | 639 | ||
640 | struct libipw_measurement_report { | 640 | struct libipw_measurement_report { |
641 | struct libipw_info_element ie; | 641 | struct libipw_info_element ie; |
@@ -645,17 +645,17 @@ struct libipw_measurement_report { | |||
645 | union { | 645 | union { |
646 | struct libipw_basic_report basic[0]; | 646 | struct libipw_basic_report basic[0]; |
647 | } u; | 647 | } u; |
648 | } __attribute__ ((packed)); | 648 | } __packed; |
649 | 649 | ||
650 | struct libipw_tpc_report { | 650 | struct libipw_tpc_report { |
651 | u8 transmit_power; | 651 | u8 transmit_power; |
652 | u8 link_margin; | 652 | u8 link_margin; |
653 | } __attribute__ ((packed)); | 653 | } __packed; |
654 | 654 | ||
655 | struct libipw_channel_map { | 655 | struct libipw_channel_map { |
656 | u8 channel; | 656 | u8 channel; |
657 | u8 map; | 657 | u8 map; |
658 | } __attribute__ ((packed)); | 658 | } __packed; |
659 | 659 | ||
660 | struct libipw_ibss_dfs { | 660 | struct libipw_ibss_dfs { |
661 | struct libipw_info_element ie; | 661 | struct libipw_info_element ie; |
@@ -668,14 +668,14 @@ struct libipw_csa { | |||
668 | u8 mode; | 668 | u8 mode; |
669 | u8 channel; | 669 | u8 channel; |
670 | u8 count; | 670 | u8 count; |
671 | } __attribute__ ((packed)); | 671 | } __packed; |
672 | 672 | ||
673 | struct libipw_quiet { | 673 | struct libipw_quiet { |
674 | u8 count; | 674 | u8 count; |
675 | u8 period; | 675 | u8 period; |
676 | u8 duration; | 676 | u8 duration; |
677 | u8 offset; | 677 | u8 offset; |
678 | } __attribute__ ((packed)); | 678 | } __packed; |
679 | 679 | ||
680 | struct libipw_network { | 680 | struct libipw_network { |
681 | /* These entries are used to identify a unique network */ | 681 | /* These entries are used to identify a unique network */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945-fh.h b/drivers/net/wireless/iwlwifi/iwl-3945-fh.h index 042f6bc0df13..2c9ed2b502a3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945-fh.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945-fh.h | |||
@@ -175,13 +175,13 @@ | |||
175 | struct iwl3945_tfd_tb { | 175 | struct iwl3945_tfd_tb { |
176 | __le32 addr; | 176 | __le32 addr; |
177 | __le32 len; | 177 | __le32 len; |
178 | } __attribute__ ((packed)); | 178 | } __packed; |
179 | 179 | ||
180 | struct iwl3945_tfd { | 180 | struct iwl3945_tfd { |
181 | __le32 control_flags; | 181 | __le32 control_flags; |
182 | struct iwl3945_tfd_tb tbs[4]; | 182 | struct iwl3945_tfd_tb tbs[4]; |
183 | u8 __pad[28]; | 183 | u8 __pad[28]; |
184 | } __attribute__ ((packed)); | 184 | } __packed; |
185 | 185 | ||
186 | 186 | ||
187 | #endif /* __iwl_3945_fh_h__ */ | 187 | #endif /* __iwl_3945_fh_h__ */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945-hw.h b/drivers/net/wireless/iwlwifi/iwl-3945-hw.h index 91bcb4e3cdfb..7c731a793632 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945-hw.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945-hw.h | |||
@@ -96,7 +96,7 @@ struct iwl3945_eeprom_txpower_sample { | |||
96 | u8 gain_index; /* index into power (gain) setup table ... */ | 96 | u8 gain_index; /* index into power (gain) setup table ... */ |
97 | s8 power; /* ... for this pwr level for this chnl group */ | 97 | s8 power; /* ... for this pwr level for this chnl group */ |
98 | u16 v_det; /* PA output voltage */ | 98 | u16 v_det; /* PA output voltage */ |
99 | } __attribute__ ((packed)); | 99 | } __packed; |
100 | 100 | ||
101 | /* | 101 | /* |
102 | * Mappings of Tx power levels -> nominal radio/DSP gain table indexes. | 102 | * Mappings of Tx power levels -> nominal radio/DSP gain table indexes. |
@@ -117,7 +117,7 @@ struct iwl3945_eeprom_txpower_group { | |||
117 | u8 group_channel; /* "representative" channel # in this band */ | 117 | u8 group_channel; /* "representative" channel # in this band */ |
118 | s16 temperature; /* h/w temperature at factory calib this band | 118 | s16 temperature; /* h/w temperature at factory calib this band |
119 | * (signed) */ | 119 | * (signed) */ |
120 | } __attribute__ ((packed)); | 120 | } __packed; |
121 | 121 | ||
122 | /* | 122 | /* |
123 | * Temperature-based Tx-power compensation data, not band-specific. | 123 | * Temperature-based Tx-power compensation data, not band-specific. |
@@ -131,7 +131,7 @@ struct iwl3945_eeprom_temperature_corr { | |||
131 | u32 Tc; | 131 | u32 Tc; |
132 | u32 Td; | 132 | u32 Td; |
133 | u32 Te; | 133 | u32 Te; |
134 | } __attribute__ ((packed)); | 134 | } __packed; |
135 | 135 | ||
136 | /* | 136 | /* |
137 | * EEPROM map | 137 | * EEPROM map |
@@ -215,7 +215,7 @@ struct iwl3945_eeprom { | |||
215 | /* abs.ofs: 512 */ | 215 | /* abs.ofs: 512 */ |
216 | struct iwl3945_eeprom_temperature_corr corrections; /* abs.ofs: 832 */ | 216 | struct iwl3945_eeprom_temperature_corr corrections; /* abs.ofs: 832 */ |
217 | u8 reserved16[172]; /* fill out to full 1024 byte block */ | 217 | u8 reserved16[172]; /* fill out to full 1024 byte block */ |
218 | } __attribute__ ((packed)); | 218 | } __packed; |
219 | 219 | ||
220 | #define IWL3945_EEPROM_IMG_SIZE 1024 | 220 | #define IWL3945_EEPROM_IMG_SIZE 1024 |
221 | 221 | ||
@@ -274,7 +274,7 @@ static inline int iwl3945_hw_valid_rtc_data_addr(u32 addr) | |||
274 | * and &iwl3945_shared.rx_read_ptr[0] is provided to FH_RCSR_RPTR_ADDR(0) */ | 274 | * and &iwl3945_shared.rx_read_ptr[0] is provided to FH_RCSR_RPTR_ADDR(0) */ |
275 | struct iwl3945_shared { | 275 | struct iwl3945_shared { |
276 | __le32 tx_base_ptr[8]; | 276 | __le32 tx_base_ptr[8]; |
277 | } __attribute__ ((packed)); | 277 | } __packed; |
278 | 278 | ||
279 | static inline u8 iwl3945_hw_get_rate(__le16 rate_n_flags) | 279 | static inline u8 iwl3945_hw_get_rate(__le16 rate_n_flags) |
280 | { | 280 | { |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-hw.h b/drivers/net/wireless/iwlwifi/iwl-4965-hw.h index cd4b61ae25b7..9166794eda0d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965-hw.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965-hw.h | |||
@@ -787,6 +787,6 @@ enum { | |||
787 | struct iwl4965_scd_bc_tbl { | 787 | struct iwl4965_scd_bc_tbl { |
788 | __le16 tfd_offset[TFD_QUEUE_BC_SIZE]; | 788 | __le16 tfd_offset[TFD_QUEUE_BC_SIZE]; |
789 | u8 pad[1024 - (TFD_QUEUE_BC_SIZE) * sizeof(__le16)]; | 789 | u8 pad[1024 - (TFD_QUEUE_BC_SIZE) * sizeof(__le16)]; |
790 | } __attribute__ ((packed)); | 790 | } __packed; |
791 | 791 | ||
792 | #endif /* !__iwl_4965_hw_h__ */ | 792 | #endif /* !__iwl_4965_hw_h__ */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-hw.h b/drivers/net/wireless/iwlwifi/iwl-agn-hw.h index f9a3fbb6338f..a52b82c8e7a6 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-hw.h +++ b/drivers/net/wireless/iwlwifi/iwl-agn-hw.h | |||
@@ -112,7 +112,7 @@ | |||
112 | */ | 112 | */ |
113 | struct iwlagn_scd_bc_tbl { | 113 | struct iwlagn_scd_bc_tbl { |
114 | __le16 tfd_offset[TFD_QUEUE_BC_SIZE]; | 114 | __le16 tfd_offset[TFD_QUEUE_BC_SIZE]; |
115 | } __attribute__ ((packed)); | 115 | } __packed; |
116 | 116 | ||
117 | 117 | ||
118 | #endif /* __iwl_agn_hw_h__ */ | 118 | #endif /* __iwl_agn_hw_h__ */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h index 9aab020c474b..73d2d59bc1df 100644 --- a/drivers/net/wireless/iwlwifi/iwl-commands.h +++ b/drivers/net/wireless/iwlwifi/iwl-commands.h | |||
@@ -227,7 +227,7 @@ struct iwl_cmd_header { | |||
227 | 227 | ||
228 | /* command or response/notification data follows immediately */ | 228 | /* command or response/notification data follows immediately */ |
229 | u8 data[0]; | 229 | u8 data[0]; |
230 | } __attribute__ ((packed)); | 230 | } __packed; |
231 | 231 | ||
232 | 232 | ||
233 | /** | 233 | /** |
@@ -247,7 +247,7 @@ struct iwl_cmd_header { | |||
247 | struct iwl3945_tx_power { | 247 | struct iwl3945_tx_power { |
248 | u8 tx_gain; /* gain for analog radio */ | 248 | u8 tx_gain; /* gain for analog radio */ |
249 | u8 dsp_atten; /* gain for DSP */ | 249 | u8 dsp_atten; /* gain for DSP */ |
250 | } __attribute__ ((packed)); | 250 | } __packed; |
251 | 251 | ||
252 | /** | 252 | /** |
253 | * struct iwl3945_power_per_rate | 253 | * struct iwl3945_power_per_rate |
@@ -258,7 +258,7 @@ struct iwl3945_power_per_rate { | |||
258 | u8 rate; /* plcp */ | 258 | u8 rate; /* plcp */ |
259 | struct iwl3945_tx_power tpc; | 259 | struct iwl3945_tx_power tpc; |
260 | u8 reserved; | 260 | u8 reserved; |
261 | } __attribute__ ((packed)); | 261 | } __packed; |
262 | 262 | ||
263 | /** | 263 | /** |
264 | * iwlagn rate_n_flags bit fields | 264 | * iwlagn rate_n_flags bit fields |
@@ -389,7 +389,7 @@ union iwl4965_tx_power_dual_stream { | |||
389 | */ | 389 | */ |
390 | struct tx_power_dual_stream { | 390 | struct tx_power_dual_stream { |
391 | __le32 dw; | 391 | __le32 dw; |
392 | } __attribute__ ((packed)); | 392 | } __packed; |
393 | 393 | ||
394 | /** | 394 | /** |
395 | * struct iwl4965_tx_power_db | 395 | * struct iwl4965_tx_power_db |
@@ -398,7 +398,7 @@ struct tx_power_dual_stream { | |||
398 | */ | 398 | */ |
399 | struct iwl4965_tx_power_db { | 399 | struct iwl4965_tx_power_db { |
400 | struct tx_power_dual_stream power_tbl[POWER_TABLE_NUM_ENTRIES]; | 400 | struct tx_power_dual_stream power_tbl[POWER_TABLE_NUM_ENTRIES]; |
401 | } __attribute__ ((packed)); | 401 | } __packed; |
402 | 402 | ||
403 | /** | 403 | /** |
404 | * Command REPLY_TX_POWER_DBM_CMD = 0x98 | 404 | * Command REPLY_TX_POWER_DBM_CMD = 0x98 |
@@ -412,7 +412,7 @@ struct iwl5000_tx_power_dbm_cmd { | |||
412 | u8 flags; | 412 | u8 flags; |
413 | s8 srv_chan_lmt; /*in half-dBm (e.g. 30 = 15 dBm) */ | 413 | s8 srv_chan_lmt; /*in half-dBm (e.g. 30 = 15 dBm) */ |
414 | u8 reserved; | 414 | u8 reserved; |
415 | } __attribute__ ((packed)); | 415 | } __packed; |
416 | 416 | ||
417 | /** | 417 | /** |
418 | * Command TX_ANT_CONFIGURATION_CMD = 0x98 | 418 | * Command TX_ANT_CONFIGURATION_CMD = 0x98 |
@@ -422,7 +422,7 @@ struct iwl5000_tx_power_dbm_cmd { | |||
422 | */ | 422 | */ |
423 | struct iwl_tx_ant_config_cmd { | 423 | struct iwl_tx_ant_config_cmd { |
424 | __le32 valid; | 424 | __le32 valid; |
425 | } __attribute__ ((packed)); | 425 | } __packed; |
426 | 426 | ||
427 | /****************************************************************************** | 427 | /****************************************************************************** |
428 | * (0a) | 428 | * (0a) |
@@ -478,7 +478,7 @@ struct iwl_init_alive_resp { | |||
478 | __le32 therm_r4[2]; /* signed */ | 478 | __le32 therm_r4[2]; /* signed */ |
479 | __le32 tx_atten[5][2]; /* signed MIMO gain comp, 5 freq groups, | 479 | __le32 tx_atten[5][2]; /* signed MIMO gain comp, 5 freq groups, |
480 | * 2 Tx chains */ | 480 | * 2 Tx chains */ |
481 | } __attribute__ ((packed)); | 481 | } __packed; |
482 | 482 | ||
483 | 483 | ||
484 | /** | 484 | /** |
@@ -570,7 +570,7 @@ struct iwl_alive_resp { | |||
570 | __le32 error_event_table_ptr; /* SRAM address for error log */ | 570 | __le32 error_event_table_ptr; /* SRAM address for error log */ |
571 | __le32 timestamp; | 571 | __le32 timestamp; |
572 | __le32 is_valid; | 572 | __le32 is_valid; |
573 | } __attribute__ ((packed)); | 573 | } __packed; |
574 | 574 | ||
575 | /* | 575 | /* |
576 | * REPLY_ERROR = 0x2 (response only, not a command) | 576 | * REPLY_ERROR = 0x2 (response only, not a command) |
@@ -582,7 +582,7 @@ struct iwl_error_resp { | |||
582 | __le16 bad_cmd_seq_num; | 582 | __le16 bad_cmd_seq_num; |
583 | __le32 error_info; | 583 | __le32 error_info; |
584 | __le64 timestamp; | 584 | __le64 timestamp; |
585 | } __attribute__ ((packed)); | 585 | } __packed; |
586 | 586 | ||
587 | /****************************************************************************** | 587 | /****************************************************************************** |
588 | * (1) | 588 | * (1) |
@@ -718,7 +718,7 @@ struct iwl3945_rxon_cmd { | |||
718 | __le32 filter_flags; | 718 | __le32 filter_flags; |
719 | __le16 channel; | 719 | __le16 channel; |
720 | __le16 reserved5; | 720 | __le16 reserved5; |
721 | } __attribute__ ((packed)); | 721 | } __packed; |
722 | 722 | ||
723 | struct iwl4965_rxon_cmd { | 723 | struct iwl4965_rxon_cmd { |
724 | u8 node_addr[6]; | 724 | u8 node_addr[6]; |
@@ -738,7 +738,7 @@ struct iwl4965_rxon_cmd { | |||
738 | __le16 channel; | 738 | __le16 channel; |
739 | u8 ofdm_ht_single_stream_basic_rates; | 739 | u8 ofdm_ht_single_stream_basic_rates; |
740 | u8 ofdm_ht_dual_stream_basic_rates; | 740 | u8 ofdm_ht_dual_stream_basic_rates; |
741 | } __attribute__ ((packed)); | 741 | } __packed; |
742 | 742 | ||
743 | /* 5000 HW just extend this command */ | 743 | /* 5000 HW just extend this command */ |
744 | struct iwl_rxon_cmd { | 744 | struct iwl_rxon_cmd { |
@@ -763,7 +763,7 @@ struct iwl_rxon_cmd { | |||
763 | u8 reserved5; | 763 | u8 reserved5; |
764 | __le16 acquisition_data; | 764 | __le16 acquisition_data; |
765 | __le16 reserved6; | 765 | __le16 reserved6; |
766 | } __attribute__ ((packed)); | 766 | } __packed; |
767 | 767 | ||
768 | /* | 768 | /* |
769 | * REPLY_RXON_ASSOC = 0x11 (command, has simple generic response) | 769 | * REPLY_RXON_ASSOC = 0x11 (command, has simple generic response) |
@@ -774,7 +774,7 @@ struct iwl3945_rxon_assoc_cmd { | |||
774 | u8 ofdm_basic_rates; | 774 | u8 ofdm_basic_rates; |
775 | u8 cck_basic_rates; | 775 | u8 cck_basic_rates; |
776 | __le16 reserved; | 776 | __le16 reserved; |
777 | } __attribute__ ((packed)); | 777 | } __packed; |
778 | 778 | ||
779 | struct iwl4965_rxon_assoc_cmd { | 779 | struct iwl4965_rxon_assoc_cmd { |
780 | __le32 flags; | 780 | __le32 flags; |
@@ -785,7 +785,7 @@ struct iwl4965_rxon_assoc_cmd { | |||
785 | u8 ofdm_ht_dual_stream_basic_rates; | 785 | u8 ofdm_ht_dual_stream_basic_rates; |
786 | __le16 rx_chain_select_flags; | 786 | __le16 rx_chain_select_flags; |
787 | __le16 reserved; | 787 | __le16 reserved; |
788 | } __attribute__ ((packed)); | 788 | } __packed; |
789 | 789 | ||
790 | struct iwl5000_rxon_assoc_cmd { | 790 | struct iwl5000_rxon_assoc_cmd { |
791 | __le32 flags; | 791 | __le32 flags; |
@@ -800,7 +800,7 @@ struct iwl5000_rxon_assoc_cmd { | |||
800 | __le16 rx_chain_select_flags; | 800 | __le16 rx_chain_select_flags; |
801 | __le16 acquisition_data; | 801 | __le16 acquisition_data; |
802 | __le32 reserved3; | 802 | __le32 reserved3; |
803 | } __attribute__ ((packed)); | 803 | } __packed; |
804 | 804 | ||
805 | #define IWL_CONN_MAX_LISTEN_INTERVAL 10 | 805 | #define IWL_CONN_MAX_LISTEN_INTERVAL 10 |
806 | #define IWL_MAX_UCODE_BEACON_INTERVAL 4 /* 4096 */ | 806 | #define IWL_MAX_UCODE_BEACON_INTERVAL 4 /* 4096 */ |
@@ -816,7 +816,7 @@ struct iwl_rxon_time_cmd { | |||
816 | __le32 beacon_init_val; | 816 | __le32 beacon_init_val; |
817 | __le16 listen_interval; | 817 | __le16 listen_interval; |
818 | __le16 reserved; | 818 | __le16 reserved; |
819 | } __attribute__ ((packed)); | 819 | } __packed; |
820 | 820 | ||
821 | /* | 821 | /* |
822 | * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response) | 822 | * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response) |
@@ -829,7 +829,7 @@ struct iwl3945_channel_switch_cmd { | |||
829 | __le32 rxon_filter_flags; | 829 | __le32 rxon_filter_flags; |
830 | __le32 switch_time; | 830 | __le32 switch_time; |
831 | struct iwl3945_power_per_rate power[IWL_MAX_RATES]; | 831 | struct iwl3945_power_per_rate power[IWL_MAX_RATES]; |
832 | } __attribute__ ((packed)); | 832 | } __packed; |
833 | 833 | ||
834 | struct iwl4965_channel_switch_cmd { | 834 | struct iwl4965_channel_switch_cmd { |
835 | u8 band; | 835 | u8 band; |
@@ -839,7 +839,7 @@ struct iwl4965_channel_switch_cmd { | |||
839 | __le32 rxon_filter_flags; | 839 | __le32 rxon_filter_flags; |
840 | __le32 switch_time; | 840 | __le32 switch_time; |
841 | struct iwl4965_tx_power_db tx_power; | 841 | struct iwl4965_tx_power_db tx_power; |
842 | } __attribute__ ((packed)); | 842 | } __packed; |
843 | 843 | ||
844 | /** | 844 | /** |
845 | * struct iwl5000_channel_switch_cmd | 845 | * struct iwl5000_channel_switch_cmd |
@@ -860,7 +860,7 @@ struct iwl5000_channel_switch_cmd { | |||
860 | __le32 rxon_filter_flags; | 860 | __le32 rxon_filter_flags; |
861 | __le32 switch_time; | 861 | __le32 switch_time; |
862 | __le32 reserved[2][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; | 862 | __le32 reserved[2][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; |
863 | } __attribute__ ((packed)); | 863 | } __packed; |
864 | 864 | ||
865 | /** | 865 | /** |
866 | * struct iwl6000_channel_switch_cmd | 866 | * struct iwl6000_channel_switch_cmd |
@@ -881,7 +881,7 @@ struct iwl6000_channel_switch_cmd { | |||
881 | __le32 rxon_filter_flags; | 881 | __le32 rxon_filter_flags; |
882 | __le32 switch_time; | 882 | __le32 switch_time; |
883 | __le32 reserved[3][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; | 883 | __le32 reserved[3][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; |
884 | } __attribute__ ((packed)); | 884 | } __packed; |
885 | 885 | ||
886 | /* | 886 | /* |
887 | * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command) | 887 | * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command) |
@@ -890,7 +890,7 @@ struct iwl_csa_notification { | |||
890 | __le16 band; | 890 | __le16 band; |
891 | __le16 channel; | 891 | __le16 channel; |
892 | __le32 status; /* 0 - OK, 1 - fail */ | 892 | __le32 status; /* 0 - OK, 1 - fail */ |
893 | } __attribute__ ((packed)); | 893 | } __packed; |
894 | 894 | ||
895 | /****************************************************************************** | 895 | /****************************************************************************** |
896 | * (2) | 896 | * (2) |
@@ -920,7 +920,7 @@ struct iwl_ac_qos { | |||
920 | u8 aifsn; | 920 | u8 aifsn; |
921 | u8 reserved1; | 921 | u8 reserved1; |
922 | __le16 edca_txop; | 922 | __le16 edca_txop; |
923 | } __attribute__ ((packed)); | 923 | } __packed; |
924 | 924 | ||
925 | /* QoS flags defines */ | 925 | /* QoS flags defines */ |
926 | #define QOS_PARAM_FLG_UPDATE_EDCA_MSK cpu_to_le32(0x01) | 926 | #define QOS_PARAM_FLG_UPDATE_EDCA_MSK cpu_to_le32(0x01) |
@@ -939,7 +939,7 @@ struct iwl_ac_qos { | |||
939 | struct iwl_qosparam_cmd { | 939 | struct iwl_qosparam_cmd { |
940 | __le32 qos_flags; | 940 | __le32 qos_flags; |
941 | struct iwl_ac_qos ac[AC_NUM]; | 941 | struct iwl_ac_qos ac[AC_NUM]; |
942 | } __attribute__ ((packed)); | 942 | } __packed; |
943 | 943 | ||
944 | /****************************************************************************** | 944 | /****************************************************************************** |
945 | * (3) | 945 | * (3) |
@@ -1015,7 +1015,7 @@ struct iwl4965_keyinfo { | |||
1015 | u8 key_offset; | 1015 | u8 key_offset; |
1016 | u8 reserved2; | 1016 | u8 reserved2; |
1017 | u8 key[16]; /* 16-byte unicast decryption key */ | 1017 | u8 key[16]; /* 16-byte unicast decryption key */ |
1018 | } __attribute__ ((packed)); | 1018 | } __packed; |
1019 | 1019 | ||
1020 | /* 5000 */ | 1020 | /* 5000 */ |
1021 | struct iwl_keyinfo { | 1021 | struct iwl_keyinfo { |
@@ -1029,7 +1029,7 @@ struct iwl_keyinfo { | |||
1029 | __le64 tx_secur_seq_cnt; | 1029 | __le64 tx_secur_seq_cnt; |
1030 | __le64 hw_tkip_mic_rx_key; | 1030 | __le64 hw_tkip_mic_rx_key; |
1031 | __le64 hw_tkip_mic_tx_key; | 1031 | __le64 hw_tkip_mic_tx_key; |
1032 | } __attribute__ ((packed)); | 1032 | } __packed; |
1033 | 1033 | ||
1034 | /** | 1034 | /** |
1035 | * struct sta_id_modify | 1035 | * struct sta_id_modify |
@@ -1049,7 +1049,7 @@ struct sta_id_modify { | |||
1049 | u8 sta_id; | 1049 | u8 sta_id; |
1050 | u8 modify_mask; | 1050 | u8 modify_mask; |
1051 | __le16 reserved2; | 1051 | __le16 reserved2; |
1052 | } __attribute__ ((packed)); | 1052 | } __packed; |
1053 | 1053 | ||
1054 | /* | 1054 | /* |
1055 | * REPLY_ADD_STA = 0x18 (command) | 1055 | * REPLY_ADD_STA = 0x18 (command) |
@@ -1103,7 +1103,7 @@ struct iwl3945_addsta_cmd { | |||
1103 | /* Starting Sequence Number for added block-ack support. | 1103 | /* Starting Sequence Number for added block-ack support. |
1104 | * Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */ | 1104 | * Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */ |
1105 | __le16 add_immediate_ba_ssn; | 1105 | __le16 add_immediate_ba_ssn; |
1106 | } __attribute__ ((packed)); | 1106 | } __packed; |
1107 | 1107 | ||
1108 | struct iwl4965_addsta_cmd { | 1108 | struct iwl4965_addsta_cmd { |
1109 | u8 mode; /* 1: modify existing, 0: add new station */ | 1109 | u8 mode; /* 1: modify existing, 0: add new station */ |
@@ -1140,7 +1140,7 @@ struct iwl4965_addsta_cmd { | |||
1140 | __le16 sleep_tx_count; | 1140 | __le16 sleep_tx_count; |
1141 | 1141 | ||
1142 | __le16 reserved2; | 1142 | __le16 reserved2; |
1143 | } __attribute__ ((packed)); | 1143 | } __packed; |
1144 | 1144 | ||
1145 | /* 5000 */ | 1145 | /* 5000 */ |
1146 | struct iwl_addsta_cmd { | 1146 | struct iwl_addsta_cmd { |
@@ -1178,7 +1178,7 @@ struct iwl_addsta_cmd { | |||
1178 | __le16 sleep_tx_count; | 1178 | __le16 sleep_tx_count; |
1179 | 1179 | ||
1180 | __le16 reserved2; | 1180 | __le16 reserved2; |
1181 | } __attribute__ ((packed)); | 1181 | } __packed; |
1182 | 1182 | ||
1183 | 1183 | ||
1184 | #define ADD_STA_SUCCESS_MSK 0x1 | 1184 | #define ADD_STA_SUCCESS_MSK 0x1 |
@@ -1190,7 +1190,7 @@ struct iwl_addsta_cmd { | |||
1190 | */ | 1190 | */ |
1191 | struct iwl_add_sta_resp { | 1191 | struct iwl_add_sta_resp { |
1192 | u8 status; /* ADD_STA_* */ | 1192 | u8 status; /* ADD_STA_* */ |
1193 | } __attribute__ ((packed)); | 1193 | } __packed; |
1194 | 1194 | ||
1195 | #define REM_STA_SUCCESS_MSK 0x1 | 1195 | #define REM_STA_SUCCESS_MSK 0x1 |
1196 | /* | 1196 | /* |
@@ -1198,7 +1198,7 @@ struct iwl_add_sta_resp { | |||
1198 | */ | 1198 | */ |
1199 | struct iwl_rem_sta_resp { | 1199 | struct iwl_rem_sta_resp { |
1200 | u8 status; | 1200 | u8 status; |
1201 | } __attribute__ ((packed)); | 1201 | } __packed; |
1202 | 1202 | ||
1203 | /* | 1203 | /* |
1204 | * REPLY_REM_STA = 0x19 (command) | 1204 | * REPLY_REM_STA = 0x19 (command) |
@@ -1208,7 +1208,7 @@ struct iwl_rem_sta_cmd { | |||
1208 | u8 reserved[3]; | 1208 | u8 reserved[3]; |
1209 | u8 addr[ETH_ALEN]; /* MAC addr of the first station */ | 1209 | u8 addr[ETH_ALEN]; /* MAC addr of the first station */ |
1210 | u8 reserved2[2]; | 1210 | u8 reserved2[2]; |
1211 | } __attribute__ ((packed)); | 1211 | } __packed; |
1212 | 1212 | ||
1213 | /* | 1213 | /* |
1214 | * REPLY_WEP_KEY = 0x20 | 1214 | * REPLY_WEP_KEY = 0x20 |
@@ -1220,7 +1220,7 @@ struct iwl_wep_key { | |||
1220 | u8 key_size; | 1220 | u8 key_size; |
1221 | u8 reserved2[3]; | 1221 | u8 reserved2[3]; |
1222 | u8 key[16]; | 1222 | u8 key[16]; |
1223 | } __attribute__ ((packed)); | 1223 | } __packed; |
1224 | 1224 | ||
1225 | struct iwl_wep_cmd { | 1225 | struct iwl_wep_cmd { |
1226 | u8 num_keys; | 1226 | u8 num_keys; |
@@ -1228,7 +1228,7 @@ struct iwl_wep_cmd { | |||
1228 | u8 flags; | 1228 | u8 flags; |
1229 | u8 reserved; | 1229 | u8 reserved; |
1230 | struct iwl_wep_key key[0]; | 1230 | struct iwl_wep_key key[0]; |
1231 | } __attribute__ ((packed)); | 1231 | } __packed; |
1232 | 1232 | ||
1233 | #define WEP_KEY_WEP_TYPE 1 | 1233 | #define WEP_KEY_WEP_TYPE 1 |
1234 | #define WEP_KEYS_MAX 4 | 1234 | #define WEP_KEYS_MAX 4 |
@@ -1282,7 +1282,7 @@ struct iwl3945_rx_frame_stats { | |||
1282 | __le16 sig_avg; | 1282 | __le16 sig_avg; |
1283 | __le16 noise_diff; | 1283 | __le16 noise_diff; |
1284 | u8 payload[0]; | 1284 | u8 payload[0]; |
1285 | } __attribute__ ((packed)); | 1285 | } __packed; |
1286 | 1286 | ||
1287 | struct iwl3945_rx_frame_hdr { | 1287 | struct iwl3945_rx_frame_hdr { |
1288 | __le16 channel; | 1288 | __le16 channel; |
@@ -1291,13 +1291,13 @@ struct iwl3945_rx_frame_hdr { | |||
1291 | u8 rate; | 1291 | u8 rate; |
1292 | __le16 len; | 1292 | __le16 len; |
1293 | u8 payload[0]; | 1293 | u8 payload[0]; |
1294 | } __attribute__ ((packed)); | 1294 | } __packed; |
1295 | 1295 | ||
1296 | struct iwl3945_rx_frame_end { | 1296 | struct iwl3945_rx_frame_end { |
1297 | __le32 status; | 1297 | __le32 status; |
1298 | __le64 timestamp; | 1298 | __le64 timestamp; |
1299 | __le32 beacon_timestamp; | 1299 | __le32 beacon_timestamp; |
1300 | } __attribute__ ((packed)); | 1300 | } __packed; |
1301 | 1301 | ||
1302 | /* | 1302 | /* |
1303 | * REPLY_3945_RX = 0x1b (response only, not a command) | 1303 | * REPLY_3945_RX = 0x1b (response only, not a command) |
@@ -1311,7 +1311,7 @@ struct iwl3945_rx_frame { | |||
1311 | struct iwl3945_rx_frame_stats stats; | 1311 | struct iwl3945_rx_frame_stats stats; |
1312 | struct iwl3945_rx_frame_hdr hdr; | 1312 | struct iwl3945_rx_frame_hdr hdr; |
1313 | struct iwl3945_rx_frame_end end; | 1313 | struct iwl3945_rx_frame_end end; |
1314 | } __attribute__ ((packed)); | 1314 | } __packed; |
1315 | 1315 | ||
1316 | #define IWL39_RX_FRAME_SIZE (4 + sizeof(struct iwl3945_rx_frame)) | 1316 | #define IWL39_RX_FRAME_SIZE (4 + sizeof(struct iwl3945_rx_frame)) |
1317 | 1317 | ||
@@ -1327,7 +1327,7 @@ struct iwl4965_rx_non_cfg_phy { | |||
1327 | __le16 agc_info; /* agc code 0:6, agc dB 7:13, reserved 14:15 */ | 1327 | __le16 agc_info; /* agc code 0:6, agc dB 7:13, reserved 14:15 */ |
1328 | u8 rssi_info[6]; /* we use even entries, 0/2/4 for A/B/C rssi */ | 1328 | u8 rssi_info[6]; /* we use even entries, 0/2/4 for A/B/C rssi */ |
1329 | u8 pad[0]; | 1329 | u8 pad[0]; |
1330 | } __attribute__ ((packed)); | 1330 | } __packed; |
1331 | 1331 | ||
1332 | 1332 | ||
1333 | #define IWL50_RX_RES_PHY_CNT 8 | 1333 | #define IWL50_RX_RES_PHY_CNT 8 |
@@ -1345,7 +1345,7 @@ struct iwl4965_rx_non_cfg_phy { | |||
1345 | 1345 | ||
1346 | struct iwl5000_non_cfg_phy { | 1346 | struct iwl5000_non_cfg_phy { |
1347 | __le32 non_cfg_phy[IWL50_RX_RES_PHY_CNT]; /* up to 8 phy entries */ | 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,12 +1365,12 @@ struct iwl_rx_phy_res { | |||
1365 | __le32 rate_n_flags; /* RATE_MCS_* */ | 1365 | __le32 rate_n_flags; /* RATE_MCS_* */ |
1366 | __le16 byte_count; /* frame's byte-count */ | 1366 | __le16 byte_count; /* frame's byte-count */ |
1367 | __le16 reserved3; | 1367 | __le16 reserved3; |
1368 | } __attribute__ ((packed)); | 1368 | } __packed; |
1369 | 1369 | ||
1370 | struct iwl4965_rx_mpdu_res_start { | 1370 | struct iwl4965_rx_mpdu_res_start { |
1371 | __le16 byte_count; | 1371 | __le16 byte_count; |
1372 | __le16 reserved; | 1372 | __le16 reserved; |
1373 | } __attribute__ ((packed)); | 1373 | } __packed; |
1374 | 1374 | ||
1375 | 1375 | ||
1376 | /****************************************************************************** | 1376 | /****************************************************************************** |
@@ -1557,7 +1557,7 @@ struct iwl3945_tx_cmd { | |||
1557 | */ | 1557 | */ |
1558 | u8 payload[0]; | 1558 | u8 payload[0]; |
1559 | struct ieee80211_hdr hdr[0]; | 1559 | struct ieee80211_hdr hdr[0]; |
1560 | } __attribute__ ((packed)); | 1560 | } __packed; |
1561 | 1561 | ||
1562 | /* | 1562 | /* |
1563 | * REPLY_TX = 0x1c (response) | 1563 | * REPLY_TX = 0x1c (response) |
@@ -1569,7 +1569,7 @@ struct iwl3945_tx_resp { | |||
1569 | u8 rate; | 1569 | u8 rate; |
1570 | __le32 wireless_media_time; | 1570 | __le32 wireless_media_time; |
1571 | __le32 status; /* TX status */ | 1571 | __le32 status; /* TX status */ |
1572 | } __attribute__ ((packed)); | 1572 | } __packed; |
1573 | 1573 | ||
1574 | 1574 | ||
1575 | /* | 1575 | /* |
@@ -1581,7 +1581,7 @@ struct iwl_dram_scratch { | |||
1581 | u8 try_cnt; /* Tx attempts */ | 1581 | u8 try_cnt; /* Tx attempts */ |
1582 | u8 bt_kill_cnt; /* Tx attempts blocked by Bluetooth device */ | 1582 | u8 bt_kill_cnt; /* Tx attempts blocked by Bluetooth device */ |
1583 | __le16 reserved; | 1583 | __le16 reserved; |
1584 | } __attribute__ ((packed)); | 1584 | } __packed; |
1585 | 1585 | ||
1586 | struct iwl_tx_cmd { | 1586 | struct iwl_tx_cmd { |
1587 | /* | 1587 | /* |
@@ -1660,7 +1660,7 @@ struct iwl_tx_cmd { | |||
1660 | */ | 1660 | */ |
1661 | u8 payload[0]; | 1661 | u8 payload[0]; |
1662 | struct ieee80211_hdr hdr[0]; | 1662 | struct ieee80211_hdr hdr[0]; |
1663 | } __attribute__ ((packed)); | 1663 | } __packed; |
1664 | 1664 | ||
1665 | /* TX command response is sent after *3945* transmission attempts. | 1665 | /* TX command response is sent after *3945* transmission attempts. |
1666 | * | 1666 | * |
@@ -1826,7 +1826,7 @@ enum { | |||
1826 | struct agg_tx_status { | 1826 | struct agg_tx_status { |
1827 | __le16 status; | 1827 | __le16 status; |
1828 | __le16 sequence; | 1828 | __le16 sequence; |
1829 | } __attribute__ ((packed)); | 1829 | } __packed; |
1830 | 1830 | ||
1831 | struct iwl4965_tx_resp { | 1831 | struct iwl4965_tx_resp { |
1832 | u8 frame_count; /* 1 no aggregation, >1 aggregation */ | 1832 | u8 frame_count; /* 1 no aggregation, >1 aggregation */ |
@@ -1863,7 +1863,7 @@ struct iwl4965_tx_resp { | |||
1863 | __le32 status; | 1863 | __le32 status; |
1864 | struct agg_tx_status agg_status[0]; /* for each agg frame */ | 1864 | struct agg_tx_status agg_status[0]; /* for each agg frame */ |
1865 | } u; | 1865 | } u; |
1866 | } __attribute__ ((packed)); | 1866 | } __packed; |
1867 | 1867 | ||
1868 | /* | 1868 | /* |
1869 | * definitions for initial rate index field | 1869 | * definitions for initial rate index field |
@@ -1927,7 +1927,7 @@ struct iwl5000_tx_resp { | |||
1927 | */ | 1927 | */ |
1928 | struct agg_tx_status status; /* TX status (in aggregation - | 1928 | struct agg_tx_status status; /* TX status (in aggregation - |
1929 | * status of 1st frame) */ | 1929 | * status of 1st frame) */ |
1930 | } __attribute__ ((packed)); | 1930 | } __packed; |
1931 | /* | 1931 | /* |
1932 | * REPLY_COMPRESSED_BA = 0xc5 (response only, not a command) | 1932 | * REPLY_COMPRESSED_BA = 0xc5 (response only, not a command) |
1933 | * | 1933 | * |
@@ -1945,7 +1945,7 @@ struct iwl_compressed_ba_resp { | |||
1945 | __le64 bitmap; | 1945 | __le64 bitmap; |
1946 | __le16 scd_flow; | 1946 | __le16 scd_flow; |
1947 | __le16 scd_ssn; | 1947 | __le16 scd_ssn; |
1948 | } __attribute__ ((packed)); | 1948 | } __packed; |
1949 | 1949 | ||
1950 | /* | 1950 | /* |
1951 | * REPLY_TX_PWR_TABLE_CMD = 0x97 (command, has simple generic response) | 1951 | * REPLY_TX_PWR_TABLE_CMD = 0x97 (command, has simple generic response) |
@@ -1958,14 +1958,14 @@ struct iwl3945_txpowertable_cmd { | |||
1958 | u8 reserved; | 1958 | u8 reserved; |
1959 | __le16 channel; | 1959 | __le16 channel; |
1960 | struct iwl3945_power_per_rate power[IWL_MAX_RATES]; | 1960 | struct iwl3945_power_per_rate power[IWL_MAX_RATES]; |
1961 | } __attribute__ ((packed)); | 1961 | } __packed; |
1962 | 1962 | ||
1963 | struct iwl4965_txpowertable_cmd { | 1963 | struct iwl4965_txpowertable_cmd { |
1964 | u8 band; /* 0: 5 GHz, 1: 2.4 GHz */ | 1964 | u8 band; /* 0: 5 GHz, 1: 2.4 GHz */ |
1965 | u8 reserved; | 1965 | u8 reserved; |
1966 | __le16 channel; | 1966 | __le16 channel; |
1967 | struct iwl4965_tx_power_db tx_power; | 1967 | struct iwl4965_tx_power_db tx_power; |
1968 | } __attribute__ ((packed)); | 1968 | } __packed; |
1969 | 1969 | ||
1970 | 1970 | ||
1971 | /** | 1971 | /** |
@@ -1987,13 +1987,13 @@ struct iwl3945_rate_scaling_info { | |||
1987 | __le16 rate_n_flags; | 1987 | __le16 rate_n_flags; |
1988 | u8 try_cnt; | 1988 | u8 try_cnt; |
1989 | u8 next_rate_index; | 1989 | u8 next_rate_index; |
1990 | } __attribute__ ((packed)); | 1990 | } __packed; |
1991 | 1991 | ||
1992 | struct iwl3945_rate_scaling_cmd { | 1992 | struct iwl3945_rate_scaling_cmd { |
1993 | u8 table_id; | 1993 | u8 table_id; |
1994 | u8 reserved[3]; | 1994 | u8 reserved[3]; |
1995 | struct iwl3945_rate_scaling_info table[IWL_MAX_RATES]; | 1995 | struct iwl3945_rate_scaling_info table[IWL_MAX_RATES]; |
1996 | } __attribute__ ((packed)); | 1996 | } __packed; |
1997 | 1997 | ||
1998 | 1998 | ||
1999 | /*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */ | 1999 | /*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */ |
@@ -2040,7 +2040,7 @@ struct iwl_link_qual_general_params { | |||
2040 | * TX FIFOs above 3 use same value (typically 0) as TX FIFO 3. | 2040 | * TX FIFOs above 3 use same value (typically 0) as TX FIFO 3. |
2041 | */ | 2041 | */ |
2042 | u8 start_rate_index[LINK_QUAL_AC_NUM]; | 2042 | u8 start_rate_index[LINK_QUAL_AC_NUM]; |
2043 | } __attribute__ ((packed)); | 2043 | } __packed; |
2044 | 2044 | ||
2045 | #define LINK_QUAL_AGG_TIME_LIMIT_DEF (4000) /* 4 milliseconds */ | 2045 | #define LINK_QUAL_AGG_TIME_LIMIT_DEF (4000) /* 4 milliseconds */ |
2046 | #define LINK_QUAL_AGG_TIME_LIMIT_MAX (65535) | 2046 | #define LINK_QUAL_AGG_TIME_LIMIT_MAX (65535) |
@@ -2081,7 +2081,7 @@ struct iwl_link_qual_agg_params { | |||
2081 | u8 agg_frame_cnt_limit; | 2081 | u8 agg_frame_cnt_limit; |
2082 | 2082 | ||
2083 | __le32 reserved; | 2083 | __le32 reserved; |
2084 | } __attribute__ ((packed)); | 2084 | } __packed; |
2085 | 2085 | ||
2086 | /* | 2086 | /* |
2087 | * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response) | 2087 | * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response) |
@@ -2287,7 +2287,7 @@ struct iwl_link_quality_cmd { | |||
2287 | __le32 rate_n_flags; /* RATE_MCS_*, IWL_RATE_* */ | 2287 | __le32 rate_n_flags; /* RATE_MCS_*, IWL_RATE_* */ |
2288 | } rs_table[LINK_QUAL_MAX_RETRY_NUM]; | 2288 | } rs_table[LINK_QUAL_MAX_RETRY_NUM]; |
2289 | __le32 reserved2; | 2289 | __le32 reserved2; |
2290 | } __attribute__ ((packed)); | 2290 | } __packed; |
2291 | 2291 | ||
2292 | /* | 2292 | /* |
2293 | * BT configuration enable flags: | 2293 | * BT configuration enable flags: |
@@ -2328,7 +2328,7 @@ struct iwl_bt_cmd { | |||
2328 | u8 reserved; | 2328 | u8 reserved; |
2329 | __le32 kill_ack_mask; | 2329 | __le32 kill_ack_mask; |
2330 | __le32 kill_cts_mask; | 2330 | __le32 kill_cts_mask; |
2331 | } __attribute__ ((packed)); | 2331 | } __packed; |
2332 | 2332 | ||
2333 | /****************************************************************************** | 2333 | /****************************************************************************** |
2334 | * (6) | 2334 | * (6) |
@@ -2353,7 +2353,7 @@ struct iwl_measure_channel { | |||
2353 | u8 channel; /* channel to measure */ | 2353 | u8 channel; /* channel to measure */ |
2354 | u8 type; /* see enum iwl_measure_type */ | 2354 | u8 type; /* see enum iwl_measure_type */ |
2355 | __le16 reserved; | 2355 | __le16 reserved; |
2356 | } __attribute__ ((packed)); | 2356 | } __packed; |
2357 | 2357 | ||
2358 | /* | 2358 | /* |
2359 | * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command) | 2359 | * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command) |
@@ -2372,7 +2372,7 @@ struct iwl_spectrum_cmd { | |||
2372 | __le16 channel_count; /* minimum 1, maximum 10 */ | 2372 | __le16 channel_count; /* minimum 1, maximum 10 */ |
2373 | __le16 reserved3; | 2373 | __le16 reserved3; |
2374 | struct iwl_measure_channel channels[10]; | 2374 | struct iwl_measure_channel channels[10]; |
2375 | } __attribute__ ((packed)); | 2375 | } __packed; |
2376 | 2376 | ||
2377 | /* | 2377 | /* |
2378 | * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response) | 2378 | * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response) |
@@ -2383,7 +2383,7 @@ struct iwl_spectrum_resp { | |||
2383 | __le16 status; /* 0 - command will be handled | 2383 | __le16 status; /* 0 - command will be handled |
2384 | * 1 - cannot handle (conflicts with another | 2384 | * 1 - cannot handle (conflicts with another |
2385 | * measurement) */ | 2385 | * measurement) */ |
2386 | } __attribute__ ((packed)); | 2386 | } __packed; |
2387 | 2387 | ||
2388 | enum iwl_measurement_state { | 2388 | enum iwl_measurement_state { |
2389 | IWL_MEASUREMENT_START = 0, | 2389 | IWL_MEASUREMENT_START = 0, |
@@ -2406,13 +2406,13 @@ enum iwl_measurement_status { | |||
2406 | struct iwl_measurement_histogram { | 2406 | struct iwl_measurement_histogram { |
2407 | __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */ | 2407 | __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */ |
2408 | __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 1usec counts */ | 2408 | __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 1usec counts */ |
2409 | } __attribute__ ((packed)); | 2409 | } __packed; |
2410 | 2410 | ||
2411 | /* clear channel availability counters */ | 2411 | /* clear channel availability counters */ |
2412 | struct iwl_measurement_cca_counters { | 2412 | struct iwl_measurement_cca_counters { |
2413 | __le32 ofdm; | 2413 | __le32 ofdm; |
2414 | __le32 cck; | 2414 | __le32 cck; |
2415 | } __attribute__ ((packed)); | 2415 | } __packed; |
2416 | 2416 | ||
2417 | enum iwl_measure_type { | 2417 | enum iwl_measure_type { |
2418 | IWL_MEASURE_BASIC = (1 << 0), | 2418 | IWL_MEASURE_BASIC = (1 << 0), |
@@ -2448,7 +2448,7 @@ struct iwl_spectrum_notification { | |||
2448 | struct iwl_measurement_histogram histogram; | 2448 | struct iwl_measurement_histogram histogram; |
2449 | __le32 stop_time; /* lower 32-bits of TSF */ | 2449 | __le32 stop_time; /* lower 32-bits of TSF */ |
2450 | __le32 status; /* see iwl_measurement_status */ | 2450 | __le32 status; /* see iwl_measurement_status */ |
2451 | } __attribute__ ((packed)); | 2451 | } __packed; |
2452 | 2452 | ||
2453 | /****************************************************************************** | 2453 | /****************************************************************************** |
2454 | * (7) | 2454 | * (7) |
@@ -2504,7 +2504,7 @@ struct iwl3945_powertable_cmd { | |||
2504 | __le32 rx_data_timeout; | 2504 | __le32 rx_data_timeout; |
2505 | __le32 tx_data_timeout; | 2505 | __le32 tx_data_timeout; |
2506 | __le32 sleep_interval[IWL_POWER_VEC_SIZE]; | 2506 | __le32 sleep_interval[IWL_POWER_VEC_SIZE]; |
2507 | } __attribute__ ((packed)); | 2507 | } __packed; |
2508 | 2508 | ||
2509 | struct iwl_powertable_cmd { | 2509 | struct iwl_powertable_cmd { |
2510 | __le16 flags; | 2510 | __le16 flags; |
@@ -2514,7 +2514,7 @@ struct iwl_powertable_cmd { | |||
2514 | __le32 tx_data_timeout; | 2514 | __le32 tx_data_timeout; |
2515 | __le32 sleep_interval[IWL_POWER_VEC_SIZE]; | 2515 | __le32 sleep_interval[IWL_POWER_VEC_SIZE]; |
2516 | __le32 keep_alive_beacons; | 2516 | __le32 keep_alive_beacons; |
2517 | } __attribute__ ((packed)); | 2517 | } __packed; |
2518 | 2518 | ||
2519 | /* | 2519 | /* |
2520 | * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command) | 2520 | * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command) |
@@ -2527,7 +2527,7 @@ struct iwl_sleep_notification { | |||
2527 | __le32 sleep_time; | 2527 | __le32 sleep_time; |
2528 | __le32 tsf_low; | 2528 | __le32 tsf_low; |
2529 | __le32 bcon_timer; | 2529 | __le32 bcon_timer; |
2530 | } __attribute__ ((packed)); | 2530 | } __packed; |
2531 | 2531 | ||
2532 | /* Sleep states. 3945 and 4965 identical. */ | 2532 | /* Sleep states. 3945 and 4965 identical. */ |
2533 | enum { | 2533 | enum { |
@@ -2552,14 +2552,14 @@ enum { | |||
2552 | #define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */ | 2552 | #define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */ |
2553 | struct iwl_card_state_cmd { | 2553 | struct iwl_card_state_cmd { |
2554 | __le32 status; /* CARD_STATE_CMD_* request new power state */ | 2554 | __le32 status; /* CARD_STATE_CMD_* request new power state */ |
2555 | } __attribute__ ((packed)); | 2555 | } __packed; |
2556 | 2556 | ||
2557 | /* | 2557 | /* |
2558 | * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command) | 2558 | * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command) |
2559 | */ | 2559 | */ |
2560 | struct iwl_card_state_notif { | 2560 | struct iwl_card_state_notif { |
2561 | __le32 flags; | 2561 | __le32 flags; |
2562 | } __attribute__ ((packed)); | 2562 | } __packed; |
2563 | 2563 | ||
2564 | #define HW_CARD_DISABLED 0x01 | 2564 | #define HW_CARD_DISABLED 0x01 |
2565 | #define SW_CARD_DISABLED 0x02 | 2565 | #define SW_CARD_DISABLED 0x02 |
@@ -2570,14 +2570,14 @@ struct iwl_ct_kill_config { | |||
2570 | __le32 reserved; | 2570 | __le32 reserved; |
2571 | __le32 critical_temperature_M; | 2571 | __le32 critical_temperature_M; |
2572 | __le32 critical_temperature_R; | 2572 | __le32 critical_temperature_R; |
2573 | } __attribute__ ((packed)); | 2573 | } __packed; |
2574 | 2574 | ||
2575 | /* 1000, and 6x00 */ | 2575 | /* 1000, and 6x00 */ |
2576 | struct iwl_ct_kill_throttling_config { | 2576 | struct iwl_ct_kill_throttling_config { |
2577 | __le32 critical_temperature_exit; | 2577 | __le32 critical_temperature_exit; |
2578 | __le32 reserved; | 2578 | __le32 reserved; |
2579 | __le32 critical_temperature_enter; | 2579 | __le32 critical_temperature_enter; |
2580 | } __attribute__ ((packed)); | 2580 | } __packed; |
2581 | 2581 | ||
2582 | /****************************************************************************** | 2582 | /****************************************************************************** |
2583 | * (8) | 2583 | * (8) |
@@ -2622,7 +2622,7 @@ struct iwl3945_scan_channel { | |||
2622 | struct iwl3945_tx_power tpc; | 2622 | struct iwl3945_tx_power tpc; |
2623 | __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ | 2623 | __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ |
2624 | __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ | 2624 | __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ |
2625 | } __attribute__ ((packed)); | 2625 | } __packed; |
2626 | 2626 | ||
2627 | /* set number of direct probes u8 type */ | 2627 | /* set number of direct probes u8 type */ |
2628 | #define IWL39_SCAN_PROBE_MASK(n) ((BIT(n) | (BIT(n) - BIT(1)))) | 2628 | #define IWL39_SCAN_PROBE_MASK(n) ((BIT(n) | (BIT(n) - BIT(1)))) |
@@ -2641,7 +2641,7 @@ struct iwl_scan_channel { | |||
2641 | u8 dsp_atten; /* gain for DSP */ | 2641 | u8 dsp_atten; /* gain for DSP */ |
2642 | __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ | 2642 | __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ |
2643 | __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ | 2643 | __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ |
2644 | } __attribute__ ((packed)); | 2644 | } __packed; |
2645 | 2645 | ||
2646 | /* set number of direct probes __le32 type */ | 2646 | /* set number of direct probes __le32 type */ |
2647 | #define IWL_SCAN_PROBE_MASK(n) cpu_to_le32((BIT(n) | (BIT(n) - BIT(1)))) | 2647 | #define IWL_SCAN_PROBE_MASK(n) cpu_to_le32((BIT(n) | (BIT(n) - BIT(1)))) |
@@ -2658,7 +2658,7 @@ struct iwl_ssid_ie { | |||
2658 | u8 id; | 2658 | u8 id; |
2659 | u8 len; | 2659 | u8 len; |
2660 | u8 ssid[32]; | 2660 | u8 ssid[32]; |
2661 | } __attribute__ ((packed)); | 2661 | } __packed; |
2662 | 2662 | ||
2663 | #define PROBE_OPTION_MAX_3945 4 | 2663 | #define PROBE_OPTION_MAX_3945 4 |
2664 | #define PROBE_OPTION_MAX 20 | 2664 | #define PROBE_OPTION_MAX 20 |
@@ -2764,7 +2764,7 @@ struct iwl3945_scan_cmd { | |||
2764 | * before requesting another scan. | 2764 | * before requesting another scan. |
2765 | */ | 2765 | */ |
2766 | u8 data[0]; | 2766 | u8 data[0]; |
2767 | } __attribute__ ((packed)); | 2767 | } __packed; |
2768 | 2768 | ||
2769 | struct iwl_scan_cmd { | 2769 | struct iwl_scan_cmd { |
2770 | __le16 len; | 2770 | __le16 len; |
@@ -2808,7 +2808,7 @@ struct iwl_scan_cmd { | |||
2808 | * before requesting another scan. | 2808 | * before requesting another scan. |
2809 | */ | 2809 | */ |
2810 | u8 data[0]; | 2810 | u8 data[0]; |
2811 | } __attribute__ ((packed)); | 2811 | } __packed; |
2812 | 2812 | ||
2813 | /* Can abort will notify by complete notification with abort status. */ | 2813 | /* Can abort will notify by complete notification with abort status. */ |
2814 | #define CAN_ABORT_STATUS cpu_to_le32(0x1) | 2814 | #define CAN_ABORT_STATUS cpu_to_le32(0x1) |
@@ -2820,7 +2820,7 @@ struct iwl_scan_cmd { | |||
2820 | */ | 2820 | */ |
2821 | struct iwl_scanreq_notification { | 2821 | struct iwl_scanreq_notification { |
2822 | __le32 status; /* 1: okay, 2: cannot fulfill request */ | 2822 | __le32 status; /* 1: okay, 2: cannot fulfill request */ |
2823 | } __attribute__ ((packed)); | 2823 | } __packed; |
2824 | 2824 | ||
2825 | /* | 2825 | /* |
2826 | * SCAN_START_NOTIFICATION = 0x82 (notification only, not a command) | 2826 | * SCAN_START_NOTIFICATION = 0x82 (notification only, not a command) |
@@ -2833,7 +2833,7 @@ struct iwl_scanstart_notification { | |||
2833 | u8 band; | 2833 | u8 band; |
2834 | u8 reserved[2]; | 2834 | u8 reserved[2]; |
2835 | __le32 status; | 2835 | __le32 status; |
2836 | } __attribute__ ((packed)); | 2836 | } __packed; |
2837 | 2837 | ||
2838 | #define SCAN_OWNER_STATUS 0x1; | 2838 | #define SCAN_OWNER_STATUS 0x1; |
2839 | #define MEASURE_OWNER_STATUS 0x2; | 2839 | #define MEASURE_OWNER_STATUS 0x2; |
@@ -2849,7 +2849,7 @@ struct iwl_scanresults_notification { | |||
2849 | __le32 tsf_low; | 2849 | __le32 tsf_low; |
2850 | __le32 tsf_high; | 2850 | __le32 tsf_high; |
2851 | __le32 statistics[NUMBER_OF_STATISTICS]; | 2851 | __le32 statistics[NUMBER_OF_STATISTICS]; |
2852 | } __attribute__ ((packed)); | 2852 | } __packed; |
2853 | 2853 | ||
2854 | /* | 2854 | /* |
2855 | * SCAN_COMPLETE_NOTIFICATION = 0x84 (notification only, not a command) | 2855 | * SCAN_COMPLETE_NOTIFICATION = 0x84 (notification only, not a command) |
@@ -2861,7 +2861,7 @@ struct iwl_scancomplete_notification { | |||
2861 | u8 last_channel; | 2861 | u8 last_channel; |
2862 | __le32 tsf_low; | 2862 | __le32 tsf_low; |
2863 | __le32 tsf_high; | 2863 | __le32 tsf_high; |
2864 | } __attribute__ ((packed)); | 2864 | } __packed; |
2865 | 2865 | ||
2866 | 2866 | ||
2867 | /****************************************************************************** | 2867 | /****************************************************************************** |
@@ -2879,14 +2879,14 @@ struct iwl3945_beacon_notif { | |||
2879 | __le32 low_tsf; | 2879 | __le32 low_tsf; |
2880 | __le32 high_tsf; | 2880 | __le32 high_tsf; |
2881 | __le32 ibss_mgr_status; | 2881 | __le32 ibss_mgr_status; |
2882 | } __attribute__ ((packed)); | 2882 | } __packed; |
2883 | 2883 | ||
2884 | struct iwl4965_beacon_notif { | 2884 | struct iwl4965_beacon_notif { |
2885 | struct iwl4965_tx_resp beacon_notify_hdr; | 2885 | struct iwl4965_tx_resp beacon_notify_hdr; |
2886 | __le32 low_tsf; | 2886 | __le32 low_tsf; |
2887 | __le32 high_tsf; | 2887 | __le32 high_tsf; |
2888 | __le32 ibss_mgr_status; | 2888 | __le32 ibss_mgr_status; |
2889 | } __attribute__ ((packed)); | 2889 | } __packed; |
2890 | 2890 | ||
2891 | /* | 2891 | /* |
2892 | * REPLY_TX_BEACON = 0x91 (command, has simple generic response) | 2892 | * REPLY_TX_BEACON = 0x91 (command, has simple generic response) |
@@ -2898,7 +2898,7 @@ struct iwl3945_tx_beacon_cmd { | |||
2898 | u8 tim_size; | 2898 | u8 tim_size; |
2899 | u8 reserved1; | 2899 | u8 reserved1; |
2900 | struct ieee80211_hdr frame[0]; /* beacon frame */ | 2900 | struct ieee80211_hdr frame[0]; /* beacon frame */ |
2901 | } __attribute__ ((packed)); | 2901 | } __packed; |
2902 | 2902 | ||
2903 | struct iwl_tx_beacon_cmd { | 2903 | struct iwl_tx_beacon_cmd { |
2904 | struct iwl_tx_cmd tx; | 2904 | struct iwl_tx_cmd tx; |
@@ -2906,7 +2906,7 @@ struct iwl_tx_beacon_cmd { | |||
2906 | u8 tim_size; | 2906 | u8 tim_size; |
2907 | u8 reserved1; | 2907 | u8 reserved1; |
2908 | struct ieee80211_hdr frame[0]; /* beacon frame */ | 2908 | struct ieee80211_hdr frame[0]; /* beacon frame */ |
2909 | } __attribute__ ((packed)); | 2909 | } __packed; |
2910 | 2910 | ||
2911 | /****************************************************************************** | 2911 | /****************************************************************************** |
2912 | * (10) | 2912 | * (10) |
@@ -2932,7 +2932,7 @@ struct rate_histogram { | |||
2932 | __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS]; | 2932 | __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS]; |
2933 | __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS]; | 2933 | __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS]; |
2934 | } failed; | 2934 | } failed; |
2935 | } __attribute__ ((packed)); | 2935 | } __packed; |
2936 | 2936 | ||
2937 | /* statistics command response */ | 2937 | /* statistics command response */ |
2938 | 2938 | ||
@@ -2952,7 +2952,7 @@ struct iwl39_statistics_rx_phy { | |||
2952 | __le32 rxe_frame_limit_overrun; | 2952 | __le32 rxe_frame_limit_overrun; |
2953 | __le32 sent_ack_cnt; | 2953 | __le32 sent_ack_cnt; |
2954 | __le32 sent_cts_cnt; | 2954 | __le32 sent_cts_cnt; |
2955 | } __attribute__ ((packed)); | 2955 | } __packed; |
2956 | 2956 | ||
2957 | struct iwl39_statistics_rx_non_phy { | 2957 | struct iwl39_statistics_rx_non_phy { |
2958 | __le32 bogus_cts; /* CTS received when not expecting CTS */ | 2958 | __le32 bogus_cts; /* CTS received when not expecting CTS */ |
@@ -2963,13 +2963,13 @@ struct iwl39_statistics_rx_non_phy { | |||
2963 | * filtering process */ | 2963 | * filtering process */ |
2964 | __le32 non_channel_beacons; /* beacons with our bss id but not on | 2964 | __le32 non_channel_beacons; /* beacons with our bss id but not on |
2965 | * our serving channel */ | 2965 | * our serving channel */ |
2966 | } __attribute__ ((packed)); | 2966 | } __packed; |
2967 | 2967 | ||
2968 | struct iwl39_statistics_rx { | 2968 | struct iwl39_statistics_rx { |
2969 | struct iwl39_statistics_rx_phy ofdm; | 2969 | struct iwl39_statistics_rx_phy ofdm; |
2970 | struct iwl39_statistics_rx_phy cck; | 2970 | struct iwl39_statistics_rx_phy cck; |
2971 | struct iwl39_statistics_rx_non_phy general; | 2971 | struct iwl39_statistics_rx_non_phy general; |
2972 | } __attribute__ ((packed)); | 2972 | } __packed; |
2973 | 2973 | ||
2974 | struct iwl39_statistics_tx { | 2974 | struct iwl39_statistics_tx { |
2975 | __le32 preamble_cnt; | 2975 | __le32 preamble_cnt; |
@@ -2981,20 +2981,20 @@ struct iwl39_statistics_tx { | |||
2981 | __le32 ack_timeout; | 2981 | __le32 ack_timeout; |
2982 | __le32 expected_ack_cnt; | 2982 | __le32 expected_ack_cnt; |
2983 | __le32 actual_ack_cnt; | 2983 | __le32 actual_ack_cnt; |
2984 | } __attribute__ ((packed)); | 2984 | } __packed; |
2985 | 2985 | ||
2986 | struct statistics_dbg { | 2986 | struct statistics_dbg { |
2987 | __le32 burst_check; | 2987 | __le32 burst_check; |
2988 | __le32 burst_count; | 2988 | __le32 burst_count; |
2989 | __le32 reserved[4]; | 2989 | __le32 reserved[4]; |
2990 | } __attribute__ ((packed)); | 2990 | } __packed; |
2991 | 2991 | ||
2992 | struct iwl39_statistics_div { | 2992 | struct iwl39_statistics_div { |
2993 | __le32 tx_on_a; | 2993 | __le32 tx_on_a; |
2994 | __le32 tx_on_b; | 2994 | __le32 tx_on_b; |
2995 | __le32 exec_time; | 2995 | __le32 exec_time; |
2996 | __le32 probe_time; | 2996 | __le32 probe_time; |
2997 | } __attribute__ ((packed)); | 2997 | } __packed; |
2998 | 2998 | ||
2999 | struct iwl39_statistics_general { | 2999 | struct iwl39_statistics_general { |
3000 | __le32 temperature; | 3000 | __le32 temperature; |
@@ -3004,7 +3004,7 @@ struct iwl39_statistics_general { | |||
3004 | __le32 slots_idle; | 3004 | __le32 slots_idle; |
3005 | __le32 ttl_timestamp; | 3005 | __le32 ttl_timestamp; |
3006 | struct iwl39_statistics_div div; | 3006 | struct iwl39_statistics_div div; |
3007 | } __attribute__ ((packed)); | 3007 | } __packed; |
3008 | 3008 | ||
3009 | struct statistics_rx_phy { | 3009 | struct statistics_rx_phy { |
3010 | __le32 ina_cnt; | 3010 | __le32 ina_cnt; |
@@ -3027,7 +3027,7 @@ struct statistics_rx_phy { | |||
3027 | __le32 mh_format_err; | 3027 | __le32 mh_format_err; |
3028 | __le32 re_acq_main_rssi_sum; | 3028 | __le32 re_acq_main_rssi_sum; |
3029 | __le32 reserved3; | 3029 | __le32 reserved3; |
3030 | } __attribute__ ((packed)); | 3030 | } __packed; |
3031 | 3031 | ||
3032 | struct statistics_rx_ht_phy { | 3032 | struct statistics_rx_ht_phy { |
3033 | __le32 plcp_err; | 3033 | __le32 plcp_err; |
@@ -3040,7 +3040,7 @@ struct statistics_rx_ht_phy { | |||
3040 | __le32 agg_mpdu_cnt; | 3040 | __le32 agg_mpdu_cnt; |
3041 | __le32 agg_cnt; | 3041 | __le32 agg_cnt; |
3042 | __le32 unsupport_mcs; | 3042 | __le32 unsupport_mcs; |
3043 | } __attribute__ ((packed)); | 3043 | } __packed; |
3044 | 3044 | ||
3045 | #define INTERFERENCE_DATA_AVAILABLE cpu_to_le32(1) | 3045 | #define INTERFERENCE_DATA_AVAILABLE cpu_to_le32(1) |
3046 | 3046 | ||
@@ -3075,14 +3075,14 @@ struct statistics_rx_non_phy { | |||
3075 | __le32 beacon_energy_a; | 3075 | __le32 beacon_energy_a; |
3076 | __le32 beacon_energy_b; | 3076 | __le32 beacon_energy_b; |
3077 | __le32 beacon_energy_c; | 3077 | __le32 beacon_energy_c; |
3078 | } __attribute__ ((packed)); | 3078 | } __packed; |
3079 | 3079 | ||
3080 | struct statistics_rx { | 3080 | struct statistics_rx { |
3081 | struct statistics_rx_phy ofdm; | 3081 | struct statistics_rx_phy ofdm; |
3082 | struct statistics_rx_phy cck; | 3082 | struct statistics_rx_phy cck; |
3083 | struct statistics_rx_non_phy general; | 3083 | struct statistics_rx_non_phy general; |
3084 | struct statistics_rx_ht_phy ofdm_ht; | 3084 | struct statistics_rx_ht_phy ofdm_ht; |
3085 | } __attribute__ ((packed)); | 3085 | } __packed; |
3086 | 3086 | ||
3087 | /** | 3087 | /** |
3088 | * struct statistics_tx_power - current tx power | 3088 | * struct statistics_tx_power - current tx power |
@@ -3096,7 +3096,7 @@ struct statistics_tx_power { | |||
3096 | u8 ant_b; | 3096 | u8 ant_b; |
3097 | u8 ant_c; | 3097 | u8 ant_c; |
3098 | u8 reserved; | 3098 | u8 reserved; |
3099 | } __attribute__ ((packed)); | 3099 | } __packed; |
3100 | 3100 | ||
3101 | struct statistics_tx_non_phy_agg { | 3101 | struct statistics_tx_non_phy_agg { |
3102 | __le32 ba_timeout; | 3102 | __le32 ba_timeout; |
@@ -3109,7 +3109,7 @@ struct statistics_tx_non_phy_agg { | |||
3109 | __le32 underrun; | 3109 | __le32 underrun; |
3110 | __le32 bt_prio_kill; | 3110 | __le32 bt_prio_kill; |
3111 | __le32 rx_ba_rsp_cnt; | 3111 | __le32 rx_ba_rsp_cnt; |
3112 | } __attribute__ ((packed)); | 3112 | } __packed; |
3113 | 3113 | ||
3114 | struct statistics_tx { | 3114 | struct statistics_tx { |
3115 | __le32 preamble_cnt; | 3115 | __le32 preamble_cnt; |
@@ -3134,7 +3134,7 @@ struct statistics_tx { | |||
3134 | */ | 3134 | */ |
3135 | struct statistics_tx_power tx_power; | 3135 | struct statistics_tx_power tx_power; |
3136 | __le32 reserved1; | 3136 | __le32 reserved1; |
3137 | } __attribute__ ((packed)); | 3137 | } __packed; |
3138 | 3138 | ||
3139 | 3139 | ||
3140 | struct statistics_div { | 3140 | struct statistics_div { |
@@ -3144,7 +3144,7 @@ struct statistics_div { | |||
3144 | __le32 probe_time; | 3144 | __le32 probe_time; |
3145 | __le32 reserved1; | 3145 | __le32 reserved1; |
3146 | __le32 reserved2; | 3146 | __le32 reserved2; |
3147 | } __attribute__ ((packed)); | 3147 | } __packed; |
3148 | 3148 | ||
3149 | struct statistics_general { | 3149 | struct statistics_general { |
3150 | __le32 temperature; /* radio temperature */ | 3150 | __le32 temperature; /* radio temperature */ |
@@ -3164,7 +3164,7 @@ struct statistics_general { | |||
3164 | __le32 num_of_sos_states; | 3164 | __le32 num_of_sos_states; |
3165 | __le32 reserved2; | 3165 | __le32 reserved2; |
3166 | __le32 reserved3; | 3166 | __le32 reserved3; |
3167 | } __attribute__ ((packed)); | 3167 | } __packed; |
3168 | 3168 | ||
3169 | #define UCODE_STATISTICS_CLEAR_MSK (0x1 << 0) | 3169 | #define UCODE_STATISTICS_CLEAR_MSK (0x1 << 0) |
3170 | #define UCODE_STATISTICS_FREQUENCY_MSK (0x1 << 1) | 3170 | #define UCODE_STATISTICS_FREQUENCY_MSK (0x1 << 1) |
@@ -3189,7 +3189,7 @@ struct statistics_general { | |||
3189 | #define IWL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */ | 3189 | #define IWL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */ |
3190 | struct iwl_statistics_cmd { | 3190 | struct iwl_statistics_cmd { |
3191 | __le32 configuration_flags; /* IWL_STATS_CONF_* */ | 3191 | __le32 configuration_flags; /* IWL_STATS_CONF_* */ |
3192 | } __attribute__ ((packed)); | 3192 | } __packed; |
3193 | 3193 | ||
3194 | /* | 3194 | /* |
3195 | * STATISTICS_NOTIFICATION = 0x9d (notification only, not a command) | 3195 | * STATISTICS_NOTIFICATION = 0x9d (notification only, not a command) |
@@ -3214,14 +3214,14 @@ struct iwl3945_notif_statistics { | |||
3214 | struct iwl39_statistics_rx rx; | 3214 | struct iwl39_statistics_rx rx; |
3215 | struct iwl39_statistics_tx tx; | 3215 | struct iwl39_statistics_tx tx; |
3216 | struct iwl39_statistics_general general; | 3216 | struct iwl39_statistics_general general; |
3217 | } __attribute__ ((packed)); | 3217 | } __packed; |
3218 | 3218 | ||
3219 | struct iwl_notif_statistics { | 3219 | struct iwl_notif_statistics { |
3220 | __le32 flag; | 3220 | __le32 flag; |
3221 | struct statistics_rx rx; | 3221 | struct statistics_rx rx; |
3222 | struct statistics_tx tx; | 3222 | struct statistics_tx tx; |
3223 | struct statistics_general general; | 3223 | struct statistics_general general; |
3224 | } __attribute__ ((packed)); | 3224 | } __packed; |
3225 | 3225 | ||
3226 | 3226 | ||
3227 | /* | 3227 | /* |
@@ -3253,7 +3253,7 @@ struct iwl_missed_beacon_notif { | |||
3253 | __le32 total_missed_becons; | 3253 | __le32 total_missed_becons; |
3254 | __le32 num_expected_beacons; | 3254 | __le32 num_expected_beacons; |
3255 | __le32 num_recvd_beacons; | 3255 | __le32 num_recvd_beacons; |
3256 | } __attribute__ ((packed)); | 3256 | } __packed; |
3257 | 3257 | ||
3258 | 3258 | ||
3259 | /****************************************************************************** | 3259 | /****************************************************************************** |
@@ -3455,7 +3455,7 @@ struct iwl_missed_beacon_notif { | |||
3455 | struct iwl_sensitivity_cmd { | 3455 | struct iwl_sensitivity_cmd { |
3456 | __le16 control; /* always use "1" */ | 3456 | __le16 control; /* always use "1" */ |
3457 | __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */ | 3457 | __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */ |
3458 | } __attribute__ ((packed)); | 3458 | } __packed; |
3459 | 3459 | ||
3460 | 3460 | ||
3461 | /** | 3461 | /** |
@@ -3536,31 +3536,31 @@ struct iwl_calib_cfg_elmnt_s { | |||
3536 | __le32 send_res; | 3536 | __le32 send_res; |
3537 | __le32 apply_res; | 3537 | __le32 apply_res; |
3538 | __le32 reserved; | 3538 | __le32 reserved; |
3539 | } __attribute__ ((packed)); | 3539 | } __packed; |
3540 | 3540 | ||
3541 | struct iwl_calib_cfg_status_s { | 3541 | struct iwl_calib_cfg_status_s { |
3542 | struct iwl_calib_cfg_elmnt_s once; | 3542 | struct iwl_calib_cfg_elmnt_s once; |
3543 | struct iwl_calib_cfg_elmnt_s perd; | 3543 | struct iwl_calib_cfg_elmnt_s perd; |
3544 | __le32 flags; | 3544 | __le32 flags; |
3545 | } __attribute__ ((packed)); | 3545 | } __packed; |
3546 | 3546 | ||
3547 | struct iwl_calib_cfg_cmd { | 3547 | struct iwl_calib_cfg_cmd { |
3548 | struct iwl_calib_cfg_status_s ucd_calib_cfg; | 3548 | struct iwl_calib_cfg_status_s ucd_calib_cfg; |
3549 | struct iwl_calib_cfg_status_s drv_calib_cfg; | 3549 | struct iwl_calib_cfg_status_s drv_calib_cfg; |
3550 | __le32 reserved1; | 3550 | __le32 reserved1; |
3551 | } __attribute__ ((packed)); | 3551 | } __packed; |
3552 | 3552 | ||
3553 | struct iwl_calib_hdr { | 3553 | struct iwl_calib_hdr { |
3554 | u8 op_code; | 3554 | u8 op_code; |
3555 | u8 first_group; | 3555 | u8 first_group; |
3556 | u8 groups_num; | 3556 | u8 groups_num; |
3557 | u8 data_valid; | 3557 | u8 data_valid; |
3558 | } __attribute__ ((packed)); | 3558 | } __packed; |
3559 | 3559 | ||
3560 | struct iwl_calib_cmd { | 3560 | struct iwl_calib_cmd { |
3561 | struct iwl_calib_hdr hdr; | 3561 | struct iwl_calib_hdr hdr; |
3562 | u8 data[0]; | 3562 | u8 data[0]; |
3563 | } __attribute__ ((packed)); | 3563 | } __packed; |
3564 | 3564 | ||
3565 | /* IWL_PHY_CALIBRATE_DIFF_GAIN_CMD (7) */ | 3565 | /* IWL_PHY_CALIBRATE_DIFF_GAIN_CMD (7) */ |
3566 | struct iwl_calib_diff_gain_cmd { | 3566 | struct iwl_calib_diff_gain_cmd { |
@@ -3569,14 +3569,14 @@ struct iwl_calib_diff_gain_cmd { | |||
3569 | s8 diff_gain_b; | 3569 | s8 diff_gain_b; |
3570 | s8 diff_gain_c; | 3570 | s8 diff_gain_c; |
3571 | u8 reserved1; | 3571 | u8 reserved1; |
3572 | } __attribute__ ((packed)); | 3572 | } __packed; |
3573 | 3573 | ||
3574 | struct iwl_calib_xtal_freq_cmd { | 3574 | struct iwl_calib_xtal_freq_cmd { |
3575 | struct iwl_calib_hdr hdr; | 3575 | struct iwl_calib_hdr hdr; |
3576 | u8 cap_pin1; | 3576 | u8 cap_pin1; |
3577 | u8 cap_pin2; | 3577 | u8 cap_pin2; |
3578 | u8 pad[2]; | 3578 | u8 pad[2]; |
3579 | } __attribute__ ((packed)); | 3579 | } __packed; |
3580 | 3580 | ||
3581 | /* IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */ | 3581 | /* IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */ |
3582 | struct iwl_calib_chain_noise_reset_cmd { | 3582 | struct iwl_calib_chain_noise_reset_cmd { |
@@ -3590,7 +3590,7 @@ struct iwl_calib_chain_noise_gain_cmd { | |||
3590 | u8 delta_gain_1; | 3590 | u8 delta_gain_1; |
3591 | u8 delta_gain_2; | 3591 | u8 delta_gain_2; |
3592 | u8 pad[2]; | 3592 | u8 pad[2]; |
3593 | } __attribute__ ((packed)); | 3593 | } __packed; |
3594 | 3594 | ||
3595 | /****************************************************************************** | 3595 | /****************************************************************************** |
3596 | * (12) | 3596 | * (12) |
@@ -3613,7 +3613,7 @@ struct iwl_led_cmd { | |||
3613 | u8 on; /* # intervals on while blinking; | 3613 | u8 on; /* # intervals on while blinking; |
3614 | * "0", regardless of "off", turns LED off */ | 3614 | * "0", regardless of "off", turns LED off */ |
3615 | u8 reserved; | 3615 | u8 reserved; |
3616 | } __attribute__ ((packed)); | 3616 | } __packed; |
3617 | 3617 | ||
3618 | /* | 3618 | /* |
3619 | * station priority table entries | 3619 | * station priority table entries |
@@ -3749,7 +3749,7 @@ struct iwl_wimax_coex_event_entry { | |||
3749 | u8 win_medium_prio; | 3749 | u8 win_medium_prio; |
3750 | u8 reserved; | 3750 | u8 reserved; |
3751 | u8 flags; | 3751 | u8 flags; |
3752 | } __attribute__ ((packed)); | 3752 | } __packed; |
3753 | 3753 | ||
3754 | /* COEX flag masks */ | 3754 | /* COEX flag masks */ |
3755 | 3755 | ||
@@ -3766,7 +3766,7 @@ struct iwl_wimax_coex_cmd { | |||
3766 | u8 flags; | 3766 | u8 flags; |
3767 | u8 reserved[3]; | 3767 | u8 reserved[3]; |
3768 | struct iwl_wimax_coex_event_entry sta_prio[COEX_NUM_OF_EVENTS]; | 3768 | struct iwl_wimax_coex_event_entry sta_prio[COEX_NUM_OF_EVENTS]; |
3769 | } __attribute__ ((packed)); | 3769 | } __packed; |
3770 | 3770 | ||
3771 | /* | 3771 | /* |
3772 | * Coexistence MEDIUM NOTIFICATION | 3772 | * Coexistence MEDIUM NOTIFICATION |
@@ -3795,7 +3795,7 @@ struct iwl_wimax_coex_cmd { | |||
3795 | struct iwl_coex_medium_notification { | 3795 | struct iwl_coex_medium_notification { |
3796 | __le32 status; | 3796 | __le32 status; |
3797 | __le32 events; | 3797 | __le32 events; |
3798 | } __attribute__ ((packed)); | 3798 | } __packed; |
3799 | 3799 | ||
3800 | /* | 3800 | /* |
3801 | * Coexistence EVENT Command | 3801 | * Coexistence EVENT Command |
@@ -3810,11 +3810,11 @@ struct iwl_coex_event_cmd { | |||
3810 | u8 flags; | 3810 | u8 flags; |
3811 | u8 event; | 3811 | u8 event; |
3812 | __le16 reserved; | 3812 | __le16 reserved; |
3813 | } __attribute__ ((packed)); | 3813 | } __packed; |
3814 | 3814 | ||
3815 | struct iwl_coex_event_resp { | 3815 | struct iwl_coex_event_resp { |
3816 | __le32 status; | 3816 | __le32 status; |
3817 | } __attribute__ ((packed)); | 3817 | } __packed; |
3818 | 3818 | ||
3819 | 3819 | ||
3820 | /****************************************************************************** | 3820 | /****************************************************************************** |
@@ -3858,7 +3858,7 @@ struct iwl_rx_packet { | |||
3858 | __le32 status; | 3858 | __le32 status; |
3859 | u8 raw[0]; | 3859 | u8 raw[0]; |
3860 | } u; | 3860 | } u; |
3861 | } __attribute__ ((packed)); | 3861 | } __packed; |
3862 | 3862 | ||
3863 | int iwl_agn_check_rxon_cmd(struct iwl_priv *priv); | 3863 | int iwl_agn_check_rxon_cmd(struct iwl_priv *priv); |
3864 | 3864 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index f3f3473c5c7e..a36a6ef45aae 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -157,7 +157,7 @@ struct iwl_queue { | |||
157 | * space more than this */ | 157 | * space more than this */ |
158 | int high_mark; /* high watermark, stop queue if free | 158 | int high_mark; /* high watermark, stop queue if free |
159 | * space less than this */ | 159 | * space less than this */ |
160 | } __attribute__ ((packed)); | 160 | } __packed; |
161 | 161 | ||
162 | /* One for each TFD */ | 162 | /* One for each TFD */ |
163 | struct iwl_tx_info { | 163 | struct iwl_tx_info { |
@@ -343,8 +343,8 @@ struct iwl_device_cmd { | |||
343 | struct iwl_tx_cmd tx; | 343 | struct iwl_tx_cmd tx; |
344 | struct iwl6000_channel_switch_cmd chswitch; | 344 | struct iwl6000_channel_switch_cmd chswitch; |
345 | u8 payload[DEF_CMD_PAYLOAD_SIZE]; | 345 | u8 payload[DEF_CMD_PAYLOAD_SIZE]; |
346 | } __attribute__ ((packed)) cmd; | 346 | } __packed cmd; |
347 | } __attribute__ ((packed)); | 347 | } __packed; |
348 | 348 | ||
349 | #define TFD_MAX_PAYLOAD_SIZE (sizeof(struct iwl_device_cmd)) | 349 | #define TFD_MAX_PAYLOAD_SIZE (sizeof(struct iwl_device_cmd)) |
350 | 350 | ||
@@ -590,7 +590,7 @@ struct iwl_ucode_tlv { | |||
590 | __le16 alternative; /* see comment */ | 590 | __le16 alternative; /* see comment */ |
591 | __le32 length; /* not including type/length fields */ | 591 | __le32 length; /* not including type/length fields */ |
592 | u8 data[0]; | 592 | u8 data[0]; |
593 | } __attribute__ ((packed)); | 593 | } __packed; |
594 | 594 | ||
595 | #define IWL_TLV_UCODE_MAGIC 0x0a4c5749 | 595 | #define IWL_TLV_UCODE_MAGIC 0x0a4c5749 |
596 | 596 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.h b/drivers/net/wireless/iwlwifi/iwl-eeprom.h index 95aa202c85e3..5488006491a2 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.h +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.h | |||
@@ -118,7 +118,7 @@ enum { | |||
118 | struct iwl_eeprom_channel { | 118 | struct iwl_eeprom_channel { |
119 | u8 flags; /* EEPROM_CHANNEL_* flags copied from EEPROM */ | 119 | u8 flags; /* EEPROM_CHANNEL_* flags copied from EEPROM */ |
120 | s8 max_power_avg; /* max power (dBm) on this chnl, limit 31 */ | 120 | s8 max_power_avg; /* max power (dBm) on this chnl, limit 31 */ |
121 | } __attribute__ ((packed)); | 121 | } __packed; |
122 | 122 | ||
123 | /** | 123 | /** |
124 | * iwl_eeprom_enhanced_txpwr structure | 124 | * iwl_eeprom_enhanced_txpwr structure |
@@ -144,7 +144,7 @@ struct iwl_eeprom_enhanced_txpwr { | |||
144 | s8 reserved; | 144 | s8 reserved; |
145 | s8 mimo2_max; | 145 | s8 mimo2_max; |
146 | s8 mimo3_max; | 146 | s8 mimo3_max; |
147 | } __attribute__ ((packed)); | 147 | } __packed; |
148 | 148 | ||
149 | /* 3945 Specific */ | 149 | /* 3945 Specific */ |
150 | #define EEPROM_3945_EEPROM_VERSION (0x2f) | 150 | #define EEPROM_3945_EEPROM_VERSION (0x2f) |
@@ -312,7 +312,7 @@ struct iwl_eeprom_calib_measure { | |||
312 | u8 gain_idx; /* Index into gain table */ | 312 | u8 gain_idx; /* Index into gain table */ |
313 | u8 actual_pow; /* Measured RF output power, half-dBm */ | 313 | u8 actual_pow; /* Measured RF output power, half-dBm */ |
314 | s8 pa_det; /* Power amp detector level (not used) */ | 314 | s8 pa_det; /* Power amp detector level (not used) */ |
315 | } __attribute__ ((packed)); | 315 | } __packed; |
316 | 316 | ||
317 | 317 | ||
318 | /* | 318 | /* |
@@ -328,7 +328,7 @@ struct iwl_eeprom_calib_ch_info { | |||
328 | struct iwl_eeprom_calib_measure | 328 | struct iwl_eeprom_calib_measure |
329 | measurements[EEPROM_TX_POWER_TX_CHAINS] | 329 | measurements[EEPROM_TX_POWER_TX_CHAINS] |
330 | [EEPROM_TX_POWER_MEASUREMENTS]; | 330 | [EEPROM_TX_POWER_MEASUREMENTS]; |
331 | } __attribute__ ((packed)); | 331 | } __packed; |
332 | 332 | ||
333 | /* | 333 | /* |
334 | * txpower subband info. | 334 | * txpower subband info. |
@@ -345,7 +345,7 @@ struct iwl_eeprom_calib_subband_info { | |||
345 | u8 ch_to; /* channel number of highest channel in subband */ | 345 | u8 ch_to; /* channel number of highest channel in subband */ |
346 | struct iwl_eeprom_calib_ch_info ch1; | 346 | struct iwl_eeprom_calib_ch_info ch1; |
347 | struct iwl_eeprom_calib_ch_info ch2; | 347 | struct iwl_eeprom_calib_ch_info ch2; |
348 | } __attribute__ ((packed)); | 348 | } __packed; |
349 | 349 | ||
350 | 350 | ||
351 | /* | 351 | /* |
@@ -374,7 +374,7 @@ struct iwl_eeprom_calib_info { | |||
374 | __le16 voltage; /* signed */ | 374 | __le16 voltage; /* signed */ |
375 | struct iwl_eeprom_calib_subband_info | 375 | struct iwl_eeprom_calib_subband_info |
376 | band_info[EEPROM_TX_POWER_BANDS]; | 376 | band_info[EEPROM_TX_POWER_BANDS]; |
377 | } __attribute__ ((packed)); | 377 | } __packed; |
378 | 378 | ||
379 | 379 | ||
380 | #define ADDRESS_MSK 0x0000FFFF | 380 | #define ADDRESS_MSK 0x0000FFFF |
diff --git a/drivers/net/wireless/iwlwifi/iwl-fh.h b/drivers/net/wireless/iwlwifi/iwl-fh.h index 113c3669b9ce..a3fcbb5f2c70 100644 --- a/drivers/net/wireless/iwlwifi/iwl-fh.h +++ b/drivers/net/wireless/iwlwifi/iwl-fh.h | |||
@@ -449,7 +449,7 @@ struct iwl_rb_status { | |||
449 | __le16 finished_rb_num; | 449 | __le16 finished_rb_num; |
450 | __le16 finished_fr_nam; | 450 | __le16 finished_fr_nam; |
451 | __le32 __unused; /* 3945 only */ | 451 | __le32 __unused; /* 3945 only */ |
452 | } __attribute__ ((packed)); | 452 | } __packed; |
453 | 453 | ||
454 | 454 | ||
455 | #define TFD_QUEUE_SIZE_MAX (256) | 455 | #define TFD_QUEUE_SIZE_MAX (256) |
@@ -475,7 +475,7 @@ static inline u8 iwl_get_dma_hi_addr(dma_addr_t addr) | |||
475 | struct iwl_tfd_tb { | 475 | struct iwl_tfd_tb { |
476 | __le32 lo; | 476 | __le32 lo; |
477 | __le16 hi_n_len; | 477 | __le16 hi_n_len; |
478 | } __attribute__((packed)); | 478 | } __packed; |
479 | 479 | ||
480 | /** | 480 | /** |
481 | * struct iwl_tfd | 481 | * struct iwl_tfd |
@@ -510,7 +510,7 @@ struct iwl_tfd { | |||
510 | u8 num_tbs; | 510 | u8 num_tbs; |
511 | struct iwl_tfd_tb tbs[IWL_NUM_OF_TBS]; | 511 | struct iwl_tfd_tb tbs[IWL_NUM_OF_TBS]; |
512 | __le32 __pad; | 512 | __le32 __pad; |
513 | } __attribute__ ((packed)); | 513 | } __packed; |
514 | 514 | ||
515 | /* Keep Warm Size */ | 515 | /* Keep Warm Size */ |
516 | #define IWL_KW_SIZE 0x1000 /* 4k */ | 516 | #define IWL_KW_SIZE 0x1000 /* 4k */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-spectrum.h b/drivers/net/wireless/iwlwifi/iwl-spectrum.h index af6babee2891..c4ca0b5d77da 100644 --- a/drivers/net/wireless/iwlwifi/iwl-spectrum.h +++ b/drivers/net/wireless/iwlwifi/iwl-spectrum.h | |||
@@ -42,7 +42,7 @@ struct ieee80211_basic_report { | |||
42 | __le64 start_time; | 42 | __le64 start_time; |
43 | __le16 duration; | 43 | __le16 duration; |
44 | u8 map; | 44 | u8 map; |
45 | } __attribute__ ((packed)); | 45 | } __packed; |
46 | 46 | ||
47 | enum { /* ieee80211_measurement_request.mode */ | 47 | enum { /* ieee80211_measurement_request.mode */ |
48 | /* Bit 0 is reserved */ | 48 | /* Bit 0 is reserved */ |
@@ -63,13 +63,13 @@ struct ieee80211_measurement_params { | |||
63 | u8 channel; | 63 | u8 channel; |
64 | __le64 start_time; | 64 | __le64 start_time; |
65 | __le16 duration; | 65 | __le16 duration; |
66 | } __attribute__ ((packed)); | 66 | } __packed; |
67 | 67 | ||
68 | struct ieee80211_info_element { | 68 | struct ieee80211_info_element { |
69 | u8 id; | 69 | u8 id; |
70 | u8 len; | 70 | u8 len; |
71 | u8 data[0]; | 71 | u8 data[0]; |
72 | } __attribute__ ((packed)); | 72 | } __packed; |
73 | 73 | ||
74 | struct ieee80211_measurement_request { | 74 | struct ieee80211_measurement_request { |
75 | struct ieee80211_info_element ie; | 75 | struct ieee80211_info_element ie; |
@@ -77,7 +77,7 @@ struct ieee80211_measurement_request { | |||
77 | u8 mode; | 77 | u8 mode; |
78 | u8 type; | 78 | u8 type; |
79 | struct ieee80211_measurement_params params[0]; | 79 | struct ieee80211_measurement_params params[0]; |
80 | } __attribute__ ((packed)); | 80 | } __packed; |
81 | 81 | ||
82 | struct ieee80211_measurement_report { | 82 | struct ieee80211_measurement_report { |
83 | struct ieee80211_info_element ie; | 83 | struct ieee80211_info_element ie; |
@@ -87,6 +87,6 @@ struct ieee80211_measurement_report { | |||
87 | union { | 87 | union { |
88 | struct ieee80211_basic_report basic[0]; | 88 | struct ieee80211_basic_report basic[0]; |
89 | } u; | 89 | } u; |
90 | } __attribute__ ((packed)); | 90 | } __packed; |
91 | 91 | ||
92 | #endif | 92 | #endif |
diff --git a/drivers/net/wireless/iwmc3200wifi/commands.h b/drivers/net/wireless/iwmc3200wifi/commands.h index 7e16bcf59978..6421689f5e8e 100644 --- a/drivers/net/wireless/iwmc3200wifi/commands.h +++ b/drivers/net/wireless/iwmc3200wifi/commands.h | |||
@@ -56,7 +56,7 @@ | |||
56 | 56 | ||
57 | struct iwm_umac_cmd_reset { | 57 | struct iwm_umac_cmd_reset { |
58 | __le32 flags; | 58 | __le32 flags; |
59 | } __attribute__ ((packed)); | 59 | } __packed; |
60 | 60 | ||
61 | #define UMAC_PARAM_TBL_ORD_FIX 0x0 | 61 | #define UMAC_PARAM_TBL_ORD_FIX 0x0 |
62 | #define UMAC_PARAM_TBL_ORD_VAR 0x1 | 62 | #define UMAC_PARAM_TBL_ORD_VAR 0x1 |
@@ -220,37 +220,37 @@ struct iwm_umac_cmd_set_param_fix { | |||
220 | __le16 tbl; | 220 | __le16 tbl; |
221 | __le16 key; | 221 | __le16 key; |
222 | __le32 value; | 222 | __le32 value; |
223 | } __attribute__ ((packed)); | 223 | } __packed; |
224 | 224 | ||
225 | struct iwm_umac_cmd_set_param_var { | 225 | struct iwm_umac_cmd_set_param_var { |
226 | __le16 tbl; | 226 | __le16 tbl; |
227 | __le16 key; | 227 | __le16 key; |
228 | __le16 len; | 228 | __le16 len; |
229 | __le16 reserved; | 229 | __le16 reserved; |
230 | } __attribute__ ((packed)); | 230 | } __packed; |
231 | 231 | ||
232 | struct iwm_umac_cmd_get_param { | 232 | struct iwm_umac_cmd_get_param { |
233 | __le16 tbl; | 233 | __le16 tbl; |
234 | __le16 key; | 234 | __le16 key; |
235 | } __attribute__ ((packed)); | 235 | } __packed; |
236 | 236 | ||
237 | struct iwm_umac_cmd_get_param_resp { | 237 | struct iwm_umac_cmd_get_param_resp { |
238 | __le16 tbl; | 238 | __le16 tbl; |
239 | __le16 key; | 239 | __le16 key; |
240 | __le16 len; | 240 | __le16 len; |
241 | __le16 reserved; | 241 | __le16 reserved; |
242 | } __attribute__ ((packed)); | 242 | } __packed; |
243 | 243 | ||
244 | struct iwm_umac_cmd_eeprom_proxy_hdr { | 244 | struct iwm_umac_cmd_eeprom_proxy_hdr { |
245 | __le32 type; | 245 | __le32 type; |
246 | __le32 offset; | 246 | __le32 offset; |
247 | __le32 len; | 247 | __le32 len; |
248 | } __attribute__ ((packed)); | 248 | } __packed; |
249 | 249 | ||
250 | struct iwm_umac_cmd_eeprom_proxy { | 250 | struct iwm_umac_cmd_eeprom_proxy { |
251 | struct iwm_umac_cmd_eeprom_proxy_hdr hdr; | 251 | struct iwm_umac_cmd_eeprom_proxy_hdr hdr; |
252 | u8 buf[0]; | 252 | u8 buf[0]; |
253 | } __attribute__ ((packed)); | 253 | } __packed; |
254 | 254 | ||
255 | #define IWM_UMAC_CMD_EEPROM_TYPE_READ 0x1 | 255 | #define IWM_UMAC_CMD_EEPROM_TYPE_READ 0x1 |
256 | #define IWM_UMAC_CMD_EEPROM_TYPE_WRITE 0x2 | 256 | #define IWM_UMAC_CMD_EEPROM_TYPE_WRITE 0x2 |
@@ -267,13 +267,13 @@ struct iwm_umac_channel_info { | |||
267 | u8 reserved; | 267 | u8 reserved; |
268 | u8 flags; | 268 | u8 flags; |
269 | __le32 channels_mask; | 269 | __le32 channels_mask; |
270 | } __attribute__ ((packed)); | 270 | } __packed; |
271 | 271 | ||
272 | struct iwm_umac_cmd_get_channel_list { | 272 | struct iwm_umac_cmd_get_channel_list { |
273 | __le16 count; | 273 | __le16 count; |
274 | __le16 reserved; | 274 | __le16 reserved; |
275 | struct iwm_umac_channel_info ch[0]; | 275 | struct iwm_umac_channel_info ch[0]; |
276 | } __attribute__ ((packed)); | 276 | } __packed; |
277 | 277 | ||
278 | 278 | ||
279 | /* UMAC WiFi interface commands */ | 279 | /* UMAC WiFi interface commands */ |
@@ -304,7 +304,7 @@ struct iwm_umac_ssid { | |||
304 | u8 ssid_len; | 304 | u8 ssid_len; |
305 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | 305 | u8 ssid[IEEE80211_MAX_SSID_LEN]; |
306 | u8 reserved[3]; | 306 | u8 reserved[3]; |
307 | } __attribute__ ((packed)); | 307 | } __packed; |
308 | 308 | ||
309 | struct iwm_umac_cmd_scan_request { | 309 | struct iwm_umac_cmd_scan_request { |
310 | struct iwm_umac_wifi_if hdr; | 310 | struct iwm_umac_wifi_if hdr; |
@@ -314,7 +314,7 @@ struct iwm_umac_cmd_scan_request { | |||
314 | u8 timeout; /* In seconds */ | 314 | u8 timeout; /* In seconds */ |
315 | u8 reserved; | 315 | u8 reserved; |
316 | struct iwm_umac_ssid ssids[UMAC_WIFI_IF_PROBE_OPTION_MAX]; | 316 | struct iwm_umac_ssid ssids[UMAC_WIFI_IF_PROBE_OPTION_MAX]; |
317 | } __attribute__ ((packed)); | 317 | } __packed; |
318 | 318 | ||
319 | #define UMAC_CIPHER_TYPE_NONE 0xFF | 319 | #define UMAC_CIPHER_TYPE_NONE 0xFF |
320 | #define UMAC_CIPHER_TYPE_USE_GROUPCAST 0x00 | 320 | #define UMAC_CIPHER_TYPE_USE_GROUPCAST 0x00 |
@@ -357,7 +357,7 @@ struct iwm_umac_security { | |||
357 | u8 ucast_cipher; | 357 | u8 ucast_cipher; |
358 | u8 mcast_cipher; | 358 | u8 mcast_cipher; |
359 | u8 flags; | 359 | u8 flags; |
360 | } __attribute__ ((packed)); | 360 | } __packed; |
361 | 361 | ||
362 | struct iwm_umac_ibss { | 362 | struct iwm_umac_ibss { |
363 | u8 beacon_interval; /* in millisecond */ | 363 | u8 beacon_interval; /* in millisecond */ |
@@ -366,7 +366,7 @@ struct iwm_umac_ibss { | |||
366 | u8 band; | 366 | u8 band; |
367 | u8 channel; | 367 | u8 channel; |
368 | u8 reserved[3]; | 368 | u8 reserved[3]; |
369 | } __attribute__ ((packed)); | 369 | } __packed; |
370 | 370 | ||
371 | #define UMAC_MODE_BSS 0 | 371 | #define UMAC_MODE_BSS 0 |
372 | #define UMAC_MODE_IBSS 1 | 372 | #define UMAC_MODE_IBSS 1 |
@@ -385,13 +385,13 @@ struct iwm_umac_profile { | |||
385 | __le16 flags; | 385 | __le16 flags; |
386 | u8 wireless_mode; | 386 | u8 wireless_mode; |
387 | u8 bss_num; | 387 | u8 bss_num; |
388 | } __attribute__ ((packed)); | 388 | } __packed; |
389 | 389 | ||
390 | struct iwm_umac_invalidate_profile { | 390 | struct iwm_umac_invalidate_profile { |
391 | struct iwm_umac_wifi_if hdr; | 391 | struct iwm_umac_wifi_if hdr; |
392 | u8 reason; | 392 | u8 reason; |
393 | u8 reserved[3]; | 393 | u8 reserved[3]; |
394 | } __attribute__ ((packed)); | 394 | } __packed; |
395 | 395 | ||
396 | /* Encryption key commands */ | 396 | /* Encryption key commands */ |
397 | struct iwm_umac_key_wep40 { | 397 | struct iwm_umac_key_wep40 { |
@@ -400,7 +400,7 @@ struct iwm_umac_key_wep40 { | |||
400 | u8 key[WLAN_KEY_LEN_WEP40]; | 400 | u8 key[WLAN_KEY_LEN_WEP40]; |
401 | u8 static_key; | 401 | u8 static_key; |
402 | u8 reserved[2]; | 402 | u8 reserved[2]; |
403 | } __attribute__ ((packed)); | 403 | } __packed; |
404 | 404 | ||
405 | struct iwm_umac_key_wep104 { | 405 | struct iwm_umac_key_wep104 { |
406 | struct iwm_umac_wifi_if hdr; | 406 | struct iwm_umac_wifi_if hdr; |
@@ -408,7 +408,7 @@ struct iwm_umac_key_wep104 { | |||
408 | u8 key[WLAN_KEY_LEN_WEP104]; | 408 | u8 key[WLAN_KEY_LEN_WEP104]; |
409 | u8 static_key; | 409 | u8 static_key; |
410 | u8 reserved[2]; | 410 | u8 reserved[2]; |
411 | } __attribute__ ((packed)); | 411 | } __packed; |
412 | 412 | ||
413 | #define IWM_TKIP_KEY_SIZE 16 | 413 | #define IWM_TKIP_KEY_SIZE 16 |
414 | #define IWM_TKIP_MIC_SIZE 8 | 414 | #define IWM_TKIP_MIC_SIZE 8 |
@@ -420,7 +420,7 @@ struct iwm_umac_key_tkip { | |||
420 | u8 tkip_key[IWM_TKIP_KEY_SIZE]; | 420 | u8 tkip_key[IWM_TKIP_KEY_SIZE]; |
421 | u8 mic_rx_key[IWM_TKIP_MIC_SIZE]; | 421 | u8 mic_rx_key[IWM_TKIP_MIC_SIZE]; |
422 | u8 mic_tx_key[IWM_TKIP_MIC_SIZE]; | 422 | u8 mic_tx_key[IWM_TKIP_MIC_SIZE]; |
423 | } __attribute__ ((packed)); | 423 | } __packed; |
424 | 424 | ||
425 | struct iwm_umac_key_ccmp { | 425 | struct iwm_umac_key_ccmp { |
426 | struct iwm_umac_wifi_if hdr; | 426 | struct iwm_umac_wifi_if hdr; |
@@ -428,27 +428,27 @@ struct iwm_umac_key_ccmp { | |||
428 | u8 iv_count[6]; | 428 | u8 iv_count[6]; |
429 | u8 reserved[2]; | 429 | u8 reserved[2]; |
430 | u8 key[WLAN_KEY_LEN_CCMP]; | 430 | u8 key[WLAN_KEY_LEN_CCMP]; |
431 | } __attribute__ ((packed)); | 431 | } __packed; |
432 | 432 | ||
433 | struct iwm_umac_key_remove { | 433 | struct iwm_umac_key_remove { |
434 | struct iwm_umac_wifi_if hdr; | 434 | struct iwm_umac_wifi_if hdr; |
435 | struct iwm_umac_key_hdr key_hdr; | 435 | struct iwm_umac_key_hdr key_hdr; |
436 | } __attribute__ ((packed)); | 436 | } __packed; |
437 | 437 | ||
438 | struct iwm_umac_tx_key_id { | 438 | struct iwm_umac_tx_key_id { |
439 | struct iwm_umac_wifi_if hdr; | 439 | struct iwm_umac_wifi_if hdr; |
440 | u8 key_idx; | 440 | u8 key_idx; |
441 | u8 reserved[3]; | 441 | u8 reserved[3]; |
442 | } __attribute__ ((packed)); | 442 | } __packed; |
443 | 443 | ||
444 | struct iwm_umac_pwr_trigger { | 444 | struct iwm_umac_pwr_trigger { |
445 | struct iwm_umac_wifi_if hdr; | 445 | struct iwm_umac_wifi_if hdr; |
446 | __le32 reseved; | 446 | __le32 reseved; |
447 | } __attribute__ ((packed)); | 447 | } __packed; |
448 | 448 | ||
449 | struct iwm_umac_cmd_stats_req { | 449 | struct iwm_umac_cmd_stats_req { |
450 | __le32 flags; | 450 | __le32 flags; |
451 | } __attribute__ ((packed)); | 451 | } __packed; |
452 | 452 | ||
453 | struct iwm_umac_cmd_stop_resume_tx { | 453 | struct iwm_umac_cmd_stop_resume_tx { |
454 | u8 flags; | 454 | u8 flags; |
@@ -456,7 +456,7 @@ struct iwm_umac_cmd_stop_resume_tx { | |||
456 | __le16 stop_resume_tid_msk; | 456 | __le16 stop_resume_tid_msk; |
457 | __le16 last_seq_num[IWM_UMAC_TID_NR]; | 457 | __le16 last_seq_num[IWM_UMAC_TID_NR]; |
458 | u16 reserved; | 458 | u16 reserved; |
459 | } __attribute__ ((packed)); | 459 | } __packed; |
460 | 460 | ||
461 | #define IWM_CMD_PMKID_ADD 1 | 461 | #define IWM_CMD_PMKID_ADD 1 |
462 | #define IWM_CMD_PMKID_DEL 2 | 462 | #define IWM_CMD_PMKID_DEL 2 |
@@ -468,7 +468,7 @@ struct iwm_umac_pmkid_update { | |||
468 | u8 bssid[ETH_ALEN]; | 468 | u8 bssid[ETH_ALEN]; |
469 | __le16 reserved; | 469 | __le16 reserved; |
470 | u8 pmkid[WLAN_PMKID_LEN]; | 470 | u8 pmkid[WLAN_PMKID_LEN]; |
471 | } __attribute__ ((packed)); | 471 | } __packed; |
472 | 472 | ||
473 | /* LMAC commands */ | 473 | /* LMAC commands */ |
474 | int iwm_read_mac(struct iwm_priv *iwm, u8 *mac); | 474 | int iwm_read_mac(struct iwm_priv *iwm, u8 *mac); |
diff --git a/drivers/net/wireless/iwmc3200wifi/iwm.h b/drivers/net/wireless/iwmc3200wifi/iwm.h index 13266c3842f8..51d7efa15ae6 100644 --- a/drivers/net/wireless/iwmc3200wifi/iwm.h +++ b/drivers/net/wireless/iwmc3200wifi/iwm.h | |||
@@ -162,7 +162,7 @@ struct iwm_umac_key_hdr { | |||
162 | u8 mac[ETH_ALEN]; | 162 | u8 mac[ETH_ALEN]; |
163 | u8 key_idx; | 163 | u8 key_idx; |
164 | u8 multicast; /* BCast encrypt & BCast decrypt of frames FROM mac */ | 164 | u8 multicast; /* BCast encrypt & BCast decrypt of frames FROM mac */ |
165 | } __attribute__ ((packed)); | 165 | } __packed; |
166 | 166 | ||
167 | struct iwm_key { | 167 | struct iwm_key { |
168 | struct iwm_umac_key_hdr hdr; | 168 | struct iwm_umac_key_hdr hdr; |
diff --git a/drivers/net/wireless/iwmc3200wifi/lmac.h b/drivers/net/wireless/iwmc3200wifi/lmac.h index a855a99e49b8..5ddcdf8c70c0 100644 --- a/drivers/net/wireless/iwmc3200wifi/lmac.h +++ b/drivers/net/wireless/iwmc3200wifi/lmac.h | |||
@@ -43,7 +43,7 @@ struct iwm_lmac_hdr { | |||
43 | u8 id; | 43 | u8 id; |
44 | u8 flags; | 44 | u8 flags; |
45 | __le16 seq_num; | 45 | __le16 seq_num; |
46 | } __attribute__ ((packed)); | 46 | } __packed; |
47 | 47 | ||
48 | /* LMAC commands */ | 48 | /* LMAC commands */ |
49 | #define CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK 0x1 | 49 | #define CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK 0x1 |
@@ -54,23 +54,23 @@ struct iwm_lmac_cal_cfg_elt { | |||
54 | __le32 send_res; /* 1 for sending back results */ | 54 | __le32 send_res; /* 1 for sending back results */ |
55 | __le32 apply_res; /* 1 for applying calibration results to HW */ | 55 | __le32 apply_res; /* 1 for applying calibration results to HW */ |
56 | __le32 reserved; | 56 | __le32 reserved; |
57 | } __attribute__ ((packed)); | 57 | } __packed; |
58 | 58 | ||
59 | struct iwm_lmac_cal_cfg_status { | 59 | struct iwm_lmac_cal_cfg_status { |
60 | struct iwm_lmac_cal_cfg_elt init; | 60 | struct iwm_lmac_cal_cfg_elt init; |
61 | struct iwm_lmac_cal_cfg_elt periodic; | 61 | struct iwm_lmac_cal_cfg_elt periodic; |
62 | __le32 flags; /* CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK */ | 62 | __le32 flags; /* CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_AFTER_MSK */ |
63 | } __attribute__ ((packed)); | 63 | } __packed; |
64 | 64 | ||
65 | struct iwm_lmac_cal_cfg_cmd { | 65 | struct iwm_lmac_cal_cfg_cmd { |
66 | struct iwm_lmac_cal_cfg_status ucode_cfg; | 66 | struct iwm_lmac_cal_cfg_status ucode_cfg; |
67 | struct iwm_lmac_cal_cfg_status driver_cfg; | 67 | struct iwm_lmac_cal_cfg_status driver_cfg; |
68 | __le32 reserved; | 68 | __le32 reserved; |
69 | } __attribute__ ((packed)); | 69 | } __packed; |
70 | 70 | ||
71 | struct iwm_lmac_cal_cfg_resp { | 71 | struct iwm_lmac_cal_cfg_resp { |
72 | __le32 status; | 72 | __le32 status; |
73 | } __attribute__ ((packed)); | 73 | } __packed; |
74 | 74 | ||
75 | #define IWM_CARD_STATE_SW_HW_ENABLED 0x00 | 75 | #define IWM_CARD_STATE_SW_HW_ENABLED 0x00 |
76 | #define IWM_CARD_STATE_HW_DISABLED 0x01 | 76 | #define IWM_CARD_STATE_HW_DISABLED 0x01 |
@@ -80,7 +80,7 @@ struct iwm_lmac_cal_cfg_resp { | |||
80 | 80 | ||
81 | struct iwm_lmac_card_state { | 81 | struct iwm_lmac_card_state { |
82 | __le32 flags; | 82 | __le32 flags; |
83 | } __attribute__ ((packed)); | 83 | } __packed; |
84 | 84 | ||
85 | /** | 85 | /** |
86 | * COEX_PRIORITY_TABLE_CMD | 86 | * COEX_PRIORITY_TABLE_CMD |
@@ -131,7 +131,7 @@ struct coex_event { | |||
131 | u8 win_med_prio; | 131 | u8 win_med_prio; |
132 | u8 reserved; | 132 | u8 reserved; |
133 | u8 flags; | 133 | u8 flags; |
134 | } __attribute__ ((packed)); | 134 | } __packed; |
135 | 135 | ||
136 | #define COEX_FLAGS_STA_TABLE_VALID_MSK 0x1 | 136 | #define COEX_FLAGS_STA_TABLE_VALID_MSK 0x1 |
137 | #define COEX_FLAGS_UNASSOC_WAKEUP_UMASK_MSK 0x4 | 137 | #define COEX_FLAGS_UNASSOC_WAKEUP_UMASK_MSK 0x4 |
@@ -142,7 +142,7 @@ struct iwm_coex_prio_table_cmd { | |||
142 | u8 flags; | 142 | u8 flags; |
143 | u8 reserved[3]; | 143 | u8 reserved[3]; |
144 | struct coex_event sta_prio[COEX_EVENTS_NUM]; | 144 | struct coex_event sta_prio[COEX_EVENTS_NUM]; |
145 | } __attribute__ ((packed)); | 145 | } __packed; |
146 | 146 | ||
147 | /* Coexistence definitions | 147 | /* Coexistence definitions |
148 | * | 148 | * |
@@ -192,7 +192,7 @@ struct iwm_ct_kill_cfg_cmd { | |||
192 | u32 exit_threshold; | 192 | u32 exit_threshold; |
193 | u32 reserved; | 193 | u32 reserved; |
194 | u32 entry_threshold; | 194 | u32 entry_threshold; |
195 | } __attribute__ ((packed)); | 195 | } __packed; |
196 | 196 | ||
197 | 197 | ||
198 | /* LMAC OP CODES */ | 198 | /* LMAC OP CODES */ |
@@ -428,7 +428,7 @@ struct iwm_lmac_calib_hdr { | |||
428 | u8 first_grp; | 428 | u8 first_grp; |
429 | u8 grp_num; | 429 | u8 grp_num; |
430 | u8 all_data_valid; | 430 | u8 all_data_valid; |
431 | } __attribute__ ((packed)); | 431 | } __packed; |
432 | 432 | ||
433 | #define IWM_LMAC_CALIB_FREQ_GROUPS_NR 7 | 433 | #define IWM_LMAC_CALIB_FREQ_GROUPS_NR 7 |
434 | #define IWM_CALIB_FREQ_GROUPS_NR 5 | 434 | #define IWM_CALIB_FREQ_GROUPS_NR 5 |
@@ -437,20 +437,20 @@ struct iwm_lmac_calib_hdr { | |||
437 | struct iwm_calib_rxiq_entry { | 437 | struct iwm_calib_rxiq_entry { |
438 | u16 ptam_postdist_ars; | 438 | u16 ptam_postdist_ars; |
439 | u16 ptam_postdist_arc; | 439 | u16 ptam_postdist_arc; |
440 | } __attribute__ ((packed)); | 440 | } __packed; |
441 | 441 | ||
442 | struct iwm_calib_rxiq_group { | 442 | struct iwm_calib_rxiq_group { |
443 | struct iwm_calib_rxiq_entry mode[IWM_CALIB_DC_MODES_NR]; | 443 | struct iwm_calib_rxiq_entry mode[IWM_CALIB_DC_MODES_NR]; |
444 | } __attribute__ ((packed)); | 444 | } __packed; |
445 | 445 | ||
446 | struct iwm_lmac_calib_rxiq { | 446 | struct iwm_lmac_calib_rxiq { |
447 | struct iwm_calib_rxiq_group group[IWM_LMAC_CALIB_FREQ_GROUPS_NR]; | 447 | struct iwm_calib_rxiq_group group[IWM_LMAC_CALIB_FREQ_GROUPS_NR]; |
448 | } __attribute__ ((packed)); | 448 | } __packed; |
449 | 449 | ||
450 | struct iwm_calib_rxiq { | 450 | struct iwm_calib_rxiq { |
451 | struct iwm_lmac_calib_hdr hdr; | 451 | struct iwm_lmac_calib_hdr hdr; |
452 | struct iwm_calib_rxiq_group group[IWM_CALIB_FREQ_GROUPS_NR]; | 452 | struct iwm_calib_rxiq_group group[IWM_CALIB_FREQ_GROUPS_NR]; |
453 | } __attribute__ ((packed)); | 453 | } __packed; |
454 | 454 | ||
455 | #define LMAC_STA_ID_SEED 0x0f | 455 | #define LMAC_STA_ID_SEED 0x0f |
456 | #define LMAC_STA_ID_POS 0 | 456 | #define LMAC_STA_ID_POS 0 |
@@ -463,7 +463,7 @@ struct iwm_lmac_power_report { | |||
463 | u8 pa_integ_res_A[3]; | 463 | u8 pa_integ_res_A[3]; |
464 | u8 pa_integ_res_B[3]; | 464 | u8 pa_integ_res_B[3]; |
465 | u8 pa_integ_res_C[3]; | 465 | u8 pa_integ_res_C[3]; |
466 | } __attribute__ ((packed)); | 466 | } __packed; |
467 | 467 | ||
468 | struct iwm_lmac_tx_resp { | 468 | struct iwm_lmac_tx_resp { |
469 | u8 frame_cnt; /* 1-no aggregation, greater then 1 - aggregation */ | 469 | u8 frame_cnt; /* 1-no aggregation, greater then 1 - aggregation */ |
@@ -479,6 +479,6 @@ struct iwm_lmac_tx_resp { | |||
479 | u8 ra_tid; | 479 | u8 ra_tid; |
480 | __le16 frame_ctl; | 480 | __le16 frame_ctl; |
481 | __le32 status; | 481 | __le32 status; |
482 | } __attribute__ ((packed)); | 482 | } __packed; |
483 | 483 | ||
484 | #endif | 484 | #endif |
diff --git a/drivers/net/wireless/iwmc3200wifi/umac.h b/drivers/net/wireless/iwmc3200wifi/umac.h index 0cbba3ecc813..4a137d334a42 100644 --- a/drivers/net/wireless/iwmc3200wifi/umac.h +++ b/drivers/net/wireless/iwmc3200wifi/umac.h | |||
@@ -42,19 +42,19 @@ | |||
42 | struct iwm_udma_in_hdr { | 42 | struct iwm_udma_in_hdr { |
43 | __le32 cmd; | 43 | __le32 cmd; |
44 | __le32 size; | 44 | __le32 size; |
45 | } __attribute__ ((packed)); | 45 | } __packed; |
46 | 46 | ||
47 | struct iwm_udma_out_nonwifi_hdr { | 47 | struct iwm_udma_out_nonwifi_hdr { |
48 | __le32 cmd; | 48 | __le32 cmd; |
49 | __le32 addr; | 49 | __le32 addr; |
50 | __le32 op1_sz; | 50 | __le32 op1_sz; |
51 | __le32 op2; | 51 | __le32 op2; |
52 | } __attribute__ ((packed)); | 52 | } __packed; |
53 | 53 | ||
54 | struct iwm_udma_out_wifi_hdr { | 54 | struct iwm_udma_out_wifi_hdr { |
55 | __le32 cmd; | 55 | __le32 cmd; |
56 | __le32 meta_data; | 56 | __le32 meta_data; |
57 | } __attribute__ ((packed)); | 57 | } __packed; |
58 | 58 | ||
59 | /* Sequence numbering */ | 59 | /* Sequence numbering */ |
60 | #define UMAC_WIFI_SEQ_NUM_BASE 1 | 60 | #define UMAC_WIFI_SEQ_NUM_BASE 1 |
@@ -408,12 +408,12 @@ struct iwm_rx_ticket { | |||
408 | __le16 flags; | 408 | __le16 flags; |
409 | u8 payload_offset; /* includes: MAC header, pad, IV */ | 409 | u8 payload_offset; /* includes: MAC header, pad, IV */ |
410 | u8 tail_len; /* includes: MIC, ICV, CRC (w/o STATUS) */ | 410 | u8 tail_len; /* includes: MIC, ICV, CRC (w/o STATUS) */ |
411 | } __attribute__ ((packed)); | 411 | } __packed; |
412 | 412 | ||
413 | struct iwm_rx_mpdu_hdr { | 413 | struct iwm_rx_mpdu_hdr { |
414 | __le16 len; | 414 | __le16 len; |
415 | __le16 reserved; | 415 | __le16 reserved; |
416 | } __attribute__ ((packed)); | 416 | } __packed; |
417 | 417 | ||
418 | /* UMAC SW WIFI API */ | 418 | /* UMAC SW WIFI API */ |
419 | 419 | ||
@@ -421,31 +421,31 @@ struct iwm_dev_cmd_hdr { | |||
421 | u8 cmd; | 421 | u8 cmd; |
422 | u8 flags; | 422 | u8 flags; |
423 | __le16 seq_num; | 423 | __le16 seq_num; |
424 | } __attribute__ ((packed)); | 424 | } __packed; |
425 | 425 | ||
426 | struct iwm_umac_fw_cmd_hdr { | 426 | struct iwm_umac_fw_cmd_hdr { |
427 | __le32 meta_data; | 427 | __le32 meta_data; |
428 | struct iwm_dev_cmd_hdr cmd; | 428 | struct iwm_dev_cmd_hdr cmd; |
429 | } __attribute__ ((packed)); | 429 | } __packed; |
430 | 430 | ||
431 | struct iwm_umac_wifi_out_hdr { | 431 | struct iwm_umac_wifi_out_hdr { |
432 | struct iwm_udma_out_wifi_hdr hw_hdr; | 432 | struct iwm_udma_out_wifi_hdr hw_hdr; |
433 | struct iwm_umac_fw_cmd_hdr sw_hdr; | 433 | struct iwm_umac_fw_cmd_hdr sw_hdr; |
434 | } __attribute__ ((packed)); | 434 | } __packed; |
435 | 435 | ||
436 | struct iwm_umac_nonwifi_out_hdr { | 436 | struct iwm_umac_nonwifi_out_hdr { |
437 | struct iwm_udma_out_nonwifi_hdr hw_hdr; | 437 | struct iwm_udma_out_nonwifi_hdr hw_hdr; |
438 | } __attribute__ ((packed)); | 438 | } __packed; |
439 | 439 | ||
440 | struct iwm_umac_wifi_in_hdr { | 440 | struct iwm_umac_wifi_in_hdr { |
441 | struct iwm_udma_in_hdr hw_hdr; | 441 | struct iwm_udma_in_hdr hw_hdr; |
442 | struct iwm_umac_fw_cmd_hdr sw_hdr; | 442 | struct iwm_umac_fw_cmd_hdr sw_hdr; |
443 | } __attribute__ ((packed)); | 443 | } __packed; |
444 | 444 | ||
445 | struct iwm_umac_nonwifi_in_hdr { | 445 | struct iwm_umac_nonwifi_in_hdr { |
446 | struct iwm_udma_in_hdr hw_hdr; | 446 | struct iwm_udma_in_hdr hw_hdr; |
447 | __le32 time_stamp; | 447 | __le32 time_stamp; |
448 | } __attribute__ ((packed)); | 448 | } __packed; |
449 | 449 | ||
450 | #define IWM_UMAC_PAGE_SIZE 0x200 | 450 | #define IWM_UMAC_PAGE_SIZE 0x200 |
451 | 451 | ||
@@ -521,7 +521,7 @@ struct iwm_umac_notif_wifi_if { | |||
521 | u8 status; | 521 | u8 status; |
522 | u8 flags; | 522 | u8 flags; |
523 | __le16 buf_size; | 523 | __le16 buf_size; |
524 | } __attribute__ ((packed)); | 524 | } __packed; |
525 | 525 | ||
526 | #define UMAC_ROAM_REASON_FIRST_SELECTION 0x1 | 526 | #define UMAC_ROAM_REASON_FIRST_SELECTION 0x1 |
527 | #define UMAC_ROAM_REASON_AP_DEAUTH 0x2 | 527 | #define UMAC_ROAM_REASON_AP_DEAUTH 0x2 |
@@ -535,7 +535,7 @@ struct iwm_umac_notif_assoc_start { | |||
535 | __le32 roam_reason; | 535 | __le32 roam_reason; |
536 | u8 bssid[ETH_ALEN]; | 536 | u8 bssid[ETH_ALEN]; |
537 | u8 reserved[2]; | 537 | u8 reserved[2]; |
538 | } __attribute__ ((packed)); | 538 | } __packed; |
539 | 539 | ||
540 | #define UMAC_ASSOC_COMPLETE_SUCCESS 0x0 | 540 | #define UMAC_ASSOC_COMPLETE_SUCCESS 0x0 |
541 | #define UMAC_ASSOC_COMPLETE_FAILURE 0x1 | 541 | #define UMAC_ASSOC_COMPLETE_FAILURE 0x1 |
@@ -546,7 +546,7 @@ struct iwm_umac_notif_assoc_complete { | |||
546 | u8 bssid[ETH_ALEN]; | 546 | u8 bssid[ETH_ALEN]; |
547 | u8 band; | 547 | u8 band; |
548 | u8 channel; | 548 | u8 channel; |
549 | } __attribute__ ((packed)); | 549 | } __packed; |
550 | 550 | ||
551 | #define UMAC_PROFILE_INVALID_ASSOC_TIMEOUT 0x0 | 551 | #define UMAC_PROFILE_INVALID_ASSOC_TIMEOUT 0x0 |
552 | #define UMAC_PROFILE_INVALID_ROAM_TIMEOUT 0x1 | 552 | #define UMAC_PROFILE_INVALID_ROAM_TIMEOUT 0x1 |
@@ -556,7 +556,7 @@ struct iwm_umac_notif_assoc_complete { | |||
556 | struct iwm_umac_notif_profile_invalidate { | 556 | struct iwm_umac_notif_profile_invalidate { |
557 | struct iwm_umac_notif_wifi_if mlme_hdr; | 557 | struct iwm_umac_notif_wifi_if mlme_hdr; |
558 | __le32 reason; | 558 | __le32 reason; |
559 | } __attribute__ ((packed)); | 559 | } __packed; |
560 | 560 | ||
561 | #define UMAC_SCAN_RESULT_SUCCESS 0x0 | 561 | #define UMAC_SCAN_RESULT_SUCCESS 0x0 |
562 | #define UMAC_SCAN_RESULT_ABORTED 0x1 | 562 | #define UMAC_SCAN_RESULT_ABORTED 0x1 |
@@ -568,7 +568,7 @@ struct iwm_umac_notif_scan_complete { | |||
568 | __le32 type; | 568 | __le32 type; |
569 | __le32 result; | 569 | __le32 result; |
570 | u8 seq_num; | 570 | u8 seq_num; |
571 | } __attribute__ ((packed)); | 571 | } __packed; |
572 | 572 | ||
573 | #define UMAC_OPCODE_ADD_MODIFY 0x0 | 573 | #define UMAC_OPCODE_ADD_MODIFY 0x0 |
574 | #define UMAC_OPCODE_REMOVE 0x1 | 574 | #define UMAC_OPCODE_REMOVE 0x1 |
@@ -582,7 +582,7 @@ struct iwm_umac_notif_sta_info { | |||
582 | u8 mac_addr[ETH_ALEN]; | 582 | u8 mac_addr[ETH_ALEN]; |
583 | u8 sta_id; /* bits 0-3: station ID, bits 4-7: station color */ | 583 | u8 sta_id; /* bits 0-3: station ID, bits 4-7: station color */ |
584 | u8 flags; | 584 | u8 flags; |
585 | } __attribute__ ((packed)); | 585 | } __packed; |
586 | 586 | ||
587 | #define UMAC_BAND_2GHZ 0 | 587 | #define UMAC_BAND_2GHZ 0 |
588 | #define UMAC_BAND_5GHZ 1 | 588 | #define UMAC_BAND_5GHZ 1 |
@@ -601,7 +601,7 @@ struct iwm_umac_notif_bss_info { | |||
601 | s8 rssi; | 601 | s8 rssi; |
602 | u8 reserved; | 602 | u8 reserved; |
603 | u8 frame_buf[1]; | 603 | u8 frame_buf[1]; |
604 | } __attribute__ ((packed)); | 604 | } __packed; |
605 | 605 | ||
606 | #define IWM_BSS_REMOVE_INDEX_MSK 0x0fff | 606 | #define IWM_BSS_REMOVE_INDEX_MSK 0x0fff |
607 | #define IWM_BSS_REMOVE_FLAGS_MSK 0xfc00 | 607 | #define IWM_BSS_REMOVE_FLAGS_MSK 0xfc00 |
@@ -614,13 +614,13 @@ struct iwm_umac_notif_bss_removed { | |||
614 | struct iwm_umac_notif_wifi_if mlme_hdr; | 614 | struct iwm_umac_notif_wifi_if mlme_hdr; |
615 | __le32 count; | 615 | __le32 count; |
616 | __le16 entries[0]; | 616 | __le16 entries[0]; |
617 | } __attribute__ ((packed)); | 617 | } __packed; |
618 | 618 | ||
619 | struct iwm_umac_notif_mgt_frame { | 619 | struct iwm_umac_notif_mgt_frame { |
620 | struct iwm_umac_notif_wifi_if mlme_hdr; | 620 | struct iwm_umac_notif_wifi_if mlme_hdr; |
621 | __le16 len; | 621 | __le16 len; |
622 | u8 frame[1]; | 622 | u8 frame[1]; |
623 | } __attribute__ ((packed)); | 623 | } __packed; |
624 | 624 | ||
625 | struct iwm_umac_notif_alive { | 625 | struct iwm_umac_notif_alive { |
626 | struct iwm_umac_wifi_in_hdr hdr; | 626 | struct iwm_umac_wifi_in_hdr hdr; |
@@ -630,13 +630,13 @@ struct iwm_umac_notif_alive { | |||
630 | __le16 reserved2; | 630 | __le16 reserved2; |
631 | __le16 page_grp_count; | 631 | __le16 page_grp_count; |
632 | __le32 page_grp_state[IWM_MACS_OUT_GROUPS]; | 632 | __le32 page_grp_state[IWM_MACS_OUT_GROUPS]; |
633 | } __attribute__ ((packed)); | 633 | } __packed; |
634 | 634 | ||
635 | struct iwm_umac_notif_init_complete { | 635 | struct iwm_umac_notif_init_complete { |
636 | struct iwm_umac_wifi_in_hdr hdr; | 636 | struct iwm_umac_wifi_in_hdr hdr; |
637 | __le16 status; | 637 | __le16 status; |
638 | __le16 reserved; | 638 | __le16 reserved; |
639 | } __attribute__ ((packed)); | 639 | } __packed; |
640 | 640 | ||
641 | /* error categories */ | 641 | /* error categories */ |
642 | enum { | 642 | enum { |
@@ -667,12 +667,12 @@ struct iwm_fw_error_hdr { | |||
667 | __le32 dbm_buf_end; | 667 | __le32 dbm_buf_end; |
668 | __le32 dbm_buf_write_ptr; | 668 | __le32 dbm_buf_write_ptr; |
669 | __le32 dbm_buf_cycle_cnt; | 669 | __le32 dbm_buf_cycle_cnt; |
670 | } __attribute__ ((packed)); | 670 | } __packed; |
671 | 671 | ||
672 | struct iwm_umac_notif_error { | 672 | struct iwm_umac_notif_error { |
673 | struct iwm_umac_wifi_in_hdr hdr; | 673 | struct iwm_umac_wifi_in_hdr hdr; |
674 | struct iwm_fw_error_hdr err; | 674 | struct iwm_fw_error_hdr err; |
675 | } __attribute__ ((packed)); | 675 | } __packed; |
676 | 676 | ||
677 | #define UMAC_DEALLOC_NTFY_CHANGES_CNT_POS 0 | 677 | #define UMAC_DEALLOC_NTFY_CHANGES_CNT_POS 0 |
678 | #define UMAC_DEALLOC_NTFY_CHANGES_CNT_SEED 0xff | 678 | #define UMAC_DEALLOC_NTFY_CHANGES_CNT_SEED 0xff |
@@ -687,20 +687,20 @@ struct iwm_umac_notif_page_dealloc { | |||
687 | struct iwm_umac_wifi_in_hdr hdr; | 687 | struct iwm_umac_wifi_in_hdr hdr; |
688 | __le32 changes; | 688 | __le32 changes; |
689 | __le32 grp_info[IWM_MACS_OUT_GROUPS]; | 689 | __le32 grp_info[IWM_MACS_OUT_GROUPS]; |
690 | } __attribute__ ((packed)); | 690 | } __packed; |
691 | 691 | ||
692 | struct iwm_umac_notif_wifi_status { | 692 | struct iwm_umac_notif_wifi_status { |
693 | struct iwm_umac_wifi_in_hdr hdr; | 693 | struct iwm_umac_wifi_in_hdr hdr; |
694 | __le16 status; | 694 | __le16 status; |
695 | __le16 reserved; | 695 | __le16 reserved; |
696 | } __attribute__ ((packed)); | 696 | } __packed; |
697 | 697 | ||
698 | struct iwm_umac_notif_rx_ticket { | 698 | struct iwm_umac_notif_rx_ticket { |
699 | struct iwm_umac_wifi_in_hdr hdr; | 699 | struct iwm_umac_wifi_in_hdr hdr; |
700 | u8 num_tickets; | 700 | u8 num_tickets; |
701 | u8 reserved[3]; | 701 | u8 reserved[3]; |
702 | struct iwm_rx_ticket tickets[1]; | 702 | struct iwm_rx_ticket tickets[1]; |
703 | } __attribute__ ((packed)); | 703 | } __packed; |
704 | 704 | ||
705 | /* Tx/Rx rates window (number of max of last update window per second) */ | 705 | /* Tx/Rx rates window (number of max of last update window per second) */ |
706 | #define UMAC_NTF_RATE_SAMPLE_NR 4 | 706 | #define UMAC_NTF_RATE_SAMPLE_NR 4 |
@@ -758,7 +758,7 @@ struct iwm_umac_notif_stats { | |||
758 | __le32 roam_unassoc; | 758 | __le32 roam_unassoc; |
759 | __le32 roam_deauth; | 759 | __le32 roam_deauth; |
760 | __le32 roam_ap_loadblance; | 760 | __le32 roam_ap_loadblance; |
761 | } __attribute__ ((packed)); | 761 | } __packed; |
762 | 762 | ||
763 | #define UMAC_STOP_TX_FLAG 0x1 | 763 | #define UMAC_STOP_TX_FLAG 0x1 |
764 | #define UMAC_RESUME_TX_FLAG 0x2 | 764 | #define UMAC_RESUME_TX_FLAG 0x2 |
@@ -770,7 +770,7 @@ struct iwm_umac_notif_stop_resume_tx { | |||
770 | u8 flags; /* UMAC_*_TX_FLAG_* */ | 770 | u8 flags; /* UMAC_*_TX_FLAG_* */ |
771 | u8 sta_id; | 771 | u8 sta_id; |
772 | __le16 stop_resume_tid_msk; /* tid bitmask */ | 772 | __le16 stop_resume_tid_msk; /* tid bitmask */ |
773 | } __attribute__ ((packed)); | 773 | } __packed; |
774 | 774 | ||
775 | #define UMAC_MAX_NUM_PMKIDS 4 | 775 | #define UMAC_MAX_NUM_PMKIDS 4 |
776 | 776 | ||
@@ -779,7 +779,7 @@ struct iwm_umac_wifi_if { | |||
779 | u8 oid; | 779 | u8 oid; |
780 | u8 flags; | 780 | u8 flags; |
781 | __le16 buf_size; | 781 | __le16 buf_size; |
782 | } __attribute__ ((packed)); | 782 | } __packed; |
783 | 783 | ||
784 | #define IWM_SEQ_NUM_HOST_MSK 0x0000 | 784 | #define IWM_SEQ_NUM_HOST_MSK 0x0000 |
785 | #define IWM_SEQ_NUM_UMAC_MSK 0x4000 | 785 | #define IWM_SEQ_NUM_UMAC_MSK 0x4000 |
diff --git a/drivers/net/wireless/libertas/host.h b/drivers/net/wireless/libertas/host.h index 3809c0b49464..3bd5d3b6037a 100644 --- a/drivers/net/wireless/libertas/host.h +++ b/drivers/net/wireless/libertas/host.h | |||
@@ -326,7 +326,7 @@ struct txpd { | |||
326 | u8 pktdelay_2ms; | 326 | u8 pktdelay_2ms; |
327 | /* reserved */ | 327 | /* reserved */ |
328 | u8 reserved1; | 328 | u8 reserved1; |
329 | } __attribute__ ((packed)); | 329 | } __packed; |
330 | 330 | ||
331 | /* RxPD Descriptor */ | 331 | /* RxPD Descriptor */ |
332 | struct rxpd { | 332 | struct rxpd { |
@@ -339,8 +339,8 @@ struct rxpd { | |||
339 | u8 bss_type; | 339 | u8 bss_type; |
340 | /* BSS number */ | 340 | /* BSS number */ |
341 | u8 bss_num; | 341 | u8 bss_num; |
342 | } __attribute__ ((packed)) bss; | 342 | } __packed bss; |
343 | } __attribute__ ((packed)) u; | 343 | } __packed u; |
344 | 344 | ||
345 | /* SNR */ | 345 | /* SNR */ |
346 | u8 snr; | 346 | u8 snr; |
@@ -366,14 +366,14 @@ struct rxpd { | |||
366 | /* Pkt Priority */ | 366 | /* Pkt Priority */ |
367 | u8 priority; | 367 | u8 priority; |
368 | u8 reserved[3]; | 368 | u8 reserved[3]; |
369 | } __attribute__ ((packed)); | 369 | } __packed; |
370 | 370 | ||
371 | struct cmd_header { | 371 | struct cmd_header { |
372 | __le16 command; | 372 | __le16 command; |
373 | __le16 size; | 373 | __le16 size; |
374 | __le16 seqnum; | 374 | __le16 seqnum; |
375 | __le16 result; | 375 | __le16 result; |
376 | } __attribute__ ((packed)); | 376 | } __packed; |
377 | 377 | ||
378 | /* Generic structure to hold all key types. */ | 378 | /* Generic structure to hold all key types. */ |
379 | struct enc_key { | 379 | struct enc_key { |
@@ -387,7 +387,7 @@ struct enc_key { | |||
387 | struct lbs_offset_value { | 387 | struct lbs_offset_value { |
388 | u32 offset; | 388 | u32 offset; |
389 | u32 value; | 389 | u32 value; |
390 | } __attribute__ ((packed)); | 390 | } __packed; |
391 | 391 | ||
392 | /* | 392 | /* |
393 | * Define data structure for CMD_GET_HW_SPEC | 393 | * Define data structure for CMD_GET_HW_SPEC |
@@ -426,7 +426,7 @@ struct cmd_ds_get_hw_spec { | |||
426 | 426 | ||
427 | /*FW/HW capability */ | 427 | /*FW/HW capability */ |
428 | __le32 fwcapinfo; | 428 | __le32 fwcapinfo; |
429 | } __attribute__ ((packed)); | 429 | } __packed; |
430 | 430 | ||
431 | struct cmd_ds_802_11_subscribe_event { | 431 | struct cmd_ds_802_11_subscribe_event { |
432 | struct cmd_header hdr; | 432 | struct cmd_header hdr; |
@@ -440,7 +440,7 @@ struct cmd_ds_802_11_subscribe_event { | |||
440 | * bump this up a bit. | 440 | * bump this up a bit. |
441 | */ | 441 | */ |
442 | uint8_t tlv[128]; | 442 | uint8_t tlv[128]; |
443 | } __attribute__ ((packed)); | 443 | } __packed; |
444 | 444 | ||
445 | /* | 445 | /* |
446 | * This scan handle Country Information IE(802.11d compliant) | 446 | * This scan handle Country Information IE(802.11d compliant) |
@@ -452,7 +452,7 @@ struct cmd_ds_802_11_scan { | |||
452 | uint8_t bsstype; | 452 | uint8_t bsstype; |
453 | uint8_t bssid[ETH_ALEN]; | 453 | uint8_t bssid[ETH_ALEN]; |
454 | uint8_t tlvbuffer[0]; | 454 | uint8_t tlvbuffer[0]; |
455 | } __attribute__ ((packed)); | 455 | } __packed; |
456 | 456 | ||
457 | struct cmd_ds_802_11_scan_rsp { | 457 | struct cmd_ds_802_11_scan_rsp { |
458 | struct cmd_header hdr; | 458 | struct cmd_header hdr; |
@@ -460,7 +460,7 @@ struct cmd_ds_802_11_scan_rsp { | |||
460 | __le16 bssdescriptsize; | 460 | __le16 bssdescriptsize; |
461 | uint8_t nr_sets; | 461 | uint8_t nr_sets; |
462 | uint8_t bssdesc_and_tlvbuffer[0]; | 462 | uint8_t bssdesc_and_tlvbuffer[0]; |
463 | } __attribute__ ((packed)); | 463 | } __packed; |
464 | 464 | ||
465 | struct cmd_ds_802_11_get_log { | 465 | struct cmd_ds_802_11_get_log { |
466 | struct cmd_header hdr; | 466 | struct cmd_header hdr; |
@@ -478,20 +478,20 @@ struct cmd_ds_802_11_get_log { | |||
478 | __le32 fcserror; | 478 | __le32 fcserror; |
479 | __le32 txframe; | 479 | __le32 txframe; |
480 | __le32 wepundecryptable; | 480 | __le32 wepundecryptable; |
481 | } __attribute__ ((packed)); | 481 | } __packed; |
482 | 482 | ||
483 | struct cmd_ds_mac_control { | 483 | struct cmd_ds_mac_control { |
484 | struct cmd_header hdr; | 484 | struct cmd_header hdr; |
485 | __le16 action; | 485 | __le16 action; |
486 | u16 reserved; | 486 | u16 reserved; |
487 | } __attribute__ ((packed)); | 487 | } __packed; |
488 | 488 | ||
489 | struct cmd_ds_mac_multicast_adr { | 489 | struct cmd_ds_mac_multicast_adr { |
490 | struct cmd_header hdr; | 490 | struct cmd_header hdr; |
491 | __le16 action; | 491 | __le16 action; |
492 | __le16 nr_of_adrs; | 492 | __le16 nr_of_adrs; |
493 | u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE]; | 493 | u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE]; |
494 | } __attribute__ ((packed)); | 494 | } __packed; |
495 | 495 | ||
496 | struct cmd_ds_802_11_authenticate { | 496 | struct cmd_ds_802_11_authenticate { |
497 | struct cmd_header hdr; | 497 | struct cmd_header hdr; |
@@ -499,14 +499,14 @@ struct cmd_ds_802_11_authenticate { | |||
499 | u8 bssid[ETH_ALEN]; | 499 | u8 bssid[ETH_ALEN]; |
500 | u8 authtype; | 500 | u8 authtype; |
501 | u8 reserved[10]; | 501 | u8 reserved[10]; |
502 | } __attribute__ ((packed)); | 502 | } __packed; |
503 | 503 | ||
504 | struct cmd_ds_802_11_deauthenticate { | 504 | struct cmd_ds_802_11_deauthenticate { |
505 | struct cmd_header hdr; | 505 | struct cmd_header hdr; |
506 | 506 | ||
507 | u8 macaddr[ETH_ALEN]; | 507 | u8 macaddr[ETH_ALEN]; |
508 | __le16 reasoncode; | 508 | __le16 reasoncode; |
509 | } __attribute__ ((packed)); | 509 | } __packed; |
510 | 510 | ||
511 | struct cmd_ds_802_11_associate { | 511 | struct cmd_ds_802_11_associate { |
512 | struct cmd_header hdr; | 512 | struct cmd_header hdr; |
@@ -517,7 +517,7 @@ struct cmd_ds_802_11_associate { | |||
517 | __le16 bcnperiod; | 517 | __le16 bcnperiod; |
518 | u8 dtimperiod; | 518 | u8 dtimperiod; |
519 | u8 iebuf[512]; /* Enough for required and most optional IEs */ | 519 | u8 iebuf[512]; /* Enough for required and most optional IEs */ |
520 | } __attribute__ ((packed)); | 520 | } __packed; |
521 | 521 | ||
522 | struct cmd_ds_802_11_associate_response { | 522 | struct cmd_ds_802_11_associate_response { |
523 | struct cmd_header hdr; | 523 | struct cmd_header hdr; |
@@ -526,7 +526,7 @@ struct cmd_ds_802_11_associate_response { | |||
526 | __le16 statuscode; | 526 | __le16 statuscode; |
527 | __le16 aid; | 527 | __le16 aid; |
528 | u8 iebuf[512]; | 528 | u8 iebuf[512]; |
529 | } __attribute__ ((packed)); | 529 | } __packed; |
530 | 530 | ||
531 | struct cmd_ds_802_11_set_wep { | 531 | struct cmd_ds_802_11_set_wep { |
532 | struct cmd_header hdr; | 532 | struct cmd_header hdr; |
@@ -540,7 +540,7 @@ struct cmd_ds_802_11_set_wep { | |||
540 | /* 40, 128bit or TXWEP */ | 540 | /* 40, 128bit or TXWEP */ |
541 | uint8_t keytype[4]; | 541 | uint8_t keytype[4]; |
542 | uint8_t keymaterial[4][16]; | 542 | uint8_t keymaterial[4][16]; |
543 | } __attribute__ ((packed)); | 543 | } __packed; |
544 | 544 | ||
545 | struct cmd_ds_802_11_snmp_mib { | 545 | struct cmd_ds_802_11_snmp_mib { |
546 | struct cmd_header hdr; | 546 | struct cmd_header hdr; |
@@ -549,40 +549,40 @@ struct cmd_ds_802_11_snmp_mib { | |||
549 | __le16 oid; | 549 | __le16 oid; |
550 | __le16 bufsize; | 550 | __le16 bufsize; |
551 | u8 value[128]; | 551 | u8 value[128]; |
552 | } __attribute__ ((packed)); | 552 | } __packed; |
553 | 553 | ||
554 | struct cmd_ds_mac_reg_access { | 554 | struct cmd_ds_mac_reg_access { |
555 | __le16 action; | 555 | __le16 action; |
556 | __le16 offset; | 556 | __le16 offset; |
557 | __le32 value; | 557 | __le32 value; |
558 | } __attribute__ ((packed)); | 558 | } __packed; |
559 | 559 | ||
560 | struct cmd_ds_bbp_reg_access { | 560 | struct cmd_ds_bbp_reg_access { |
561 | __le16 action; | 561 | __le16 action; |
562 | __le16 offset; | 562 | __le16 offset; |
563 | u8 value; | 563 | u8 value; |
564 | u8 reserved[3]; | 564 | u8 reserved[3]; |
565 | } __attribute__ ((packed)); | 565 | } __packed; |
566 | 566 | ||
567 | struct cmd_ds_rf_reg_access { | 567 | struct cmd_ds_rf_reg_access { |
568 | __le16 action; | 568 | __le16 action; |
569 | __le16 offset; | 569 | __le16 offset; |
570 | u8 value; | 570 | u8 value; |
571 | u8 reserved[3]; | 571 | u8 reserved[3]; |
572 | } __attribute__ ((packed)); | 572 | } __packed; |
573 | 573 | ||
574 | struct cmd_ds_802_11_radio_control { | 574 | struct cmd_ds_802_11_radio_control { |
575 | struct cmd_header hdr; | 575 | struct cmd_header hdr; |
576 | 576 | ||
577 | __le16 action; | 577 | __le16 action; |
578 | __le16 control; | 578 | __le16 control; |
579 | } __attribute__ ((packed)); | 579 | } __packed; |
580 | 580 | ||
581 | struct cmd_ds_802_11_beacon_control { | 581 | struct cmd_ds_802_11_beacon_control { |
582 | __le16 action; | 582 | __le16 action; |
583 | __le16 beacon_enable; | 583 | __le16 beacon_enable; |
584 | __le16 beacon_period; | 584 | __le16 beacon_period; |
585 | } __attribute__ ((packed)); | 585 | } __packed; |
586 | 586 | ||
587 | struct cmd_ds_802_11_sleep_params { | 587 | struct cmd_ds_802_11_sleep_params { |
588 | struct cmd_header hdr; | 588 | struct cmd_header hdr; |
@@ -607,7 +607,7 @@ struct cmd_ds_802_11_sleep_params { | |||
607 | 607 | ||
608 | /* reserved field, should be set to zero */ | 608 | /* reserved field, should be set to zero */ |
609 | __le16 reserved; | 609 | __le16 reserved; |
610 | } __attribute__ ((packed)); | 610 | } __packed; |
611 | 611 | ||
612 | struct cmd_ds_802_11_rf_channel { | 612 | struct cmd_ds_802_11_rf_channel { |
613 | struct cmd_header hdr; | 613 | struct cmd_header hdr; |
@@ -617,7 +617,7 @@ struct cmd_ds_802_11_rf_channel { | |||
617 | __le16 rftype; /* unused */ | 617 | __le16 rftype; /* unused */ |
618 | __le16 reserved; /* unused */ | 618 | __le16 reserved; /* unused */ |
619 | u8 channellist[32]; /* unused */ | 619 | u8 channellist[32]; /* unused */ |
620 | } __attribute__ ((packed)); | 620 | } __packed; |
621 | 621 | ||
622 | struct cmd_ds_802_11_rssi { | 622 | struct cmd_ds_802_11_rssi { |
623 | /* weighting factor */ | 623 | /* weighting factor */ |
@@ -626,21 +626,21 @@ struct cmd_ds_802_11_rssi { | |||
626 | __le16 reserved_0; | 626 | __le16 reserved_0; |
627 | __le16 reserved_1; | 627 | __le16 reserved_1; |
628 | __le16 reserved_2; | 628 | __le16 reserved_2; |
629 | } __attribute__ ((packed)); | 629 | } __packed; |
630 | 630 | ||
631 | struct cmd_ds_802_11_rssi_rsp { | 631 | struct cmd_ds_802_11_rssi_rsp { |
632 | __le16 SNR; | 632 | __le16 SNR; |
633 | __le16 noisefloor; | 633 | __le16 noisefloor; |
634 | __le16 avgSNR; | 634 | __le16 avgSNR; |
635 | __le16 avgnoisefloor; | 635 | __le16 avgnoisefloor; |
636 | } __attribute__ ((packed)); | 636 | } __packed; |
637 | 637 | ||
638 | struct cmd_ds_802_11_mac_address { | 638 | struct cmd_ds_802_11_mac_address { |
639 | struct cmd_header hdr; | 639 | struct cmd_header hdr; |
640 | 640 | ||
641 | __le16 action; | 641 | __le16 action; |
642 | u8 macadd[ETH_ALEN]; | 642 | u8 macadd[ETH_ALEN]; |
643 | } __attribute__ ((packed)); | 643 | } __packed; |
644 | 644 | ||
645 | struct cmd_ds_802_11_rf_tx_power { | 645 | struct cmd_ds_802_11_rf_tx_power { |
646 | struct cmd_header hdr; | 646 | struct cmd_header hdr; |
@@ -649,26 +649,26 @@ struct cmd_ds_802_11_rf_tx_power { | |||
649 | __le16 curlevel; | 649 | __le16 curlevel; |
650 | s8 maxlevel; | 650 | s8 maxlevel; |
651 | s8 minlevel; | 651 | s8 minlevel; |
652 | } __attribute__ ((packed)); | 652 | } __packed; |
653 | 653 | ||
654 | struct cmd_ds_802_11_monitor_mode { | 654 | struct cmd_ds_802_11_monitor_mode { |
655 | __le16 action; | 655 | __le16 action; |
656 | __le16 mode; | 656 | __le16 mode; |
657 | } __attribute__ ((packed)); | 657 | } __packed; |
658 | 658 | ||
659 | struct cmd_ds_set_boot2_ver { | 659 | struct cmd_ds_set_boot2_ver { |
660 | struct cmd_header hdr; | 660 | struct cmd_header hdr; |
661 | 661 | ||
662 | __le16 action; | 662 | __le16 action; |
663 | __le16 version; | 663 | __le16 version; |
664 | } __attribute__ ((packed)); | 664 | } __packed; |
665 | 665 | ||
666 | struct cmd_ds_802_11_fw_wake_method { | 666 | struct cmd_ds_802_11_fw_wake_method { |
667 | struct cmd_header hdr; | 667 | struct cmd_header hdr; |
668 | 668 | ||
669 | __le16 action; | 669 | __le16 action; |
670 | __le16 method; | 670 | __le16 method; |
671 | } __attribute__ ((packed)); | 671 | } __packed; |
672 | 672 | ||
673 | struct cmd_ds_802_11_ps_mode { | 673 | struct cmd_ds_802_11_ps_mode { |
674 | __le16 action; | 674 | __le16 action; |
@@ -676,7 +676,7 @@ struct cmd_ds_802_11_ps_mode { | |||
676 | __le16 multipledtim; | 676 | __le16 multipledtim; |
677 | __le16 reserved; | 677 | __le16 reserved; |
678 | __le16 locallisteninterval; | 678 | __le16 locallisteninterval; |
679 | } __attribute__ ((packed)); | 679 | } __packed; |
680 | 680 | ||
681 | struct cmd_confirm_sleep { | 681 | struct cmd_confirm_sleep { |
682 | struct cmd_header hdr; | 682 | struct cmd_header hdr; |
@@ -686,7 +686,7 @@ struct cmd_confirm_sleep { | |||
686 | __le16 multipledtim; | 686 | __le16 multipledtim; |
687 | __le16 reserved; | 687 | __le16 reserved; |
688 | __le16 locallisteninterval; | 688 | __le16 locallisteninterval; |
689 | } __attribute__ ((packed)); | 689 | } __packed; |
690 | 690 | ||
691 | struct cmd_ds_802_11_data_rate { | 691 | struct cmd_ds_802_11_data_rate { |
692 | struct cmd_header hdr; | 692 | struct cmd_header hdr; |
@@ -694,14 +694,14 @@ struct cmd_ds_802_11_data_rate { | |||
694 | __le16 action; | 694 | __le16 action; |
695 | __le16 reserved; | 695 | __le16 reserved; |
696 | u8 rates[MAX_RATES]; | 696 | u8 rates[MAX_RATES]; |
697 | } __attribute__ ((packed)); | 697 | } __packed; |
698 | 698 | ||
699 | struct cmd_ds_802_11_rate_adapt_rateset { | 699 | struct cmd_ds_802_11_rate_adapt_rateset { |
700 | struct cmd_header hdr; | 700 | struct cmd_header hdr; |
701 | __le16 action; | 701 | __le16 action; |
702 | __le16 enablehwauto; | 702 | __le16 enablehwauto; |
703 | __le16 bitmap; | 703 | __le16 bitmap; |
704 | } __attribute__ ((packed)); | 704 | } __packed; |
705 | 705 | ||
706 | struct cmd_ds_802_11_ad_hoc_start { | 706 | struct cmd_ds_802_11_ad_hoc_start { |
707 | struct cmd_header hdr; | 707 | struct cmd_header hdr; |
@@ -718,14 +718,14 @@ struct cmd_ds_802_11_ad_hoc_start { | |||
718 | __le16 capability; | 718 | __le16 capability; |
719 | u8 rates[MAX_RATES]; | 719 | u8 rates[MAX_RATES]; |
720 | u8 tlv_memory_size_pad[100]; | 720 | u8 tlv_memory_size_pad[100]; |
721 | } __attribute__ ((packed)); | 721 | } __packed; |
722 | 722 | ||
723 | struct cmd_ds_802_11_ad_hoc_result { | 723 | struct cmd_ds_802_11_ad_hoc_result { |
724 | struct cmd_header hdr; | 724 | struct cmd_header hdr; |
725 | 725 | ||
726 | u8 pad[3]; | 726 | u8 pad[3]; |
727 | u8 bssid[ETH_ALEN]; | 727 | u8 bssid[ETH_ALEN]; |
728 | } __attribute__ ((packed)); | 728 | } __packed; |
729 | 729 | ||
730 | struct adhoc_bssdesc { | 730 | struct adhoc_bssdesc { |
731 | u8 bssid[ETH_ALEN]; | 731 | u8 bssid[ETH_ALEN]; |
@@ -746,7 +746,7 @@ struct adhoc_bssdesc { | |||
746 | * Adhoc join command and will cause a binary layout mismatch with | 746 | * Adhoc join command and will cause a binary layout mismatch with |
747 | * the firmware | 747 | * the firmware |
748 | */ | 748 | */ |
749 | } __attribute__ ((packed)); | 749 | } __packed; |
750 | 750 | ||
751 | struct cmd_ds_802_11_ad_hoc_join { | 751 | struct cmd_ds_802_11_ad_hoc_join { |
752 | struct cmd_header hdr; | 752 | struct cmd_header hdr; |
@@ -754,18 +754,18 @@ struct cmd_ds_802_11_ad_hoc_join { | |||
754 | struct adhoc_bssdesc bss; | 754 | struct adhoc_bssdesc bss; |
755 | __le16 failtimeout; /* Reserved on v9 and later */ | 755 | __le16 failtimeout; /* Reserved on v9 and later */ |
756 | __le16 probedelay; /* Reserved on v9 and later */ | 756 | __le16 probedelay; /* Reserved on v9 and later */ |
757 | } __attribute__ ((packed)); | 757 | } __packed; |
758 | 758 | ||
759 | struct cmd_ds_802_11_ad_hoc_stop { | 759 | struct cmd_ds_802_11_ad_hoc_stop { |
760 | struct cmd_header hdr; | 760 | struct cmd_header hdr; |
761 | } __attribute__ ((packed)); | 761 | } __packed; |
762 | 762 | ||
763 | struct cmd_ds_802_11_enable_rsn { | 763 | struct cmd_ds_802_11_enable_rsn { |
764 | struct cmd_header hdr; | 764 | struct cmd_header hdr; |
765 | 765 | ||
766 | __le16 action; | 766 | __le16 action; |
767 | __le16 enable; | 767 | __le16 enable; |
768 | } __attribute__ ((packed)); | 768 | } __packed; |
769 | 769 | ||
770 | struct MrvlIEtype_keyParamSet { | 770 | struct MrvlIEtype_keyParamSet { |
771 | /* type ID */ | 771 | /* type ID */ |
@@ -785,7 +785,7 @@ struct MrvlIEtype_keyParamSet { | |||
785 | 785 | ||
786 | /* key material of size keylen */ | 786 | /* key material of size keylen */ |
787 | u8 key[32]; | 787 | u8 key[32]; |
788 | } __attribute__ ((packed)); | 788 | } __packed; |
789 | 789 | ||
790 | #define MAX_WOL_RULES 16 | 790 | #define MAX_WOL_RULES 16 |
791 | 791 | ||
@@ -797,7 +797,7 @@ struct host_wol_rule { | |||
797 | __le16 reserve; | 797 | __le16 reserve; |
798 | __be32 sig_mask; | 798 | __be32 sig_mask; |
799 | __be32 signature; | 799 | __be32 signature; |
800 | } __attribute__ ((packed)); | 800 | } __packed; |
801 | 801 | ||
802 | struct wol_config { | 802 | struct wol_config { |
803 | uint8_t action; | 803 | uint8_t action; |
@@ -805,7 +805,7 @@ struct wol_config { | |||
805 | uint8_t no_rules_in_cmd; | 805 | uint8_t no_rules_in_cmd; |
806 | uint8_t result; | 806 | uint8_t result; |
807 | struct host_wol_rule rule[MAX_WOL_RULES]; | 807 | struct host_wol_rule rule[MAX_WOL_RULES]; |
808 | } __attribute__ ((packed)); | 808 | } __packed; |
809 | 809 | ||
810 | struct cmd_ds_host_sleep { | 810 | struct cmd_ds_host_sleep { |
811 | struct cmd_header hdr; | 811 | struct cmd_header hdr; |
@@ -813,7 +813,7 @@ struct cmd_ds_host_sleep { | |||
813 | uint8_t gpio; | 813 | uint8_t gpio; |
814 | uint16_t gap; | 814 | uint16_t gap; |
815 | struct wol_config wol_conf; | 815 | struct wol_config wol_conf; |
816 | } __attribute__ ((packed)); | 816 | } __packed; |
817 | 817 | ||
818 | 818 | ||
819 | 819 | ||
@@ -822,7 +822,7 @@ struct cmd_ds_802_11_key_material { | |||
822 | 822 | ||
823 | __le16 action; | 823 | __le16 action; |
824 | struct MrvlIEtype_keyParamSet keyParamSet[2]; | 824 | struct MrvlIEtype_keyParamSet keyParamSet[2]; |
825 | } __attribute__ ((packed)); | 825 | } __packed; |
826 | 826 | ||
827 | struct cmd_ds_802_11_eeprom_access { | 827 | struct cmd_ds_802_11_eeprom_access { |
828 | struct cmd_header hdr; | 828 | struct cmd_header hdr; |
@@ -832,7 +832,7 @@ struct cmd_ds_802_11_eeprom_access { | |||
832 | /* firmware says it returns a maximum of 20 bytes */ | 832 | /* firmware says it returns a maximum of 20 bytes */ |
833 | #define LBS_EEPROM_READ_LEN 20 | 833 | #define LBS_EEPROM_READ_LEN 20 |
834 | u8 value[LBS_EEPROM_READ_LEN]; | 834 | u8 value[LBS_EEPROM_READ_LEN]; |
835 | } __attribute__ ((packed)); | 835 | } __packed; |
836 | 836 | ||
837 | struct cmd_ds_802_11_tpc_cfg { | 837 | struct cmd_ds_802_11_tpc_cfg { |
838 | struct cmd_header hdr; | 838 | struct cmd_header hdr; |
@@ -843,7 +843,7 @@ struct cmd_ds_802_11_tpc_cfg { | |||
843 | int8_t P1; | 843 | int8_t P1; |
844 | int8_t P2; | 844 | int8_t P2; |
845 | uint8_t usesnr; | 845 | uint8_t usesnr; |
846 | } __attribute__ ((packed)); | 846 | } __packed; |
847 | 847 | ||
848 | 848 | ||
849 | struct cmd_ds_802_11_pa_cfg { | 849 | struct cmd_ds_802_11_pa_cfg { |
@@ -854,14 +854,14 @@ struct cmd_ds_802_11_pa_cfg { | |||
854 | int8_t P0; | 854 | int8_t P0; |
855 | int8_t P1; | 855 | int8_t P1; |
856 | int8_t P2; | 856 | int8_t P2; |
857 | } __attribute__ ((packed)); | 857 | } __packed; |
858 | 858 | ||
859 | 859 | ||
860 | struct cmd_ds_802_11_led_ctrl { | 860 | struct cmd_ds_802_11_led_ctrl { |
861 | __le16 action; | 861 | __le16 action; |
862 | __le16 numled; | 862 | __le16 numled; |
863 | u8 data[256]; | 863 | u8 data[256]; |
864 | } __attribute__ ((packed)); | 864 | } __packed; |
865 | 865 | ||
866 | struct cmd_ds_802_11_afc { | 866 | struct cmd_ds_802_11_afc { |
867 | __le16 afc_auto; | 867 | __le16 afc_auto; |
@@ -875,22 +875,22 @@ struct cmd_ds_802_11_afc { | |||
875 | __le16 carrier_offset; /* signed */ | 875 | __le16 carrier_offset; /* signed */ |
876 | }; | 876 | }; |
877 | }; | 877 | }; |
878 | } __attribute__ ((packed)); | 878 | } __packed; |
879 | 879 | ||
880 | struct cmd_tx_rate_query { | 880 | struct cmd_tx_rate_query { |
881 | __le16 txrate; | 881 | __le16 txrate; |
882 | } __attribute__ ((packed)); | 882 | } __packed; |
883 | 883 | ||
884 | struct cmd_ds_get_tsf { | 884 | struct cmd_ds_get_tsf { |
885 | __le64 tsfvalue; | 885 | __le64 tsfvalue; |
886 | } __attribute__ ((packed)); | 886 | } __packed; |
887 | 887 | ||
888 | struct cmd_ds_bt_access { | 888 | struct cmd_ds_bt_access { |
889 | __le16 action; | 889 | __le16 action; |
890 | __le32 id; | 890 | __le32 id; |
891 | u8 addr1[ETH_ALEN]; | 891 | u8 addr1[ETH_ALEN]; |
892 | u8 addr2[ETH_ALEN]; | 892 | u8 addr2[ETH_ALEN]; |
893 | } __attribute__ ((packed)); | 893 | } __packed; |
894 | 894 | ||
895 | struct cmd_ds_fwt_access { | 895 | struct cmd_ds_fwt_access { |
896 | __le16 action; | 896 | __le16 action; |
@@ -910,7 +910,7 @@ struct cmd_ds_fwt_access { | |||
910 | __le32 snr; | 910 | __le32 snr; |
911 | __le32 references; | 911 | __le32 references; |
912 | u8 prec[ETH_ALEN]; | 912 | u8 prec[ETH_ALEN]; |
913 | } __attribute__ ((packed)); | 913 | } __packed; |
914 | 914 | ||
915 | struct cmd_ds_mesh_config { | 915 | struct cmd_ds_mesh_config { |
916 | struct cmd_header hdr; | 916 | struct cmd_header hdr; |
@@ -920,14 +920,14 @@ struct cmd_ds_mesh_config { | |||
920 | __le16 type; | 920 | __le16 type; |
921 | __le16 length; | 921 | __le16 length; |
922 | u8 data[128]; /* last position reserved */ | 922 | u8 data[128]; /* last position reserved */ |
923 | } __attribute__ ((packed)); | 923 | } __packed; |
924 | 924 | ||
925 | struct cmd_ds_mesh_access { | 925 | struct cmd_ds_mesh_access { |
926 | struct cmd_header hdr; | 926 | struct cmd_header hdr; |
927 | 927 | ||
928 | __le16 action; | 928 | __le16 action; |
929 | __le32 data[32]; /* last position reserved */ | 929 | __le32 data[32]; /* last position reserved */ |
930 | } __attribute__ ((packed)); | 930 | } __packed; |
931 | 931 | ||
932 | /* Number of stats counters returned by the firmware */ | 932 | /* Number of stats counters returned by the firmware */ |
933 | #define MESH_STATS_NUM 8 | 933 | #define MESH_STATS_NUM 8 |
@@ -957,6 +957,6 @@ struct cmd_ds_command { | |||
957 | struct cmd_ds_fwt_access fwt; | 957 | struct cmd_ds_fwt_access fwt; |
958 | struct cmd_ds_802_11_beacon_control bcn_ctrl; | 958 | struct cmd_ds_802_11_beacon_control bcn_ctrl; |
959 | } params; | 959 | } params; |
960 | } __attribute__ ((packed)); | 960 | } __packed; |
961 | 961 | ||
962 | #endif | 962 | #endif |
diff --git a/drivers/net/wireless/libertas/radiotap.h b/drivers/net/wireless/libertas/radiotap.h index d16b26416e82..b3c8ea6d610e 100644 --- a/drivers/net/wireless/libertas/radiotap.h +++ b/drivers/net/wireless/libertas/radiotap.h | |||
@@ -6,7 +6,7 @@ struct tx_radiotap_hdr { | |||
6 | u8 txpower; | 6 | u8 txpower; |
7 | u8 rts_retries; | 7 | u8 rts_retries; |
8 | u8 data_retries; | 8 | u8 data_retries; |
9 | } __attribute__ ((packed)); | 9 | } __packed; |
10 | 10 | ||
11 | #define TX_RADIOTAP_PRESENT ( \ | 11 | #define TX_RADIOTAP_PRESENT ( \ |
12 | (1 << IEEE80211_RADIOTAP_RATE) | \ | 12 | (1 << IEEE80211_RADIOTAP_RATE) | \ |
@@ -34,7 +34,7 @@ struct rx_radiotap_hdr { | |||
34 | u8 flags; | 34 | u8 flags; |
35 | u8 rate; | 35 | u8 rate; |
36 | u8 antsignal; | 36 | u8 antsignal; |
37 | } __attribute__ ((packed)); | 37 | } __packed; |
38 | 38 | ||
39 | #define RX_RADIOTAP_PRESENT ( \ | 39 | #define RX_RADIOTAP_PRESENT ( \ |
40 | (1 << IEEE80211_RADIOTAP_FLAGS) | \ | 40 | (1 << IEEE80211_RADIOTAP_FLAGS) | \ |
diff --git a/drivers/net/wireless/libertas/rx.c b/drivers/net/wireless/libertas/rx.c index 7a377f5b7662..1c63f8ce7349 100644 --- a/drivers/net/wireless/libertas/rx.c +++ b/drivers/net/wireless/libertas/rx.c | |||
@@ -15,7 +15,7 @@ struct eth803hdr { | |||
15 | u8 dest_addr[6]; | 15 | u8 dest_addr[6]; |
16 | u8 src_addr[6]; | 16 | u8 src_addr[6]; |
17 | u16 h803_len; | 17 | u16 h803_len; |
18 | } __attribute__ ((packed)); | 18 | } __packed; |
19 | 19 | ||
20 | struct rfc1042hdr { | 20 | struct rfc1042hdr { |
21 | u8 llc_dsap; | 21 | u8 llc_dsap; |
@@ -23,17 +23,17 @@ struct rfc1042hdr { | |||
23 | u8 llc_ctrl; | 23 | u8 llc_ctrl; |
24 | u8 snap_oui[3]; | 24 | u8 snap_oui[3]; |
25 | u16 snap_type; | 25 | u16 snap_type; |
26 | } __attribute__ ((packed)); | 26 | } __packed; |
27 | 27 | ||
28 | struct rxpackethdr { | 28 | struct rxpackethdr { |
29 | struct eth803hdr eth803_hdr; | 29 | struct eth803hdr eth803_hdr; |
30 | struct rfc1042hdr rfc1042_hdr; | 30 | struct rfc1042hdr rfc1042_hdr; |
31 | } __attribute__ ((packed)); | 31 | } __packed; |
32 | 32 | ||
33 | struct rx80211packethdr { | 33 | struct rx80211packethdr { |
34 | struct rxpd rx_pd; | 34 | struct rxpd rx_pd; |
35 | void *eth80211_hdr; | 35 | void *eth80211_hdr; |
36 | } __attribute__ ((packed)); | 36 | } __packed; |
37 | 37 | ||
38 | static int process_rxed_802_11_packet(struct lbs_private *priv, | 38 | static int process_rxed_802_11_packet(struct lbs_private *priv, |
39 | struct sk_buff *skb); | 39 | struct sk_buff *skb); |
diff --git a/drivers/net/wireless/libertas/types.h b/drivers/net/wireless/libertas/types.h index 3e72c86ceca8..462fbb4cb743 100644 --- a/drivers/net/wireless/libertas/types.h +++ b/drivers/net/wireless/libertas/types.h | |||
@@ -11,7 +11,7 @@ | |||
11 | struct ieee_ie_header { | 11 | struct ieee_ie_header { |
12 | u8 id; | 12 | u8 id; |
13 | u8 len; | 13 | u8 len; |
14 | } __attribute__ ((packed)); | 14 | } __packed; |
15 | 15 | ||
16 | struct ieee_ie_cf_param_set { | 16 | struct ieee_ie_cf_param_set { |
17 | struct ieee_ie_header header; | 17 | struct ieee_ie_header header; |
@@ -20,19 +20,19 @@ struct ieee_ie_cf_param_set { | |||
20 | u8 cfpperiod; | 20 | u8 cfpperiod; |
21 | __le16 cfpmaxduration; | 21 | __le16 cfpmaxduration; |
22 | __le16 cfpdurationremaining; | 22 | __le16 cfpdurationremaining; |
23 | } __attribute__ ((packed)); | 23 | } __packed; |
24 | 24 | ||
25 | 25 | ||
26 | struct ieee_ie_ibss_param_set { | 26 | struct ieee_ie_ibss_param_set { |
27 | struct ieee_ie_header header; | 27 | struct ieee_ie_header header; |
28 | 28 | ||
29 | __le16 atimwindow; | 29 | __le16 atimwindow; |
30 | } __attribute__ ((packed)); | 30 | } __packed; |
31 | 31 | ||
32 | union ieee_ss_param_set { | 32 | union ieee_ss_param_set { |
33 | struct ieee_ie_cf_param_set cf; | 33 | struct ieee_ie_cf_param_set cf; |
34 | struct ieee_ie_ibss_param_set ibss; | 34 | struct ieee_ie_ibss_param_set ibss; |
35 | } __attribute__ ((packed)); | 35 | } __packed; |
36 | 36 | ||
37 | struct ieee_ie_fh_param_set { | 37 | struct ieee_ie_fh_param_set { |
38 | struct ieee_ie_header header; | 38 | struct ieee_ie_header header; |
@@ -41,18 +41,18 @@ struct ieee_ie_fh_param_set { | |||
41 | u8 hopset; | 41 | u8 hopset; |
42 | u8 hoppattern; | 42 | u8 hoppattern; |
43 | u8 hopindex; | 43 | u8 hopindex; |
44 | } __attribute__ ((packed)); | 44 | } __packed; |
45 | 45 | ||
46 | struct ieee_ie_ds_param_set { | 46 | struct ieee_ie_ds_param_set { |
47 | struct ieee_ie_header header; | 47 | struct ieee_ie_header header; |
48 | 48 | ||
49 | u8 channel; | 49 | u8 channel; |
50 | } __attribute__ ((packed)); | 50 | } __packed; |
51 | 51 | ||
52 | union ieee_phy_param_set { | 52 | union ieee_phy_param_set { |
53 | struct ieee_ie_fh_param_set fh; | 53 | struct ieee_ie_fh_param_set fh; |
54 | struct ieee_ie_ds_param_set ds; | 54 | struct ieee_ie_ds_param_set ds; |
55 | } __attribute__ ((packed)); | 55 | } __packed; |
56 | 56 | ||
57 | /** TLV type ID definition */ | 57 | /** TLV type ID definition */ |
58 | #define PROPRIETARY_TLV_BASE_ID 0x0100 | 58 | #define PROPRIETARY_TLV_BASE_ID 0x0100 |
@@ -100,28 +100,28 @@ union ieee_phy_param_set { | |||
100 | struct mrvl_ie_header { | 100 | struct mrvl_ie_header { |
101 | __le16 type; | 101 | __le16 type; |
102 | __le16 len; | 102 | __le16 len; |
103 | } __attribute__ ((packed)); | 103 | } __packed; |
104 | 104 | ||
105 | struct mrvl_ie_data { | 105 | struct mrvl_ie_data { |
106 | struct mrvl_ie_header header; | 106 | struct mrvl_ie_header header; |
107 | u8 Data[1]; | 107 | u8 Data[1]; |
108 | } __attribute__ ((packed)); | 108 | } __packed; |
109 | 109 | ||
110 | struct mrvl_ie_rates_param_set { | 110 | struct mrvl_ie_rates_param_set { |
111 | struct mrvl_ie_header header; | 111 | struct mrvl_ie_header header; |
112 | u8 rates[1]; | 112 | u8 rates[1]; |
113 | } __attribute__ ((packed)); | 113 | } __packed; |
114 | 114 | ||
115 | struct mrvl_ie_ssid_param_set { | 115 | struct mrvl_ie_ssid_param_set { |
116 | struct mrvl_ie_header header; | 116 | struct mrvl_ie_header header; |
117 | u8 ssid[1]; | 117 | u8 ssid[1]; |
118 | } __attribute__ ((packed)); | 118 | } __packed; |
119 | 119 | ||
120 | struct mrvl_ie_wildcard_ssid_param_set { | 120 | struct mrvl_ie_wildcard_ssid_param_set { |
121 | struct mrvl_ie_header header; | 121 | struct mrvl_ie_header header; |
122 | u8 MaxSsidlength; | 122 | u8 MaxSsidlength; |
123 | u8 ssid[1]; | 123 | u8 ssid[1]; |
124 | } __attribute__ ((packed)); | 124 | } __packed; |
125 | 125 | ||
126 | struct chanscanmode { | 126 | struct chanscanmode { |
127 | #ifdef __BIG_ENDIAN_BITFIELD | 127 | #ifdef __BIG_ENDIAN_BITFIELD |
@@ -133,7 +133,7 @@ struct chanscanmode { | |||
133 | u8 disablechanfilt:1; | 133 | u8 disablechanfilt:1; |
134 | u8 reserved_2_7:6; | 134 | u8 reserved_2_7:6; |
135 | #endif | 135 | #endif |
136 | } __attribute__ ((packed)); | 136 | } __packed; |
137 | 137 | ||
138 | struct chanscanparamset { | 138 | struct chanscanparamset { |
139 | u8 radiotype; | 139 | u8 radiotype; |
@@ -141,12 +141,12 @@ struct chanscanparamset { | |||
141 | struct chanscanmode chanscanmode; | 141 | struct chanscanmode chanscanmode; |
142 | __le16 minscantime; | 142 | __le16 minscantime; |
143 | __le16 maxscantime; | 143 | __le16 maxscantime; |
144 | } __attribute__ ((packed)); | 144 | } __packed; |
145 | 145 | ||
146 | struct mrvl_ie_chanlist_param_set { | 146 | struct mrvl_ie_chanlist_param_set { |
147 | struct mrvl_ie_header header; | 147 | struct mrvl_ie_header header; |
148 | struct chanscanparamset chanscanparam[1]; | 148 | struct chanscanparamset chanscanparam[1]; |
149 | } __attribute__ ((packed)); | 149 | } __packed; |
150 | 150 | ||
151 | struct mrvl_ie_cf_param_set { | 151 | struct mrvl_ie_cf_param_set { |
152 | struct mrvl_ie_header header; | 152 | struct mrvl_ie_header header; |
@@ -154,86 +154,86 @@ struct mrvl_ie_cf_param_set { | |||
154 | u8 cfpperiod; | 154 | u8 cfpperiod; |
155 | __le16 cfpmaxduration; | 155 | __le16 cfpmaxduration; |
156 | __le16 cfpdurationremaining; | 156 | __le16 cfpdurationremaining; |
157 | } __attribute__ ((packed)); | 157 | } __packed; |
158 | 158 | ||
159 | struct mrvl_ie_ds_param_set { | 159 | struct mrvl_ie_ds_param_set { |
160 | struct mrvl_ie_header header; | 160 | struct mrvl_ie_header header; |
161 | u8 channel; | 161 | u8 channel; |
162 | } __attribute__ ((packed)); | 162 | } __packed; |
163 | 163 | ||
164 | struct mrvl_ie_rsn_param_set { | 164 | struct mrvl_ie_rsn_param_set { |
165 | struct mrvl_ie_header header; | 165 | struct mrvl_ie_header header; |
166 | u8 rsnie[1]; | 166 | u8 rsnie[1]; |
167 | } __attribute__ ((packed)); | 167 | } __packed; |
168 | 168 | ||
169 | struct mrvl_ie_tsf_timestamp { | 169 | struct mrvl_ie_tsf_timestamp { |
170 | struct mrvl_ie_header header; | 170 | struct mrvl_ie_header header; |
171 | __le64 tsftable[1]; | 171 | __le64 tsftable[1]; |
172 | } __attribute__ ((packed)); | 172 | } __packed; |
173 | 173 | ||
174 | /* v9 and later firmware only */ | 174 | /* v9 and later firmware only */ |
175 | struct mrvl_ie_auth_type { | 175 | struct mrvl_ie_auth_type { |
176 | struct mrvl_ie_header header; | 176 | struct mrvl_ie_header header; |
177 | __le16 auth; | 177 | __le16 auth; |
178 | } __attribute__ ((packed)); | 178 | } __packed; |
179 | 179 | ||
180 | /** Local Power capability */ | 180 | /** Local Power capability */ |
181 | struct mrvl_ie_power_capability { | 181 | struct mrvl_ie_power_capability { |
182 | struct mrvl_ie_header header; | 182 | struct mrvl_ie_header header; |
183 | s8 minpower; | 183 | s8 minpower; |
184 | s8 maxpower; | 184 | s8 maxpower; |
185 | } __attribute__ ((packed)); | 185 | } __packed; |
186 | 186 | ||
187 | /* used in CMD_802_11_SUBSCRIBE_EVENT for SNR, RSSI and Failure */ | 187 | /* used in CMD_802_11_SUBSCRIBE_EVENT for SNR, RSSI and Failure */ |
188 | struct mrvl_ie_thresholds { | 188 | struct mrvl_ie_thresholds { |
189 | struct mrvl_ie_header header; | 189 | struct mrvl_ie_header header; |
190 | u8 value; | 190 | u8 value; |
191 | u8 freq; | 191 | u8 freq; |
192 | } __attribute__ ((packed)); | 192 | } __packed; |
193 | 193 | ||
194 | struct mrvl_ie_beacons_missed { | 194 | struct mrvl_ie_beacons_missed { |
195 | struct mrvl_ie_header header; | 195 | struct mrvl_ie_header header; |
196 | u8 beaconmissed; | 196 | u8 beaconmissed; |
197 | u8 reserved; | 197 | u8 reserved; |
198 | } __attribute__ ((packed)); | 198 | } __packed; |
199 | 199 | ||
200 | struct mrvl_ie_num_probes { | 200 | struct mrvl_ie_num_probes { |
201 | struct mrvl_ie_header header; | 201 | struct mrvl_ie_header header; |
202 | __le16 numprobes; | 202 | __le16 numprobes; |
203 | } __attribute__ ((packed)); | 203 | } __packed; |
204 | 204 | ||
205 | struct mrvl_ie_bcast_probe { | 205 | struct mrvl_ie_bcast_probe { |
206 | struct mrvl_ie_header header; | 206 | struct mrvl_ie_header header; |
207 | __le16 bcastprobe; | 207 | __le16 bcastprobe; |
208 | } __attribute__ ((packed)); | 208 | } __packed; |
209 | 209 | ||
210 | struct mrvl_ie_num_ssid_probe { | 210 | struct mrvl_ie_num_ssid_probe { |
211 | struct mrvl_ie_header header; | 211 | struct mrvl_ie_header header; |
212 | __le16 numssidprobe; | 212 | __le16 numssidprobe; |
213 | } __attribute__ ((packed)); | 213 | } __packed; |
214 | 214 | ||
215 | struct led_pin { | 215 | struct led_pin { |
216 | u8 led; | 216 | u8 led; |
217 | u8 pin; | 217 | u8 pin; |
218 | } __attribute__ ((packed)); | 218 | } __packed; |
219 | 219 | ||
220 | struct mrvl_ie_ledgpio { | 220 | struct mrvl_ie_ledgpio { |
221 | struct mrvl_ie_header header; | 221 | struct mrvl_ie_header header; |
222 | struct led_pin ledpin[1]; | 222 | struct led_pin ledpin[1]; |
223 | } __attribute__ ((packed)); | 223 | } __packed; |
224 | 224 | ||
225 | struct led_bhv { | 225 | struct led_bhv { |
226 | uint8_t firmwarestate; | 226 | uint8_t firmwarestate; |
227 | uint8_t led; | 227 | uint8_t led; |
228 | uint8_t ledstate; | 228 | uint8_t ledstate; |
229 | uint8_t ledarg; | 229 | uint8_t ledarg; |
230 | } __attribute__ ((packed)); | 230 | } __packed; |
231 | 231 | ||
232 | 232 | ||
233 | struct mrvl_ie_ledbhv { | 233 | struct mrvl_ie_ledbhv { |
234 | struct mrvl_ie_header header; | 234 | struct mrvl_ie_header header; |
235 | struct led_bhv ledbhv[1]; | 235 | struct led_bhv ledbhv[1]; |
236 | } __attribute__ ((packed)); | 236 | } __packed; |
237 | 237 | ||
238 | /* Meant to be packed as the value member of a struct ieee80211_info_element. | 238 | /* Meant to be packed as the value member of a struct ieee80211_info_element. |
239 | * Note that the len member of the ieee80211_info_element varies depending on | 239 | * Note that the len member of the ieee80211_info_element varies depending on |
@@ -248,12 +248,12 @@ struct mrvl_meshie_val { | |||
248 | uint8_t mesh_capability; | 248 | uint8_t mesh_capability; |
249 | uint8_t mesh_id_len; | 249 | uint8_t mesh_id_len; |
250 | uint8_t mesh_id[IEEE80211_MAX_SSID_LEN]; | 250 | uint8_t mesh_id[IEEE80211_MAX_SSID_LEN]; |
251 | } __attribute__ ((packed)); | 251 | } __packed; |
252 | 252 | ||
253 | struct mrvl_meshie { | 253 | struct mrvl_meshie { |
254 | u8 id, len; | 254 | u8 id, len; |
255 | struct mrvl_meshie_val val; | 255 | struct mrvl_meshie_val val; |
256 | } __attribute__ ((packed)); | 256 | } __packed; |
257 | 257 | ||
258 | struct mrvl_mesh_defaults { | 258 | struct mrvl_mesh_defaults { |
259 | __le32 bootflag; | 259 | __le32 bootflag; |
@@ -261,6 +261,6 @@ struct mrvl_mesh_defaults { | |||
261 | uint8_t reserved; | 261 | uint8_t reserved; |
262 | __le16 channel; | 262 | __le16 channel; |
263 | struct mrvl_meshie meshie; | 263 | struct mrvl_meshie meshie; |
264 | } __attribute__ ((packed)); | 264 | } __packed; |
265 | 265 | ||
266 | #endif | 266 | #endif |
diff --git a/drivers/net/wireless/libertas_tf/libertas_tf.h b/drivers/net/wireless/libertas_tf/libertas_tf.h index fbbaaae7a1ae..737eac92ef72 100644 --- a/drivers/net/wireless/libertas_tf/libertas_tf.h +++ b/drivers/net/wireless/libertas_tf/libertas_tf.h | |||
@@ -316,7 +316,7 @@ struct cmd_header { | |||
316 | __le16 size; | 316 | __le16 size; |
317 | __le16 seqnum; | 317 | __le16 seqnum; |
318 | __le16 result; | 318 | __le16 result; |
319 | } __attribute__ ((packed)); | 319 | } __packed; |
320 | 320 | ||
321 | struct cmd_ctrl_node { | 321 | struct cmd_ctrl_node { |
322 | struct list_head list; | 322 | struct list_head list; |
@@ -369,7 +369,7 @@ struct cmd_ds_get_hw_spec { | |||
369 | 369 | ||
370 | /*FW/HW capability */ | 370 | /*FW/HW capability */ |
371 | __le32 fwcapinfo; | 371 | __le32 fwcapinfo; |
372 | } __attribute__ ((packed)); | 372 | } __packed; |
373 | 373 | ||
374 | struct cmd_ds_mac_control { | 374 | struct cmd_ds_mac_control { |
375 | struct cmd_header hdr; | 375 | struct cmd_header hdr; |
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index 6f8cb3ee6fed..49a7dfb4809a 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c | |||
@@ -317,7 +317,7 @@ struct hwsim_radiotap_hdr { | |||
317 | u8 rt_rate; | 317 | u8 rt_rate; |
318 | __le16 rt_channel; | 318 | __le16 rt_channel; |
319 | __le16 rt_chbitmask; | 319 | __le16 rt_chbitmask; |
320 | } __attribute__ ((packed)); | 320 | } __packed; |
321 | 321 | ||
322 | 322 | ||
323 | static netdev_tx_t hwsim_mon_xmit(struct sk_buff *skb, | 323 | static netdev_tx_t hwsim_mon_xmit(struct sk_buff *skb, |
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c index 808adb909095..60a819107a8c 100644 --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c | |||
@@ -426,7 +426,7 @@ struct mwl8k_cmd_pkt { | |||
426 | __u8 macid; | 426 | __u8 macid; |
427 | __le16 result; | 427 | __le16 result; |
428 | char payload[0]; | 428 | char payload[0]; |
429 | } __attribute__((packed)); | 429 | } __packed; |
430 | 430 | ||
431 | /* | 431 | /* |
432 | * Firmware loading. | 432 | * Firmware loading. |
@@ -632,7 +632,7 @@ struct mwl8k_dma_data { | |||
632 | __le16 fwlen; | 632 | __le16 fwlen; |
633 | struct ieee80211_hdr wh; | 633 | struct ieee80211_hdr wh; |
634 | char data[0]; | 634 | char data[0]; |
635 | } __attribute__((packed)); | 635 | } __packed; |
636 | 636 | ||
637 | /* Routines to add/remove DMA header from skb. */ | 637 | /* Routines to add/remove DMA header from skb. */ |
638 | static inline void mwl8k_remove_dma_header(struct sk_buff *skb, __le16 qos) | 638 | static inline void mwl8k_remove_dma_header(struct sk_buff *skb, __le16 qos) |
@@ -711,7 +711,7 @@ struct mwl8k_rxd_8366_ap { | |||
711 | __u8 rx_status; | 711 | __u8 rx_status; |
712 | __u8 channel; | 712 | __u8 channel; |
713 | __u8 rx_ctrl; | 713 | __u8 rx_ctrl; |
714 | } __attribute__((packed)); | 714 | } __packed; |
715 | 715 | ||
716 | #define MWL8K_8366_AP_RATE_INFO_MCS_FORMAT 0x80 | 716 | #define MWL8K_8366_AP_RATE_INFO_MCS_FORMAT 0x80 |
717 | #define MWL8K_8366_AP_RATE_INFO_40MHZ 0x40 | 717 | #define MWL8K_8366_AP_RATE_INFO_40MHZ 0x40 |
@@ -806,7 +806,7 @@ struct mwl8k_rxd_sta { | |||
806 | __u8 rx_ctrl; | 806 | __u8 rx_ctrl; |
807 | __u8 rx_status; | 807 | __u8 rx_status; |
808 | __u8 pad2[2]; | 808 | __u8 pad2[2]; |
809 | } __attribute__((packed)); | 809 | } __packed; |
810 | 810 | ||
811 | #define MWL8K_STA_RATE_INFO_SHORTPRE 0x8000 | 811 | #define MWL8K_STA_RATE_INFO_SHORTPRE 0x8000 |
812 | #define MWL8K_STA_RATE_INFO_ANTSELECT(x) (((x) >> 11) & 0x3) | 812 | #define MWL8K_STA_RATE_INFO_ANTSELECT(x) (((x) >> 11) & 0x3) |
@@ -1120,7 +1120,7 @@ struct mwl8k_tx_desc { | |||
1120 | __le16 rate_info; | 1120 | __le16 rate_info; |
1121 | __u8 peer_id; | 1121 | __u8 peer_id; |
1122 | __u8 tx_frag_cnt; | 1122 | __u8 tx_frag_cnt; |
1123 | } __attribute__((packed)); | 1123 | } __packed; |
1124 | 1124 | ||
1125 | #define MWL8K_TX_DESCS 128 | 1125 | #define MWL8K_TX_DESCS 128 |
1126 | 1126 | ||
@@ -1666,7 +1666,7 @@ struct mwl8k_cmd_get_hw_spec_sta { | |||
1666 | __le32 caps2; | 1666 | __le32 caps2; |
1667 | __le32 num_tx_desc_per_queue; | 1667 | __le32 num_tx_desc_per_queue; |
1668 | __le32 total_rxd; | 1668 | __le32 total_rxd; |
1669 | } __attribute__((packed)); | 1669 | } __packed; |
1670 | 1670 | ||
1671 | #define MWL8K_CAP_MAX_AMSDU 0x20000000 | 1671 | #define MWL8K_CAP_MAX_AMSDU 0x20000000 |
1672 | #define MWL8K_CAP_GREENFIELD 0x08000000 | 1672 | #define MWL8K_CAP_GREENFIELD 0x08000000 |
@@ -1810,7 +1810,7 @@ struct mwl8k_cmd_get_hw_spec_ap { | |||
1810 | __le32 wcbbase1; | 1810 | __le32 wcbbase1; |
1811 | __le32 wcbbase2; | 1811 | __le32 wcbbase2; |
1812 | __le32 wcbbase3; | 1812 | __le32 wcbbase3; |
1813 | } __attribute__((packed)); | 1813 | } __packed; |
1814 | 1814 | ||
1815 | static int mwl8k_cmd_get_hw_spec_ap(struct ieee80211_hw *hw) | 1815 | static int mwl8k_cmd_get_hw_spec_ap(struct ieee80211_hw *hw) |
1816 | { | 1816 | { |
@@ -1883,7 +1883,7 @@ struct mwl8k_cmd_set_hw_spec { | |||
1883 | __le32 flags; | 1883 | __le32 flags; |
1884 | __le32 num_tx_desc_per_queue; | 1884 | __le32 num_tx_desc_per_queue; |
1885 | __le32 total_rxd; | 1885 | __le32 total_rxd; |
1886 | } __attribute__((packed)); | 1886 | } __packed; |
1887 | 1887 | ||
1888 | #define MWL8K_SET_HW_SPEC_FLAG_HOST_DECR_MGMT 0x00000080 | 1888 | #define MWL8K_SET_HW_SPEC_FLAG_HOST_DECR_MGMT 0x00000080 |
1889 | #define MWL8K_SET_HW_SPEC_FLAG_HOSTFORM_PROBERESP 0x00000020 | 1889 | #define MWL8K_SET_HW_SPEC_FLAG_HOSTFORM_PROBERESP 0x00000020 |
@@ -1985,7 +1985,7 @@ __mwl8k_cmd_mac_multicast_adr(struct ieee80211_hw *hw, int allmulti, | |||
1985 | struct mwl8k_cmd_get_stat { | 1985 | struct mwl8k_cmd_get_stat { |
1986 | struct mwl8k_cmd_pkt header; | 1986 | struct mwl8k_cmd_pkt header; |
1987 | __le32 stats[64]; | 1987 | __le32 stats[64]; |
1988 | } __attribute__((packed)); | 1988 | } __packed; |
1989 | 1989 | ||
1990 | #define MWL8K_STAT_ACK_FAILURE 9 | 1990 | #define MWL8K_STAT_ACK_FAILURE 9 |
1991 | #define MWL8K_STAT_RTS_FAILURE 12 | 1991 | #define MWL8K_STAT_RTS_FAILURE 12 |
@@ -2029,7 +2029,7 @@ struct mwl8k_cmd_radio_control { | |||
2029 | __le16 action; | 2029 | __le16 action; |
2030 | __le16 control; | 2030 | __le16 control; |
2031 | __le16 radio_on; | 2031 | __le16 radio_on; |
2032 | } __attribute__((packed)); | 2032 | } __packed; |
2033 | 2033 | ||
2034 | static int | 2034 | static int |
2035 | mwl8k_cmd_radio_control(struct ieee80211_hw *hw, bool enable, bool force) | 2035 | mwl8k_cmd_radio_control(struct ieee80211_hw *hw, bool enable, bool force) |
@@ -2092,7 +2092,7 @@ struct mwl8k_cmd_rf_tx_power { | |||
2092 | __le16 current_level; | 2092 | __le16 current_level; |
2093 | __le16 reserved; | 2093 | __le16 reserved; |
2094 | __le16 power_level_list[MWL8K_TX_POWER_LEVEL_TOTAL]; | 2094 | __le16 power_level_list[MWL8K_TX_POWER_LEVEL_TOTAL]; |
2095 | } __attribute__((packed)); | 2095 | } __packed; |
2096 | 2096 | ||
2097 | static int mwl8k_cmd_rf_tx_power(struct ieee80211_hw *hw, int dBm) | 2097 | static int mwl8k_cmd_rf_tx_power(struct ieee80211_hw *hw, int dBm) |
2098 | { | 2098 | { |
@@ -2121,7 +2121,7 @@ struct mwl8k_cmd_rf_antenna { | |||
2121 | struct mwl8k_cmd_pkt header; | 2121 | struct mwl8k_cmd_pkt header; |
2122 | __le16 antenna; | 2122 | __le16 antenna; |
2123 | __le16 mode; | 2123 | __le16 mode; |
2124 | } __attribute__((packed)); | 2124 | } __packed; |
2125 | 2125 | ||
2126 | #define MWL8K_RF_ANTENNA_RX 1 | 2126 | #define MWL8K_RF_ANTENNA_RX 1 |
2127 | #define MWL8K_RF_ANTENNA_TX 2 | 2127 | #define MWL8K_RF_ANTENNA_TX 2 |
@@ -2182,7 +2182,7 @@ static int mwl8k_cmd_set_beacon(struct ieee80211_hw *hw, | |||
2182 | */ | 2182 | */ |
2183 | struct mwl8k_cmd_set_pre_scan { | 2183 | struct mwl8k_cmd_set_pre_scan { |
2184 | struct mwl8k_cmd_pkt header; | 2184 | struct mwl8k_cmd_pkt header; |
2185 | } __attribute__((packed)); | 2185 | } __packed; |
2186 | 2186 | ||
2187 | static int mwl8k_cmd_set_pre_scan(struct ieee80211_hw *hw) | 2187 | static int mwl8k_cmd_set_pre_scan(struct ieee80211_hw *hw) |
2188 | { | 2188 | { |
@@ -2209,7 +2209,7 @@ struct mwl8k_cmd_set_post_scan { | |||
2209 | struct mwl8k_cmd_pkt header; | 2209 | struct mwl8k_cmd_pkt header; |
2210 | __le32 isibss; | 2210 | __le32 isibss; |
2211 | __u8 bssid[ETH_ALEN]; | 2211 | __u8 bssid[ETH_ALEN]; |
2212 | } __attribute__((packed)); | 2212 | } __packed; |
2213 | 2213 | ||
2214 | static int | 2214 | static int |
2215 | mwl8k_cmd_set_post_scan(struct ieee80211_hw *hw, const __u8 *mac) | 2215 | mwl8k_cmd_set_post_scan(struct ieee80211_hw *hw, const __u8 *mac) |
@@ -2240,7 +2240,7 @@ struct mwl8k_cmd_set_rf_channel { | |||
2240 | __le16 action; | 2240 | __le16 action; |
2241 | __u8 current_channel; | 2241 | __u8 current_channel; |
2242 | __le32 channel_flags; | 2242 | __le32 channel_flags; |
2243 | } __attribute__((packed)); | 2243 | } __packed; |
2244 | 2244 | ||
2245 | static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw, | 2245 | static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw, |
2246 | struct ieee80211_conf *conf) | 2246 | struct ieee80211_conf *conf) |
@@ -2293,7 +2293,7 @@ struct mwl8k_cmd_update_set_aid { | |||
2293 | __u8 bssid[ETH_ALEN]; | 2293 | __u8 bssid[ETH_ALEN]; |
2294 | __le16 protection_mode; | 2294 | __le16 protection_mode; |
2295 | __u8 supp_rates[14]; | 2295 | __u8 supp_rates[14]; |
2296 | } __attribute__((packed)); | 2296 | } __packed; |
2297 | 2297 | ||
2298 | static void legacy_rate_mask_to_array(u8 *rates, u32 mask) | 2298 | static void legacy_rate_mask_to_array(u8 *rates, u32 mask) |
2299 | { | 2299 | { |
@@ -2364,7 +2364,7 @@ struct mwl8k_cmd_set_rate { | |||
2364 | /* Bitmap for supported MCS codes. */ | 2364 | /* Bitmap for supported MCS codes. */ |
2365 | __u8 mcs_set[16]; | 2365 | __u8 mcs_set[16]; |
2366 | __u8 reserved[16]; | 2366 | __u8 reserved[16]; |
2367 | } __attribute__((packed)); | 2367 | } __packed; |
2368 | 2368 | ||
2369 | static int | 2369 | static int |
2370 | mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | 2370 | mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif, |
@@ -2397,7 +2397,7 @@ struct mwl8k_cmd_finalize_join { | |||
2397 | struct mwl8k_cmd_pkt header; | 2397 | struct mwl8k_cmd_pkt header; |
2398 | __le32 sleep_interval; /* Number of beacon periods to sleep */ | 2398 | __le32 sleep_interval; /* Number of beacon periods to sleep */ |
2399 | __u8 beacon_data[MWL8K_FJ_BEACON_MAXLEN]; | 2399 | __u8 beacon_data[MWL8K_FJ_BEACON_MAXLEN]; |
2400 | } __attribute__((packed)); | 2400 | } __packed; |
2401 | 2401 | ||
2402 | static int mwl8k_cmd_finalize_join(struct ieee80211_hw *hw, void *frame, | 2402 | static int mwl8k_cmd_finalize_join(struct ieee80211_hw *hw, void *frame, |
2403 | int framelen, int dtim) | 2403 | int framelen, int dtim) |
@@ -2436,7 +2436,7 @@ struct mwl8k_cmd_set_rts_threshold { | |||
2436 | struct mwl8k_cmd_pkt header; | 2436 | struct mwl8k_cmd_pkt header; |
2437 | __le16 action; | 2437 | __le16 action; |
2438 | __le16 threshold; | 2438 | __le16 threshold; |
2439 | } __attribute__((packed)); | 2439 | } __packed; |
2440 | 2440 | ||
2441 | static int | 2441 | static int |
2442 | mwl8k_cmd_set_rts_threshold(struct ieee80211_hw *hw, int rts_thresh) | 2442 | mwl8k_cmd_set_rts_threshold(struct ieee80211_hw *hw, int rts_thresh) |
@@ -2466,7 +2466,7 @@ struct mwl8k_cmd_set_slot { | |||
2466 | struct mwl8k_cmd_pkt header; | 2466 | struct mwl8k_cmd_pkt header; |
2467 | __le16 action; | 2467 | __le16 action; |
2468 | __u8 short_slot; | 2468 | __u8 short_slot; |
2469 | } __attribute__((packed)); | 2469 | } __packed; |
2470 | 2470 | ||
2471 | static int mwl8k_cmd_set_slot(struct ieee80211_hw *hw, bool short_slot_time) | 2471 | static int mwl8k_cmd_set_slot(struct ieee80211_hw *hw, bool short_slot_time) |
2472 | { | 2472 | { |
@@ -2528,7 +2528,7 @@ struct mwl8k_cmd_set_edca_params { | |||
2528 | __u8 txq; | 2528 | __u8 txq; |
2529 | } sta; | 2529 | } sta; |
2530 | }; | 2530 | }; |
2531 | } __attribute__((packed)); | 2531 | } __packed; |
2532 | 2532 | ||
2533 | #define MWL8K_SET_EDCA_CW 0x01 | 2533 | #define MWL8K_SET_EDCA_CW 0x01 |
2534 | #define MWL8K_SET_EDCA_TXOP 0x02 | 2534 | #define MWL8K_SET_EDCA_TXOP 0x02 |
@@ -2579,7 +2579,7 @@ mwl8k_cmd_set_edca_params(struct ieee80211_hw *hw, __u8 qnum, | |||
2579 | struct mwl8k_cmd_set_wmm_mode { | 2579 | struct mwl8k_cmd_set_wmm_mode { |
2580 | struct mwl8k_cmd_pkt header; | 2580 | struct mwl8k_cmd_pkt header; |
2581 | __le16 action; | 2581 | __le16 action; |
2582 | } __attribute__((packed)); | 2582 | } __packed; |
2583 | 2583 | ||
2584 | static int mwl8k_cmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable) | 2584 | static int mwl8k_cmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable) |
2585 | { | 2585 | { |
@@ -2612,7 +2612,7 @@ struct mwl8k_cmd_mimo_config { | |||
2612 | __le32 action; | 2612 | __le32 action; |
2613 | __u8 rx_antenna_map; | 2613 | __u8 rx_antenna_map; |
2614 | __u8 tx_antenna_map; | 2614 | __u8 tx_antenna_map; |
2615 | } __attribute__((packed)); | 2615 | } __packed; |
2616 | 2616 | ||
2617 | static int mwl8k_cmd_mimo_config(struct ieee80211_hw *hw, __u8 rx, __u8 tx) | 2617 | static int mwl8k_cmd_mimo_config(struct ieee80211_hw *hw, __u8 rx, __u8 tx) |
2618 | { | 2618 | { |
@@ -2652,7 +2652,7 @@ struct mwl8k_cmd_use_fixed_rate_sta { | |||
2652 | __le32 rate_type; | 2652 | __le32 rate_type; |
2653 | __le32 reserved1; | 2653 | __le32 reserved1; |
2654 | __le32 reserved2; | 2654 | __le32 reserved2; |
2655 | } __attribute__((packed)); | 2655 | } __packed; |
2656 | 2656 | ||
2657 | #define MWL8K_USE_AUTO_RATE 0x0002 | 2657 | #define MWL8K_USE_AUTO_RATE 0x0002 |
2658 | #define MWL8K_UCAST_RATE 0 | 2658 | #define MWL8K_UCAST_RATE 0 |
@@ -2694,7 +2694,7 @@ struct mwl8k_cmd_use_fixed_rate_ap { | |||
2694 | u8 multicast_rate; | 2694 | u8 multicast_rate; |
2695 | u8 multicast_rate_type; | 2695 | u8 multicast_rate_type; |
2696 | u8 management_rate; | 2696 | u8 management_rate; |
2697 | } __attribute__((packed)); | 2697 | } __packed; |
2698 | 2698 | ||
2699 | static int | 2699 | static int |
2700 | mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) | 2700 | mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) |
@@ -2724,7 +2724,7 @@ mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) | |||
2724 | struct mwl8k_cmd_enable_sniffer { | 2724 | struct mwl8k_cmd_enable_sniffer { |
2725 | struct mwl8k_cmd_pkt header; | 2725 | struct mwl8k_cmd_pkt header; |
2726 | __le32 action; | 2726 | __le32 action; |
2727 | } __attribute__((packed)); | 2727 | } __packed; |
2728 | 2728 | ||
2729 | static int mwl8k_cmd_enable_sniffer(struct ieee80211_hw *hw, bool enable) | 2729 | static int mwl8k_cmd_enable_sniffer(struct ieee80211_hw *hw, bool enable) |
2730 | { | 2730 | { |
@@ -2757,7 +2757,7 @@ struct mwl8k_cmd_set_mac_addr { | |||
2757 | } mbss; | 2757 | } mbss; |
2758 | __u8 mac_addr[ETH_ALEN]; | 2758 | __u8 mac_addr[ETH_ALEN]; |
2759 | }; | 2759 | }; |
2760 | } __attribute__((packed)); | 2760 | } __packed; |
2761 | 2761 | ||
2762 | #define MWL8K_MAC_TYPE_PRIMARY_CLIENT 0 | 2762 | #define MWL8K_MAC_TYPE_PRIMARY_CLIENT 0 |
2763 | #define MWL8K_MAC_TYPE_SECONDARY_CLIENT 1 | 2763 | #define MWL8K_MAC_TYPE_SECONDARY_CLIENT 1 |
@@ -2812,7 +2812,7 @@ struct mwl8k_cmd_set_rate_adapt_mode { | |||
2812 | struct mwl8k_cmd_pkt header; | 2812 | struct mwl8k_cmd_pkt header; |
2813 | __le16 action; | 2813 | __le16 action; |
2814 | __le16 mode; | 2814 | __le16 mode; |
2815 | } __attribute__((packed)); | 2815 | } __packed; |
2816 | 2816 | ||
2817 | static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) | 2817 | static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) |
2818 | { | 2818 | { |
@@ -2840,7 +2840,7 @@ static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) | |||
2840 | struct mwl8k_cmd_bss_start { | 2840 | struct mwl8k_cmd_bss_start { |
2841 | struct mwl8k_cmd_pkt header; | 2841 | struct mwl8k_cmd_pkt header; |
2842 | __le32 enable; | 2842 | __le32 enable; |
2843 | } __attribute__((packed)); | 2843 | } __packed; |
2844 | 2844 | ||
2845 | static int mwl8k_cmd_bss_start(struct ieee80211_hw *hw, | 2845 | static int mwl8k_cmd_bss_start(struct ieee80211_hw *hw, |
2846 | struct ieee80211_vif *vif, int enable) | 2846 | struct ieee80211_vif *vif, int enable) |
@@ -2885,7 +2885,7 @@ struct mwl8k_cmd_set_new_stn { | |||
2885 | __u8 add_qos_info; | 2885 | __u8 add_qos_info; |
2886 | __u8 is_qos_sta; | 2886 | __u8 is_qos_sta; |
2887 | __le32 fw_sta_ptr; | 2887 | __le32 fw_sta_ptr; |
2888 | } __attribute__((packed)); | 2888 | } __packed; |
2889 | 2889 | ||
2890 | #define MWL8K_STA_ACTION_ADD 0 | 2890 | #define MWL8K_STA_ACTION_ADD 0 |
2891 | #define MWL8K_STA_ACTION_REMOVE 2 | 2891 | #define MWL8K_STA_ACTION_REMOVE 2 |
@@ -2978,7 +2978,7 @@ struct ewc_ht_info { | |||
2978 | __le16 control1; | 2978 | __le16 control1; |
2979 | __le16 control2; | 2979 | __le16 control2; |
2980 | __le16 control3; | 2980 | __le16 control3; |
2981 | } __attribute__((packed)); | 2981 | } __packed; |
2982 | 2982 | ||
2983 | struct peer_capability_info { | 2983 | struct peer_capability_info { |
2984 | /* Peer type - AP vs. STA. */ | 2984 | /* Peer type - AP vs. STA. */ |
@@ -3007,7 +3007,7 @@ struct peer_capability_info { | |||
3007 | __u8 pad2; | 3007 | __u8 pad2; |
3008 | __u8 station_id; | 3008 | __u8 station_id; |
3009 | __le16 amsdu_enabled; | 3009 | __le16 amsdu_enabled; |
3010 | } __attribute__((packed)); | 3010 | } __packed; |
3011 | 3011 | ||
3012 | struct mwl8k_cmd_update_stadb { | 3012 | struct mwl8k_cmd_update_stadb { |
3013 | struct mwl8k_cmd_pkt header; | 3013 | struct mwl8k_cmd_pkt header; |
@@ -3022,7 +3022,7 @@ struct mwl8k_cmd_update_stadb { | |||
3022 | 3022 | ||
3023 | /* Peer info - valid during add/update. */ | 3023 | /* Peer info - valid during add/update. */ |
3024 | struct peer_capability_info peer_info; | 3024 | struct peer_capability_info peer_info; |
3025 | } __attribute__((packed)); | 3025 | } __packed; |
3026 | 3026 | ||
3027 | #define MWL8K_STA_DB_MODIFY_ENTRY 1 | 3027 | #define MWL8K_STA_DB_MODIFY_ENTRY 1 |
3028 | #define MWL8K_STA_DB_DEL_ENTRY 2 | 3028 | #define MWL8K_STA_DB_DEL_ENTRY 2 |
diff --git a/drivers/net/wireless/orinoco/fw.c b/drivers/net/wireless/orinoco/fw.c index 3e1947d097ca..259d75853984 100644 --- a/drivers/net/wireless/orinoco/fw.c +++ b/drivers/net/wireless/orinoco/fw.c | |||
@@ -49,7 +49,7 @@ struct orinoco_fw_header { | |||
49 | __le32 pri_offset; /* Offset to primary plug data */ | 49 | __le32 pri_offset; /* Offset to primary plug data */ |
50 | __le32 compat_offset; /* Offset to compatibility data*/ | 50 | __le32 compat_offset; /* Offset to compatibility data*/ |
51 | char signature[0]; /* FW signature length headersize-20 */ | 51 | char signature[0]; /* FW signature length headersize-20 */ |
52 | } __attribute__ ((packed)); | 52 | } __packed; |
53 | 53 | ||
54 | /* Check the range of various header entries. Return a pointer to a | 54 | /* Check the range of various header entries. Return a pointer to a |
55 | * description of the problem, or NULL if everything checks out. */ | 55 | * description of the problem, or NULL if everything checks out. */ |
diff --git a/drivers/net/wireless/orinoco/hermes.h b/drivers/net/wireless/orinoco/hermes.h index 9ca34e722b45..d9f18c11682a 100644 --- a/drivers/net/wireless/orinoco/hermes.h +++ b/drivers/net/wireless/orinoco/hermes.h | |||
@@ -205,7 +205,7 @@ struct hermes_tx_descriptor { | |||
205 | u8 retry_count; | 205 | u8 retry_count; |
206 | u8 tx_rate; | 206 | u8 tx_rate; |
207 | __le16 tx_control; | 207 | __le16 tx_control; |
208 | } __attribute__ ((packed)); | 208 | } __packed; |
209 | 209 | ||
210 | #define HERMES_TXSTAT_RETRYERR (0x0001) | 210 | #define HERMES_TXSTAT_RETRYERR (0x0001) |
211 | #define HERMES_TXSTAT_AGEDERR (0x0002) | 211 | #define HERMES_TXSTAT_AGEDERR (0x0002) |
@@ -254,7 +254,7 @@ struct hermes_tallies_frame { | |||
254 | /* Those last are probably not available in very old firmwares */ | 254 | /* Those last are probably not available in very old firmwares */ |
255 | __le16 RxDiscards_WEPICVError; | 255 | __le16 RxDiscards_WEPICVError; |
256 | __le16 RxDiscards_WEPExcluded; | 256 | __le16 RxDiscards_WEPExcluded; |
257 | } __attribute__ ((packed)); | 257 | } __packed; |
258 | 258 | ||
259 | /* Grabbed from wlan-ng - Thanks Mark... - Jean II | 259 | /* Grabbed from wlan-ng - Thanks Mark... - Jean II |
260 | * This is the result of a scan inquiry command */ | 260 | * This is the result of a scan inquiry command */ |
@@ -271,7 +271,7 @@ struct prism2_scan_apinfo { | |||
271 | u8 rates[10]; /* Bit rate supported */ | 271 | u8 rates[10]; /* Bit rate supported */ |
272 | __le16 proberesp_rate; /* Data rate of the response frame */ | 272 | __le16 proberesp_rate; /* Data rate of the response frame */ |
273 | __le16 atim; /* ATIM window time, Kus (hostscan only) */ | 273 | __le16 atim; /* ATIM window time, Kus (hostscan only) */ |
274 | } __attribute__ ((packed)); | 274 | } __packed; |
275 | 275 | ||
276 | /* Same stuff for the Lucent/Agere card. | 276 | /* Same stuff for the Lucent/Agere card. |
277 | * Thanks to h1kari <h1kari AT dachb0den.com> - Jean II */ | 277 | * Thanks to h1kari <h1kari AT dachb0den.com> - Jean II */ |
@@ -285,7 +285,7 @@ struct agere_scan_apinfo { | |||
285 | /* bits: 0-ess, 1-ibss, 4-privacy [wep] */ | 285 | /* bits: 0-ess, 1-ibss, 4-privacy [wep] */ |
286 | __le16 essid_len; /* ESSID length */ | 286 | __le16 essid_len; /* ESSID length */ |
287 | u8 essid[32]; /* ESSID of the network */ | 287 | u8 essid[32]; /* ESSID of the network */ |
288 | } __attribute__ ((packed)); | 288 | } __packed; |
289 | 289 | ||
290 | /* Moustafa: Scan structure for Symbol cards */ | 290 | /* Moustafa: Scan structure for Symbol cards */ |
291 | struct symbol_scan_apinfo { | 291 | struct symbol_scan_apinfo { |
@@ -303,7 +303,7 @@ struct symbol_scan_apinfo { | |||
303 | __le16 basic_rates; /* Basic rates bitmask */ | 303 | __le16 basic_rates; /* Basic rates bitmask */ |
304 | u8 unknown2[6]; /* Always FF:FF:FF:FF:00:00 */ | 304 | u8 unknown2[6]; /* Always FF:FF:FF:FF:00:00 */ |
305 | u8 unknown3[8]; /* Always 0, appeared in f/w 3.91-68 */ | 305 | u8 unknown3[8]; /* Always 0, appeared in f/w 3.91-68 */ |
306 | } __attribute__ ((packed)); | 306 | } __packed; |
307 | 307 | ||
308 | union hermes_scan_info { | 308 | union hermes_scan_info { |
309 | struct agere_scan_apinfo a; | 309 | struct agere_scan_apinfo a; |
@@ -343,7 +343,7 @@ struct agere_ext_scan_info { | |||
343 | __le16 beacon_interval; | 343 | __le16 beacon_interval; |
344 | __le16 capabilities; | 344 | __le16 capabilities; |
345 | u8 data[0]; | 345 | u8 data[0]; |
346 | } __attribute__ ((packed)); | 346 | } __packed; |
347 | 347 | ||
348 | #define HERMES_LINKSTATUS_NOT_CONNECTED (0x0000) | 348 | #define HERMES_LINKSTATUS_NOT_CONNECTED (0x0000) |
349 | #define HERMES_LINKSTATUS_CONNECTED (0x0001) | 349 | #define HERMES_LINKSTATUS_CONNECTED (0x0001) |
@@ -355,7 +355,7 @@ struct agere_ext_scan_info { | |||
355 | 355 | ||
356 | struct hermes_linkstatus { | 356 | struct hermes_linkstatus { |
357 | __le16 linkstatus; /* Link status */ | 357 | __le16 linkstatus; /* Link status */ |
358 | } __attribute__ ((packed)); | 358 | } __packed; |
359 | 359 | ||
360 | struct hermes_response { | 360 | struct hermes_response { |
361 | u16 status, resp0, resp1, resp2; | 361 | u16 status, resp0, resp1, resp2; |
@@ -365,11 +365,11 @@ struct hermes_response { | |||
365 | struct hermes_idstring { | 365 | struct hermes_idstring { |
366 | __le16 len; | 366 | __le16 len; |
367 | __le16 val[16]; | 367 | __le16 val[16]; |
368 | } __attribute__ ((packed)); | 368 | } __packed; |
369 | 369 | ||
370 | struct hermes_multicast { | 370 | struct hermes_multicast { |
371 | u8 addr[HERMES_MAX_MULTICAST][ETH_ALEN]; | 371 | u8 addr[HERMES_MAX_MULTICAST][ETH_ALEN]; |
372 | } __attribute__ ((packed)); | 372 | } __packed; |
373 | 373 | ||
374 | /* Timeouts */ | 374 | /* Timeouts */ |
375 | #define HERMES_BAP_BUSY_TIMEOUT (10000) /* In iterations of ~1us */ | 375 | #define HERMES_BAP_BUSY_TIMEOUT (10000) /* In iterations of ~1us */ |
diff --git a/drivers/net/wireless/orinoco/hermes_dld.c b/drivers/net/wireless/orinoco/hermes_dld.c index 6da85e75fce0..55741caa2b82 100644 --- a/drivers/net/wireless/orinoco/hermes_dld.c +++ b/drivers/net/wireless/orinoco/hermes_dld.c | |||
@@ -65,7 +65,7 @@ struct dblock { | |||
65 | __le32 addr; /* adapter address where to write the block */ | 65 | __le32 addr; /* adapter address where to write the block */ |
66 | __le16 len; /* length of the data only, in bytes */ | 66 | __le16 len; /* length of the data only, in bytes */ |
67 | char data[0]; /* data to be written */ | 67 | char data[0]; /* data to be written */ |
68 | } __attribute__ ((packed)); | 68 | } __packed; |
69 | 69 | ||
70 | /* | 70 | /* |
71 | * Plug Data References are located in in the image after the last data | 71 | * Plug Data References are located in in the image after the last data |
@@ -77,7 +77,7 @@ struct pdr { | |||
77 | __le32 addr; /* adapter address where to write the data */ | 77 | __le32 addr; /* adapter address where to write the data */ |
78 | __le32 len; /* expected length of the data, in bytes */ | 78 | __le32 len; /* expected length of the data, in bytes */ |
79 | char next[0]; /* next PDR starts here */ | 79 | char next[0]; /* next PDR starts here */ |
80 | } __attribute__ ((packed)); | 80 | } __packed; |
81 | 81 | ||
82 | /* | 82 | /* |
83 | * Plug Data Items are located in the EEPROM read from the adapter by | 83 | * Plug Data Items are located in the EEPROM read from the adapter by |
@@ -88,7 +88,7 @@ struct pdi { | |||
88 | __le16 len; /* length of ID and data, in words */ | 88 | __le16 len; /* length of ID and data, in words */ |
89 | __le16 id; /* record ID */ | 89 | __le16 id; /* record ID */ |
90 | char data[0]; /* plug data */ | 90 | char data[0]; /* plug data */ |
91 | } __attribute__ ((packed)); | 91 | } __packed; |
92 | 92 | ||
93 | /*** FW data block access functions ***/ | 93 | /*** FW data block access functions ***/ |
94 | 94 | ||
@@ -317,7 +317,7 @@ static const struct { \ | |||
317 | __le16 len; \ | 317 | __le16 len; \ |
318 | __le16 id; \ | 318 | __le16 id; \ |
319 | u8 val[length]; \ | 319 | u8 val[length]; \ |
320 | } __attribute__ ((packed)) default_pdr_data_##pid = { \ | 320 | } __packed default_pdr_data_##pid = { \ |
321 | cpu_to_le16((sizeof(default_pdr_data_##pid)/ \ | 321 | cpu_to_le16((sizeof(default_pdr_data_##pid)/ \ |
322 | sizeof(__le16)) - 1), \ | 322 | sizeof(__le16)) - 1), \ |
323 | cpu_to_le16(pid), \ | 323 | cpu_to_le16(pid), \ |
diff --git a/drivers/net/wireless/orinoco/hw.c b/drivers/net/wireless/orinoco/hw.c index 6fbd78850123..077baa86756b 100644 --- a/drivers/net/wireless/orinoco/hw.c +++ b/drivers/net/wireless/orinoco/hw.c | |||
@@ -45,7 +45,7 @@ static const struct { | |||
45 | /* Firmware version encoding */ | 45 | /* Firmware version encoding */ |
46 | struct comp_id { | 46 | struct comp_id { |
47 | u16 id, variant, major, minor; | 47 | u16 id, variant, major, minor; |
48 | } __attribute__ ((packed)); | 48 | } __packed; |
49 | 49 | ||
50 | static inline fwtype_t determine_firmware_type(struct comp_id *nic_id) | 50 | static inline fwtype_t determine_firmware_type(struct comp_id *nic_id) |
51 | { | 51 | { |
@@ -995,7 +995,7 @@ int __orinoco_hw_set_tkip_key(struct orinoco_private *priv, int key_idx, | |||
995 | u8 tx_mic[MIC_KEYLEN]; | 995 | u8 tx_mic[MIC_KEYLEN]; |
996 | u8 rx_mic[MIC_KEYLEN]; | 996 | u8 rx_mic[MIC_KEYLEN]; |
997 | u8 tsc[ORINOCO_SEQ_LEN]; | 997 | u8 tsc[ORINOCO_SEQ_LEN]; |
998 | } __attribute__ ((packed)) buf; | 998 | } __packed buf; |
999 | hermes_t *hw = &priv->hw; | 999 | hermes_t *hw = &priv->hw; |
1000 | int ret; | 1000 | int ret; |
1001 | int err; | 1001 | int err; |
@@ -1326,7 +1326,7 @@ int orinoco_hw_disassociate(struct orinoco_private *priv, | |||
1326 | struct { | 1326 | struct { |
1327 | u8 addr[ETH_ALEN]; | 1327 | u8 addr[ETH_ALEN]; |
1328 | __le16 reason_code; | 1328 | __le16 reason_code; |
1329 | } __attribute__ ((packed)) buf; | 1329 | } __packed buf; |
1330 | 1330 | ||
1331 | /* Currently only supported by WPA enabled Agere fw */ | 1331 | /* Currently only supported by WPA enabled Agere fw */ |
1332 | if (!priv->has_wpa) | 1332 | if (!priv->has_wpa) |
diff --git a/drivers/net/wireless/orinoco/main.c b/drivers/net/wireless/orinoco/main.c index ca71f08709bc..e8e2d0f4763d 100644 --- a/drivers/net/wireless/orinoco/main.c +++ b/drivers/net/wireless/orinoco/main.c | |||
@@ -172,7 +172,7 @@ struct hermes_txexc_data { | |||
172 | __le16 frame_ctl; | 172 | __le16 frame_ctl; |
173 | __le16 duration_id; | 173 | __le16 duration_id; |
174 | u8 addr1[ETH_ALEN]; | 174 | u8 addr1[ETH_ALEN]; |
175 | } __attribute__ ((packed)); | 175 | } __packed; |
176 | 176 | ||
177 | /* Rx frame header except compatibility 802.3 header */ | 177 | /* Rx frame header except compatibility 802.3 header */ |
178 | struct hermes_rx_descriptor { | 178 | struct hermes_rx_descriptor { |
@@ -196,7 +196,7 @@ struct hermes_rx_descriptor { | |||
196 | 196 | ||
197 | /* Data length */ | 197 | /* Data length */ |
198 | __le16 data_len; | 198 | __le16 data_len; |
199 | } __attribute__ ((packed)); | 199 | } __packed; |
200 | 200 | ||
201 | struct orinoco_rx_data { | 201 | struct orinoco_rx_data { |
202 | struct hermes_rx_descriptor *desc; | 202 | struct hermes_rx_descriptor *desc; |
@@ -390,7 +390,7 @@ int orinoco_process_xmit_skb(struct sk_buff *skb, | |||
390 | struct header_struct { | 390 | struct header_struct { |
391 | struct ethhdr eth; /* 802.3 header */ | 391 | struct ethhdr eth; /* 802.3 header */ |
392 | u8 encap[6]; /* 802.2 header */ | 392 | u8 encap[6]; /* 802.2 header */ |
393 | } __attribute__ ((packed)) hdr; | 393 | } __packed hdr; |
394 | int len = skb->len + sizeof(encaps_hdr) - (2 * ETH_ALEN); | 394 | int len = skb->len + sizeof(encaps_hdr) - (2 * ETH_ALEN); |
395 | 395 | ||
396 | if (skb_headroom(skb) < ENCAPS_OVERHEAD) { | 396 | if (skb_headroom(skb) < ENCAPS_OVERHEAD) { |
@@ -1170,7 +1170,7 @@ static void orinoco_join_ap(struct work_struct *work) | |||
1170 | struct join_req { | 1170 | struct join_req { |
1171 | u8 bssid[ETH_ALEN]; | 1171 | u8 bssid[ETH_ALEN]; |
1172 | __le16 channel; | 1172 | __le16 channel; |
1173 | } __attribute__ ((packed)) req; | 1173 | } __packed req; |
1174 | const int atom_len = offsetof(struct prism2_scan_apinfo, atim); | 1174 | const int atom_len = offsetof(struct prism2_scan_apinfo, atim); |
1175 | struct prism2_scan_apinfo *atom = NULL; | 1175 | struct prism2_scan_apinfo *atom = NULL; |
1176 | int offset = 4; | 1176 | int offset = 4; |
@@ -1410,7 +1410,7 @@ void __orinoco_ev_info(struct net_device *dev, hermes_t *hw) | |||
1410 | struct { | 1410 | struct { |
1411 | __le16 len; | 1411 | __le16 len; |
1412 | __le16 type; | 1412 | __le16 type; |
1413 | } __attribute__ ((packed)) info; | 1413 | } __packed info; |
1414 | int len, type; | 1414 | int len, type; |
1415 | int err; | 1415 | int err; |
1416 | 1416 | ||
diff --git a/drivers/net/wireless/orinoco/orinoco.h b/drivers/net/wireless/orinoco/orinoco.h index a6da86e0a70f..255710ef082a 100644 --- a/drivers/net/wireless/orinoco/orinoco.h +++ b/drivers/net/wireless/orinoco/orinoco.h | |||
@@ -32,7 +32,7 @@ | |||
32 | struct orinoco_key { | 32 | struct orinoco_key { |
33 | __le16 len; /* always stored as little-endian */ | 33 | __le16 len; /* always stored as little-endian */ |
34 | char data[ORINOCO_MAX_KEY_SIZE]; | 34 | char data[ORINOCO_MAX_KEY_SIZE]; |
35 | } __attribute__ ((packed)); | 35 | } __packed; |
36 | 36 | ||
37 | #define TKIP_KEYLEN 16 | 37 | #define TKIP_KEYLEN 16 |
38 | #define MIC_KEYLEN 8 | 38 | #define MIC_KEYLEN 8 |
diff --git a/drivers/net/wireless/orinoco/orinoco_usb.c b/drivers/net/wireless/orinoco/orinoco_usb.c index 78f089baa8c9..11536ef17ba3 100644 --- a/drivers/net/wireless/orinoco/orinoco_usb.c +++ b/drivers/net/wireless/orinoco/orinoco_usb.c | |||
@@ -90,7 +90,7 @@ struct header_struct { | |||
90 | /* SNAP */ | 90 | /* SNAP */ |
91 | u8 oui[3]; | 91 | u8 oui[3]; |
92 | __be16 ethertype; | 92 | __be16 ethertype; |
93 | } __attribute__ ((packed)); | 93 | } __packed; |
94 | 94 | ||
95 | struct ez_usb_fw { | 95 | struct ez_usb_fw { |
96 | u16 size; | 96 | u16 size; |
@@ -222,7 +222,7 @@ struct ezusb_packet { | |||
222 | __le16 hermes_len; | 222 | __le16 hermes_len; |
223 | __le16 hermes_rid; | 223 | __le16 hermes_rid; |
224 | u8 data[0]; | 224 | u8 data[0]; |
225 | } __attribute__ ((packed)); | 225 | } __packed; |
226 | 226 | ||
227 | /* Table of devices that work or may work with this driver */ | 227 | /* Table of devices that work or may work with this driver */ |
228 | static struct usb_device_id ezusb_table[] = { | 228 | static struct usb_device_id ezusb_table[] = { |
diff --git a/drivers/net/wireless/orinoco/wext.c b/drivers/net/wireless/orinoco/wext.c index 5775124e2aee..9f86a272cb78 100644 --- a/drivers/net/wireless/orinoco/wext.c +++ b/drivers/net/wireless/orinoco/wext.c | |||
@@ -128,7 +128,7 @@ static struct iw_statistics *orinoco_get_wireless_stats(struct net_device *dev) | |||
128 | } else { | 128 | } else { |
129 | struct { | 129 | struct { |
130 | __le16 qual, signal, noise, unused; | 130 | __le16 qual, signal, noise, unused; |
131 | } __attribute__ ((packed)) cq; | 131 | } __packed cq; |
132 | 132 | ||
133 | err = HERMES_READ_RECORD(hw, USER_BAP, | 133 | err = HERMES_READ_RECORD(hw, USER_BAP, |
134 | HERMES_RID_COMMSQUALITY, &cq); | 134 | HERMES_RID_COMMSQUALITY, &cq); |
diff --git a/drivers/net/wireless/p54/net2280.h b/drivers/net/wireless/p54/net2280.h index 4915d9d54203..e3ed893b5aaf 100644 --- a/drivers/net/wireless/p54/net2280.h +++ b/drivers/net/wireless/p54/net2280.h | |||
@@ -232,7 +232,7 @@ struct net2280_regs { | |||
232 | #define GPIO2_INTERRUPT 2 | 232 | #define GPIO2_INTERRUPT 2 |
233 | #define GPIO1_INTERRUPT 1 | 233 | #define GPIO1_INTERRUPT 1 |
234 | #define GPIO0_INTERRUPT 0 | 234 | #define GPIO0_INTERRUPT 0 |
235 | } __attribute__ ((packed)); | 235 | } __packed; |
236 | 236 | ||
237 | /* usb control, BAR0 + 0x0080 */ | 237 | /* usb control, BAR0 + 0x0080 */ |
238 | struct net2280_usb_regs { | 238 | struct net2280_usb_regs { |
@@ -296,7 +296,7 @@ struct net2280_usb_regs { | |||
296 | #define FORCE_IMMEDIATE 7 | 296 | #define FORCE_IMMEDIATE 7 |
297 | #define OUR_USB_ADDRESS 0 | 297 | #define OUR_USB_ADDRESS 0 |
298 | __le32 ourconfig; | 298 | __le32 ourconfig; |
299 | } __attribute__ ((packed)); | 299 | } __packed; |
300 | 300 | ||
301 | /* pci control, BAR0 + 0x0100 */ | 301 | /* pci control, BAR0 + 0x0100 */ |
302 | struct net2280_pci_regs { | 302 | struct net2280_pci_regs { |
@@ -323,7 +323,7 @@ struct net2280_pci_regs { | |||
323 | #define PCI_ARBITER_CLEAR 2 | 323 | #define PCI_ARBITER_CLEAR 2 |
324 | #define PCI_EXTERNAL_ARBITER 1 | 324 | #define PCI_EXTERNAL_ARBITER 1 |
325 | #define PCI_HOST_MODE 0 | 325 | #define PCI_HOST_MODE 0 |
326 | } __attribute__ ((packed)); | 326 | } __packed; |
327 | 327 | ||
328 | /* dma control, BAR0 + 0x0180 ... array of four structs like this, | 328 | /* dma control, BAR0 + 0x0180 ... array of four structs like this, |
329 | * for channels 0..3. see also struct net2280_dma: descriptor | 329 | * for channels 0..3. see also struct net2280_dma: descriptor |
@@ -364,7 +364,7 @@ struct net2280_dma_regs { /* [11.7] */ | |||
364 | __le32 dmaaddr; | 364 | __le32 dmaaddr; |
365 | __le32 dmadesc; | 365 | __le32 dmadesc; |
366 | u32 _unused1; | 366 | u32 _unused1; |
367 | } __attribute__ ((packed)); | 367 | } __packed; |
368 | 368 | ||
369 | /* dedicated endpoint registers, BAR0 + 0x0200 */ | 369 | /* dedicated endpoint registers, BAR0 + 0x0200 */ |
370 | 370 | ||
@@ -374,7 +374,7 @@ struct net2280_dep_regs { /* [11.8] */ | |||
374 | /* offset 0x0204, 0x0214, 0x224, 0x234, 0x244 */ | 374 | /* offset 0x0204, 0x0214, 0x224, 0x234, 0x244 */ |
375 | __le32 dep_rsp; | 375 | __le32 dep_rsp; |
376 | u32 _unused[2]; | 376 | u32 _unused[2]; |
377 | } __attribute__ ((packed)); | 377 | } __packed; |
378 | 378 | ||
379 | /* configurable endpoint registers, BAR0 + 0x0300 ... array of seven structs | 379 | /* configurable endpoint registers, BAR0 + 0x0300 ... array of seven structs |
380 | * like this, for ep0 then the configurable endpoints A..F | 380 | * like this, for ep0 then the configurable endpoints A..F |
@@ -437,16 +437,16 @@ struct net2280_ep_regs { /* [11.9] */ | |||
437 | __le32 ep_avail; | 437 | __le32 ep_avail; |
438 | __le32 ep_data; | 438 | __le32 ep_data; |
439 | u32 _unused0[2]; | 439 | u32 _unused0[2]; |
440 | } __attribute__ ((packed)); | 440 | } __packed; |
441 | 441 | ||
442 | struct net2280_reg_write { | 442 | struct net2280_reg_write { |
443 | __le16 port; | 443 | __le16 port; |
444 | __le32 addr; | 444 | __le32 addr; |
445 | __le32 val; | 445 | __le32 val; |
446 | } __attribute__ ((packed)); | 446 | } __packed; |
447 | 447 | ||
448 | struct net2280_reg_read { | 448 | struct net2280_reg_read { |
449 | __le16 port; | 449 | __le16 port; |
450 | __le32 addr; | 450 | __le32 addr; |
451 | } __attribute__ ((packed)); | 451 | } __packed; |
452 | #endif /* NET2280_H */ | 452 | #endif /* NET2280_H */ |
diff --git a/drivers/net/wireless/p54/p54pci.h b/drivers/net/wireless/p54/p54pci.h index 2feead617a3b..ee9bc62a4fa2 100644 --- a/drivers/net/wireless/p54/p54pci.h +++ b/drivers/net/wireless/p54/p54pci.h | |||
@@ -65,7 +65,7 @@ struct p54p_csr { | |||
65 | u8 unused_6[1924]; | 65 | u8 unused_6[1924]; |
66 | u8 cardbus_cis[0x800]; | 66 | u8 cardbus_cis[0x800]; |
67 | u8 direct_mem_win[0x1000]; | 67 | u8 direct_mem_win[0x1000]; |
68 | } __attribute__ ((packed)); | 68 | } __packed; |
69 | 69 | ||
70 | /* usb backend only needs the register defines above */ | 70 | /* usb backend only needs the register defines above */ |
71 | #ifndef P54USB_H | 71 | #ifndef P54USB_H |
@@ -74,7 +74,7 @@ struct p54p_desc { | |||
74 | __le32 device_addr; | 74 | __le32 device_addr; |
75 | __le16 len; | 75 | __le16 len; |
76 | __le16 flags; | 76 | __le16 flags; |
77 | } __attribute__ ((packed)); | 77 | } __packed; |
78 | 78 | ||
79 | struct p54p_ring_control { | 79 | struct p54p_ring_control { |
80 | __le32 host_idx[4]; | 80 | __le32 host_idx[4]; |
@@ -83,7 +83,7 @@ struct p54p_ring_control { | |||
83 | struct p54p_desc tx_data[32]; | 83 | struct p54p_desc tx_data[32]; |
84 | struct p54p_desc rx_mgmt[4]; | 84 | struct p54p_desc rx_mgmt[4]; |
85 | struct p54p_desc tx_mgmt[4]; | 85 | struct p54p_desc tx_mgmt[4]; |
86 | } __attribute__ ((packed)); | 86 | } __packed; |
87 | 87 | ||
88 | #define P54P_READ(r) (__force __le32)__raw_readl(&priv->map->r) | 88 | #define P54P_READ(r) (__force __le32)__raw_readl(&priv->map->r) |
89 | #define P54P_WRITE(r, val) __raw_writel((__force u32)(__le32)(val), &priv->map->r) | 89 | #define P54P_WRITE(r, val) __raw_writel((__force u32)(__le32)(val), &priv->map->r) |
diff --git a/drivers/net/wireless/p54/p54spi.h b/drivers/net/wireless/p54/p54spi.h index 7fbe8d8fc67c..dfaa62aaeb07 100644 --- a/drivers/net/wireless/p54/p54spi.h +++ b/drivers/net/wireless/p54/p54spi.h | |||
@@ -96,7 +96,7 @@ struct p54s_dma_regs { | |||
96 | __le16 cmd; | 96 | __le16 cmd; |
97 | __le16 len; | 97 | __le16 len; |
98 | __le32 addr; | 98 | __le32 addr; |
99 | } __attribute__ ((packed)); | 99 | } __packed; |
100 | 100 | ||
101 | struct p54s_tx_info { | 101 | struct p54s_tx_info { |
102 | struct list_head tx_list; | 102 | struct list_head tx_list; |
diff --git a/drivers/net/wireless/p54/p54usb.h b/drivers/net/wireless/p54/p54usb.h index e935b79f7f75..ed4034ade59a 100644 --- a/drivers/net/wireless/p54/p54usb.h +++ b/drivers/net/wireless/p54/p54usb.h | |||
@@ -70,12 +70,12 @@ struct net2280_tx_hdr { | |||
70 | __le16 len; | 70 | __le16 len; |
71 | __le16 follower; /* ? */ | 71 | __le16 follower; /* ? */ |
72 | u8 padding[8]; | 72 | u8 padding[8]; |
73 | } __attribute__((packed)); | 73 | } __packed; |
74 | 74 | ||
75 | struct lm87_tx_hdr { | 75 | struct lm87_tx_hdr { |
76 | __le32 device_addr; | 76 | __le32 device_addr; |
77 | __le32 chksum; | 77 | __le32 chksum; |
78 | } __attribute__((packed)); | 78 | } __packed; |
79 | 79 | ||
80 | /* Some flags for the isl hardware registers controlling DMA inside the | 80 | /* Some flags for the isl hardware registers controlling DMA inside the |
81 | * chip */ | 81 | * chip */ |
@@ -103,7 +103,7 @@ struct x2_header { | |||
103 | __le32 fw_load_addr; | 103 | __le32 fw_load_addr; |
104 | __le32 fw_length; | 104 | __le32 fw_length; |
105 | __le32 crc; | 105 | __le32 crc; |
106 | } __attribute__((packed)); | 106 | } __packed; |
107 | 107 | ||
108 | /* pipes 3 and 4 are not used by the driver */ | 108 | /* pipes 3 and 4 are not used by the driver */ |
109 | #define P54U_PIPE_NUMBER 9 | 109 | #define P54U_PIPE_NUMBER 9 |
diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c index 8d1190c0f062..13730a807002 100644 --- a/drivers/net/wireless/prism54/isl_ioctl.c +++ b/drivers/net/wireless/prism54/isl_ioctl.c | |||
@@ -2101,7 +2101,7 @@ struct ieee80211_beacon_phdr { | |||
2101 | u8 timestamp[8]; | 2101 | u8 timestamp[8]; |
2102 | u16 beacon_int; | 2102 | u16 beacon_int; |
2103 | u16 capab_info; | 2103 | u16 capab_info; |
2104 | } __attribute__ ((packed)); | 2104 | } __packed; |
2105 | 2105 | ||
2106 | #define WLAN_EID_GENERIC 0xdd | 2106 | #define WLAN_EID_GENERIC 0xdd |
2107 | static u8 wpa_oid[4] = { 0x00, 0x50, 0xf2, 1 }; | 2107 | static u8 wpa_oid[4] = { 0x00, 0x50, 0xf2, 1 }; |
diff --git a/drivers/net/wireless/prism54/isl_oid.h b/drivers/net/wireless/prism54/isl_oid.h index b7534c2869c8..59e31258d450 100644 --- a/drivers/net/wireless/prism54/isl_oid.h +++ b/drivers/net/wireless/prism54/isl_oid.h | |||
@@ -29,20 +29,20 @@ | |||
29 | struct obj_ssid { | 29 | struct obj_ssid { |
30 | u8 length; | 30 | u8 length; |
31 | char octets[33]; | 31 | char octets[33]; |
32 | } __attribute__ ((packed)); | 32 | } __packed; |
33 | 33 | ||
34 | struct obj_key { | 34 | struct obj_key { |
35 | u8 type; /* dot11_priv_t */ | 35 | u8 type; /* dot11_priv_t */ |
36 | u8 length; | 36 | u8 length; |
37 | char key[32]; | 37 | char key[32]; |
38 | } __attribute__ ((packed)); | 38 | } __packed; |
39 | 39 | ||
40 | struct obj_mlme { | 40 | struct obj_mlme { |
41 | u8 address[6]; | 41 | u8 address[6]; |
42 | u16 id; | 42 | u16 id; |
43 | u16 state; | 43 | u16 state; |
44 | u16 code; | 44 | u16 code; |
45 | } __attribute__ ((packed)); | 45 | } __packed; |
46 | 46 | ||
47 | struct obj_mlmeex { | 47 | struct obj_mlmeex { |
48 | u8 address[6]; | 48 | u8 address[6]; |
@@ -51,12 +51,12 @@ struct obj_mlmeex { | |||
51 | u16 code; | 51 | u16 code; |
52 | u16 size; | 52 | u16 size; |
53 | u8 data[0]; | 53 | u8 data[0]; |
54 | } __attribute__ ((packed)); | 54 | } __packed; |
55 | 55 | ||
56 | struct obj_buffer { | 56 | struct obj_buffer { |
57 | u32 size; | 57 | u32 size; |
58 | u32 addr; /* 32bit bus address */ | 58 | u32 addr; /* 32bit bus address */ |
59 | } __attribute__ ((packed)); | 59 | } __packed; |
60 | 60 | ||
61 | struct obj_bss { | 61 | struct obj_bss { |
62 | u8 address[6]; | 62 | u8 address[6]; |
@@ -77,17 +77,17 @@ struct obj_bss { | |||
77 | short rates; | 77 | short rates; |
78 | short basic_rates; | 78 | short basic_rates; |
79 | int:16; /* padding */ | 79 | int:16; /* padding */ |
80 | } __attribute__ ((packed)); | 80 | } __packed; |
81 | 81 | ||
82 | struct obj_bsslist { | 82 | struct obj_bsslist { |
83 | u32 nr; | 83 | u32 nr; |
84 | struct obj_bss bsslist[0]; | 84 | struct obj_bss bsslist[0]; |
85 | } __attribute__ ((packed)); | 85 | } __packed; |
86 | 86 | ||
87 | struct obj_frequencies { | 87 | struct obj_frequencies { |
88 | u16 nr; | 88 | u16 nr; |
89 | u16 mhz[0]; | 89 | u16 mhz[0]; |
90 | } __attribute__ ((packed)); | 90 | } __packed; |
91 | 91 | ||
92 | struct obj_attachment { | 92 | struct obj_attachment { |
93 | char type; | 93 | char type; |
@@ -95,7 +95,7 @@ struct obj_attachment { | |||
95 | short id; | 95 | short id; |
96 | short size; | 96 | short size; |
97 | char data[0]; | 97 | char data[0]; |
98 | } __attribute__((packed)); | 98 | } __packed; |
99 | 99 | ||
100 | /* | 100 | /* |
101 | * in case everything's ok, the inlined function below will be | 101 | * in case everything's ok, the inlined function below will be |
diff --git a/drivers/net/wireless/prism54/islpci_eth.h b/drivers/net/wireless/prism54/islpci_eth.h index 54f9a4b7bf9b..6ca30a5b7bfb 100644 --- a/drivers/net/wireless/prism54/islpci_eth.h +++ b/drivers/net/wireless/prism54/islpci_eth.h | |||
@@ -34,13 +34,13 @@ struct rfmon_header { | |||
34 | __le16 unk3; | 34 | __le16 unk3; |
35 | u8 rssi; | 35 | u8 rssi; |
36 | u8 padding[3]; | 36 | u8 padding[3]; |
37 | } __attribute__ ((packed)); | 37 | } __packed; |
38 | 38 | ||
39 | struct rx_annex_header { | 39 | struct rx_annex_header { |
40 | u8 addr1[ETH_ALEN]; | 40 | u8 addr1[ETH_ALEN]; |
41 | u8 addr2[ETH_ALEN]; | 41 | u8 addr2[ETH_ALEN]; |
42 | struct rfmon_header rfmon; | 42 | struct rfmon_header rfmon; |
43 | } __attribute__ ((packed)); | 43 | } __packed; |
44 | 44 | ||
45 | /* wlan-ng (and hopefully others) AVS header, version one. Fields in | 45 | /* wlan-ng (and hopefully others) AVS header, version one. Fields in |
46 | * network byte order. */ | 46 | * network byte order. */ |
diff --git a/drivers/net/wireless/prism54/islpci_mgt.h b/drivers/net/wireless/prism54/islpci_mgt.h index 0b27e50fe0d5..0db93db9b675 100644 --- a/drivers/net/wireless/prism54/islpci_mgt.h +++ b/drivers/net/wireless/prism54/islpci_mgt.h | |||
@@ -101,7 +101,7 @@ typedef struct { | |||
101 | u8 device_id; | 101 | u8 device_id; |
102 | u8 flags; | 102 | u8 flags; |
103 | u32 length; | 103 | u32 length; |
104 | } __attribute__ ((packed)) | 104 | } __packed |
105 | pimfor_header_t; | 105 | pimfor_header_t; |
106 | 106 | ||
107 | /* A received and interrupt-processed management frame, either for | 107 | /* A received and interrupt-processed management frame, either for |
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index 4bd61ee627c0..989b0561c01b 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c | |||
@@ -238,19 +238,19 @@ struct ndis_80211_auth_request { | |||
238 | u8 bssid[6]; | 238 | u8 bssid[6]; |
239 | u8 padding[2]; | 239 | u8 padding[2]; |
240 | __le32 flags; | 240 | __le32 flags; |
241 | } __attribute__((packed)); | 241 | } __packed; |
242 | 242 | ||
243 | struct ndis_80211_pmkid_candidate { | 243 | struct ndis_80211_pmkid_candidate { |
244 | u8 bssid[6]; | 244 | u8 bssid[6]; |
245 | u8 padding[2]; | 245 | u8 padding[2]; |
246 | __le32 flags; | 246 | __le32 flags; |
247 | } __attribute__((packed)); | 247 | } __packed; |
248 | 248 | ||
249 | struct ndis_80211_pmkid_cand_list { | 249 | struct ndis_80211_pmkid_cand_list { |
250 | __le32 version; | 250 | __le32 version; |
251 | __le32 num_candidates; | 251 | __le32 num_candidates; |
252 | struct ndis_80211_pmkid_candidate candidate_list[0]; | 252 | struct ndis_80211_pmkid_candidate candidate_list[0]; |
253 | } __attribute__((packed)); | 253 | } __packed; |
254 | 254 | ||
255 | struct ndis_80211_status_indication { | 255 | struct ndis_80211_status_indication { |
256 | __le32 status_type; | 256 | __le32 status_type; |
@@ -260,19 +260,19 @@ struct ndis_80211_status_indication { | |||
260 | struct ndis_80211_auth_request auth_request[0]; | 260 | struct ndis_80211_auth_request auth_request[0]; |
261 | struct ndis_80211_pmkid_cand_list cand_list; | 261 | struct ndis_80211_pmkid_cand_list cand_list; |
262 | } u; | 262 | } u; |
263 | } __attribute__((packed)); | 263 | } __packed; |
264 | 264 | ||
265 | struct ndis_80211_ssid { | 265 | struct ndis_80211_ssid { |
266 | __le32 length; | 266 | __le32 length; |
267 | u8 essid[NDIS_802_11_LENGTH_SSID]; | 267 | u8 essid[NDIS_802_11_LENGTH_SSID]; |
268 | } __attribute__((packed)); | 268 | } __packed; |
269 | 269 | ||
270 | struct ndis_80211_conf_freq_hop { | 270 | struct ndis_80211_conf_freq_hop { |
271 | __le32 length; | 271 | __le32 length; |
272 | __le32 hop_pattern; | 272 | __le32 hop_pattern; |
273 | __le32 hop_set; | 273 | __le32 hop_set; |
274 | __le32 dwell_time; | 274 | __le32 dwell_time; |
275 | } __attribute__((packed)); | 275 | } __packed; |
276 | 276 | ||
277 | struct ndis_80211_conf { | 277 | struct ndis_80211_conf { |
278 | __le32 length; | 278 | __le32 length; |
@@ -280,7 +280,7 @@ struct ndis_80211_conf { | |||
280 | __le32 atim_window; | 280 | __le32 atim_window; |
281 | __le32 ds_config; | 281 | __le32 ds_config; |
282 | struct ndis_80211_conf_freq_hop fh_config; | 282 | struct ndis_80211_conf_freq_hop fh_config; |
283 | } __attribute__((packed)); | 283 | } __packed; |
284 | 284 | ||
285 | struct ndis_80211_bssid_ex { | 285 | struct ndis_80211_bssid_ex { |
286 | __le32 length; | 286 | __le32 length; |
@@ -295,25 +295,25 @@ struct ndis_80211_bssid_ex { | |||
295 | u8 rates[NDIS_802_11_LENGTH_RATES_EX]; | 295 | u8 rates[NDIS_802_11_LENGTH_RATES_EX]; |
296 | __le32 ie_length; | 296 | __le32 ie_length; |
297 | u8 ies[0]; | 297 | u8 ies[0]; |
298 | } __attribute__((packed)); | 298 | } __packed; |
299 | 299 | ||
300 | struct ndis_80211_bssid_list_ex { | 300 | struct ndis_80211_bssid_list_ex { |
301 | __le32 num_items; | 301 | __le32 num_items; |
302 | struct ndis_80211_bssid_ex bssid[0]; | 302 | struct ndis_80211_bssid_ex bssid[0]; |
303 | } __attribute__((packed)); | 303 | } __packed; |
304 | 304 | ||
305 | struct ndis_80211_fixed_ies { | 305 | struct ndis_80211_fixed_ies { |
306 | u8 timestamp[8]; | 306 | u8 timestamp[8]; |
307 | __le16 beacon_interval; | 307 | __le16 beacon_interval; |
308 | __le16 capabilities; | 308 | __le16 capabilities; |
309 | } __attribute__((packed)); | 309 | } __packed; |
310 | 310 | ||
311 | struct ndis_80211_wep_key { | 311 | struct ndis_80211_wep_key { |
312 | __le32 size; | 312 | __le32 size; |
313 | __le32 index; | 313 | __le32 index; |
314 | __le32 length; | 314 | __le32 length; |
315 | u8 material[32]; | 315 | u8 material[32]; |
316 | } __attribute__((packed)); | 316 | } __packed; |
317 | 317 | ||
318 | struct ndis_80211_key { | 318 | struct ndis_80211_key { |
319 | __le32 size; | 319 | __le32 size; |
@@ -323,14 +323,14 @@ struct ndis_80211_key { | |||
323 | u8 padding[6]; | 323 | u8 padding[6]; |
324 | u8 rsc[8]; | 324 | u8 rsc[8]; |
325 | u8 material[32]; | 325 | u8 material[32]; |
326 | } __attribute__((packed)); | 326 | } __packed; |
327 | 327 | ||
328 | struct ndis_80211_remove_key { | 328 | struct ndis_80211_remove_key { |
329 | __le32 size; | 329 | __le32 size; |
330 | __le32 index; | 330 | __le32 index; |
331 | u8 bssid[6]; | 331 | u8 bssid[6]; |
332 | u8 padding[2]; | 332 | u8 padding[2]; |
333 | } __attribute__((packed)); | 333 | } __packed; |
334 | 334 | ||
335 | struct ndis_config_param { | 335 | struct ndis_config_param { |
336 | __le32 name_offs; | 336 | __le32 name_offs; |
@@ -338,7 +338,7 @@ struct ndis_config_param { | |||
338 | __le32 type; | 338 | __le32 type; |
339 | __le32 value_offs; | 339 | __le32 value_offs; |
340 | __le32 value_length; | 340 | __le32 value_length; |
341 | } __attribute__((packed)); | 341 | } __packed; |
342 | 342 | ||
343 | struct ndis_80211_assoc_info { | 343 | struct ndis_80211_assoc_info { |
344 | __le32 length; | 344 | __le32 length; |
@@ -358,12 +358,12 @@ struct ndis_80211_assoc_info { | |||
358 | } resp_ie; | 358 | } resp_ie; |
359 | __le32 resp_ie_length; | 359 | __le32 resp_ie_length; |
360 | __le32 offset_resp_ies; | 360 | __le32 offset_resp_ies; |
361 | } __attribute__((packed)); | 361 | } __packed; |
362 | 362 | ||
363 | struct ndis_80211_auth_encr_pair { | 363 | struct ndis_80211_auth_encr_pair { |
364 | __le32 auth_mode; | 364 | __le32 auth_mode; |
365 | __le32 encr_mode; | 365 | __le32 encr_mode; |
366 | } __attribute__((packed)); | 366 | } __packed; |
367 | 367 | ||
368 | struct ndis_80211_capability { | 368 | struct ndis_80211_capability { |
369 | __le32 length; | 369 | __le32 length; |
@@ -371,7 +371,7 @@ struct ndis_80211_capability { | |||
371 | __le32 num_pmkids; | 371 | __le32 num_pmkids; |
372 | __le32 num_auth_encr_pair; | 372 | __le32 num_auth_encr_pair; |
373 | struct ndis_80211_auth_encr_pair auth_encr_pair[0]; | 373 | struct ndis_80211_auth_encr_pair auth_encr_pair[0]; |
374 | } __attribute__((packed)); | 374 | } __packed; |
375 | 375 | ||
376 | struct ndis_80211_bssid_info { | 376 | struct ndis_80211_bssid_info { |
377 | u8 bssid[6]; | 377 | u8 bssid[6]; |
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h index 2aa03751c341..0b17934cf6a9 100644 --- a/drivers/net/wireless/rt2x00/rt2800.h +++ b/drivers/net/wireless/rt2x00/rt2800.h | |||
@@ -1370,17 +1370,17 @@ | |||
1370 | struct mac_wcid_entry { | 1370 | struct mac_wcid_entry { |
1371 | u8 mac[6]; | 1371 | u8 mac[6]; |
1372 | u8 reserved[2]; | 1372 | u8 reserved[2]; |
1373 | } __attribute__ ((packed)); | 1373 | } __packed; |
1374 | 1374 | ||
1375 | struct hw_key_entry { | 1375 | struct hw_key_entry { |
1376 | u8 key[16]; | 1376 | u8 key[16]; |
1377 | u8 tx_mic[8]; | 1377 | u8 tx_mic[8]; |
1378 | u8 rx_mic[8]; | 1378 | u8 rx_mic[8]; |
1379 | } __attribute__ ((packed)); | 1379 | } __packed; |
1380 | 1380 | ||
1381 | struct mac_iveiv_entry { | 1381 | struct mac_iveiv_entry { |
1382 | u8 iv[8]; | 1382 | u8 iv[8]; |
1383 | } __attribute__ ((packed)); | 1383 | } __packed; |
1384 | 1384 | ||
1385 | /* | 1385 | /* |
1386 | * MAC_WCID_ATTRIBUTE: | 1386 | * MAC_WCID_ATTRIBUTE: |
diff --git a/drivers/net/wireless/rt2x00/rt61pci.h b/drivers/net/wireless/rt2x00/rt61pci.h index df80f1af22a4..e2e728ab0b2e 100644 --- a/drivers/net/wireless/rt2x00/rt61pci.h +++ b/drivers/net/wireless/rt2x00/rt61pci.h | |||
@@ -153,13 +153,13 @@ struct hw_key_entry { | |||
153 | u8 key[16]; | 153 | u8 key[16]; |
154 | u8 tx_mic[8]; | 154 | u8 tx_mic[8]; |
155 | u8 rx_mic[8]; | 155 | u8 rx_mic[8]; |
156 | } __attribute__ ((packed)); | 156 | } __packed; |
157 | 157 | ||
158 | struct hw_pairwise_ta_entry { | 158 | struct hw_pairwise_ta_entry { |
159 | u8 address[6]; | 159 | u8 address[6]; |
160 | u8 cipher; | 160 | u8 cipher; |
161 | u8 reserved; | 161 | u8 reserved; |
162 | } __attribute__ ((packed)); | 162 | } __packed; |
163 | 163 | ||
164 | /* | 164 | /* |
165 | * Other on-chip shared memory space. | 165 | * Other on-chip shared memory space. |
diff --git a/drivers/net/wireless/rt2x00/rt73usb.h b/drivers/net/wireless/rt2x00/rt73usb.h index 7abe7eb14555..44d5b2bebd39 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.h +++ b/drivers/net/wireless/rt2x00/rt73usb.h | |||
@@ -108,13 +108,13 @@ struct hw_key_entry { | |||
108 | u8 key[16]; | 108 | u8 key[16]; |
109 | u8 tx_mic[8]; | 109 | u8 tx_mic[8]; |
110 | u8 rx_mic[8]; | 110 | u8 rx_mic[8]; |
111 | } __attribute__ ((packed)); | 111 | } __packed; |
112 | 112 | ||
113 | struct hw_pairwise_ta_entry { | 113 | struct hw_pairwise_ta_entry { |
114 | u8 address[6]; | 114 | u8 address[6]; |
115 | u8 cipher; | 115 | u8 cipher; |
116 | u8 reserved; | 116 | u8 reserved; |
117 | } __attribute__ ((packed)); | 117 | } __packed; |
118 | 118 | ||
119 | /* | 119 | /* |
120 | * Since NULL frame won't be that long (256 byte), | 120 | * Since NULL frame won't be that long (256 byte), |
diff --git a/drivers/net/wireless/rtl818x/rtl8180.h b/drivers/net/wireless/rtl818x/rtl8180.h index 4baf0cf0826f..30523314da43 100644 --- a/drivers/net/wireless/rtl818x/rtl8180.h +++ b/drivers/net/wireless/rtl818x/rtl8180.h | |||
@@ -36,7 +36,7 @@ struct rtl8180_tx_desc { | |||
36 | u8 agc; | 36 | u8 agc; |
37 | u8 flags2; | 37 | u8 flags2; |
38 | u32 reserved[2]; | 38 | u32 reserved[2]; |
39 | } __attribute__ ((packed)); | 39 | } __packed; |
40 | 40 | ||
41 | struct rtl8180_rx_desc { | 41 | struct rtl8180_rx_desc { |
42 | __le32 flags; | 42 | __le32 flags; |
@@ -45,7 +45,7 @@ struct rtl8180_rx_desc { | |||
45 | __le32 rx_buf; | 45 | __le32 rx_buf; |
46 | __le64 tsft; | 46 | __le64 tsft; |
47 | }; | 47 | }; |
48 | } __attribute__ ((packed)); | 48 | } __packed; |
49 | 49 | ||
50 | struct rtl8180_tx_ring { | 50 | struct rtl8180_tx_ring { |
51 | struct rtl8180_tx_desc *desc; | 51 | struct rtl8180_tx_desc *desc; |
diff --git a/drivers/net/wireless/rtl818x/rtl8187.h b/drivers/net/wireless/rtl818x/rtl8187.h index 6bb32112e65c..98878160a65a 100644 --- a/drivers/net/wireless/rtl818x/rtl8187.h +++ b/drivers/net/wireless/rtl818x/rtl8187.h | |||
@@ -47,7 +47,7 @@ struct rtl8187_rx_hdr { | |||
47 | u8 agc; | 47 | u8 agc; |
48 | u8 reserved; | 48 | u8 reserved; |
49 | __le64 mac_time; | 49 | __le64 mac_time; |
50 | } __attribute__((packed)); | 50 | } __packed; |
51 | 51 | ||
52 | struct rtl8187b_rx_hdr { | 52 | struct rtl8187b_rx_hdr { |
53 | __le32 flags; | 53 | __le32 flags; |
@@ -59,7 +59,7 @@ struct rtl8187b_rx_hdr { | |||
59 | __le16 snr_long2end; | 59 | __le16 snr_long2end; |
60 | s8 pwdb_g12; | 60 | s8 pwdb_g12; |
61 | u8 fot; | 61 | u8 fot; |
62 | } __attribute__((packed)); | 62 | } __packed; |
63 | 63 | ||
64 | /* {rtl8187,rtl8187b}_tx_info is in skb */ | 64 | /* {rtl8187,rtl8187b}_tx_info is in skb */ |
65 | 65 | ||
@@ -68,7 +68,7 @@ struct rtl8187_tx_hdr { | |||
68 | __le16 rts_duration; | 68 | __le16 rts_duration; |
69 | __le16 len; | 69 | __le16 len; |
70 | __le32 retry; | 70 | __le32 retry; |
71 | } __attribute__((packed)); | 71 | } __packed; |
72 | 72 | ||
73 | struct rtl8187b_tx_hdr { | 73 | struct rtl8187b_tx_hdr { |
74 | __le32 flags; | 74 | __le32 flags; |
@@ -80,7 +80,7 @@ struct rtl8187b_tx_hdr { | |||
80 | __le32 unused_3; | 80 | __le32 unused_3; |
81 | __le32 retry; | 81 | __le32 retry; |
82 | __le32 unused_4[2]; | 82 | __le32 unused_4[2]; |
83 | } __attribute__((packed)); | 83 | } __packed; |
84 | 84 | ||
85 | enum { | 85 | enum { |
86 | DEVICE_RTL8187, | 86 | DEVICE_RTL8187, |
diff --git a/drivers/net/wireless/rtl818x/rtl818x.h b/drivers/net/wireless/rtl818x/rtl818x.h index 8522490d2e29..978519d1ff4c 100644 --- a/drivers/net/wireless/rtl818x/rtl818x.h +++ b/drivers/net/wireless/rtl818x/rtl818x.h | |||
@@ -185,7 +185,7 @@ struct rtl818x_csr { | |||
185 | u8 reserved_22[4]; | 185 | u8 reserved_22[4]; |
186 | __le16 TALLY_CNT; | 186 | __le16 TALLY_CNT; |
187 | u8 TALLY_SEL; | 187 | u8 TALLY_SEL; |
188 | } __attribute__((packed)); | 188 | } __packed; |
189 | 189 | ||
190 | struct rtl818x_rf_ops { | 190 | struct rtl818x_rf_ops { |
191 | char *name; | 191 | char *name; |
diff --git a/drivers/net/wireless/wl12xx/wl1251_acx.h b/drivers/net/wireless/wl12xx/wl1251_acx.h index 26160c45784c..842df310d92a 100644 --- a/drivers/net/wireless/wl12xx/wl1251_acx.h +++ b/drivers/net/wireless/wl12xx/wl1251_acx.h | |||
@@ -60,7 +60,7 @@ struct acx_error_counter { | |||
60 | /* the number of missed sequence numbers in the squentially */ | 60 | /* the number of missed sequence numbers in the squentially */ |
61 | /* values of frames seq numbers */ | 61 | /* values of frames seq numbers */ |
62 | u32 seq_num_miss; | 62 | u32 seq_num_miss; |
63 | } __attribute__ ((packed)); | 63 | } __packed; |
64 | 64 | ||
65 | struct acx_revision { | 65 | struct acx_revision { |
66 | struct acx_header header; | 66 | struct acx_header header; |
@@ -89,7 +89,7 @@ struct acx_revision { | |||
89 | * bits 24 - 31: Chip ID - The WiLink chip ID. | 89 | * bits 24 - 31: Chip ID - The WiLink chip ID. |
90 | */ | 90 | */ |
91 | u32 hw_version; | 91 | u32 hw_version; |
92 | } __attribute__ ((packed)); | 92 | } __packed; |
93 | 93 | ||
94 | enum wl1251_psm_mode { | 94 | enum wl1251_psm_mode { |
95 | /* Active mode */ | 95 | /* Active mode */ |
@@ -111,7 +111,7 @@ struct acx_sleep_auth { | |||
111 | /* 2 - ELP mode: Deep / Max sleep*/ | 111 | /* 2 - ELP mode: Deep / Max sleep*/ |
112 | u8 sleep_auth; | 112 | u8 sleep_auth; |
113 | u8 padding[3]; | 113 | u8 padding[3]; |
114 | } __attribute__ ((packed)); | 114 | } __packed; |
115 | 115 | ||
116 | enum { | 116 | enum { |
117 | HOSTIF_PCI_MASTER_HOST_INDIRECT, | 117 | HOSTIF_PCI_MASTER_HOST_INDIRECT, |
@@ -159,7 +159,7 @@ struct acx_data_path_params { | |||
159 | * complete ring until an interrupt is generated. | 159 | * complete ring until an interrupt is generated. |
160 | */ | 160 | */ |
161 | u32 tx_complete_timeout; | 161 | u32 tx_complete_timeout; |
162 | } __attribute__ ((packed)); | 162 | } __packed; |
163 | 163 | ||
164 | 164 | ||
165 | struct acx_data_path_params_resp { | 165 | struct acx_data_path_params_resp { |
@@ -180,7 +180,7 @@ struct acx_data_path_params_resp { | |||
180 | u32 tx_control_addr; | 180 | u32 tx_control_addr; |
181 | 181 | ||
182 | u32 tx_complete_addr; | 182 | u32 tx_complete_addr; |
183 | } __attribute__ ((packed)); | 183 | } __packed; |
184 | 184 | ||
185 | #define TX_MSDU_LIFETIME_MIN 0 | 185 | #define TX_MSDU_LIFETIME_MIN 0 |
186 | #define TX_MSDU_LIFETIME_MAX 3000 | 186 | #define TX_MSDU_LIFETIME_MAX 3000 |
@@ -197,7 +197,7 @@ struct acx_rx_msdu_lifetime { | |||
197 | * firmware discards the MSDU. | 197 | * firmware discards the MSDU. |
198 | */ | 198 | */ |
199 | u32 lifetime; | 199 | u32 lifetime; |
200 | } __attribute__ ((packed)); | 200 | } __packed; |
201 | 201 | ||
202 | /* | 202 | /* |
203 | * RX Config Options Table | 203 | * RX Config Options Table |
@@ -285,7 +285,7 @@ struct acx_rx_config { | |||
285 | 285 | ||
286 | u32 config_options; | 286 | u32 config_options; |
287 | u32 filter_options; | 287 | u32 filter_options; |
288 | } __attribute__ ((packed)); | 288 | } __packed; |
289 | 289 | ||
290 | enum { | 290 | enum { |
291 | QOS_AC_BE = 0, | 291 | QOS_AC_BE = 0, |
@@ -325,13 +325,13 @@ struct acx_tx_queue_qos_config { | |||
325 | 325 | ||
326 | /* Lowest memory blocks guaranteed for this queue */ | 326 | /* Lowest memory blocks guaranteed for this queue */ |
327 | u16 low_threshold; | 327 | u16 low_threshold; |
328 | } __attribute__ ((packed)); | 328 | } __packed; |
329 | 329 | ||
330 | struct acx_packet_detection { | 330 | struct acx_packet_detection { |
331 | struct acx_header header; | 331 | struct acx_header header; |
332 | 332 | ||
333 | u32 threshold; | 333 | u32 threshold; |
334 | } __attribute__ ((packed)); | 334 | } __packed; |
335 | 335 | ||
336 | 336 | ||
337 | enum acx_slot_type { | 337 | enum acx_slot_type { |
@@ -349,7 +349,7 @@ struct acx_slot { | |||
349 | u8 wone_index; /* Reserved */ | 349 | u8 wone_index; /* Reserved */ |
350 | u8 slot_time; | 350 | u8 slot_time; |
351 | u8 reserved[6]; | 351 | u8 reserved[6]; |
352 | } __attribute__ ((packed)); | 352 | } __packed; |
353 | 353 | ||
354 | 354 | ||
355 | #define ADDRESS_GROUP_MAX (8) | 355 | #define ADDRESS_GROUP_MAX (8) |
@@ -362,7 +362,7 @@ struct acx_dot11_grp_addr_tbl { | |||
362 | u8 num_groups; | 362 | u8 num_groups; |
363 | u8 pad[2]; | 363 | u8 pad[2]; |
364 | u8 mac_table[ADDRESS_GROUP_MAX_LEN]; | 364 | u8 mac_table[ADDRESS_GROUP_MAX_LEN]; |
365 | } __attribute__ ((packed)); | 365 | } __packed; |
366 | 366 | ||
367 | 367 | ||
368 | #define RX_TIMEOUT_PS_POLL_MIN 0 | 368 | #define RX_TIMEOUT_PS_POLL_MIN 0 |
@@ -388,7 +388,7 @@ struct acx_rx_timeout { | |||
388 | * from an UPSD enabled queue. | 388 | * from an UPSD enabled queue. |
389 | */ | 389 | */ |
390 | u16 upsd_timeout; | 390 | u16 upsd_timeout; |
391 | } __attribute__ ((packed)); | 391 | } __packed; |
392 | 392 | ||
393 | #define RTS_THRESHOLD_MIN 0 | 393 | #define RTS_THRESHOLD_MIN 0 |
394 | #define RTS_THRESHOLD_MAX 4096 | 394 | #define RTS_THRESHOLD_MAX 4096 |
@@ -399,7 +399,7 @@ struct acx_rts_threshold { | |||
399 | 399 | ||
400 | u16 threshold; | 400 | u16 threshold; |
401 | u8 pad[2]; | 401 | u8 pad[2]; |
402 | } __attribute__ ((packed)); | 402 | } __packed; |
403 | 403 | ||
404 | struct acx_beacon_filter_option { | 404 | struct acx_beacon_filter_option { |
405 | struct acx_header header; | 405 | struct acx_header header; |
@@ -415,7 +415,7 @@ struct acx_beacon_filter_option { | |||
415 | */ | 415 | */ |
416 | u8 max_num_beacons; | 416 | u8 max_num_beacons; |
417 | u8 pad[2]; | 417 | u8 pad[2]; |
418 | } __attribute__ ((packed)); | 418 | } __packed; |
419 | 419 | ||
420 | /* | 420 | /* |
421 | * ACXBeaconFilterEntry (not 221) | 421 | * ACXBeaconFilterEntry (not 221) |
@@ -461,7 +461,7 @@ struct acx_beacon_filter_ie_table { | |||
461 | u8 num_ie; | 461 | u8 num_ie; |
462 | u8 table[BEACON_FILTER_TABLE_MAX_SIZE]; | 462 | u8 table[BEACON_FILTER_TABLE_MAX_SIZE]; |
463 | u8 pad[3]; | 463 | u8 pad[3]; |
464 | } __attribute__ ((packed)); | 464 | } __packed; |
465 | 465 | ||
466 | #define SYNCH_FAIL_DEFAULT_THRESHOLD 10 /* number of beacons */ | 466 | #define SYNCH_FAIL_DEFAULT_THRESHOLD 10 /* number of beacons */ |
467 | #define NO_BEACON_DEFAULT_TIMEOUT (500) /* in microseconds */ | 467 | #define NO_BEACON_DEFAULT_TIMEOUT (500) /* in microseconds */ |
@@ -494,7 +494,7 @@ struct acx_bt_wlan_coex { | |||
494 | */ | 494 | */ |
495 | u8 enable; | 495 | u8 enable; |
496 | u8 pad[3]; | 496 | u8 pad[3]; |
497 | } __attribute__ ((packed)); | 497 | } __packed; |
498 | 498 | ||
499 | #define PTA_ANTENNA_TYPE_DEF (0) | 499 | #define PTA_ANTENNA_TYPE_DEF (0) |
500 | #define PTA_BT_HP_MAXTIME_DEF (2000) | 500 | #define PTA_BT_HP_MAXTIME_DEF (2000) |
@@ -648,7 +648,7 @@ struct acx_bt_wlan_coex_param { | |||
648 | 648 | ||
649 | /* range: 0 - 20 default: 1 */ | 649 | /* range: 0 - 20 default: 1 */ |
650 | u8 bt_hp_respected_num; | 650 | u8 bt_hp_respected_num; |
651 | } __attribute__ ((packed)); | 651 | } __packed; |
652 | 652 | ||
653 | #define CCA_THRSH_ENABLE_ENERGY_D 0x140A | 653 | #define CCA_THRSH_ENABLE_ENERGY_D 0x140A |
654 | #define CCA_THRSH_DISABLE_ENERGY_D 0xFFEF | 654 | #define CCA_THRSH_DISABLE_ENERGY_D 0xFFEF |
@@ -660,7 +660,7 @@ struct acx_energy_detection { | |||
660 | u16 rx_cca_threshold; | 660 | u16 rx_cca_threshold; |
661 | u8 tx_energy_detection; | 661 | u8 tx_energy_detection; |
662 | u8 pad; | 662 | u8 pad; |
663 | } __attribute__ ((packed)); | 663 | } __packed; |
664 | 664 | ||
665 | #define BCN_RX_TIMEOUT_DEF_VALUE 10000 | 665 | #define BCN_RX_TIMEOUT_DEF_VALUE 10000 |
666 | #define BROADCAST_RX_TIMEOUT_DEF_VALUE 20000 | 666 | #define BROADCAST_RX_TIMEOUT_DEF_VALUE 20000 |
@@ -679,14 +679,14 @@ struct acx_beacon_broadcast { | |||
679 | /* Consecutive PS Poll failures before updating the host */ | 679 | /* Consecutive PS Poll failures before updating the host */ |
680 | u8 ps_poll_threshold; | 680 | u8 ps_poll_threshold; |
681 | u8 pad[2]; | 681 | u8 pad[2]; |
682 | } __attribute__ ((packed)); | 682 | } __packed; |
683 | 683 | ||
684 | struct acx_event_mask { | 684 | struct acx_event_mask { |
685 | struct acx_header header; | 685 | struct acx_header header; |
686 | 686 | ||
687 | u32 event_mask; | 687 | u32 event_mask; |
688 | u32 high_event_mask; /* Unused */ | 688 | u32 high_event_mask; /* Unused */ |
689 | } __attribute__ ((packed)); | 689 | } __packed; |
690 | 690 | ||
691 | #define CFG_RX_FCS BIT(2) | 691 | #define CFG_RX_FCS BIT(2) |
692 | #define CFG_RX_ALL_GOOD BIT(3) | 692 | #define CFG_RX_ALL_GOOD BIT(3) |
@@ -729,7 +729,7 @@ struct acx_fw_gen_frame_rates { | |||
729 | u8 tx_ctrl_frame_mod; /* CCK_* or PBCC_* */ | 729 | u8 tx_ctrl_frame_mod; /* CCK_* or PBCC_* */ |
730 | u8 tx_mgt_frame_rate; | 730 | u8 tx_mgt_frame_rate; |
731 | u8 tx_mgt_frame_mod; | 731 | u8 tx_mgt_frame_mod; |
732 | } __attribute__ ((packed)); | 732 | } __packed; |
733 | 733 | ||
734 | /* STA MAC */ | 734 | /* STA MAC */ |
735 | struct acx_dot11_station_id { | 735 | struct acx_dot11_station_id { |
@@ -737,28 +737,28 @@ struct acx_dot11_station_id { | |||
737 | 737 | ||
738 | u8 mac[ETH_ALEN]; | 738 | u8 mac[ETH_ALEN]; |
739 | u8 pad[2]; | 739 | u8 pad[2]; |
740 | } __attribute__ ((packed)); | 740 | } __packed; |
741 | 741 | ||
742 | struct acx_feature_config { | 742 | struct acx_feature_config { |
743 | struct acx_header header; | 743 | struct acx_header header; |
744 | 744 | ||
745 | u32 options; | 745 | u32 options; |
746 | u32 data_flow_options; | 746 | u32 data_flow_options; |
747 | } __attribute__ ((packed)); | 747 | } __packed; |
748 | 748 | ||
749 | struct acx_current_tx_power { | 749 | struct acx_current_tx_power { |
750 | struct acx_header header; | 750 | struct acx_header header; |
751 | 751 | ||
752 | u8 current_tx_power; | 752 | u8 current_tx_power; |
753 | u8 padding[3]; | 753 | u8 padding[3]; |
754 | } __attribute__ ((packed)); | 754 | } __packed; |
755 | 755 | ||
756 | struct acx_dot11_default_key { | 756 | struct acx_dot11_default_key { |
757 | struct acx_header header; | 757 | struct acx_header header; |
758 | 758 | ||
759 | u8 id; | 759 | u8 id; |
760 | u8 pad[3]; | 760 | u8 pad[3]; |
761 | } __attribute__ ((packed)); | 761 | } __packed; |
762 | 762 | ||
763 | struct acx_tsf_info { | 763 | struct acx_tsf_info { |
764 | struct acx_header header; | 764 | struct acx_header header; |
@@ -769,7 +769,7 @@ struct acx_tsf_info { | |||
769 | u32 last_TBTT_lsb; | 769 | u32 last_TBTT_lsb; |
770 | u8 last_dtim_count; | 770 | u8 last_dtim_count; |
771 | u8 pad[3]; | 771 | u8 pad[3]; |
772 | } __attribute__ ((packed)); | 772 | } __packed; |
773 | 773 | ||
774 | enum acx_wake_up_event { | 774 | enum acx_wake_up_event { |
775 | WAKE_UP_EVENT_BEACON_BITMAP = 0x01, /* Wake on every Beacon*/ | 775 | WAKE_UP_EVENT_BEACON_BITMAP = 0x01, /* Wake on every Beacon*/ |
@@ -785,7 +785,7 @@ struct acx_wake_up_condition { | |||
785 | u8 wake_up_event; /* Only one bit can be set */ | 785 | u8 wake_up_event; /* Only one bit can be set */ |
786 | u8 listen_interval; | 786 | u8 listen_interval; |
787 | u8 pad[2]; | 787 | u8 pad[2]; |
788 | } __attribute__ ((packed)); | 788 | } __packed; |
789 | 789 | ||
790 | struct acx_aid { | 790 | struct acx_aid { |
791 | struct acx_header header; | 791 | struct acx_header header; |
@@ -795,7 +795,7 @@ struct acx_aid { | |||
795 | */ | 795 | */ |
796 | u16 aid; | 796 | u16 aid; |
797 | u8 pad[2]; | 797 | u8 pad[2]; |
798 | } __attribute__ ((packed)); | 798 | } __packed; |
799 | 799 | ||
800 | enum acx_preamble_type { | 800 | enum acx_preamble_type { |
801 | ACX_PREAMBLE_LONG = 0, | 801 | ACX_PREAMBLE_LONG = 0, |
@@ -811,7 +811,7 @@ struct acx_preamble { | |||
811 | */ | 811 | */ |
812 | u8 preamble; | 812 | u8 preamble; |
813 | u8 padding[3]; | 813 | u8 padding[3]; |
814 | } __attribute__ ((packed)); | 814 | } __packed; |
815 | 815 | ||
816 | enum acx_ctsprotect_type { | 816 | enum acx_ctsprotect_type { |
817 | CTSPROTECT_DISABLE = 0, | 817 | CTSPROTECT_DISABLE = 0, |
@@ -822,11 +822,11 @@ struct acx_ctsprotect { | |||
822 | struct acx_header header; | 822 | struct acx_header header; |
823 | u8 ctsprotect; | 823 | u8 ctsprotect; |
824 | u8 padding[3]; | 824 | u8 padding[3]; |
825 | } __attribute__ ((packed)); | 825 | } __packed; |
826 | 826 | ||
827 | struct acx_tx_statistics { | 827 | struct acx_tx_statistics { |
828 | u32 internal_desc_overflow; | 828 | u32 internal_desc_overflow; |
829 | } __attribute__ ((packed)); | 829 | } __packed; |
830 | 830 | ||
831 | struct acx_rx_statistics { | 831 | struct acx_rx_statistics { |
832 | u32 out_of_mem; | 832 | u32 out_of_mem; |
@@ -837,14 +837,14 @@ struct acx_rx_statistics { | |||
837 | u32 xfr_hint_trig; | 837 | u32 xfr_hint_trig; |
838 | u32 path_reset; | 838 | u32 path_reset; |
839 | u32 reset_counter; | 839 | u32 reset_counter; |
840 | } __attribute__ ((packed)); | 840 | } __packed; |
841 | 841 | ||
842 | struct acx_dma_statistics { | 842 | struct acx_dma_statistics { |
843 | u32 rx_requested; | 843 | u32 rx_requested; |
844 | u32 rx_errors; | 844 | u32 rx_errors; |
845 | u32 tx_requested; | 845 | u32 tx_requested; |
846 | u32 tx_errors; | 846 | u32 tx_errors; |
847 | } __attribute__ ((packed)); | 847 | } __packed; |
848 | 848 | ||
849 | struct acx_isr_statistics { | 849 | struct acx_isr_statistics { |
850 | /* host command complete */ | 850 | /* host command complete */ |
@@ -903,7 +903,7 @@ struct acx_isr_statistics { | |||
903 | 903 | ||
904 | /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */ | 904 | /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */ |
905 | u32 low_rssi; | 905 | u32 low_rssi; |
906 | } __attribute__ ((packed)); | 906 | } __packed; |
907 | 907 | ||
908 | struct acx_wep_statistics { | 908 | struct acx_wep_statistics { |
909 | /* WEP address keys configured */ | 909 | /* WEP address keys configured */ |
@@ -925,7 +925,7 @@ struct acx_wep_statistics { | |||
925 | 925 | ||
926 | /* WEP decrypt interrupts */ | 926 | /* WEP decrypt interrupts */ |
927 | u32 interrupt; | 927 | u32 interrupt; |
928 | } __attribute__ ((packed)); | 928 | } __packed; |
929 | 929 | ||
930 | #define ACX_MISSED_BEACONS_SPREAD 10 | 930 | #define ACX_MISSED_BEACONS_SPREAD 10 |
931 | 931 | ||
@@ -985,12 +985,12 @@ struct acx_pwr_statistics { | |||
985 | 985 | ||
986 | /* the number of beacons in awake mode */ | 986 | /* the number of beacons in awake mode */ |
987 | u32 rcvd_awake_beacons; | 987 | u32 rcvd_awake_beacons; |
988 | } __attribute__ ((packed)); | 988 | } __packed; |
989 | 989 | ||
990 | struct acx_mic_statistics { | 990 | struct acx_mic_statistics { |
991 | u32 rx_pkts; | 991 | u32 rx_pkts; |
992 | u32 calc_failure; | 992 | u32 calc_failure; |
993 | } __attribute__ ((packed)); | 993 | } __packed; |
994 | 994 | ||
995 | struct acx_aes_statistics { | 995 | struct acx_aes_statistics { |
996 | u32 encrypt_fail; | 996 | u32 encrypt_fail; |
@@ -999,7 +999,7 @@ struct acx_aes_statistics { | |||
999 | u32 decrypt_packets; | 999 | u32 decrypt_packets; |
1000 | u32 encrypt_interrupt; | 1000 | u32 encrypt_interrupt; |
1001 | u32 decrypt_interrupt; | 1001 | u32 decrypt_interrupt; |
1002 | } __attribute__ ((packed)); | 1002 | } __packed; |
1003 | 1003 | ||
1004 | struct acx_event_statistics { | 1004 | struct acx_event_statistics { |
1005 | u32 heart_beat; | 1005 | u32 heart_beat; |
@@ -1010,7 +1010,7 @@ struct acx_event_statistics { | |||
1010 | u32 oom_late; | 1010 | u32 oom_late; |
1011 | u32 phy_transmit_error; | 1011 | u32 phy_transmit_error; |
1012 | u32 tx_stuck; | 1012 | u32 tx_stuck; |
1013 | } __attribute__ ((packed)); | 1013 | } __packed; |
1014 | 1014 | ||
1015 | struct acx_ps_statistics { | 1015 | struct acx_ps_statistics { |
1016 | u32 pspoll_timeouts; | 1016 | u32 pspoll_timeouts; |
@@ -1020,7 +1020,7 @@ struct acx_ps_statistics { | |||
1020 | u32 pspoll_max_apturn; | 1020 | u32 pspoll_max_apturn; |
1021 | u32 pspoll_utilization; | 1021 | u32 pspoll_utilization; |
1022 | u32 upsd_utilization; | 1022 | u32 upsd_utilization; |
1023 | } __attribute__ ((packed)); | 1023 | } __packed; |
1024 | 1024 | ||
1025 | struct acx_rxpipe_statistics { | 1025 | struct acx_rxpipe_statistics { |
1026 | u32 rx_prep_beacon_drop; | 1026 | u32 rx_prep_beacon_drop; |
@@ -1028,7 +1028,7 @@ struct acx_rxpipe_statistics { | |||
1028 | u32 beacon_buffer_thres_host_int_trig_rx_data; | 1028 | u32 beacon_buffer_thres_host_int_trig_rx_data; |
1029 | u32 missed_beacon_host_int_trig_rx_data; | 1029 | u32 missed_beacon_host_int_trig_rx_data; |
1030 | u32 tx_xfr_host_int_trig_rx_data; | 1030 | u32 tx_xfr_host_int_trig_rx_data; |
1031 | } __attribute__ ((packed)); | 1031 | } __packed; |
1032 | 1032 | ||
1033 | struct acx_statistics { | 1033 | struct acx_statistics { |
1034 | struct acx_header header; | 1034 | struct acx_header header; |
@@ -1044,7 +1044,7 @@ struct acx_statistics { | |||
1044 | struct acx_event_statistics event; | 1044 | struct acx_event_statistics event; |
1045 | struct acx_ps_statistics ps; | 1045 | struct acx_ps_statistics ps; |
1046 | struct acx_rxpipe_statistics rxpipe; | 1046 | struct acx_rxpipe_statistics rxpipe; |
1047 | } __attribute__ ((packed)); | 1047 | } __packed; |
1048 | 1048 | ||
1049 | #define ACX_MAX_RATE_CLASSES 8 | 1049 | #define ACX_MAX_RATE_CLASSES 8 |
1050 | #define ACX_RATE_MASK_UNSPECIFIED 0 | 1050 | #define ACX_RATE_MASK_UNSPECIFIED 0 |
@@ -1063,7 +1063,7 @@ struct acx_rate_policy { | |||
1063 | 1063 | ||
1064 | u32 rate_class_cnt; | 1064 | u32 rate_class_cnt; |
1065 | struct acx_rate_class rate_class[ACX_MAX_RATE_CLASSES]; | 1065 | struct acx_rate_class rate_class[ACX_MAX_RATE_CLASSES]; |
1066 | } __attribute__ ((packed)); | 1066 | } __packed; |
1067 | 1067 | ||
1068 | struct wl1251_acx_memory { | 1068 | struct wl1251_acx_memory { |
1069 | __le16 num_stations; /* number of STAs to be supported. */ | 1069 | __le16 num_stations; /* number of STAs to be supported. */ |
@@ -1082,7 +1082,7 @@ struct wl1251_acx_memory { | |||
1082 | u8 tx_min_mem_block_num; | 1082 | u8 tx_min_mem_block_num; |
1083 | u8 num_ssid_profiles; | 1083 | u8 num_ssid_profiles; |
1084 | __le16 debug_buffer_size; | 1084 | __le16 debug_buffer_size; |
1085 | } __attribute__ ((packed)); | 1085 | } __packed; |
1086 | 1086 | ||
1087 | 1087 | ||
1088 | #define ACX_RX_DESC_MIN 1 | 1088 | #define ACX_RX_DESC_MIN 1 |
@@ -1094,7 +1094,7 @@ struct wl1251_acx_rx_queue_config { | |||
1094 | u8 type; | 1094 | u8 type; |
1095 | u8 priority; | 1095 | u8 priority; |
1096 | __le32 dma_address; | 1096 | __le32 dma_address; |
1097 | } __attribute__ ((packed)); | 1097 | } __packed; |
1098 | 1098 | ||
1099 | #define ACX_TX_DESC_MIN 1 | 1099 | #define ACX_TX_DESC_MIN 1 |
1100 | #define ACX_TX_DESC_MAX 127 | 1100 | #define ACX_TX_DESC_MAX 127 |
@@ -1103,7 +1103,7 @@ struct wl1251_acx_tx_queue_config { | |||
1103 | u8 num_descs; | 1103 | u8 num_descs; |
1104 | u8 pad[2]; | 1104 | u8 pad[2]; |
1105 | u8 attributes; | 1105 | u8 attributes; |
1106 | } __attribute__ ((packed)); | 1106 | } __packed; |
1107 | 1107 | ||
1108 | #define MAX_TX_QUEUE_CONFIGS 5 | 1108 | #define MAX_TX_QUEUE_CONFIGS 5 |
1109 | #define MAX_TX_QUEUES 4 | 1109 | #define MAX_TX_QUEUES 4 |
@@ -1113,7 +1113,7 @@ struct wl1251_acx_config_memory { | |||
1113 | struct wl1251_acx_memory mem_config; | 1113 | struct wl1251_acx_memory mem_config; |
1114 | struct wl1251_acx_rx_queue_config rx_queue_config; | 1114 | struct wl1251_acx_rx_queue_config rx_queue_config; |
1115 | struct wl1251_acx_tx_queue_config tx_queue_config[MAX_TX_QUEUE_CONFIGS]; | 1115 | struct wl1251_acx_tx_queue_config tx_queue_config[MAX_TX_QUEUE_CONFIGS]; |
1116 | } __attribute__ ((packed)); | 1116 | } __packed; |
1117 | 1117 | ||
1118 | struct wl1251_acx_mem_map { | 1118 | struct wl1251_acx_mem_map { |
1119 | struct acx_header header; | 1119 | struct acx_header header; |
@@ -1147,7 +1147,7 @@ struct wl1251_acx_mem_map { | |||
1147 | 1147 | ||
1148 | /* Number of blocks FW allocated for RX packets */ | 1148 | /* Number of blocks FW allocated for RX packets */ |
1149 | u32 num_rx_mem_blocks; | 1149 | u32 num_rx_mem_blocks; |
1150 | } __attribute__ ((packed)); | 1150 | } __packed; |
1151 | 1151 | ||
1152 | 1152 | ||
1153 | struct wl1251_acx_wr_tbtt_and_dtim { | 1153 | struct wl1251_acx_wr_tbtt_and_dtim { |
@@ -1164,7 +1164,7 @@ struct wl1251_acx_wr_tbtt_and_dtim { | |||
1164 | */ | 1164 | */ |
1165 | u8 dtim; | 1165 | u8 dtim; |
1166 | u8 padding; | 1166 | u8 padding; |
1167 | } __attribute__ ((packed)); | 1167 | } __packed; |
1168 | 1168 | ||
1169 | struct wl1251_acx_ac_cfg { | 1169 | struct wl1251_acx_ac_cfg { |
1170 | struct acx_header header; | 1170 | struct acx_header header; |
@@ -1194,7 +1194,7 @@ struct wl1251_acx_ac_cfg { | |||
1194 | 1194 | ||
1195 | /* The TX Op Limit (in microseconds) for the access class. */ | 1195 | /* The TX Op Limit (in microseconds) for the access class. */ |
1196 | u16 txop_limit; | 1196 | u16 txop_limit; |
1197 | } __attribute__ ((packed)); | 1197 | } __packed; |
1198 | 1198 | ||
1199 | 1199 | ||
1200 | enum wl1251_acx_channel_type { | 1200 | enum wl1251_acx_channel_type { |
@@ -1245,7 +1245,7 @@ struct wl1251_acx_tid_cfg { | |||
1245 | 1245 | ||
1246 | /* not supported */ | 1246 | /* not supported */ |
1247 | u32 apsdconf[2]; | 1247 | u32 apsdconf[2]; |
1248 | } __attribute__ ((packed)); | 1248 | } __packed; |
1249 | 1249 | ||
1250 | /************************************************************************* | 1250 | /************************************************************************* |
1251 | 1251 | ||
diff --git a/drivers/net/wireless/wl12xx/wl1251_cmd.h b/drivers/net/wireless/wl12xx/wl1251_cmd.h index 4ad67cae94d2..7e70dd5a21b8 100644 --- a/drivers/net/wireless/wl12xx/wl1251_cmd.h +++ b/drivers/net/wireless/wl12xx/wl1251_cmd.h | |||
@@ -106,7 +106,7 @@ struct wl1251_cmd_header { | |||
106 | u16 status; | 106 | u16 status; |
107 | /* payload */ | 107 | /* payload */ |
108 | u8 data[0]; | 108 | u8 data[0]; |
109 | } __attribute__ ((packed)); | 109 | } __packed; |
110 | 110 | ||
111 | struct wl1251_command { | 111 | struct wl1251_command { |
112 | struct wl1251_cmd_header header; | 112 | struct wl1251_cmd_header header; |
@@ -201,7 +201,7 @@ struct wl1251_scan_parameters { | |||
201 | u8 ssid_len; | 201 | u8 ssid_len; |
202 | u8 ssid[32]; | 202 | u8 ssid[32]; |
203 | 203 | ||
204 | } __attribute__ ((packed)); | 204 | } __packed; |
205 | 205 | ||
206 | struct wl1251_scan_ch_parameters { | 206 | struct wl1251_scan_ch_parameters { |
207 | u32 min_duration; /* in TU */ | 207 | u32 min_duration; /* in TU */ |
@@ -218,7 +218,7 @@ struct wl1251_scan_ch_parameters { | |||
218 | u8 tx_power_att; | 218 | u8 tx_power_att; |
219 | u8 channel; | 219 | u8 channel; |
220 | u8 pad[3]; | 220 | u8 pad[3]; |
221 | } __attribute__ ((packed)); | 221 | } __packed; |
222 | 222 | ||
223 | /* SCAN parameters */ | 223 | /* SCAN parameters */ |
224 | #define SCAN_MAX_NUM_OF_CHANNELS 16 | 224 | #define SCAN_MAX_NUM_OF_CHANNELS 16 |
@@ -228,7 +228,7 @@ struct wl1251_cmd_scan { | |||
228 | 228 | ||
229 | struct wl1251_scan_parameters params; | 229 | struct wl1251_scan_parameters params; |
230 | struct wl1251_scan_ch_parameters channels[SCAN_MAX_NUM_OF_CHANNELS]; | 230 | struct wl1251_scan_ch_parameters channels[SCAN_MAX_NUM_OF_CHANNELS]; |
231 | } __attribute__ ((packed)); | 231 | } __packed; |
232 | 232 | ||
233 | enum { | 233 | enum { |
234 | BSS_TYPE_IBSS = 0, | 234 | BSS_TYPE_IBSS = 0, |
@@ -276,14 +276,14 @@ struct cmd_join { | |||
276 | u8 tx_mgt_frame_rate; /* OBSOLETE */ | 276 | u8 tx_mgt_frame_rate; /* OBSOLETE */ |
277 | u8 tx_mgt_frame_mod; /* OBSOLETE */ | 277 | u8 tx_mgt_frame_mod; /* OBSOLETE */ |
278 | u8 reserved; | 278 | u8 reserved; |
279 | } __attribute__ ((packed)); | 279 | } __packed; |
280 | 280 | ||
281 | struct cmd_enabledisable_path { | 281 | struct cmd_enabledisable_path { |
282 | struct wl1251_cmd_header header; | 282 | struct wl1251_cmd_header header; |
283 | 283 | ||
284 | u8 channel; | 284 | u8 channel; |
285 | u8 padding[3]; | 285 | u8 padding[3]; |
286 | } __attribute__ ((packed)); | 286 | } __packed; |
287 | 287 | ||
288 | #define WL1251_MAX_TEMPLATE_SIZE 300 | 288 | #define WL1251_MAX_TEMPLATE_SIZE 300 |
289 | 289 | ||
@@ -292,7 +292,7 @@ struct wl1251_cmd_packet_template { | |||
292 | 292 | ||
293 | __le16 size; | 293 | __le16 size; |
294 | u8 data[0]; | 294 | u8 data[0]; |
295 | } __attribute__ ((packed)); | 295 | } __packed; |
296 | 296 | ||
297 | #define TIM_ELE_ID 5 | 297 | #define TIM_ELE_ID 5 |
298 | #define PARTIAL_VBM_MAX 251 | 298 | #define PARTIAL_VBM_MAX 251 |
@@ -304,7 +304,7 @@ struct wl1251_tim { | |||
304 | u8 dtim_period; | 304 | u8 dtim_period; |
305 | u8 bitmap_ctrl; | 305 | u8 bitmap_ctrl; |
306 | u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */ | 306 | u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */ |
307 | } __attribute__ ((packed)); | 307 | } __packed; |
308 | 308 | ||
309 | /* Virtual Bit Map update */ | 309 | /* Virtual Bit Map update */ |
310 | struct wl1251_cmd_vbm_update { | 310 | struct wl1251_cmd_vbm_update { |
@@ -312,7 +312,7 @@ struct wl1251_cmd_vbm_update { | |||
312 | __le16 len; | 312 | __le16 len; |
313 | u8 padding[2]; | 313 | u8 padding[2]; |
314 | struct wl1251_tim tim; | 314 | struct wl1251_tim tim; |
315 | } __attribute__ ((packed)); | 315 | } __packed; |
316 | 316 | ||
317 | enum wl1251_cmd_ps_mode { | 317 | enum wl1251_cmd_ps_mode { |
318 | STATION_ACTIVE_MODE, | 318 | STATION_ACTIVE_MODE, |
@@ -333,7 +333,7 @@ struct wl1251_cmd_ps_params { | |||
333 | u8 hang_over_period; | 333 | u8 hang_over_period; |
334 | u16 null_data_rate; | 334 | u16 null_data_rate; |
335 | u8 pad[2]; | 335 | u8 pad[2]; |
336 | } __attribute__ ((packed)); | 336 | } __packed; |
337 | 337 | ||
338 | struct wl1251_cmd_trigger_scan_to { | 338 | struct wl1251_cmd_trigger_scan_to { |
339 | struct wl1251_cmd_header header; | 339 | struct wl1251_cmd_header header; |
@@ -411,7 +411,7 @@ struct wl1251_cmd_set_keys { | |||
411 | u8 key[MAX_KEY_SIZE]; | 411 | u8 key[MAX_KEY_SIZE]; |
412 | u16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY]; | 412 | u16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY]; |
413 | u32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY]; | 413 | u32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY]; |
414 | } __attribute__ ((packed)); | 414 | } __packed; |
415 | 415 | ||
416 | 416 | ||
417 | #endif /* __WL1251_CMD_H__ */ | 417 | #endif /* __WL1251_CMD_H__ */ |
diff --git a/drivers/net/wireless/wl12xx/wl1251_event.h b/drivers/net/wireless/wl12xx/wl1251_event.h index be0ac54d6246..f48a2b66bc5a 100644 --- a/drivers/net/wireless/wl12xx/wl1251_event.h +++ b/drivers/net/wireless/wl12xx/wl1251_event.h | |||
@@ -82,7 +82,7 @@ struct event_debug_report { | |||
82 | u32 report_1; | 82 | u32 report_1; |
83 | u32 report_2; | 83 | u32 report_2; |
84 | u32 report_3; | 84 | u32 report_3; |
85 | } __attribute__ ((packed)); | 85 | } __packed; |
86 | 86 | ||
87 | struct event_mailbox { | 87 | struct event_mailbox { |
88 | u32 events_vector; | 88 | u32 events_vector; |
@@ -112,7 +112,7 @@ struct event_mailbox { | |||
112 | struct event_debug_report report; | 112 | struct event_debug_report report; |
113 | u8 average_snr_level; | 113 | u8 average_snr_level; |
114 | u8 padding[19]; | 114 | u8 padding[19]; |
115 | } __attribute__ ((packed)); | 115 | } __packed; |
116 | 116 | ||
117 | int wl1251_event_unmask(struct wl1251 *wl); | 117 | int wl1251_event_unmask(struct wl1251 *wl); |
118 | void wl1251_event_mbox_config(struct wl1251 *wl); | 118 | void wl1251_event_mbox_config(struct wl1251 *wl); |
diff --git a/drivers/net/wireless/wl12xx/wl1251_rx.h b/drivers/net/wireless/wl12xx/wl1251_rx.h index 563a3fde40fb..da4e53406a0e 100644 --- a/drivers/net/wireless/wl12xx/wl1251_rx.h +++ b/drivers/net/wireless/wl12xx/wl1251_rx.h | |||
@@ -117,7 +117,7 @@ struct wl1251_rx_descriptor { | |||
117 | s8 rssi; /* in dB */ | 117 | s8 rssi; /* in dB */ |
118 | u8 rcpi; /* in dB */ | 118 | u8 rcpi; /* in dB */ |
119 | u8 snr; /* in dB */ | 119 | u8 snr; /* in dB */ |
120 | } __attribute__ ((packed)); | 120 | } __packed; |
121 | 121 | ||
122 | void wl1251_rx(struct wl1251 *wl); | 122 | void wl1251_rx(struct wl1251 *wl); |
123 | 123 | ||
diff --git a/drivers/net/wireless/wl12xx/wl1251_tx.h b/drivers/net/wireless/wl12xx/wl1251_tx.h index 55856c6bb97a..65c4be8c2e80 100644 --- a/drivers/net/wireless/wl12xx/wl1251_tx.h +++ b/drivers/net/wireless/wl12xx/wl1251_tx.h | |||
@@ -109,7 +109,7 @@ struct tx_control { | |||
109 | unsigned xfer_pad:1; | 109 | unsigned xfer_pad:1; |
110 | 110 | ||
111 | unsigned reserved:7; | 111 | unsigned reserved:7; |
112 | } __attribute__ ((packed)); | 112 | } __packed; |
113 | 113 | ||
114 | 114 | ||
115 | struct tx_double_buffer_desc { | 115 | struct tx_double_buffer_desc { |
@@ -156,7 +156,7 @@ struct tx_double_buffer_desc { | |||
156 | u8 num_mem_blocks; | 156 | u8 num_mem_blocks; |
157 | 157 | ||
158 | u8 reserved; | 158 | u8 reserved; |
159 | } __attribute__ ((packed)); | 159 | } __packed; |
160 | 160 | ||
161 | enum { | 161 | enum { |
162 | TX_SUCCESS = 0, | 162 | TX_SUCCESS = 0, |
@@ -208,7 +208,7 @@ struct tx_result { | |||
208 | 208 | ||
209 | /* See done_1 */ | 209 | /* See done_1 */ |
210 | u8 done_2; | 210 | u8 done_2; |
211 | } __attribute__ ((packed)); | 211 | } __packed; |
212 | 212 | ||
213 | static inline int wl1251_tx_get_queue(int queue) | 213 | static inline int wl1251_tx_get_queue(int queue) |
214 | { | 214 | { |
diff --git a/drivers/net/wireless/wl12xx/wl1271.h b/drivers/net/wireless/wl12xx/wl1271.h index 6f1b6b5640c0..9af14646c278 100644 --- a/drivers/net/wireless/wl12xx/wl1271.h +++ b/drivers/net/wireless/wl12xx/wl1271.h | |||
@@ -141,7 +141,7 @@ struct wl1271_nvs_file { | |||
141 | u8 dyn_radio_params[WL1271_NVS_FEM_COUNT] | 141 | u8 dyn_radio_params[WL1271_NVS_FEM_COUNT] |
142 | [WL1271_NVS_DYN_RADIO_PARAMS_SIZE_PADDED]; | 142 | [WL1271_NVS_DYN_RADIO_PARAMS_SIZE_PADDED]; |
143 | u8 ini_spare[WL1271_NVS_INI_SPARE_SIZE]; | 143 | u8 ini_spare[WL1271_NVS_INI_SPARE_SIZE]; |
144 | } __attribute__ ((packed)); | 144 | } __packed; |
145 | 145 | ||
146 | /* | 146 | /* |
147 | * Enable/disable 802.11a support for WL1273 | 147 | * Enable/disable 802.11a support for WL1273 |
@@ -317,7 +317,7 @@ struct wl1271_fw_status { | |||
317 | __le32 tx_released_blks[NUM_TX_QUEUES]; | 317 | __le32 tx_released_blks[NUM_TX_QUEUES]; |
318 | __le32 fw_localtime; | 318 | __le32 fw_localtime; |
319 | __le32 padding[2]; | 319 | __le32 padding[2]; |
320 | } __attribute__ ((packed)); | 320 | } __packed; |
321 | 321 | ||
322 | struct wl1271_rx_mem_pool_addr { | 322 | struct wl1271_rx_mem_pool_addr { |
323 | u32 addr; | 323 | u32 addr; |
diff --git a/drivers/net/wireless/wl12xx/wl1271_acx.h b/drivers/net/wireless/wl12xx/wl1271_acx.h index 420e7e2fc021..4c87e601df2f 100644 --- a/drivers/net/wireless/wl12xx/wl1271_acx.h +++ b/drivers/net/wireless/wl12xx/wl1271_acx.h | |||
@@ -75,7 +75,7 @@ struct acx_header { | |||
75 | 75 | ||
76 | /* payload length (not including headers */ | 76 | /* payload length (not including headers */ |
77 | __le16 len; | 77 | __le16 len; |
78 | } __attribute__ ((packed)); | 78 | } __packed; |
79 | 79 | ||
80 | struct acx_error_counter { | 80 | struct acx_error_counter { |
81 | struct acx_header header; | 81 | struct acx_header header; |
@@ -98,7 +98,7 @@ struct acx_error_counter { | |||
98 | /* the number of missed sequence numbers in the squentially */ | 98 | /* the number of missed sequence numbers in the squentially */ |
99 | /* values of frames seq numbers */ | 99 | /* values of frames seq numbers */ |
100 | __le32 seq_num_miss; | 100 | __le32 seq_num_miss; |
101 | } __attribute__ ((packed)); | 101 | } __packed; |
102 | 102 | ||
103 | struct acx_revision { | 103 | struct acx_revision { |
104 | struct acx_header header; | 104 | struct acx_header header; |
@@ -127,7 +127,7 @@ struct acx_revision { | |||
127 | * bits 24 - 31: Chip ID - The WiLink chip ID. | 127 | * bits 24 - 31: Chip ID - The WiLink chip ID. |
128 | */ | 128 | */ |
129 | __le32 hw_version; | 129 | __le32 hw_version; |
130 | } __attribute__ ((packed)); | 130 | } __packed; |
131 | 131 | ||
132 | enum wl1271_psm_mode { | 132 | enum wl1271_psm_mode { |
133 | /* Active mode */ | 133 | /* Active mode */ |
@@ -149,7 +149,7 @@ struct acx_sleep_auth { | |||
149 | /* 2 - ELP mode: Deep / Max sleep*/ | 149 | /* 2 - ELP mode: Deep / Max sleep*/ |
150 | u8 sleep_auth; | 150 | u8 sleep_auth; |
151 | u8 padding[3]; | 151 | u8 padding[3]; |
152 | } __attribute__ ((packed)); | 152 | } __packed; |
153 | 153 | ||
154 | enum { | 154 | enum { |
155 | HOSTIF_PCI_MASTER_HOST_INDIRECT, | 155 | HOSTIF_PCI_MASTER_HOST_INDIRECT, |
@@ -187,7 +187,7 @@ struct acx_rx_msdu_lifetime { | |||
187 | * firmware discards the MSDU. | 187 | * firmware discards the MSDU. |
188 | */ | 188 | */ |
189 | __le32 lifetime; | 189 | __le32 lifetime; |
190 | } __attribute__ ((packed)); | 190 | } __packed; |
191 | 191 | ||
192 | /* | 192 | /* |
193 | * RX Config Options Table | 193 | * RX Config Options Table |
@@ -275,13 +275,13 @@ struct acx_rx_config { | |||
275 | 275 | ||
276 | __le32 config_options; | 276 | __le32 config_options; |
277 | __le32 filter_options; | 277 | __le32 filter_options; |
278 | } __attribute__ ((packed)); | 278 | } __packed; |
279 | 279 | ||
280 | struct acx_packet_detection { | 280 | struct acx_packet_detection { |
281 | struct acx_header header; | 281 | struct acx_header header; |
282 | 282 | ||
283 | __le32 threshold; | 283 | __le32 threshold; |
284 | } __attribute__ ((packed)); | 284 | } __packed; |
285 | 285 | ||
286 | 286 | ||
287 | enum acx_slot_type { | 287 | enum acx_slot_type { |
@@ -299,7 +299,7 @@ struct acx_slot { | |||
299 | u8 wone_index; /* Reserved */ | 299 | u8 wone_index; /* Reserved */ |
300 | u8 slot_time; | 300 | u8 slot_time; |
301 | u8 reserved[6]; | 301 | u8 reserved[6]; |
302 | } __attribute__ ((packed)); | 302 | } __packed; |
303 | 303 | ||
304 | 304 | ||
305 | #define ACX_MC_ADDRESS_GROUP_MAX (8) | 305 | #define ACX_MC_ADDRESS_GROUP_MAX (8) |
@@ -312,21 +312,21 @@ struct acx_dot11_grp_addr_tbl { | |||
312 | u8 num_groups; | 312 | u8 num_groups; |
313 | u8 pad[2]; | 313 | u8 pad[2]; |
314 | u8 mac_table[ADDRESS_GROUP_MAX_LEN]; | 314 | u8 mac_table[ADDRESS_GROUP_MAX_LEN]; |
315 | } __attribute__ ((packed)); | 315 | } __packed; |
316 | 316 | ||
317 | struct acx_rx_timeout { | 317 | struct acx_rx_timeout { |
318 | struct acx_header header; | 318 | struct acx_header header; |
319 | 319 | ||
320 | __le16 ps_poll_timeout; | 320 | __le16 ps_poll_timeout; |
321 | __le16 upsd_timeout; | 321 | __le16 upsd_timeout; |
322 | } __attribute__ ((packed)); | 322 | } __packed; |
323 | 323 | ||
324 | struct acx_rts_threshold { | 324 | struct acx_rts_threshold { |
325 | struct acx_header header; | 325 | struct acx_header header; |
326 | 326 | ||
327 | __le16 threshold; | 327 | __le16 threshold; |
328 | u8 pad[2]; | 328 | u8 pad[2]; |
329 | } __attribute__ ((packed)); | 329 | } __packed; |
330 | 330 | ||
331 | struct acx_beacon_filter_option { | 331 | struct acx_beacon_filter_option { |
332 | struct acx_header header; | 332 | struct acx_header header; |
@@ -342,7 +342,7 @@ struct acx_beacon_filter_option { | |||
342 | */ | 342 | */ |
343 | u8 max_num_beacons; | 343 | u8 max_num_beacons; |
344 | u8 pad[2]; | 344 | u8 pad[2]; |
345 | } __attribute__ ((packed)); | 345 | } __packed; |
346 | 346 | ||
347 | /* | 347 | /* |
348 | * ACXBeaconFilterEntry (not 221) | 348 | * ACXBeaconFilterEntry (not 221) |
@@ -383,21 +383,21 @@ struct acx_beacon_filter_ie_table { | |||
383 | u8 num_ie; | 383 | u8 num_ie; |
384 | u8 pad[3]; | 384 | u8 pad[3]; |
385 | u8 table[BEACON_FILTER_TABLE_MAX_SIZE]; | 385 | u8 table[BEACON_FILTER_TABLE_MAX_SIZE]; |
386 | } __attribute__ ((packed)); | 386 | } __packed; |
387 | 387 | ||
388 | struct acx_conn_monit_params { | 388 | struct acx_conn_monit_params { |
389 | struct acx_header header; | 389 | struct acx_header header; |
390 | 390 | ||
391 | __le32 synch_fail_thold; /* number of beacons missed */ | 391 | __le32 synch_fail_thold; /* number of beacons missed */ |
392 | __le32 bss_lose_timeout; /* number of TU's from synch fail */ | 392 | __le32 bss_lose_timeout; /* number of TU's from synch fail */ |
393 | } __attribute__ ((packed)); | 393 | } __packed; |
394 | 394 | ||
395 | struct acx_bt_wlan_coex { | 395 | struct acx_bt_wlan_coex { |
396 | struct acx_header header; | 396 | struct acx_header header; |
397 | 397 | ||
398 | u8 enable; | 398 | u8 enable; |
399 | u8 pad[3]; | 399 | u8 pad[3]; |
400 | } __attribute__ ((packed)); | 400 | } __packed; |
401 | 401 | ||
402 | struct acx_bt_wlan_coex_param { | 402 | struct acx_bt_wlan_coex_param { |
403 | struct acx_header header; | 403 | struct acx_header header; |
@@ -405,7 +405,7 @@ struct acx_bt_wlan_coex_param { | |||
405 | __le32 params[CONF_SG_PARAMS_MAX]; | 405 | __le32 params[CONF_SG_PARAMS_MAX]; |
406 | u8 param_idx; | 406 | u8 param_idx; |
407 | u8 padding[3]; | 407 | u8 padding[3]; |
408 | } __attribute__ ((packed)); | 408 | } __packed; |
409 | 409 | ||
410 | struct acx_dco_itrim_params { | 410 | struct acx_dco_itrim_params { |
411 | struct acx_header header; | 411 | struct acx_header header; |
@@ -413,7 +413,7 @@ struct acx_dco_itrim_params { | |||
413 | u8 enable; | 413 | u8 enable; |
414 | u8 padding[3]; | 414 | u8 padding[3]; |
415 | __le32 timeout; | 415 | __le32 timeout; |
416 | } __attribute__ ((packed)); | 416 | } __packed; |
417 | 417 | ||
418 | struct acx_energy_detection { | 418 | struct acx_energy_detection { |
419 | struct acx_header header; | 419 | struct acx_header header; |
@@ -422,7 +422,7 @@ struct acx_energy_detection { | |||
422 | __le16 rx_cca_threshold; | 422 | __le16 rx_cca_threshold; |
423 | u8 tx_energy_detection; | 423 | u8 tx_energy_detection; |
424 | u8 pad; | 424 | u8 pad; |
425 | } __attribute__ ((packed)); | 425 | } __packed; |
426 | 426 | ||
427 | struct acx_beacon_broadcast { | 427 | struct acx_beacon_broadcast { |
428 | struct acx_header header; | 428 | struct acx_header header; |
@@ -436,14 +436,14 @@ struct acx_beacon_broadcast { | |||
436 | /* Consecutive PS Poll failures before updating the host */ | 436 | /* Consecutive PS Poll failures before updating the host */ |
437 | u8 ps_poll_threshold; | 437 | u8 ps_poll_threshold; |
438 | u8 pad[2]; | 438 | u8 pad[2]; |
439 | } __attribute__ ((packed)); | 439 | } __packed; |
440 | 440 | ||
441 | struct acx_event_mask { | 441 | struct acx_event_mask { |
442 | struct acx_header header; | 442 | struct acx_header header; |
443 | 443 | ||
444 | __le32 event_mask; | 444 | __le32 event_mask; |
445 | __le32 high_event_mask; /* Unused */ | 445 | __le32 high_event_mask; /* Unused */ |
446 | } __attribute__ ((packed)); | 446 | } __packed; |
447 | 447 | ||
448 | #define CFG_RX_FCS BIT(2) | 448 | #define CFG_RX_FCS BIT(2) |
449 | #define CFG_RX_ALL_GOOD BIT(3) | 449 | #define CFG_RX_ALL_GOOD BIT(3) |
@@ -488,14 +488,14 @@ struct acx_feature_config { | |||
488 | 488 | ||
489 | __le32 options; | 489 | __le32 options; |
490 | __le32 data_flow_options; | 490 | __le32 data_flow_options; |
491 | } __attribute__ ((packed)); | 491 | } __packed; |
492 | 492 | ||
493 | struct acx_current_tx_power { | 493 | struct acx_current_tx_power { |
494 | struct acx_header header; | 494 | struct acx_header header; |
495 | 495 | ||
496 | u8 current_tx_power; | 496 | u8 current_tx_power; |
497 | u8 padding[3]; | 497 | u8 padding[3]; |
498 | } __attribute__ ((packed)); | 498 | } __packed; |
499 | 499 | ||
500 | struct acx_wake_up_condition { | 500 | struct acx_wake_up_condition { |
501 | struct acx_header header; | 501 | struct acx_header header; |
@@ -503,7 +503,7 @@ struct acx_wake_up_condition { | |||
503 | u8 wake_up_event; /* Only one bit can be set */ | 503 | u8 wake_up_event; /* Only one bit can be set */ |
504 | u8 listen_interval; | 504 | u8 listen_interval; |
505 | u8 pad[2]; | 505 | u8 pad[2]; |
506 | } __attribute__ ((packed)); | 506 | } __packed; |
507 | 507 | ||
508 | struct acx_aid { | 508 | struct acx_aid { |
509 | struct acx_header header; | 509 | struct acx_header header; |
@@ -513,7 +513,7 @@ struct acx_aid { | |||
513 | */ | 513 | */ |
514 | __le16 aid; | 514 | __le16 aid; |
515 | u8 pad[2]; | 515 | u8 pad[2]; |
516 | } __attribute__ ((packed)); | 516 | } __packed; |
517 | 517 | ||
518 | enum acx_preamble_type { | 518 | enum acx_preamble_type { |
519 | ACX_PREAMBLE_LONG = 0, | 519 | ACX_PREAMBLE_LONG = 0, |
@@ -529,7 +529,7 @@ struct acx_preamble { | |||
529 | */ | 529 | */ |
530 | u8 preamble; | 530 | u8 preamble; |
531 | u8 padding[3]; | 531 | u8 padding[3]; |
532 | } __attribute__ ((packed)); | 532 | } __packed; |
533 | 533 | ||
534 | enum acx_ctsprotect_type { | 534 | enum acx_ctsprotect_type { |
535 | CTSPROTECT_DISABLE = 0, | 535 | CTSPROTECT_DISABLE = 0, |
@@ -540,11 +540,11 @@ struct acx_ctsprotect { | |||
540 | struct acx_header header; | 540 | struct acx_header header; |
541 | u8 ctsprotect; | 541 | u8 ctsprotect; |
542 | u8 padding[3]; | 542 | u8 padding[3]; |
543 | } __attribute__ ((packed)); | 543 | } __packed; |
544 | 544 | ||
545 | struct acx_tx_statistics { | 545 | struct acx_tx_statistics { |
546 | __le32 internal_desc_overflow; | 546 | __le32 internal_desc_overflow; |
547 | } __attribute__ ((packed)); | 547 | } __packed; |
548 | 548 | ||
549 | struct acx_rx_statistics { | 549 | struct acx_rx_statistics { |
550 | __le32 out_of_mem; | 550 | __le32 out_of_mem; |
@@ -555,14 +555,14 @@ struct acx_rx_statistics { | |||
555 | __le32 xfr_hint_trig; | 555 | __le32 xfr_hint_trig; |
556 | __le32 path_reset; | 556 | __le32 path_reset; |
557 | __le32 reset_counter; | 557 | __le32 reset_counter; |
558 | } __attribute__ ((packed)); | 558 | } __packed; |
559 | 559 | ||
560 | struct acx_dma_statistics { | 560 | struct acx_dma_statistics { |
561 | __le32 rx_requested; | 561 | __le32 rx_requested; |
562 | __le32 rx_errors; | 562 | __le32 rx_errors; |
563 | __le32 tx_requested; | 563 | __le32 tx_requested; |
564 | __le32 tx_errors; | 564 | __le32 tx_errors; |
565 | } __attribute__ ((packed)); | 565 | } __packed; |
566 | 566 | ||
567 | struct acx_isr_statistics { | 567 | struct acx_isr_statistics { |
568 | /* host command complete */ | 568 | /* host command complete */ |
@@ -621,7 +621,7 @@ struct acx_isr_statistics { | |||
621 | 621 | ||
622 | /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */ | 622 | /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */ |
623 | __le32 low_rssi; | 623 | __le32 low_rssi; |
624 | } __attribute__ ((packed)); | 624 | } __packed; |
625 | 625 | ||
626 | struct acx_wep_statistics { | 626 | struct acx_wep_statistics { |
627 | /* WEP address keys configured */ | 627 | /* WEP address keys configured */ |
@@ -643,7 +643,7 @@ struct acx_wep_statistics { | |||
643 | 643 | ||
644 | /* WEP decrypt interrupts */ | 644 | /* WEP decrypt interrupts */ |
645 | __le32 interrupt; | 645 | __le32 interrupt; |
646 | } __attribute__ ((packed)); | 646 | } __packed; |
647 | 647 | ||
648 | #define ACX_MISSED_BEACONS_SPREAD 10 | 648 | #define ACX_MISSED_BEACONS_SPREAD 10 |
649 | 649 | ||
@@ -703,12 +703,12 @@ struct acx_pwr_statistics { | |||
703 | 703 | ||
704 | /* the number of beacons in awake mode */ | 704 | /* the number of beacons in awake mode */ |
705 | __le32 rcvd_awake_beacons; | 705 | __le32 rcvd_awake_beacons; |
706 | } __attribute__ ((packed)); | 706 | } __packed; |
707 | 707 | ||
708 | struct acx_mic_statistics { | 708 | struct acx_mic_statistics { |
709 | __le32 rx_pkts; | 709 | __le32 rx_pkts; |
710 | __le32 calc_failure; | 710 | __le32 calc_failure; |
711 | } __attribute__ ((packed)); | 711 | } __packed; |
712 | 712 | ||
713 | struct acx_aes_statistics { | 713 | struct acx_aes_statistics { |
714 | __le32 encrypt_fail; | 714 | __le32 encrypt_fail; |
@@ -717,7 +717,7 @@ struct acx_aes_statistics { | |||
717 | __le32 decrypt_packets; | 717 | __le32 decrypt_packets; |
718 | __le32 encrypt_interrupt; | 718 | __le32 encrypt_interrupt; |
719 | __le32 decrypt_interrupt; | 719 | __le32 decrypt_interrupt; |
720 | } __attribute__ ((packed)); | 720 | } __packed; |
721 | 721 | ||
722 | struct acx_event_statistics { | 722 | struct acx_event_statistics { |
723 | __le32 heart_beat; | 723 | __le32 heart_beat; |
@@ -728,7 +728,7 @@ struct acx_event_statistics { | |||
728 | __le32 oom_late; | 728 | __le32 oom_late; |
729 | __le32 phy_transmit_error; | 729 | __le32 phy_transmit_error; |
730 | __le32 tx_stuck; | 730 | __le32 tx_stuck; |
731 | } __attribute__ ((packed)); | 731 | } __packed; |
732 | 732 | ||
733 | struct acx_ps_statistics { | 733 | struct acx_ps_statistics { |
734 | __le32 pspoll_timeouts; | 734 | __le32 pspoll_timeouts; |
@@ -738,7 +738,7 @@ struct acx_ps_statistics { | |||
738 | __le32 pspoll_max_apturn; | 738 | __le32 pspoll_max_apturn; |
739 | __le32 pspoll_utilization; | 739 | __le32 pspoll_utilization; |
740 | __le32 upsd_utilization; | 740 | __le32 upsd_utilization; |
741 | } __attribute__ ((packed)); | 741 | } __packed; |
742 | 742 | ||
743 | struct acx_rxpipe_statistics { | 743 | struct acx_rxpipe_statistics { |
744 | __le32 rx_prep_beacon_drop; | 744 | __le32 rx_prep_beacon_drop; |
@@ -746,7 +746,7 @@ struct acx_rxpipe_statistics { | |||
746 | __le32 beacon_buffer_thres_host_int_trig_rx_data; | 746 | __le32 beacon_buffer_thres_host_int_trig_rx_data; |
747 | __le32 missed_beacon_host_int_trig_rx_data; | 747 | __le32 missed_beacon_host_int_trig_rx_data; |
748 | __le32 tx_xfr_host_int_trig_rx_data; | 748 | __le32 tx_xfr_host_int_trig_rx_data; |
749 | } __attribute__ ((packed)); | 749 | } __packed; |
750 | 750 | ||
751 | struct acx_statistics { | 751 | struct acx_statistics { |
752 | struct acx_header header; | 752 | struct acx_header header; |
@@ -762,7 +762,7 @@ struct acx_statistics { | |||
762 | struct acx_event_statistics event; | 762 | struct acx_event_statistics event; |
763 | struct acx_ps_statistics ps; | 763 | struct acx_ps_statistics ps; |
764 | struct acx_rxpipe_statistics rxpipe; | 764 | struct acx_rxpipe_statistics rxpipe; |
765 | } __attribute__ ((packed)); | 765 | } __packed; |
766 | 766 | ||
767 | struct acx_rate_class { | 767 | struct acx_rate_class { |
768 | __le32 enabled_rates; | 768 | __le32 enabled_rates; |
@@ -780,7 +780,7 @@ struct acx_rate_policy { | |||
780 | 780 | ||
781 | __le32 rate_class_cnt; | 781 | __le32 rate_class_cnt; |
782 | struct acx_rate_class rate_class[CONF_TX_MAX_RATE_CLASSES]; | 782 | struct acx_rate_class rate_class[CONF_TX_MAX_RATE_CLASSES]; |
783 | } __attribute__ ((packed)); | 783 | } __packed; |
784 | 784 | ||
785 | struct acx_ac_cfg { | 785 | struct acx_ac_cfg { |
786 | struct acx_header header; | 786 | struct acx_header header; |
@@ -790,7 +790,7 @@ struct acx_ac_cfg { | |||
790 | u8 aifsn; | 790 | u8 aifsn; |
791 | u8 reserved; | 791 | u8 reserved; |
792 | __le16 tx_op_limit; | 792 | __le16 tx_op_limit; |
793 | } __attribute__ ((packed)); | 793 | } __packed; |
794 | 794 | ||
795 | struct acx_tid_config { | 795 | struct acx_tid_config { |
796 | struct acx_header header; | 796 | struct acx_header header; |
@@ -801,19 +801,19 @@ struct acx_tid_config { | |||
801 | u8 ack_policy; | 801 | u8 ack_policy; |
802 | u8 padding[3]; | 802 | u8 padding[3]; |
803 | __le32 apsd_conf[2]; | 803 | __le32 apsd_conf[2]; |
804 | } __attribute__ ((packed)); | 804 | } __packed; |
805 | 805 | ||
806 | struct acx_frag_threshold { | 806 | struct acx_frag_threshold { |
807 | struct acx_header header; | 807 | struct acx_header header; |
808 | __le16 frag_threshold; | 808 | __le16 frag_threshold; |
809 | u8 padding[2]; | 809 | u8 padding[2]; |
810 | } __attribute__ ((packed)); | 810 | } __packed; |
811 | 811 | ||
812 | struct acx_tx_config_options { | 812 | struct acx_tx_config_options { |
813 | struct acx_header header; | 813 | struct acx_header header; |
814 | __le16 tx_compl_timeout; /* msec */ | 814 | __le16 tx_compl_timeout; /* msec */ |
815 | __le16 tx_compl_threshold; /* number of packets */ | 815 | __le16 tx_compl_threshold; /* number of packets */ |
816 | } __attribute__ ((packed)); | 816 | } __packed; |
817 | 817 | ||
818 | #define ACX_RX_MEM_BLOCKS 70 | 818 | #define ACX_RX_MEM_BLOCKS 70 |
819 | #define ACX_TX_MIN_MEM_BLOCKS 40 | 819 | #define ACX_TX_MIN_MEM_BLOCKS 40 |
@@ -828,7 +828,7 @@ struct wl1271_acx_config_memory { | |||
828 | u8 num_stations; | 828 | u8 num_stations; |
829 | u8 num_ssid_profiles; | 829 | u8 num_ssid_profiles; |
830 | __le32 total_tx_descriptors; | 830 | __le32 total_tx_descriptors; |
831 | } __attribute__ ((packed)); | 831 | } __packed; |
832 | 832 | ||
833 | struct wl1271_acx_mem_map { | 833 | struct wl1271_acx_mem_map { |
834 | struct acx_header header; | 834 | struct acx_header header; |
@@ -872,7 +872,7 @@ struct wl1271_acx_mem_map { | |||
872 | u8 *rx_cbuf; | 872 | u8 *rx_cbuf; |
873 | __le32 rx_ctrl; | 873 | __le32 rx_ctrl; |
874 | __le32 tx_ctrl; | 874 | __le32 tx_ctrl; |
875 | } __attribute__ ((packed)); | 875 | } __packed; |
876 | 876 | ||
877 | struct wl1271_acx_rx_config_opt { | 877 | struct wl1271_acx_rx_config_opt { |
878 | struct acx_header header; | 878 | struct acx_header header; |
@@ -882,7 +882,7 @@ struct wl1271_acx_rx_config_opt { | |||
882 | __le16 timeout; | 882 | __le16 timeout; |
883 | u8 queue_type; | 883 | u8 queue_type; |
884 | u8 reserved; | 884 | u8 reserved; |
885 | } __attribute__ ((packed)); | 885 | } __packed; |
886 | 886 | ||
887 | 887 | ||
888 | struct wl1271_acx_bet_enable { | 888 | struct wl1271_acx_bet_enable { |
@@ -891,7 +891,7 @@ struct wl1271_acx_bet_enable { | |||
891 | u8 enable; | 891 | u8 enable; |
892 | u8 max_consecutive; | 892 | u8 max_consecutive; |
893 | u8 padding[2]; | 893 | u8 padding[2]; |
894 | } __attribute__ ((packed)); | 894 | } __packed; |
895 | 895 | ||
896 | #define ACX_IPV4_VERSION 4 | 896 | #define ACX_IPV4_VERSION 4 |
897 | #define ACX_IPV6_VERSION 6 | 897 | #define ACX_IPV6_VERSION 6 |
@@ -905,7 +905,7 @@ struct wl1271_acx_arp_filter { | |||
905 | requests directed to this IP address will pass | 905 | requests directed to this IP address will pass |
906 | through. For IPv4, the first four bytes are | 906 | through. For IPv4, the first four bytes are |
907 | used. */ | 907 | used. */ |
908 | } __attribute__((packed)); | 908 | } __packed; |
909 | 909 | ||
910 | struct wl1271_acx_pm_config { | 910 | struct wl1271_acx_pm_config { |
911 | struct acx_header header; | 911 | struct acx_header header; |
@@ -913,14 +913,14 @@ struct wl1271_acx_pm_config { | |||
913 | __le32 host_clk_settling_time; | 913 | __le32 host_clk_settling_time; |
914 | u8 host_fast_wakeup_support; | 914 | u8 host_fast_wakeup_support; |
915 | u8 padding[3]; | 915 | u8 padding[3]; |
916 | } __attribute__ ((packed)); | 916 | } __packed; |
917 | 917 | ||
918 | struct wl1271_acx_keep_alive_mode { | 918 | struct wl1271_acx_keep_alive_mode { |
919 | struct acx_header header; | 919 | struct acx_header header; |
920 | 920 | ||
921 | u8 enabled; | 921 | u8 enabled; |
922 | u8 padding[3]; | 922 | u8 padding[3]; |
923 | } __attribute__ ((packed)); | 923 | } __packed; |
924 | 924 | ||
925 | enum { | 925 | enum { |
926 | ACX_KEEP_ALIVE_NO_TX = 0, | 926 | ACX_KEEP_ALIVE_NO_TX = 0, |
@@ -940,7 +940,7 @@ struct wl1271_acx_keep_alive_config { | |||
940 | u8 tpl_validation; | 940 | u8 tpl_validation; |
941 | u8 trigger; | 941 | u8 trigger; |
942 | u8 padding; | 942 | u8 padding; |
943 | } __attribute__ ((packed)); | 943 | } __packed; |
944 | 944 | ||
945 | enum { | 945 | enum { |
946 | WL1271_ACX_TRIG_TYPE_LEVEL = 0, | 946 | WL1271_ACX_TRIG_TYPE_LEVEL = 0, |
diff --git a/drivers/net/wireless/wl12xx/wl1271_cmd.h b/drivers/net/wireless/wl12xx/wl1271_cmd.h index f2820b42a943..d88faf9d2642 100644 --- a/drivers/net/wireless/wl12xx/wl1271_cmd.h +++ b/drivers/net/wireless/wl12xx/wl1271_cmd.h | |||
@@ -136,14 +136,14 @@ struct wl1271_cmd_header { | |||
136 | __le16 status; | 136 | __le16 status; |
137 | /* payload */ | 137 | /* payload */ |
138 | u8 data[0]; | 138 | u8 data[0]; |
139 | } __attribute__ ((packed)); | 139 | } __packed; |
140 | 140 | ||
141 | #define WL1271_CMD_MAX_PARAMS 572 | 141 | #define WL1271_CMD_MAX_PARAMS 572 |
142 | 142 | ||
143 | struct wl1271_command { | 143 | struct wl1271_command { |
144 | struct wl1271_cmd_header header; | 144 | struct wl1271_cmd_header header; |
145 | u8 parameters[WL1271_CMD_MAX_PARAMS]; | 145 | u8 parameters[WL1271_CMD_MAX_PARAMS]; |
146 | } __attribute__ ((packed)); | 146 | } __packed; |
147 | 147 | ||
148 | enum { | 148 | enum { |
149 | CMD_MAILBOX_IDLE = 0, | 149 | CMD_MAILBOX_IDLE = 0, |
@@ -196,7 +196,7 @@ struct cmd_read_write_memory { | |||
196 | of this field is the Host in WRITE command or the Wilink in READ | 196 | of this field is the Host in WRITE command or the Wilink in READ |
197 | command. */ | 197 | command. */ |
198 | u8 value[MAX_READ_SIZE]; | 198 | u8 value[MAX_READ_SIZE]; |
199 | } __attribute__ ((packed)); | 199 | } __packed; |
200 | 200 | ||
201 | #define CMDMBOX_HEADER_LEN 4 | 201 | #define CMDMBOX_HEADER_LEN 4 |
202 | #define CMDMBOX_INFO_ELEM_HEADER_LEN 4 | 202 | #define CMDMBOX_INFO_ELEM_HEADER_LEN 4 |
@@ -243,14 +243,14 @@ struct wl1271_cmd_join { | |||
243 | u8 ssid[IW_ESSID_MAX_SIZE]; | 243 | u8 ssid[IW_ESSID_MAX_SIZE]; |
244 | u8 ctrl; /* JOIN_CMD_CTRL_* */ | 244 | u8 ctrl; /* JOIN_CMD_CTRL_* */ |
245 | u8 reserved[3]; | 245 | u8 reserved[3]; |
246 | } __attribute__ ((packed)); | 246 | } __packed; |
247 | 247 | ||
248 | struct cmd_enabledisable_path { | 248 | struct cmd_enabledisable_path { |
249 | struct wl1271_cmd_header header; | 249 | struct wl1271_cmd_header header; |
250 | 250 | ||
251 | u8 channel; | 251 | u8 channel; |
252 | u8 padding[3]; | 252 | u8 padding[3]; |
253 | } __attribute__ ((packed)); | 253 | } __packed; |
254 | 254 | ||
255 | #define WL1271_RATE_AUTOMATIC 0 | 255 | #define WL1271_RATE_AUTOMATIC 0 |
256 | 256 | ||
@@ -266,7 +266,7 @@ struct wl1271_cmd_template_set { | |||
266 | u8 aflags; | 266 | u8 aflags; |
267 | u8 reserved; | 267 | u8 reserved; |
268 | u8 template_data[WL1271_CMD_TEMPL_MAX_SIZE]; | 268 | u8 template_data[WL1271_CMD_TEMPL_MAX_SIZE]; |
269 | } __attribute__ ((packed)); | 269 | } __packed; |
270 | 270 | ||
271 | #define TIM_ELE_ID 5 | 271 | #define TIM_ELE_ID 5 |
272 | #define PARTIAL_VBM_MAX 251 | 272 | #define PARTIAL_VBM_MAX 251 |
@@ -278,7 +278,7 @@ struct wl1271_tim { | |||
278 | u8 dtim_period; | 278 | u8 dtim_period; |
279 | u8 bitmap_ctrl; | 279 | u8 bitmap_ctrl; |
280 | u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */ | 280 | u8 pvb_field[PARTIAL_VBM_MAX]; /* Partial Virtual Bitmap */ |
281 | } __attribute__ ((packed)); | 281 | } __packed; |
282 | 282 | ||
283 | enum wl1271_cmd_ps_mode { | 283 | enum wl1271_cmd_ps_mode { |
284 | STATION_ACTIVE_MODE, | 284 | STATION_ACTIVE_MODE, |
@@ -298,7 +298,7 @@ struct wl1271_cmd_ps_params { | |||
298 | */ | 298 | */ |
299 | u8 hang_over_period; | 299 | u8 hang_over_period; |
300 | __le32 null_data_rate; | 300 | __le32 null_data_rate; |
301 | } __attribute__ ((packed)); | 301 | } __packed; |
302 | 302 | ||
303 | /* HW encryption keys */ | 303 | /* HW encryption keys */ |
304 | #define NUM_ACCESS_CATEGORIES_COPY 4 | 304 | #define NUM_ACCESS_CATEGORIES_COPY 4 |
@@ -348,7 +348,7 @@ struct wl1271_cmd_set_keys { | |||
348 | u8 key[MAX_KEY_SIZE]; | 348 | u8 key[MAX_KEY_SIZE]; |
349 | __le16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY]; | 349 | __le16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY]; |
350 | __le32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY]; | 350 | __le32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY]; |
351 | } __attribute__ ((packed)); | 351 | } __packed; |
352 | 352 | ||
353 | 353 | ||
354 | #define WL1271_SCAN_MAX_CHANNELS 24 | 354 | #define WL1271_SCAN_MAX_CHANNELS 24 |
@@ -385,7 +385,7 @@ struct basic_scan_params { | |||
385 | u8 use_ssid_list; | 385 | u8 use_ssid_list; |
386 | u8 scan_tag; | 386 | u8 scan_tag; |
387 | u8 padding2; | 387 | u8 padding2; |
388 | } __attribute__ ((packed)); | 388 | } __packed; |
389 | 389 | ||
390 | struct basic_scan_channel_params { | 390 | struct basic_scan_channel_params { |
391 | /* Duration in TU to wait for frames on a channel for active scan */ | 391 | /* Duration in TU to wait for frames on a channel for active scan */ |
@@ -400,25 +400,25 @@ struct basic_scan_channel_params { | |||
400 | u8 dfs_candidate; | 400 | u8 dfs_candidate; |
401 | u8 activity_detected; | 401 | u8 activity_detected; |
402 | u8 pad; | 402 | u8 pad; |
403 | } __attribute__ ((packed)); | 403 | } __packed; |
404 | 404 | ||
405 | struct wl1271_cmd_scan { | 405 | struct wl1271_cmd_scan { |
406 | struct wl1271_cmd_header header; | 406 | struct wl1271_cmd_header header; |
407 | 407 | ||
408 | struct basic_scan_params params; | 408 | struct basic_scan_params params; |
409 | struct basic_scan_channel_params channels[WL1271_SCAN_MAX_CHANNELS]; | 409 | struct basic_scan_channel_params channels[WL1271_SCAN_MAX_CHANNELS]; |
410 | } __attribute__ ((packed)); | 410 | } __packed; |
411 | 411 | ||
412 | struct wl1271_cmd_trigger_scan_to { | 412 | struct wl1271_cmd_trigger_scan_to { |
413 | struct wl1271_cmd_header header; | 413 | struct wl1271_cmd_header header; |
414 | 414 | ||
415 | __le32 timeout; | 415 | __le32 timeout; |
416 | } __attribute__ ((packed)); | 416 | } __packed; |
417 | 417 | ||
418 | struct wl1271_cmd_test_header { | 418 | struct wl1271_cmd_test_header { |
419 | u8 id; | 419 | u8 id; |
420 | u8 padding[3]; | 420 | u8 padding[3]; |
421 | } __attribute__ ((packed)); | 421 | } __packed; |
422 | 422 | ||
423 | enum wl1271_channel_tune_bands { | 423 | enum wl1271_channel_tune_bands { |
424 | WL1271_CHANNEL_TUNE_BAND_2_4, | 424 | WL1271_CHANNEL_TUNE_BAND_2_4, |
@@ -441,7 +441,7 @@ struct wl1271_general_parms_cmd { | |||
441 | 441 | ||
442 | u8 params[WL1271_NVS_GENERAL_PARAMS_SIZE]; | 442 | u8 params[WL1271_NVS_GENERAL_PARAMS_SIZE]; |
443 | s8 reserved[23]; | 443 | s8 reserved[23]; |
444 | } __attribute__ ((packed)); | 444 | } __packed; |
445 | 445 | ||
446 | #define WL1271_STAT_RADIO_PARAMS_5_SIZE 29 | 446 | #define WL1271_STAT_RADIO_PARAMS_5_SIZE 29 |
447 | #define WL1271_DYN_RADIO_PARAMS_5_SIZE 104 | 447 | #define WL1271_DYN_RADIO_PARAMS_5_SIZE 104 |
@@ -457,7 +457,7 @@ struct wl1271_radio_parms_cmd { | |||
457 | u8 dyn_radio_params[WL1271_NVS_DYN_RADIO_PARAMS_SIZE]; | 457 | u8 dyn_radio_params[WL1271_NVS_DYN_RADIO_PARAMS_SIZE]; |
458 | u8 reserved; | 458 | u8 reserved; |
459 | u8 dyn_radio_params_5[WL1271_DYN_RADIO_PARAMS_5_SIZE]; | 459 | u8 dyn_radio_params_5[WL1271_DYN_RADIO_PARAMS_5_SIZE]; |
460 | } __attribute__ ((packed)); | 460 | } __packed; |
461 | 461 | ||
462 | struct wl1271_cmd_cal_channel_tune { | 462 | struct wl1271_cmd_cal_channel_tune { |
463 | struct wl1271_cmd_header header; | 463 | struct wl1271_cmd_header header; |
@@ -468,7 +468,7 @@ struct wl1271_cmd_cal_channel_tune { | |||
468 | u8 channel; | 468 | u8 channel; |
469 | 469 | ||
470 | __le16 radio_status; | 470 | __le16 radio_status; |
471 | } __attribute__ ((packed)); | 471 | } __packed; |
472 | 472 | ||
473 | struct wl1271_cmd_cal_update_ref_point { | 473 | struct wl1271_cmd_cal_update_ref_point { |
474 | struct wl1271_cmd_header header; | 474 | struct wl1271_cmd_header header; |
@@ -479,7 +479,7 @@ struct wl1271_cmd_cal_update_ref_point { | |||
479 | __le32 ref_detector; | 479 | __le32 ref_detector; |
480 | u8 sub_band; | 480 | u8 sub_band; |
481 | u8 padding[3]; | 481 | u8 padding[3]; |
482 | } __attribute__ ((packed)); | 482 | } __packed; |
483 | 483 | ||
484 | #define MAX_TLV_LENGTH 400 | 484 | #define MAX_TLV_LENGTH 400 |
485 | #define MAX_NVS_VERSION_LENGTH 12 | 485 | #define MAX_NVS_VERSION_LENGTH 12 |
@@ -501,7 +501,7 @@ struct wl1271_cmd_cal_p2g { | |||
501 | 501 | ||
502 | u8 sub_band_mask; | 502 | u8 sub_band_mask; |
503 | u8 padding2; | 503 | u8 padding2; |
504 | } __attribute__ ((packed)); | 504 | } __packed; |
505 | 505 | ||
506 | 506 | ||
507 | /* | 507 | /* |
@@ -529,6 +529,6 @@ struct wl1271_cmd_disconnect { | |||
529 | u8 type; | 529 | u8 type; |
530 | 530 | ||
531 | u8 padding; | 531 | u8 padding; |
532 | } __attribute__ ((packed)); | 532 | } __packed; |
533 | 533 | ||
534 | #endif /* __WL1271_CMD_H__ */ | 534 | #endif /* __WL1271_CMD_H__ */ |
diff --git a/drivers/net/wireless/wl12xx/wl1271_event.h b/drivers/net/wireless/wl12xx/wl1271_event.h index 58371008f270..43d5aeae1783 100644 --- a/drivers/net/wireless/wl12xx/wl1271_event.h +++ b/drivers/net/wireless/wl12xx/wl1271_event.h | |||
@@ -85,7 +85,7 @@ struct event_debug_report { | |||
85 | __le32 report_1; | 85 | __le32 report_1; |
86 | __le32 report_2; | 86 | __le32 report_2; |
87 | __le32 report_3; | 87 | __le32 report_3; |
88 | } __attribute__ ((packed)); | 88 | } __packed; |
89 | 89 | ||
90 | #define NUM_OF_RSSI_SNR_TRIGGERS 8 | 90 | #define NUM_OF_RSSI_SNR_TRIGGERS 8 |
91 | 91 | ||
@@ -116,7 +116,7 @@ struct event_mailbox { | |||
116 | u8 ps_status; | 116 | u8 ps_status; |
117 | 117 | ||
118 | u8 reserved_5[29]; | 118 | u8 reserved_5[29]; |
119 | } __attribute__ ((packed)); | 119 | } __packed; |
120 | 120 | ||
121 | int wl1271_event_unmask(struct wl1271 *wl); | 121 | int wl1271_event_unmask(struct wl1271 *wl); |
122 | void wl1271_event_mbox_config(struct wl1271 *wl); | 122 | void wl1271_event_mbox_config(struct wl1271 *wl); |
diff --git a/drivers/net/wireless/wl12xx/wl1271_rx.h b/drivers/net/wireless/wl12xx/wl1271_rx.h index b89be4758e78..13a232333b13 100644 --- a/drivers/net/wireless/wl12xx/wl1271_rx.h +++ b/drivers/net/wireless/wl12xx/wl1271_rx.h | |||
@@ -113,7 +113,7 @@ struct wl1271_rx_descriptor { | |||
113 | u8 process_id; | 113 | u8 process_id; |
114 | u8 pad_len; | 114 | u8 pad_len; |
115 | u8 reserved; | 115 | u8 reserved; |
116 | } __attribute__ ((packed)); | 116 | } __packed; |
117 | 117 | ||
118 | void wl1271_rx(struct wl1271 *wl, struct wl1271_fw_status *status); | 118 | void wl1271_rx(struct wl1271 *wl, struct wl1271_fw_status *status); |
119 | u8 wl1271_rate_to_idx(struct wl1271 *wl, int rate); | 119 | u8 wl1271_rate_to_idx(struct wl1271 *wl, int rate); |
diff --git a/drivers/net/wireless/wl12xx/wl1271_tx.h b/drivers/net/wireless/wl12xx/wl1271_tx.h index 3b8b7ac253fd..91d0adb0ea40 100644 --- a/drivers/net/wireless/wl12xx/wl1271_tx.h +++ b/drivers/net/wireless/wl12xx/wl1271_tx.h | |||
@@ -80,7 +80,7 @@ struct wl1271_tx_hw_descr { | |||
80 | /* Identifier of the remote STA in IBSS, 1 in infra-BSS */ | 80 | /* Identifier of the remote STA in IBSS, 1 in infra-BSS */ |
81 | u8 aid; | 81 | u8 aid; |
82 | u8 reserved; | 82 | u8 reserved; |
83 | } __attribute__ ((packed)); | 83 | } __packed; |
84 | 84 | ||
85 | enum wl1271_tx_hw_res_status { | 85 | enum wl1271_tx_hw_res_status { |
86 | TX_SUCCESS = 0, | 86 | TX_SUCCESS = 0, |
@@ -115,13 +115,13 @@ struct wl1271_tx_hw_res_descr { | |||
115 | u8 rate_class_index; | 115 | u8 rate_class_index; |
116 | /* for 4-byte alignment. */ | 116 | /* for 4-byte alignment. */ |
117 | u8 spare; | 117 | u8 spare; |
118 | } __attribute__ ((packed)); | 118 | } __packed; |
119 | 119 | ||
120 | struct wl1271_tx_hw_res_if { | 120 | struct wl1271_tx_hw_res_if { |
121 | __le32 tx_result_fw_counter; | 121 | __le32 tx_result_fw_counter; |
122 | __le32 tx_result_host_counter; | 122 | __le32 tx_result_host_counter; |
123 | struct wl1271_tx_hw_res_descr tx_results_queue[TX_HW_RESULT_QUEUE_LEN]; | 123 | struct wl1271_tx_hw_res_descr tx_results_queue[TX_HW_RESULT_QUEUE_LEN]; |
124 | } __attribute__ ((packed)); | 124 | } __packed; |
125 | 125 | ||
126 | static inline int wl1271_tx_get_queue(int queue) | 126 | static inline int wl1271_tx_get_queue(int queue) |
127 | { | 127 | { |
diff --git a/drivers/net/wireless/wl12xx/wl12xx_80211.h b/drivers/net/wireless/wl12xx/wl12xx_80211.h index 055d7bc6f592..184628027213 100644 --- a/drivers/net/wireless/wl12xx/wl12xx_80211.h +++ b/drivers/net/wireless/wl12xx/wl12xx_80211.h | |||
@@ -66,41 +66,41 @@ struct ieee80211_header { | |||
66 | u8 bssid[ETH_ALEN]; | 66 | u8 bssid[ETH_ALEN]; |
67 | __le16 seq_ctl; | 67 | __le16 seq_ctl; |
68 | u8 payload[0]; | 68 | u8 payload[0]; |
69 | } __attribute__ ((packed)); | 69 | } __packed; |
70 | 70 | ||
71 | struct wl12xx_ie_header { | 71 | struct wl12xx_ie_header { |
72 | u8 id; | 72 | u8 id; |
73 | u8 len; | 73 | u8 len; |
74 | } __attribute__ ((packed)); | 74 | } __packed; |
75 | 75 | ||
76 | /* IEs */ | 76 | /* IEs */ |
77 | 77 | ||
78 | struct wl12xx_ie_ssid { | 78 | struct wl12xx_ie_ssid { |
79 | struct wl12xx_ie_header header; | 79 | struct wl12xx_ie_header header; |
80 | char ssid[IW_ESSID_MAX_SIZE]; | 80 | char ssid[IW_ESSID_MAX_SIZE]; |
81 | } __attribute__ ((packed)); | 81 | } __packed; |
82 | 82 | ||
83 | struct wl12xx_ie_rates { | 83 | struct wl12xx_ie_rates { |
84 | struct wl12xx_ie_header header; | 84 | struct wl12xx_ie_header header; |
85 | u8 rates[MAX_SUPPORTED_RATES]; | 85 | u8 rates[MAX_SUPPORTED_RATES]; |
86 | } __attribute__ ((packed)); | 86 | } __packed; |
87 | 87 | ||
88 | struct wl12xx_ie_ds_params { | 88 | struct wl12xx_ie_ds_params { |
89 | struct wl12xx_ie_header header; | 89 | struct wl12xx_ie_header header; |
90 | u8 channel; | 90 | u8 channel; |
91 | } __attribute__ ((packed)); | 91 | } __packed; |
92 | 92 | ||
93 | struct country_triplet { | 93 | struct country_triplet { |
94 | u8 channel; | 94 | u8 channel; |
95 | u8 num_channels; | 95 | u8 num_channels; |
96 | u8 max_tx_power; | 96 | u8 max_tx_power; |
97 | } __attribute__ ((packed)); | 97 | } __packed; |
98 | 98 | ||
99 | struct wl12xx_ie_country { | 99 | struct wl12xx_ie_country { |
100 | struct wl12xx_ie_header header; | 100 | struct wl12xx_ie_header header; |
101 | u8 country_string[COUNTRY_STRING_LEN]; | 101 | u8 country_string[COUNTRY_STRING_LEN]; |
102 | struct country_triplet triplets[MAX_COUNTRY_TRIPLETS]; | 102 | struct country_triplet triplets[MAX_COUNTRY_TRIPLETS]; |
103 | } __attribute__ ((packed)); | 103 | } __packed; |
104 | 104 | ||
105 | 105 | ||
106 | /* Templates */ | 106 | /* Templates */ |
@@ -115,30 +115,30 @@ struct wl12xx_beacon_template { | |||
115 | struct wl12xx_ie_rates ext_rates; | 115 | struct wl12xx_ie_rates ext_rates; |
116 | struct wl12xx_ie_ds_params ds_params; | 116 | struct wl12xx_ie_ds_params ds_params; |
117 | struct wl12xx_ie_country country; | 117 | struct wl12xx_ie_country country; |
118 | } __attribute__ ((packed)); | 118 | } __packed; |
119 | 119 | ||
120 | struct wl12xx_null_data_template { | 120 | struct wl12xx_null_data_template { |
121 | struct ieee80211_header header; | 121 | struct ieee80211_header header; |
122 | } __attribute__ ((packed)); | 122 | } __packed; |
123 | 123 | ||
124 | struct wl12xx_ps_poll_template { | 124 | struct wl12xx_ps_poll_template { |
125 | __le16 fc; | 125 | __le16 fc; |
126 | __le16 aid; | 126 | __le16 aid; |
127 | u8 bssid[ETH_ALEN]; | 127 | u8 bssid[ETH_ALEN]; |
128 | u8 ta[ETH_ALEN]; | 128 | u8 ta[ETH_ALEN]; |
129 | } __attribute__ ((packed)); | 129 | } __packed; |
130 | 130 | ||
131 | struct wl12xx_qos_null_data_template { | 131 | struct wl12xx_qos_null_data_template { |
132 | struct ieee80211_header header; | 132 | struct ieee80211_header header; |
133 | __le16 qos_ctl; | 133 | __le16 qos_ctl; |
134 | } __attribute__ ((packed)); | 134 | } __packed; |
135 | 135 | ||
136 | struct wl12xx_probe_req_template { | 136 | struct wl12xx_probe_req_template { |
137 | struct ieee80211_header header; | 137 | struct ieee80211_header header; |
138 | struct wl12xx_ie_ssid ssid; | 138 | struct wl12xx_ie_ssid ssid; |
139 | struct wl12xx_ie_rates rates; | 139 | struct wl12xx_ie_rates rates; |
140 | struct wl12xx_ie_rates ext_rates; | 140 | struct wl12xx_ie_rates ext_rates; |
141 | } __attribute__ ((packed)); | 141 | } __packed; |
142 | 142 | ||
143 | 143 | ||
144 | struct wl12xx_probe_resp_template { | 144 | struct wl12xx_probe_resp_template { |
@@ -151,6 +151,6 @@ struct wl12xx_probe_resp_template { | |||
151 | struct wl12xx_ie_rates ext_rates; | 151 | struct wl12xx_ie_rates ext_rates; |
152 | struct wl12xx_ie_ds_params ds_params; | 152 | struct wl12xx_ie_ds_params ds_params; |
153 | struct wl12xx_ie_country country; | 153 | struct wl12xx_ie_country country; |
154 | } __attribute__ ((packed)); | 154 | } __packed; |
155 | 155 | ||
156 | #endif | 156 | #endif |
diff --git a/drivers/net/wireless/wl3501.h b/drivers/net/wireless/wl3501.h index 8816e371fd0e..3fbfd19818f1 100644 --- a/drivers/net/wireless/wl3501.h +++ b/drivers/net/wireless/wl3501.h | |||
@@ -231,12 +231,12 @@ struct iw_mgmt_info_element { | |||
231 | but sizeof(enum) > sizeof(u8) :-( */ | 231 | but sizeof(enum) > sizeof(u8) :-( */ |
232 | u8 len; | 232 | u8 len; |
233 | u8 data[0]; | 233 | u8 data[0]; |
234 | } __attribute__ ((packed)); | 234 | } __packed; |
235 | 235 | ||
236 | struct iw_mgmt_essid_pset { | 236 | struct iw_mgmt_essid_pset { |
237 | struct iw_mgmt_info_element el; | 237 | struct iw_mgmt_info_element el; |
238 | u8 essid[IW_ESSID_MAX_SIZE]; | 238 | u8 essid[IW_ESSID_MAX_SIZE]; |
239 | } __attribute__ ((packed)); | 239 | } __packed; |
240 | 240 | ||
241 | /* | 241 | /* |
242 | * According to 802.11 Wireless Netowors, the definitive guide - O'Reilly | 242 | * According to 802.11 Wireless Netowors, the definitive guide - O'Reilly |
@@ -247,12 +247,12 @@ struct iw_mgmt_essid_pset { | |||
247 | struct iw_mgmt_data_rset { | 247 | struct iw_mgmt_data_rset { |
248 | struct iw_mgmt_info_element el; | 248 | struct iw_mgmt_info_element el; |
249 | u8 data_rate_labels[IW_DATA_RATE_MAX_LABELS]; | 249 | u8 data_rate_labels[IW_DATA_RATE_MAX_LABELS]; |
250 | } __attribute__ ((packed)); | 250 | } __packed; |
251 | 251 | ||
252 | struct iw_mgmt_ds_pset { | 252 | struct iw_mgmt_ds_pset { |
253 | struct iw_mgmt_info_element el; | 253 | struct iw_mgmt_info_element el; |
254 | u8 chan; | 254 | u8 chan; |
255 | } __attribute__ ((packed)); | 255 | } __packed; |
256 | 256 | ||
257 | struct iw_mgmt_cf_pset { | 257 | struct iw_mgmt_cf_pset { |
258 | struct iw_mgmt_info_element el; | 258 | struct iw_mgmt_info_element el; |
@@ -260,12 +260,12 @@ struct iw_mgmt_cf_pset { | |||
260 | u8 cfp_period; | 260 | u8 cfp_period; |
261 | u16 cfp_max_duration; | 261 | u16 cfp_max_duration; |
262 | u16 cfp_dur_remaining; | 262 | u16 cfp_dur_remaining; |
263 | } __attribute__ ((packed)); | 263 | } __packed; |
264 | 264 | ||
265 | struct iw_mgmt_ibss_pset { | 265 | struct iw_mgmt_ibss_pset { |
266 | struct iw_mgmt_info_element el; | 266 | struct iw_mgmt_info_element el; |
267 | u16 atim_window; | 267 | u16 atim_window; |
268 | } __attribute__ ((packed)); | 268 | } __packed; |
269 | 269 | ||
270 | struct wl3501_tx_hdr { | 270 | struct wl3501_tx_hdr { |
271 | u16 tx_cnt; | 271 | u16 tx_cnt; |
@@ -544,12 +544,12 @@ struct wl3501_80211_tx_plcp_hdr { | |||
544 | u8 service; | 544 | u8 service; |
545 | u16 len; | 545 | u16 len; |
546 | u16 crc16; | 546 | u16 crc16; |
547 | } __attribute__ ((packed)); | 547 | } __packed; |
548 | 548 | ||
549 | struct wl3501_80211_tx_hdr { | 549 | struct wl3501_80211_tx_hdr { |
550 | struct wl3501_80211_tx_plcp_hdr pclp_hdr; | 550 | struct wl3501_80211_tx_plcp_hdr pclp_hdr; |
551 | struct ieee80211_hdr mac_hdr; | 551 | struct ieee80211_hdr mac_hdr; |
552 | } __attribute__ ((packed)); | 552 | } __packed; |
553 | 553 | ||
554 | /* | 554 | /* |
555 | Reserve the beginning Tx space for descriptor use. | 555 | Reserve the beginning Tx space for descriptor use. |
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h b/drivers/net/wireless/zd1211rw/zd_mac.h index 630c298a730e..e4c70e359ced 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.h +++ b/drivers/net/wireless/zd1211rw/zd_mac.h | |||
@@ -35,7 +35,7 @@ struct zd_ctrlset { | |||
35 | __le16 current_length; | 35 | __le16 current_length; |
36 | u8 service; | 36 | u8 service; |
37 | __le16 next_frame_length; | 37 | __le16 next_frame_length; |
38 | } __attribute__((packed)); | 38 | } __packed; |
39 | 39 | ||
40 | #define ZD_CS_RESERVED_SIZE 25 | 40 | #define ZD_CS_RESERVED_SIZE 25 |
41 | 41 | ||
@@ -106,7 +106,7 @@ struct zd_ctrlset { | |||
106 | struct rx_length_info { | 106 | struct rx_length_info { |
107 | __le16 length[3]; | 107 | __le16 length[3]; |
108 | __le16 tag; | 108 | __le16 tag; |
109 | } __attribute__((packed)); | 109 | } __packed; |
110 | 110 | ||
111 | #define RX_LENGTH_INFO_TAG 0x697e | 111 | #define RX_LENGTH_INFO_TAG 0x697e |
112 | 112 | ||
@@ -117,7 +117,7 @@ struct rx_status { | |||
117 | u8 signal_quality_ofdm; | 117 | u8 signal_quality_ofdm; |
118 | u8 decryption_type; | 118 | u8 decryption_type; |
119 | u8 frame_status; | 119 | u8 frame_status; |
120 | } __attribute__((packed)); | 120 | } __packed; |
121 | 121 | ||
122 | /* rx_status field decryption_type */ | 122 | /* rx_status field decryption_type */ |
123 | #define ZD_RX_NO_WEP 0 | 123 | #define ZD_RX_NO_WEP 0 |
@@ -153,7 +153,7 @@ struct tx_status { | |||
153 | u8 mac[ETH_ALEN]; | 153 | u8 mac[ETH_ALEN]; |
154 | u8 retry; | 154 | u8 retry; |
155 | u8 failure; | 155 | u8 failure; |
156 | } __attribute__((packed)); | 156 | } __packed; |
157 | 157 | ||
158 | enum mac_flags { | 158 | enum mac_flags { |
159 | MAC_FIXED_CHANNEL = 0x01, | 159 | MAC_FIXED_CHANNEL = 0x01, |
@@ -225,7 +225,7 @@ enum { | |||
225 | struct ofdm_plcp_header { | 225 | struct ofdm_plcp_header { |
226 | u8 prefix[3]; | 226 | u8 prefix[3]; |
227 | __le16 service; | 227 | __le16 service; |
228 | } __attribute__((packed)); | 228 | } __packed; |
229 | 229 | ||
230 | static inline u8 zd_ofdm_plcp_header_rate(const struct ofdm_plcp_header *header) | 230 | static inline u8 zd_ofdm_plcp_header_rate(const struct ofdm_plcp_header *header) |
231 | { | 231 | { |
@@ -252,7 +252,7 @@ struct cck_plcp_header { | |||
252 | u8 service; | 252 | u8 service; |
253 | __le16 length; | 253 | __le16 length; |
254 | __le16 crc16; | 254 | __le16 crc16; |
255 | } __attribute__((packed)); | 255 | } __packed; |
256 | 256 | ||
257 | static inline u8 zd_cck_plcp_header_signal(const struct cck_plcp_header *header) | 257 | static inline u8 zd_cck_plcp_header_signal(const struct cck_plcp_header *header) |
258 | { | 258 | { |
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.h b/drivers/net/wireless/zd1211rw/zd_usb.h index 049f8b91f020..1b1655cb7cb4 100644 --- a/drivers/net/wireless/zd1211rw/zd_usb.h +++ b/drivers/net/wireless/zd1211rw/zd_usb.h | |||
@@ -79,17 +79,17 @@ enum control_requests { | |||
79 | struct usb_req_read_regs { | 79 | struct usb_req_read_regs { |
80 | __le16 id; | 80 | __le16 id; |
81 | __le16 addr[0]; | 81 | __le16 addr[0]; |
82 | } __attribute__((packed)); | 82 | } __packed; |
83 | 83 | ||
84 | struct reg_data { | 84 | struct reg_data { |
85 | __le16 addr; | 85 | __le16 addr; |
86 | __le16 value; | 86 | __le16 value; |
87 | } __attribute__((packed)); | 87 | } __packed; |
88 | 88 | ||
89 | struct usb_req_write_regs { | 89 | struct usb_req_write_regs { |
90 | __le16 id; | 90 | __le16 id; |
91 | struct reg_data reg_writes[0]; | 91 | struct reg_data reg_writes[0]; |
92 | } __attribute__((packed)); | 92 | } __packed; |
93 | 93 | ||
94 | enum { | 94 | enum { |
95 | RF_IF_LE = 0x02, | 95 | RF_IF_LE = 0x02, |
@@ -106,7 +106,7 @@ struct usb_req_rfwrite { | |||
106 | /* RF2595: 24 */ | 106 | /* RF2595: 24 */ |
107 | __le16 bit_values[0]; | 107 | __le16 bit_values[0]; |
108 | /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */ | 108 | /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */ |
109 | } __attribute__((packed)); | 109 | } __packed; |
110 | 110 | ||
111 | /* USB interrupt */ | 111 | /* USB interrupt */ |
112 | 112 | ||
@@ -123,12 +123,12 @@ enum usb_int_flags { | |||
123 | struct usb_int_header { | 123 | struct usb_int_header { |
124 | u8 type; /* must always be 1 */ | 124 | u8 type; /* must always be 1 */ |
125 | u8 id; | 125 | u8 id; |
126 | } __attribute__((packed)); | 126 | } __packed; |
127 | 127 | ||
128 | struct usb_int_regs { | 128 | struct usb_int_regs { |
129 | struct usb_int_header hdr; | 129 | struct usb_int_header hdr; |
130 | struct reg_data regs[0]; | 130 | struct reg_data regs[0]; |
131 | } __attribute__((packed)); | 131 | } __packed; |
132 | 132 | ||
133 | struct usb_int_retry_fail { | 133 | struct usb_int_retry_fail { |
134 | struct usb_int_header hdr; | 134 | struct usb_int_header hdr; |
@@ -136,7 +136,7 @@ struct usb_int_retry_fail { | |||
136 | u8 _dummy; | 136 | u8 _dummy; |
137 | u8 addr[ETH_ALEN]; | 137 | u8 addr[ETH_ALEN]; |
138 | u8 ibss_wakeup_dest; | 138 | u8 ibss_wakeup_dest; |
139 | } __attribute__((packed)); | 139 | } __packed; |
140 | 140 | ||
141 | struct read_regs_int { | 141 | struct read_regs_int { |
142 | struct completion completion; | 142 | struct completion completion; |