diff options
author | Ivo van Doorn <ivdoorn@gmail.com> | 2008-06-16 13:57:11 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-26 16:49:16 -0400 |
commit | c1d35dfa0f7d75ba14c442143a9ad8e232d3edfb (patch) | |
tree | 9266a9be1068c66b6c80f0f5a73e47af88acd584 /drivers/net/wireless/rt2x00/rt2x00usb.c | |
parent | d74f5ba473b915e5d4ea1ed391984bb62d9de8b1 (diff) |
rt2x00: Fix sparse warning on nested container_of()
Sparse produces warnings about nested contain_of() statements,
this means that lines like:
interface_to_usbdev(to_usb_interface(rt2x00dev->dev));
will upset sparse.
Add a new macro to rt2x00usb.h which will convert to device
structure to the usb_device pointer in 2 steps to prevent this
sparse warning.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index b94c461fbaf9..5593b9a83108 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c | |||
@@ -40,8 +40,7 @@ int rt2x00usb_vendor_request(struct rt2x00_dev *rt2x00dev, | |||
40 | void *buffer, const u16 buffer_length, | 40 | void *buffer, const u16 buffer_length, |
41 | const int timeout) | 41 | const int timeout) |
42 | { | 42 | { |
43 | struct usb_device *usb_dev = | 43 | struct usb_device *usb_dev = to_usb_device_intf(rt2x00dev->dev); |
44 | interface_to_usbdev(to_usb_interface(rt2x00dev->dev)); | ||
45 | int status; | 44 | int status; |
46 | unsigned int i; | 45 | unsigned int i; |
47 | unsigned int pipe = | 46 | unsigned int pipe = |
@@ -162,8 +161,7 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb) | |||
162 | int rt2x00usb_write_tx_data(struct queue_entry *entry) | 161 | int rt2x00usb_write_tx_data(struct queue_entry *entry) |
163 | { | 162 | { |
164 | struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; | 163 | struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; |
165 | struct usb_device *usb_dev = | 164 | struct usb_device *usb_dev = to_usb_device_intf(rt2x00dev->dev); |
166 | interface_to_usbdev(to_usb_interface(rt2x00dev->dev)); | ||
167 | struct queue_entry_priv_usb *entry_priv = entry->priv_data; | 165 | struct queue_entry_priv_usb *entry_priv = entry->priv_data; |
168 | struct skb_frame_desc *skbdesc; | 166 | struct skb_frame_desc *skbdesc; |
169 | u32 length; | 167 | u32 length; |
@@ -319,8 +317,7 @@ EXPORT_SYMBOL_GPL(rt2x00usb_disable_radio); | |||
319 | void rt2x00usb_init_rxentry(struct rt2x00_dev *rt2x00dev, | 317 | void rt2x00usb_init_rxentry(struct rt2x00_dev *rt2x00dev, |
320 | struct queue_entry *entry) | 318 | struct queue_entry *entry) |
321 | { | 319 | { |
322 | struct usb_device *usb_dev = | 320 | struct usb_device *usb_dev = to_usb_device_intf(rt2x00dev->dev); |
323 | interface_to_usbdev(to_usb_interface(rt2x00dev->dev)); | ||
324 | struct queue_entry_priv_usb *entry_priv = entry->priv_data; | 321 | struct queue_entry_priv_usb *entry_priv = entry->priv_data; |
325 | 322 | ||
326 | usb_fill_bulk_urb(entry_priv->urb, usb_dev, | 323 | usb_fill_bulk_urb(entry_priv->urb, usb_dev, |