hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/scsi/sun_esp.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /* sun_esp.c: ESP front-end for Sparc SBUS systems.
23 *
34 * Copyright (C) 2007, 2008 David S. Miller (davem@davemloft.net)
....@@ -80,7 +81,7 @@
8081
8182 static int esp_sbus_map_regs(struct esp *esp, int hme)
8283 {
83
- struct platform_device *op = esp->dev;
84
+ struct platform_device *op = to_platform_device(esp->dev);
8485 struct resource *res;
8586
8687 /* On HME, two reg sets exist, first is DVMA,
....@@ -100,11 +101,9 @@
100101
101102 static int esp_sbus_map_command_block(struct esp *esp)
102103 {
103
- struct platform_device *op = esp->dev;
104
-
105
- esp->command_block = dma_alloc_coherent(&op->dev, 16,
104
+ esp->command_block = dma_alloc_coherent(esp->dev, 16,
106105 &esp->command_block_dma,
107
- GFP_ATOMIC);
106
+ GFP_KERNEL);
108107 if (!esp->command_block)
109108 return -ENOMEM;
110109 return 0;
....@@ -113,7 +112,7 @@
113112 static int esp_sbus_register_irq(struct esp *esp)
114113 {
115114 struct Scsi_Host *host = esp->host;
116
- struct platform_device *op = esp->dev;
115
+ struct platform_device *op = to_platform_device(esp->dev);
117116
118117 host->irq = op->archdata.irqs[0];
119118 return request_irq(host->irq, scsi_esp_intr, IRQF_SHARED, "ESP", esp);
....@@ -121,7 +120,7 @@
121120
122121 static void esp_get_scsi_id(struct esp *esp, struct platform_device *espdma)
123122 {
124
- struct platform_device *op = esp->dev;
123
+ struct platform_device *op = to_platform_device(esp->dev);
125124 struct device_node *dp;
126125
127126 dp = op->dev.of_node;
....@@ -143,7 +142,7 @@
143142
144143 static void esp_get_differential(struct esp *esp)
145144 {
146
- struct platform_device *op = esp->dev;
145
+ struct platform_device *op = to_platform_device(esp->dev);
147146 struct device_node *dp;
148147
149148 dp = op->dev.of_node;
....@@ -155,7 +154,7 @@
155154
156155 static void esp_get_clock_params(struct esp *esp)
157156 {
158
- struct platform_device *op = esp->dev;
157
+ struct platform_device *op = to_platform_device(esp->dev);
159158 struct device_node *bus_dp, *dp;
160159 int fmhz;
161160
....@@ -172,7 +171,7 @@
172171 static void esp_get_bursts(struct esp *esp, struct platform_device *dma_of)
173172 {
174173 struct device_node *dma_dp = dma_of->dev.of_node;
175
- struct platform_device *op = esp->dev;
174
+ struct platform_device *op = to_platform_device(esp->dev);
176175 struct device_node *dp;
177176 u8 bursts, val;
178177
....@@ -212,38 +211,6 @@
212211 return sbus_readb(esp->regs + (reg * 4UL));
213212 }
214213
215
-static dma_addr_t sbus_esp_map_single(struct esp *esp, void *buf,
216
- size_t sz, int dir)
217
-{
218
- struct platform_device *op = esp->dev;
219
-
220
- return dma_map_single(&op->dev, buf, sz, dir);
221
-}
222
-
223
-static int sbus_esp_map_sg(struct esp *esp, struct scatterlist *sg,
224
- int num_sg, int dir)
225
-{
226
- struct platform_device *op = esp->dev;
227
-
228
- return dma_map_sg(&op->dev, sg, num_sg, dir);
229
-}
230
-
231
-static void sbus_esp_unmap_single(struct esp *esp, dma_addr_t addr,
232
- size_t sz, int dir)
233
-{
234
- struct platform_device *op = esp->dev;
235
-
236
- dma_unmap_single(&op->dev, addr, sz, dir);
237
-}
238
-
239
-static void sbus_esp_unmap_sg(struct esp *esp, struct scatterlist *sg,
240
- int num_sg, int dir)
241
-{
242
- struct platform_device *op = esp->dev;
243
-
244
- dma_unmap_sg(&op->dev, sg, num_sg, dir);
245
-}
246
-
247214 static int sbus_esp_irq_pending(struct esp *esp)
248215 {
249216 if (dma_read32(DMA_CSR) & (DMA_HNDL_INTR | DMA_HNDL_ERROR))
....@@ -255,14 +222,13 @@
255222 {
256223 int can_do_burst16, can_do_burst32, can_do_burst64;
257224 int can_do_sbus64, lim;
258
- struct platform_device *op;
225
+ struct platform_device *op = to_platform_device(esp->dev);
259226 u32 val;
260227
261228 can_do_burst16 = (esp->bursts & DMA_BURST16) != 0;
262229 can_do_burst32 = (esp->bursts & DMA_BURST32) != 0;
263230 can_do_burst64 = 0;
264231 can_do_sbus64 = 0;
265
- op = esp->dev;
266232 if (sbus_can_dma_64bit())
267233 can_do_sbus64 = 1;
268234 if (sbus_can_burst64())
....@@ -474,10 +440,6 @@
474440 static const struct esp_driver_ops sbus_esp_ops = {
475441 .esp_write8 = sbus_esp_write8,
476442 .esp_read8 = sbus_esp_read8,
477
- .map_single = sbus_esp_map_single,
478
- .map_sg = sbus_esp_map_sg,
479
- .unmap_single = sbus_esp_unmap_single,
480
- .unmap_sg = sbus_esp_unmap_sg,
481443 .irq_pending = sbus_esp_irq_pending,
482444 .reset_dma = sbus_esp_reset_dma,
483445 .dma_drain = sbus_esp_dma_drain,
....@@ -504,7 +466,7 @@
504466 esp = shost_priv(host);
505467
506468 esp->host = host;
507
- esp->dev = op;
469
+ esp->dev = &op->dev;
508470 esp->ops = &sbus_esp_ops;
509471
510472 if (hme)
....@@ -540,7 +502,7 @@
540502
541503 dev_set_drvdata(&op->dev, esp);
542504
543
- err = scsi_esp_register(esp, &op->dev);
505
+ err = scsi_esp_register(esp);
544506 if (err)
545507 goto fail_free_irq;
546508
....@@ -568,11 +530,10 @@
568530 int hme = 0;
569531 int ret;
570532
571
- if (dp->parent &&
572
- (!strcmp(dp->parent->name, "espdma") ||
573
- !strcmp(dp->parent->name, "dma")))
533
+ if (of_node_name_eq(dp->parent, "espdma") ||
534
+ of_node_name_eq(dp->parent, "dma"))
574535 dma_node = dp->parent;
575
- else if (!strcmp(dp->name, "SUNW,fas")) {
536
+ else if (of_node_name_eq(dp, "SUNW,fas")) {
576537 dma_node = op->dev.of_node;
577538 hme = 1;
578539 }
....@@ -645,21 +606,9 @@
645606 .probe = esp_sbus_probe,
646607 .remove = esp_sbus_remove,
647608 };
648
-
649
-static int __init sunesp_init(void)
650
-{
651
- return platform_driver_register(&esp_sbus_driver);
652
-}
653
-
654
-static void __exit sunesp_exit(void)
655
-{
656
- platform_driver_unregister(&esp_sbus_driver);
657
-}
609
+module_platform_driver(esp_sbus_driver);
658610
659611 MODULE_DESCRIPTION("Sun ESP SCSI driver");
660612 MODULE_AUTHOR("David S. Miller (davem@davemloft.net)");
661613 MODULE_LICENSE("GPL");
662614 MODULE_VERSION(DRV_VERSION);
663
-
664
-module_init(sunesp_init);
665
-module_exit(sunesp_exit);