aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/rt2x00/rt2400pci.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2500pci.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2500usb.c5
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00.h6
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00pci.c19
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00usb.c11
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.c4
-rw-r--r--drivers/net/wireless/rt2x00/rt73usb.c2
8 files changed, 25 insertions, 26 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c
index bb3d83560d02..76ec1514fa44 100644
--- a/drivers/net/wireless/rt2x00/rt2400pci.c
+++ b/drivers/net/wireless/rt2x00/rt2400pci.c
@@ -1366,7 +1366,7 @@ static void rt2400pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
1366 IEEE80211_HW_SIGNAL_DBM; 1366 IEEE80211_HW_SIGNAL_DBM;
1367 rt2x00dev->hw->extra_tx_headroom = 0; 1367 rt2x00dev->hw->extra_tx_headroom = 0;
1368 1368
1369 SET_IEEE80211_DEV(rt2x00dev->hw, &rt2x00dev_pci(rt2x00dev)->dev); 1369 SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
1370 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, 1370 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
1371 rt2x00_eeprom_addr(rt2x00dev, 1371 rt2x00_eeprom_addr(rt2x00dev,
1372 EEPROM_MAC_ADDR_0)); 1372 EEPROM_MAC_ADDR_0));
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c
index 3c956b91c4e3..5f0117f9a88b 100644
--- a/drivers/net/wireless/rt2x00/rt2500pci.c
+++ b/drivers/net/wireless/rt2x00/rt2500pci.c
@@ -1688,7 +1688,7 @@ static void rt2500pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
1688 1688
1689 rt2x00dev->hw->extra_tx_headroom = 0; 1689 rt2x00dev->hw->extra_tx_headroom = 0;
1690 1690
1691 SET_IEEE80211_DEV(rt2x00dev->hw, &rt2x00dev_pci(rt2x00dev)->dev); 1691 SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
1692 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, 1692 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
1693 rt2x00_eeprom_addr(rt2x00dev, 1693 rt2x00_eeprom_addr(rt2x00dev,
1694 EEPROM_MAC_ADDR_0)); 1694 EEPROM_MAC_ADDR_0));
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
index 9851cefaabf3..6b6e7b93d2ad 100644
--- a/drivers/net/wireless/rt2x00/rt2500usb.c
+++ b/drivers/net/wireless/rt2x00/rt2500usb.c
@@ -1588,7 +1588,7 @@ static void rt2500usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
1588 1588
1589 rt2x00dev->hw->extra_tx_headroom = TXD_DESC_SIZE; 1589 rt2x00dev->hw->extra_tx_headroom = TXD_DESC_SIZE;
1590 1590
1591 SET_IEEE80211_DEV(rt2x00dev->hw, &rt2x00dev_usb(rt2x00dev)->dev); 1591 SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
1592 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, 1592 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
1593 rt2x00_eeprom_addr(rt2x00dev, 1593 rt2x00_eeprom_addr(rt2x00dev,
1594 EEPROM_MAC_ADDR_0)); 1594 EEPROM_MAC_ADDR_0));
@@ -1672,7 +1672,8 @@ static int rt2500usb_probe_hw(struct rt2x00_dev *rt2x00dev)
1672static int rt2500usb_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb) 1672static int rt2500usb_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb)
1673{ 1673{
1674 struct rt2x00_dev *rt2x00dev = hw->priv; 1674 struct rt2x00_dev *rt2x00dev = hw->priv;
1675 struct usb_device *usb_dev = rt2x00dev_usb_dev(rt2x00dev); 1675 struct usb_device *usb_dev =
1676 interface_to_usbdev(to_usb_interface(rt2x00dev->dev));
1676 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); 1677 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
1677 struct rt2x00_intf *intf = vif_to_intf(tx_info->control.vif); 1678 struct rt2x00_intf *intf = vif_to_intf(tx_info->control.vif);
1678 struct queue_entry_priv_usb_bcn *bcn_priv; 1679 struct queue_entry_priv_usb_bcn *bcn_priv;
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
index 21fd9b40be8f..8d45235ecc36 100644
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -625,11 +625,7 @@ struct rt2x00_dev {
625 * When accessing this variable, the rt2x00dev_{pci,usb} 625 * When accessing this variable, the rt2x00dev_{pci,usb}
626 * macro's should be used for correct typecasting. 626 * macro's should be used for correct typecasting.
627 */ 627 */
628 void *dev; 628 struct device *dev;
629#define rt2x00dev_pci(__dev) ( (struct pci_dev *)(__dev)->dev )
630#define rt2x00dev_usb(__dev) ( (struct usb_interface *)(__dev)->dev )
631#define rt2x00dev_usb_dev(__dev)\
632 ( (struct usb_device *)interface_to_usbdev(rt2x00dev_usb(__dev)) )
633 629
634 /* 630 /*
635 * Callback functions. 631 * Callback functions.
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c
index 8d6ad18d3890..d6138389a5d0 100644
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
@@ -194,7 +194,6 @@ EXPORT_SYMBOL_GPL(rt2x00pci_txdone);
194static int rt2x00pci_alloc_queue_dma(struct rt2x00_dev *rt2x00dev, 194static int rt2x00pci_alloc_queue_dma(struct rt2x00_dev *rt2x00dev,
195 struct data_queue *queue) 195 struct data_queue *queue)
196{ 196{
197 struct pci_dev *pci_dev = rt2x00dev_pci(rt2x00dev);
198 struct queue_entry_priv_pci *entry_priv; 197 struct queue_entry_priv_pci *entry_priv;
199 void *addr; 198 void *addr;
200 dma_addr_t dma; 199 dma_addr_t dma;
@@ -203,7 +202,8 @@ static int rt2x00pci_alloc_queue_dma(struct rt2x00_dev *rt2x00dev,
203 /* 202 /*
204 * Allocate DMA memory for descriptor and buffer. 203 * Allocate DMA memory for descriptor and buffer.
205 */ 204 */
206 addr = pci_alloc_consistent(pci_dev, dma_size(queue), &dma); 205 addr = dma_alloc_coherent(rt2x00dev->dev, dma_size(queue), &dma,
206 GFP_KERNEL | GFP_DMA);
207 if (!addr) 207 if (!addr)
208 return -ENOMEM; 208 return -ENOMEM;
209 209
@@ -226,19 +226,18 @@ static int rt2x00pci_alloc_queue_dma(struct rt2x00_dev *rt2x00dev,
226static void rt2x00pci_free_queue_dma(struct rt2x00_dev *rt2x00dev, 226static void rt2x00pci_free_queue_dma(struct rt2x00_dev *rt2x00dev,
227 struct data_queue *queue) 227 struct data_queue *queue)
228{ 228{
229 struct pci_dev *pci_dev = rt2x00dev_pci(rt2x00dev);
230 struct queue_entry_priv_pci *entry_priv = 229 struct queue_entry_priv_pci *entry_priv =
231 queue->entries[0].priv_data; 230 queue->entries[0].priv_data;
232 231
233 if (entry_priv->data) 232 if (entry_priv->data)
234 pci_free_consistent(pci_dev, dma_size(queue), 233 dma_free_coherent(rt2x00dev->dev, dma_size(queue),
235 entry_priv->data, entry_priv->data_dma); 234 entry_priv->data, entry_priv->data_dma);
236 entry_priv->data = NULL; 235 entry_priv->data = NULL;
237} 236}
238 237
239int rt2x00pci_initialize(struct rt2x00_dev *rt2x00dev) 238int rt2x00pci_initialize(struct rt2x00_dev *rt2x00dev)
240{ 239{
241 struct pci_dev *pci_dev = rt2x00dev_pci(rt2x00dev); 240 struct pci_dev *pci_dev = to_pci_dev(rt2x00dev->dev);
242 struct data_queue *queue; 241 struct data_queue *queue;
243 int status; 242 int status;
244 243
@@ -279,7 +278,7 @@ void rt2x00pci_uninitialize(struct rt2x00_dev *rt2x00dev)
279 /* 278 /*
280 * Free irq line. 279 * Free irq line.
281 */ 280 */
282 free_irq(rt2x00dev_pci(rt2x00dev)->irq, rt2x00dev); 281 free_irq(to_pci_dev(rt2x00dev->dev)->irq, rt2x00dev);
283 282
284 /* 283 /*
285 * Free DMA 284 * Free DMA
@@ -308,7 +307,7 @@ static void rt2x00pci_free_reg(struct rt2x00_dev *rt2x00dev)
308 307
309static int rt2x00pci_alloc_reg(struct rt2x00_dev *rt2x00dev) 308static int rt2x00pci_alloc_reg(struct rt2x00_dev *rt2x00dev)
310{ 309{
311 struct pci_dev *pci_dev = rt2x00dev_pci(rt2x00dev); 310 struct pci_dev *pci_dev = to_pci_dev(rt2x00dev->dev);
312 311
313 rt2x00dev->csr.base = ioremap(pci_resource_start(pci_dev, 0), 312 rt2x00dev->csr.base = ioremap(pci_resource_start(pci_dev, 0),
314 pci_resource_len(pci_dev, 0)); 313 pci_resource_len(pci_dev, 0));
@@ -357,7 +356,7 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
357 if (pci_set_mwi(pci_dev)) 356 if (pci_set_mwi(pci_dev))
358 ERROR_PROBE("MWI not available.\n"); 357 ERROR_PROBE("MWI not available.\n");
359 358
360 if (pci_set_dma_mask(pci_dev, DMA_32BIT_MASK)) { 359 if (dma_set_mask(&pci_dev->dev, DMA_32BIT_MASK)) {
361 ERROR_PROBE("PCI DMA not supported.\n"); 360 ERROR_PROBE("PCI DMA not supported.\n");
362 retval = -EIO; 361 retval = -EIO;
363 goto exit_disable_device; 362 goto exit_disable_device;
@@ -373,7 +372,7 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
373 pci_set_drvdata(pci_dev, hw); 372 pci_set_drvdata(pci_dev, hw);
374 373
375 rt2x00dev = hw->priv; 374 rt2x00dev = hw->priv;
376 rt2x00dev->dev = pci_dev; 375 rt2x00dev->dev = &pci_dev->dev;
377 rt2x00dev->ops = ops; 376 rt2x00dev->ops = ops;
378 rt2x00dev->hw = hw; 377 rt2x00dev->hw = hw;
379 378
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c
index 3080969ae5b3..f91901ffda5b 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.c
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.c
@@ -40,7 +40,8 @@ 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 = rt2x00dev_usb_dev(rt2x00dev); 43 struct usb_device *usb_dev =
44 interface_to_usbdev(to_usb_interface(rt2x00dev->dev));
44 int status; 45 int status;
45 unsigned int i; 46 unsigned int i;
46 unsigned int pipe = 47 unsigned int pipe =
@@ -176,7 +177,8 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb)
176int rt2x00usb_write_tx_data(struct queue_entry *entry) 177int rt2x00usb_write_tx_data(struct queue_entry *entry)
177{ 178{
178 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; 179 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
179 struct usb_device *usb_dev = rt2x00dev_usb_dev(rt2x00dev); 180 struct usb_device *usb_dev =
181 interface_to_usbdev(to_usb_interface(rt2x00dev->dev));
180 struct queue_entry_priv_usb *entry_priv = entry->priv_data; 182 struct queue_entry_priv_usb *entry_priv = entry->priv_data;
181 struct skb_frame_desc *skbdesc; 183 struct skb_frame_desc *skbdesc;
182 u32 length; 184 u32 length;
@@ -364,7 +366,8 @@ EXPORT_SYMBOL_GPL(rt2x00usb_disable_radio);
364void rt2x00usb_init_rxentry(struct rt2x00_dev *rt2x00dev, 366void rt2x00usb_init_rxentry(struct rt2x00_dev *rt2x00dev,
365 struct queue_entry *entry) 367 struct queue_entry *entry)
366{ 368{
367 struct usb_device *usb_dev = rt2x00dev_usb_dev(rt2x00dev); 369 struct usb_device *usb_dev =
370 interface_to_usbdev(to_usb_interface(rt2x00dev->dev));
368 struct queue_entry_priv_usb *entry_priv = entry->priv_data; 371 struct queue_entry_priv_usb *entry_priv = entry->priv_data;
369 372
370 usb_fill_bulk_urb(entry_priv->urb, usb_dev, 373 usb_fill_bulk_urb(entry_priv->urb, usb_dev,
@@ -558,7 +561,7 @@ int rt2x00usb_probe(struct usb_interface *usb_intf,
558 usb_set_intfdata(usb_intf, hw); 561 usb_set_intfdata(usb_intf, hw);
559 562
560 rt2x00dev = hw->priv; 563 rt2x00dev = hw->priv;
561 rt2x00dev->dev = usb_intf; 564 rt2x00dev->dev = &usb_intf->dev;
562 rt2x00dev->ops = ops; 565 rt2x00dev->ops = ops;
563 rt2x00dev->hw = hw; 566 rt2x00dev->hw = hw;
564 mutex_init(&rt2x00dev->usb_cache_mutex); 567 mutex_init(&rt2x00dev->usb_cache_mutex);
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 27f30ae8f52b..2a7f30620356 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -1973,7 +1973,7 @@ static int rt61pci_init_eeprom(struct rt2x00_dev *rt2x00dev)
1973 * To determine the RT chip we have to read the 1973 * To determine the RT chip we have to read the
1974 * PCI header of the device. 1974 * PCI header of the device.
1975 */ 1975 */
1976 pci_read_config_word(rt2x00dev_pci(rt2x00dev), 1976 pci_read_config_word(to_pci_dev(rt2x00dev->dev),
1977 PCI_CONFIG_HEADER_DEVICE, &device); 1977 PCI_CONFIG_HEADER_DEVICE, &device);
1978 value = rt2x00_get_field16(eeprom, EEPROM_ANTENNA_RF_TYPE); 1978 value = rt2x00_get_field16(eeprom, EEPROM_ANTENNA_RF_TYPE);
1979 rt2x00pci_register_read(rt2x00dev, MAC_CSR0, &reg); 1979 rt2x00pci_register_read(rt2x00dev, MAC_CSR0, &reg);
@@ -2239,7 +2239,7 @@ static void rt61pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
2239 IEEE80211_HW_SIGNAL_DBM; 2239 IEEE80211_HW_SIGNAL_DBM;
2240 rt2x00dev->hw->extra_tx_headroom = 0; 2240 rt2x00dev->hw->extra_tx_headroom = 0;
2241 2241
2242 SET_IEEE80211_DEV(rt2x00dev->hw, &rt2x00dev_pci(rt2x00dev)->dev); 2242 SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
2243 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, 2243 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
2244 rt2x00_eeprom_addr(rt2x00dev, 2244 rt2x00_eeprom_addr(rt2x00dev,
2245 EEPROM_MAC_ADDR_0)); 2245 EEPROM_MAC_ADDR_0));
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
index 42b7e98b2d27..ead6db04d60a 100644
--- a/drivers/net/wireless/rt2x00/rt73usb.c
+++ b/drivers/net/wireless/rt2x00/rt73usb.c
@@ -1821,7 +1821,7 @@ static void rt73usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
1821 IEEE80211_HW_SIGNAL_DBM; 1821 IEEE80211_HW_SIGNAL_DBM;
1822 rt2x00dev->hw->extra_tx_headroom = TXD_DESC_SIZE; 1822 rt2x00dev->hw->extra_tx_headroom = TXD_DESC_SIZE;
1823 1823
1824 SET_IEEE80211_DEV(rt2x00dev->hw, &rt2x00dev_usb(rt2x00dev)->dev); 1824 SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
1825 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, 1825 SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
1826 rt2x00_eeprom_addr(rt2x00dev, 1826 rt2x00_eeprom_addr(rt2x00dev,
1827 EEPROM_MAC_ADDR_0)); 1827 EEPROM_MAC_ADDR_0));