diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
commit | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch) | |
tree | a8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /drivers/scsi/arm | |
parent | 406089d01562f1e2bf9f089fd7637009ebaad589 (diff) |
Patched in Tegra support.
Diffstat (limited to 'drivers/scsi/arm')
-rw-r--r-- | drivers/scsi/arm/acornscsi.c | 8 | ||||
-rw-r--r-- | drivers/scsi/arm/arxescsi.c | 9 | ||||
-rw-r--r-- | drivers/scsi/arm/cumana_1.c | 9 | ||||
-rw-r--r-- | drivers/scsi/arm/cumana_2.c | 8 | ||||
-rw-r--r-- | drivers/scsi/arm/eesox.c | 9 | ||||
-rw-r--r-- | drivers/scsi/arm/fas216.c | 6 | ||||
-rw-r--r-- | drivers/scsi/arm/fas216.h | 4 | ||||
-rw-r--r-- | drivers/scsi/arm/oak.c | 9 | ||||
-rw-r--r-- | drivers/scsi/arm/powertec.c | 8 |
9 files changed, 40 insertions, 30 deletions
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c index 3e1172adb37..c454e44cf51 100644 --- a/drivers/scsi/arm/acornscsi.c +++ b/drivers/scsi/arm/acornscsi.c | |||
@@ -138,6 +138,7 @@ | |||
138 | #include <linux/stringify.h> | 138 | #include <linux/stringify.h> |
139 | #include <linux/io.h> | 139 | #include <linux/io.h> |
140 | 140 | ||
141 | #include <asm/system.h> | ||
141 | #include <asm/ecard.h> | 142 | #include <asm/ecard.h> |
142 | 143 | ||
143 | #include "../scsi.h" | 144 | #include "../scsi.h" |
@@ -2965,7 +2966,8 @@ static struct scsi_host_template acornscsi_template = { | |||
2965 | .proc_name = "acornscsi", | 2966 | .proc_name = "acornscsi", |
2966 | }; | 2967 | }; |
2967 | 2968 | ||
2968 | static int acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | 2969 | static int __devinit |
2970 | acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | ||
2969 | { | 2971 | { |
2970 | struct Scsi_Host *host; | 2972 | struct Scsi_Host *host; |
2971 | AS_Host *ashost; | 2973 | AS_Host *ashost; |
@@ -3031,7 +3033,7 @@ static int acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | |||
3031 | return ret; | 3033 | return ret; |
3032 | } | 3034 | } |
3033 | 3035 | ||
3034 | static void acornscsi_remove(struct expansion_card *ec) | 3036 | static void __devexit acornscsi_remove(struct expansion_card *ec) |
3035 | { | 3037 | { |
3036 | struct Scsi_Host *host = ecard_get_drvdata(ec); | 3038 | struct Scsi_Host *host = ecard_get_drvdata(ec); |
3037 | AS_Host *ashost = (AS_Host *)host->hostdata; | 3039 | AS_Host *ashost = (AS_Host *)host->hostdata; |
@@ -3062,7 +3064,7 @@ static const struct ecard_id acornscsi_cids[] = { | |||
3062 | 3064 | ||
3063 | static struct ecard_driver acornscsi_driver = { | 3065 | static struct ecard_driver acornscsi_driver = { |
3064 | .probe = acornscsi_probe, | 3066 | .probe = acornscsi_probe, |
3065 | .remove = acornscsi_remove, | 3067 | .remove = __devexit_p(acornscsi_remove), |
3066 | .id_table = acornscsi_cids, | 3068 | .id_table = acornscsi_cids, |
3067 | .drv = { | 3069 | .drv = { |
3068 | .name = "acornscsi", | 3070 | .name = "acornscsi", |
diff --git a/drivers/scsi/arm/arxescsi.c b/drivers/scsi/arm/arxescsi.c index 9274510294a..a750aa72b8e 100644 --- a/drivers/scsi/arm/arxescsi.c +++ b/drivers/scsi/arm/arxescsi.c | |||
@@ -276,7 +276,8 @@ static struct scsi_host_template arxescsi_template = { | |||
276 | .proc_name = "arxescsi", | 276 | .proc_name = "arxescsi", |
277 | }; | 277 | }; |
278 | 278 | ||
279 | static int arxescsi_probe(struct expansion_card *ec, const struct ecard_id *id) | 279 | static int __devinit |
280 | arxescsi_probe(struct expansion_card *ec, const struct ecard_id *id) | ||
280 | { | 281 | { |
281 | struct Scsi_Host *host; | 282 | struct Scsi_Host *host; |
282 | struct arxescsi_info *info; | 283 | struct arxescsi_info *info; |
@@ -304,7 +305,7 @@ static int arxescsi_probe(struct expansion_card *ec, const struct ecard_id *id) | |||
304 | info->base = base; | 305 | info->base = base; |
305 | 306 | ||
306 | info->info.scsi.io_base = base + 0x2000; | 307 | info->info.scsi.io_base = base + 0x2000; |
307 | info->info.scsi.irq = 0; | 308 | info->info.scsi.irq = NO_IRQ; |
308 | info->info.scsi.dma = NO_DMA; | 309 | info->info.scsi.dma = NO_DMA; |
309 | info->info.scsi.io_shift = 5; | 310 | info->info.scsi.io_shift = 5; |
310 | info->info.ifcfg.clockrate = 24; /* MHz */ | 311 | info->info.ifcfg.clockrate = 24; /* MHz */ |
@@ -339,7 +340,7 @@ static int arxescsi_probe(struct expansion_card *ec, const struct ecard_id *id) | |||
339 | return ret; | 340 | return ret; |
340 | } | 341 | } |
341 | 342 | ||
342 | static void arxescsi_remove(struct expansion_card *ec) | 343 | static void __devexit arxescsi_remove(struct expansion_card *ec) |
343 | { | 344 | { |
344 | struct Scsi_Host *host = ecard_get_drvdata(ec); | 345 | struct Scsi_Host *host = ecard_get_drvdata(ec); |
345 | 346 | ||
@@ -358,7 +359,7 @@ static const struct ecard_id arxescsi_cids[] = { | |||
358 | 359 | ||
359 | static struct ecard_driver arxescsi_driver = { | 360 | static struct ecard_driver arxescsi_driver = { |
360 | .probe = arxescsi_probe, | 361 | .probe = arxescsi_probe, |
361 | .remove = arxescsi_remove, | 362 | .remove = __devexit_p(arxescsi_remove), |
362 | .id_table = arxescsi_cids, | 363 | .id_table = arxescsi_cids, |
363 | .drv = { | 364 | .drv = { |
364 | .name = "arxescsi", | 365 | .name = "arxescsi", |
diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c index c93938b246d..a3398fe70a9 100644 --- a/drivers/scsi/arm/cumana_1.c +++ b/drivers/scsi/arm/cumana_1.c | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include <asm/ecard.h> | 13 | #include <asm/ecard.h> |
14 | #include <asm/io.h> | 14 | #include <asm/io.h> |
15 | #include <asm/system.h> | ||
15 | 16 | ||
16 | #include "../scsi.h" | 17 | #include "../scsi.h" |
17 | #include <scsi/scsi_host.h> | 18 | #include <scsi/scsi_host.h> |
@@ -225,8 +226,8 @@ static struct scsi_host_template cumanascsi_template = { | |||
225 | .proc_name = "CumanaSCSI-1", | 226 | .proc_name = "CumanaSCSI-1", |
226 | }; | 227 | }; |
227 | 228 | ||
228 | static int cumanascsi1_probe(struct expansion_card *ec, | 229 | static int __devinit |
229 | const struct ecard_id *id) | 230 | cumanascsi1_probe(struct expansion_card *ec, const struct ecard_id *id) |
230 | { | 231 | { |
231 | struct Scsi_Host *host; | 232 | struct Scsi_Host *host; |
232 | int ret; | 233 | int ret; |
@@ -298,7 +299,7 @@ static int cumanascsi1_probe(struct expansion_card *ec, | |||
298 | return ret; | 299 | return ret; |
299 | } | 300 | } |
300 | 301 | ||
301 | static void cumanascsi1_remove(struct expansion_card *ec) | 302 | static void __devexit cumanascsi1_remove(struct expansion_card *ec) |
302 | { | 303 | { |
303 | struct Scsi_Host *host = ecard_get_drvdata(ec); | 304 | struct Scsi_Host *host = ecard_get_drvdata(ec); |
304 | 305 | ||
@@ -320,7 +321,7 @@ static const struct ecard_id cumanascsi1_cids[] = { | |||
320 | 321 | ||
321 | static struct ecard_driver cumanascsi1_driver = { | 322 | static struct ecard_driver cumanascsi1_driver = { |
322 | .probe = cumanascsi1_probe, | 323 | .probe = cumanascsi1_probe, |
323 | .remove = cumanascsi1_remove, | 324 | .remove = __devexit_p(cumanascsi1_remove), |
324 | .id_table = cumanascsi1_cids, | 325 | .id_table = cumanascsi1_cids, |
325 | .drv = { | 326 | .drv = { |
326 | .name = "cumanascsi1", | 327 | .name = "cumanascsi1", |
diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c index e3bae93c3c2..547987b8638 100644 --- a/drivers/scsi/arm/cumana_2.c +++ b/drivers/scsi/arm/cumana_2.c | |||
@@ -397,8 +397,8 @@ static struct scsi_host_template cumanascsi2_template = { | |||
397 | .proc_name = "cumanascsi2", | 397 | .proc_name = "cumanascsi2", |
398 | }; | 398 | }; |
399 | 399 | ||
400 | static int cumanascsi2_probe(struct expansion_card *ec, | 400 | static int __devinit |
401 | const struct ecard_id *id) | 401 | cumanascsi2_probe(struct expansion_card *ec, const struct ecard_id *id) |
402 | { | 402 | { |
403 | struct Scsi_Host *host; | 403 | struct Scsi_Host *host; |
404 | struct cumanascsi2_info *info; | 404 | struct cumanascsi2_info *info; |
@@ -495,7 +495,7 @@ static int cumanascsi2_probe(struct expansion_card *ec, | |||
495 | return ret; | 495 | return ret; |
496 | } | 496 | } |
497 | 497 | ||
498 | static void cumanascsi2_remove(struct expansion_card *ec) | 498 | static void __devexit cumanascsi2_remove(struct expansion_card *ec) |
499 | { | 499 | { |
500 | struct Scsi_Host *host = ecard_get_drvdata(ec); | 500 | struct Scsi_Host *host = ecard_get_drvdata(ec); |
501 | struct cumanascsi2_info *info = (struct cumanascsi2_info *)host->hostdata; | 501 | struct cumanascsi2_info *info = (struct cumanascsi2_info *)host->hostdata; |
@@ -519,7 +519,7 @@ static const struct ecard_id cumanascsi2_cids[] = { | |||
519 | 519 | ||
520 | static struct ecard_driver cumanascsi2_driver = { | 520 | static struct ecard_driver cumanascsi2_driver = { |
521 | .probe = cumanascsi2_probe, | 521 | .probe = cumanascsi2_probe, |
522 | .remove = cumanascsi2_remove, | 522 | .remove = __devexit_p(cumanascsi2_remove), |
523 | .id_table = cumanascsi2_cids, | 523 | .id_table = cumanascsi2_cids, |
524 | .drv = { | 524 | .drv = { |
525 | .name = "cumanascsi2", | 525 | .name = "cumanascsi2", |
diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c index 8e36908415e..edfd12b48c2 100644 --- a/drivers/scsi/arm/eesox.c +++ b/drivers/scsi/arm/eesox.c | |||
@@ -273,7 +273,7 @@ static void eesoxscsi_buffer_out(void *buf, int length, void __iomem *base) | |||
273 | { | 273 | { |
274 | const void __iomem *reg_fas = base + EESOX_FAS216_OFFSET; | 274 | const void __iomem *reg_fas = base + EESOX_FAS216_OFFSET; |
275 | const void __iomem *reg_dmastat = base + EESOX_DMASTAT; | 275 | const void __iomem *reg_dmastat = base + EESOX_DMASTAT; |
276 | void __iomem *reg_dmadata = base + EESOX_DMADATA; | 276 | const void __iomem *reg_dmadata = base + EESOX_DMADATA; |
277 | 277 | ||
278 | do { | 278 | do { |
279 | unsigned int status; | 279 | unsigned int status; |
@@ -515,7 +515,8 @@ static struct scsi_host_template eesox_template = { | |||
515 | .proc_name = "eesox", | 515 | .proc_name = "eesox", |
516 | }; | 516 | }; |
517 | 517 | ||
518 | static int eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | 518 | static int __devinit |
519 | eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | ||
519 | { | 520 | { |
520 | struct Scsi_Host *host; | 521 | struct Scsi_Host *host; |
521 | struct eesoxscsi_info *info; | 522 | struct eesoxscsi_info *info; |
@@ -616,7 +617,7 @@ static int eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | |||
616 | return ret; | 617 | return ret; |
617 | } | 618 | } |
618 | 619 | ||
619 | static void eesoxscsi_remove(struct expansion_card *ec) | 620 | static void __devexit eesoxscsi_remove(struct expansion_card *ec) |
620 | { | 621 | { |
621 | struct Scsi_Host *host = ecard_get_drvdata(ec); | 622 | struct Scsi_Host *host = ecard_get_drvdata(ec); |
622 | struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; | 623 | struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; |
@@ -642,7 +643,7 @@ static const struct ecard_id eesoxscsi_cids[] = { | |||
642 | 643 | ||
643 | static struct ecard_driver eesoxscsi_driver = { | 644 | static struct ecard_driver eesoxscsi_driver = { |
644 | .probe = eesoxscsi_probe, | 645 | .probe = eesoxscsi_probe, |
645 | .remove = eesoxscsi_remove, | 646 | .remove = __devexit_p(eesoxscsi_remove), |
646 | .id_table = eesoxscsi_cids, | 647 | .id_table = eesoxscsi_cids, |
647 | .drv = { | 648 | .drv = { |
648 | .name = "eesoxscsi", | 649 | .name = "eesoxscsi", |
diff --git a/drivers/scsi/arm/fas216.c b/drivers/scsi/arm/fas216.c index 737554c37d9..e85c40b6e19 100644 --- a/drivers/scsi/arm/fas216.c +++ b/drivers/scsi/arm/fas216.c | |||
@@ -179,7 +179,6 @@ static void print_SCp(struct scsi_pointer *SCp, const char *prefix, const char * | |||
179 | SCp->buffers_residual, suffix); | 179 | SCp->buffers_residual, suffix); |
180 | } | 180 | } |
181 | 181 | ||
182 | #ifdef CHECK_STRUCTURE | ||
183 | static void fas216_dumpinfo(FAS216_Info *info) | 182 | static void fas216_dumpinfo(FAS216_Info *info) |
184 | { | 183 | { |
185 | static int used = 0; | 184 | static int used = 0; |
@@ -224,6 +223,7 @@ static void fas216_dumpinfo(FAS216_Info *info) | |||
224 | info->internal_done, info->magic_end); | 223 | info->internal_done, info->magic_end); |
225 | } | 224 | } |
226 | 225 | ||
226 | #ifdef CHECK_STRUCTURE | ||
227 | static void __fas216_checkmagic(FAS216_Info *info, const char *func) | 227 | static void __fas216_checkmagic(FAS216_Info *info, const char *func) |
228 | { | 228 | { |
229 | int corruption = 0; | 229 | int corruption = 0; |
@@ -2176,7 +2176,7 @@ static void fas216_done(FAS216_Info *info, unsigned int result) | |||
2176 | fn = (void (*)(FAS216_Info *, struct scsi_cmnd *, unsigned int))SCpnt->host_scribble; | 2176 | fn = (void (*)(FAS216_Info *, struct scsi_cmnd *, unsigned int))SCpnt->host_scribble; |
2177 | fn(info, SCpnt, result); | 2177 | fn(info, SCpnt, result); |
2178 | 2178 | ||
2179 | if (info->scsi.irq) { | 2179 | if (info->scsi.irq != NO_IRQ) { |
2180 | spin_lock_irqsave(&info->host_lock, flags); | 2180 | spin_lock_irqsave(&info->host_lock, flags); |
2181 | if (info->scsi.phase == PHASE_IDLE) | 2181 | if (info->scsi.phase == PHASE_IDLE) |
2182 | fas216_kick(info); | 2182 | fas216_kick(info); |
@@ -2276,7 +2276,7 @@ static int fas216_noqueue_command_lck(struct scsi_cmnd *SCpnt, | |||
2276 | * We should only be using this if we don't have an interrupt. | 2276 | * We should only be using this if we don't have an interrupt. |
2277 | * Provide some "incentive" to use the queueing code. | 2277 | * Provide some "incentive" to use the queueing code. |
2278 | */ | 2278 | */ |
2279 | BUG_ON(info->scsi.irq); | 2279 | BUG_ON(info->scsi.irq != NO_IRQ); |
2280 | 2280 | ||
2281 | info->internal_done = 0; | 2281 | info->internal_done = 0; |
2282 | fas216_queue_command_lck(SCpnt, fas216_internal_done); | 2282 | fas216_queue_command_lck(SCpnt, fas216_internal_done); |
diff --git a/drivers/scsi/arm/fas216.h b/drivers/scsi/arm/fas216.h index df2e1b3ddfe..84b7127c012 100644 --- a/drivers/scsi/arm/fas216.h +++ b/drivers/scsi/arm/fas216.h | |||
@@ -12,6 +12,10 @@ | |||
12 | #ifndef FAS216_H | 12 | #ifndef FAS216_H |
13 | #define FAS216_H | 13 | #define FAS216_H |
14 | 14 | ||
15 | #ifndef NO_IRQ | ||
16 | #define NO_IRQ 255 | ||
17 | #endif | ||
18 | |||
15 | #include <scsi/scsi_eh.h> | 19 | #include <scsi/scsi_eh.h> |
16 | 20 | ||
17 | #include "queue.h" | 21 | #include "queue.h" |
diff --git a/drivers/scsi/arm/oak.c b/drivers/scsi/arm/oak.c index 48facdc1800..849cdf89f7b 100644 --- a/drivers/scsi/arm/oak.c +++ b/drivers/scsi/arm/oak.c | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #include <asm/ecard.h> | 14 | #include <asm/ecard.h> |
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/system.h> | ||
16 | 17 | ||
17 | #include "../scsi.h" | 18 | #include "../scsi.h" |
18 | #include <scsi/scsi_host.h> | 19 | #include <scsi/scsi_host.h> |
@@ -21,7 +22,6 @@ | |||
21 | /*#define PSEUDO_DMA*/ | 22 | /*#define PSEUDO_DMA*/ |
22 | 23 | ||
23 | #define OAKSCSI_PUBLIC_RELEASE 1 | 24 | #define OAKSCSI_PUBLIC_RELEASE 1 |
24 | #define DONT_USE_INTR | ||
25 | 25 | ||
26 | #define priv(host) ((struct NCR5380_hostdata *)(host)->hostdata) | 26 | #define priv(host) ((struct NCR5380_hostdata *)(host)->hostdata) |
27 | #define NCR5380_local_declare() void __iomem *_base | 27 | #define NCR5380_local_declare() void __iomem *_base |
@@ -129,7 +129,8 @@ static struct scsi_host_template oakscsi_template = { | |||
129 | .proc_name = "oakscsi", | 129 | .proc_name = "oakscsi", |
130 | }; | 130 | }; |
131 | 131 | ||
132 | static int oakscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | 132 | static int __devinit |
133 | oakscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | ||
133 | { | 134 | { |
134 | struct Scsi_Host *host; | 135 | struct Scsi_Host *host; |
135 | int ret = -ENOMEM; | 136 | int ret = -ENOMEM; |
@@ -181,7 +182,7 @@ static int oakscsi_probe(struct expansion_card *ec, const struct ecard_id *id) | |||
181 | return ret; | 182 | return ret; |
182 | } | 183 | } |
183 | 184 | ||
184 | static void oakscsi_remove(struct expansion_card *ec) | 185 | static void __devexit oakscsi_remove(struct expansion_card *ec) |
185 | { | 186 | { |
186 | struct Scsi_Host *host = ecard_get_drvdata(ec); | 187 | struct Scsi_Host *host = ecard_get_drvdata(ec); |
187 | 188 | ||
@@ -201,7 +202,7 @@ static const struct ecard_id oakscsi_cids[] = { | |||
201 | 202 | ||
202 | static struct ecard_driver oakscsi_driver = { | 203 | static struct ecard_driver oakscsi_driver = { |
203 | .probe = oakscsi_probe, | 204 | .probe = oakscsi_probe, |
204 | .remove = oakscsi_remove, | 205 | .remove = __devexit_p(oakscsi_remove), |
205 | .id_table = oakscsi_cids, | 206 | .id_table = oakscsi_cids, |
206 | .drv = { | 207 | .drv = { |
207 | .name = "oakscsi", | 208 | .name = "oakscsi", |
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c index 246600b9355..9274c0677b9 100644 --- a/drivers/scsi/arm/powertec.c +++ b/drivers/scsi/arm/powertec.c | |||
@@ -309,8 +309,8 @@ static struct scsi_host_template powertecscsi_template = { | |||
309 | .proc_name = "powertec", | 309 | .proc_name = "powertec", |
310 | }; | 310 | }; |
311 | 311 | ||
312 | static int powertecscsi_probe(struct expansion_card *ec, | 312 | static int __devinit |
313 | const struct ecard_id *id) | 313 | powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id) |
314 | { | 314 | { |
315 | struct Scsi_Host *host; | 315 | struct Scsi_Host *host; |
316 | struct powertec_info *info; | 316 | struct powertec_info *info; |
@@ -409,7 +409,7 @@ static int powertecscsi_probe(struct expansion_card *ec, | |||
409 | return ret; | 409 | return ret; |
410 | } | 410 | } |
411 | 411 | ||
412 | static void powertecscsi_remove(struct expansion_card *ec) | 412 | static void __devexit powertecscsi_remove(struct expansion_card *ec) |
413 | { | 413 | { |
414 | struct Scsi_Host *host = ecard_get_drvdata(ec); | 414 | struct Scsi_Host *host = ecard_get_drvdata(ec); |
415 | struct powertec_info *info = (struct powertec_info *)host->hostdata; | 415 | struct powertec_info *info = (struct powertec_info *)host->hostdata; |
@@ -435,7 +435,7 @@ static const struct ecard_id powertecscsi_cids[] = { | |||
435 | 435 | ||
436 | static struct ecard_driver powertecscsi_driver = { | 436 | static struct ecard_driver powertecscsi_driver = { |
437 | .probe = powertecscsi_probe, | 437 | .probe = powertecscsi_probe, |
438 | .remove = powertecscsi_remove, | 438 | .remove = __devexit_p(powertecscsi_remove), |
439 | .id_table = powertecscsi_cids, | 439 | .id_table = powertecscsi_cids, |
440 | .drv = { | 440 | .drv = { |
441 | .name = "powertecscsi", | 441 | .name = "powertecscsi", |