@@ -142,7 +142,7 @@ enum wa_notif_type {
142142struct wa_notif_hdr {
143143 u8 bLength ;
144144 u8 bNotifyType ; /* enum wa_notif_type */
145- } __attribute__(( packed )) ;
145+ } __packed ;
146146
147147/**
148148 * HWA DN Received notification [(WUSB] section 8.5.4.2)
@@ -158,7 +158,7 @@ struct hwa_notif_dn {
158158 u8 bSourceDeviceAddr ; /* from errata 2005/07 */
159159 u8 bmAttributes ;
160160 struct wusb_dn_hdr dndata [];
161- } __attribute__(( packed )) ;
161+ } __packed ;
162162
163163/* [WUSB] section 8.3.3 */
164164enum wa_xfer_type {
@@ -167,6 +167,8 @@ enum wa_xfer_type {
167167 WA_XFER_TYPE_ISO = 0x82 ,
168168 WA_XFER_RESULT = 0x83 ,
169169 WA_XFER_ABORT = 0x84 ,
170+ WA_XFER_ISO_PACKET_INFO = 0xA0 ,
171+ WA_XFER_ISO_PACKET_STATUS = 0xA1 ,
170172};
171173
172174/* [WUSB] section 8.3.3 */
@@ -177,36 +179,55 @@ struct wa_xfer_hdr {
177179 __le32 dwTransferID ; /* Host-assigned ID */
178180 __le32 dwTransferLength ; /* Length of data to xfer */
179181 u8 bTransferSegment ;
180- } __attribute__(( packed )) ;
182+ } __packed ;
181183
182184struct wa_xfer_ctl {
183185 struct wa_xfer_hdr hdr ;
184186 u8 bmAttribute ;
185187 __le16 wReserved ;
186188 struct usb_ctrlrequest baSetupData ;
187- } __attribute__(( packed )) ;
189+ } __packed ;
188190
189191struct wa_xfer_bi {
190192 struct wa_xfer_hdr hdr ;
191193 u8 bReserved ;
192194 __le16 wReserved ;
193- } __attribute__(( packed )) ;
195+ } __packed ;
194196
197+ /* [WUSB] section 8.5.5 */
195198struct wa_xfer_hwaiso {
196199 struct wa_xfer_hdr hdr ;
197200 u8 bReserved ;
198201 __le16 wPresentationTime ;
199202 __le32 dwNumOfPackets ;
200- /* FIXME: u8 pktdata[]? */
201- } __attribute__((packed ));
203+ } __packed ;
204+
205+ struct wa_xfer_packet_info_hwaiso {
206+ __le16 wLength ;
207+ u8 bPacketType ;
208+ u8 bReserved ;
209+ __le16 PacketLength [0 ];
210+ } __packed ;
211+
212+ struct wa_xfer_packet_status_len_hwaiso {
213+ __le16 PacketLength ;
214+ __le16 PacketStatus ;
215+ } __packed ;
216+
217+ struct wa_xfer_packet_status_hwaiso {
218+ __le16 wLength ;
219+ u8 bPacketType ;
220+ u8 bReserved ;
221+ struct wa_xfer_packet_status_len_hwaiso PacketStatus [0 ];
222+ } __packed ;
202223
203224/* [WUSB] section 8.3.3.5 */
204225struct wa_xfer_abort {
205226 u8 bLength ;
206227 u8 bRequestType ;
207228 __le16 wRPipe ; /* RPipe index */
208229 __le32 dwTransferID ; /* Host-assigned ID */
209- } __attribute__(( packed )) ;
230+ } __packed ;
210231
211232/**
212233 * WA Transfer Complete notification ([WUSB] section 8.3.3.3)
@@ -216,7 +237,7 @@ struct wa_notif_xfer {
216237 struct wa_notif_hdr hdr ;
217238 u8 bEndpoint ;
218239 u8 Reserved ;
219- } __attribute__(( packed )) ;
240+ } __packed ;
220241
221242/** Transfer result basic codes [WUSB] table 8-15 */
222243enum {
@@ -243,7 +264,7 @@ struct wa_xfer_result {
243264 u8 bTransferSegment ;
244265 u8 bTransferStatus ;
245266 __le32 dwNumOfPackets ;
246- } __attribute__(( packed )) ;
267+ } __packed ;
247268
248269/**
249270 * Wire Adapter Class Descriptor ([WUSB] section 8.5.2.7).
@@ -267,7 +288,7 @@ struct usb_wa_descriptor {
267288 u8 bPwrOn2PwrGood ;
268289 u8 bNumMMCIEs ;
269290 u8 DeviceRemovable ; /* FIXME: in DWA this is up to 16 bytes */
270- } __attribute__(( packed )) ;
291+ } __packed ;
271292
272293/**
273294 * HWA Device Information Buffer (WUSB1.0[T8.54])
@@ -277,6 +298,6 @@ struct hwa_dev_info {
277298 u8 bDeviceAddress ;
278299 __le16 wPHYRates ;
279300 u8 bmDeviceAttribute ;
280- } __attribute__(( packed )) ;
301+ } __packed ;
281302
282303#endif /* #ifndef __LINUX_USB_WUSB_WA_H */
0 commit comments