hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/scsi/am53c974.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * AMD am53c974 driver.
34 * Copyright (c) 2014 Hannes Reinecke, SUSE Linux GmbH
....@@ -96,9 +97,7 @@
9697
9798 static inline struct pci_esp_priv *pci_esp_get_priv(struct esp *esp)
9899 {
99
- struct pci_dev *pdev = esp->dev;
100
-
101
- return pci_get_drvdata(pdev);
100
+ return dev_get_drvdata(esp->dev);
102101 }
103102
104103 static void pci_esp_write8(struct esp *esp, u8 val, unsigned long reg)
....@@ -114,30 +113,6 @@
114113 static void pci_esp_write32(struct esp *esp, u32 val, unsigned long reg)
115114 {
116115 return iowrite32(val, esp->regs + (reg * 4UL));
117
-}
118
-
119
-static dma_addr_t pci_esp_map_single(struct esp *esp, void *buf,
120
- size_t sz, int dir)
121
-{
122
- return pci_map_single(esp->dev, buf, sz, dir);
123
-}
124
-
125
-static int pci_esp_map_sg(struct esp *esp, struct scatterlist *sg,
126
- int num_sg, int dir)
127
-{
128
- return pci_map_sg(esp->dev, sg, num_sg, dir);
129
-}
130
-
131
-static void pci_esp_unmap_single(struct esp *esp, dma_addr_t addr,
132
- size_t sz, int dir)
133
-{
134
- pci_unmap_single(esp->dev, addr, sz, dir);
135
-}
136
-
137
-static void pci_esp_unmap_sg(struct esp *esp, struct scatterlist *sg,
138
- int num_sg, int dir)
139
-{
140
- pci_unmap_sg(esp->dev, sg, num_sg, dir);
141116 }
142117
143118 static int pci_esp_irq_pending(struct esp *esp)
....@@ -295,10 +270,6 @@
295270 static const struct esp_driver_ops pci_esp_ops = {
296271 .esp_write8 = pci_esp_write8,
297272 .esp_read8 = pci_esp_read8,
298
- .map_single = pci_esp_map_single,
299
- .map_sg = pci_esp_map_sg,
300
- .unmap_single = pci_esp_unmap_single,
301
- .unmap_sg = pci_esp_unmap_sg,
302273 .irq_pending = pci_esp_irq_pending,
303274 .reset_dma = pci_esp_reset_dma,
304275 .dma_drain = pci_esp_dma_drain,
....@@ -375,18 +346,18 @@
375346
376347 static void dc390_check_eeprom(struct esp *esp)
377348 {
349
+ struct pci_dev *pdev = to_pci_dev(esp->dev);
378350 u8 EEbuf[128];
379351 u16 *ptr = (u16 *)EEbuf, wval = 0;
380352 int i;
381353
382
- dc390_read_eeprom((struct pci_dev *)esp->dev, ptr);
354
+ dc390_read_eeprom(pdev, ptr);
383355
384356 for (i = 0; i < DC390_EEPROM_LEN; i++, ptr++)
385357 wval += *ptr;
386358
387359 /* no Tekram EEprom found */
388360 if (wval != 0x1234) {
389
- struct pci_dev *pdev = esp->dev;
390361 dev_printk(KERN_INFO, &pdev->dev,
391362 "No valid Tekram EEprom found\n");
392363 return;
....@@ -411,7 +382,7 @@
411382 return -ENODEV;
412383 }
413384
414
- if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
385
+ if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) {
415386 dev_printk(KERN_INFO, &pdev->dev,
416387 "failed to set 32bit DMA mask\n");
417388 goto fail_disable_device;
....@@ -435,7 +406,7 @@
435406
436407 esp = shost_priv(shost);
437408 esp->host = shost;
438
- esp->dev = pdev;
409
+ esp->dev = &pdev->dev;
439410 esp->ops = &pci_esp_ops;
440411 /*
441412 * The am53c974 HBA has a design flaw of generating
....@@ -467,8 +438,8 @@
467438
468439 pci_set_master(pdev);
469440
470
- esp->command_block = pci_alloc_consistent(pdev, 16,
471
- &esp->command_block_dma);
441
+ esp->command_block = dma_alloc_coherent(&pdev->dev, 16,
442
+ &esp->command_block_dma, GFP_KERNEL);
472443 if (!esp->command_block) {
473444 dev_printk(KERN_ERR, &pdev->dev,
474445 "failed to allocate command block\n");
....@@ -498,7 +469,7 @@
498469 /* Assume 40MHz clock */
499470 esp->cfreq = 40000000;
500471
501
- err = scsi_esp_register(esp, &pdev->dev);
472
+ err = scsi_esp_register(esp);
502473 if (err)
503474 goto fail_free_irq;
504475
....@@ -508,8 +479,8 @@
508479 free_irq(pdev->irq, esp);
509480 fail_unmap_command_block:
510481 pci_set_drvdata(pdev, NULL);
511
- pci_free_consistent(pdev, 16, esp->command_block,
512
- esp->command_block_dma);
482
+ dma_free_coherent(&pdev->dev, 16, esp->command_block,
483
+ esp->command_block_dma);
513484 fail_unmap_regs:
514485 pci_iounmap(pdev, esp->regs);
515486 fail_release_regions:
....@@ -532,8 +503,8 @@
532503 scsi_esp_unregister(esp);
533504 free_irq(pdev->irq, esp);
534505 pci_set_drvdata(pdev, NULL);
535
- pci_free_consistent(pdev, 16, esp->command_block,
536
- esp->command_block_dma);
506
+ dma_free_coherent(&pdev->dev, 16, esp->command_block,
507
+ esp->command_block_dma);
537508 pci_iounmap(pdev, esp->regs);
538509 pci_release_regions(pdev);
539510 pci_disable_device(pdev);