aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00pci.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00pci.c19
1 files changed, 9 insertions, 10 deletions
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