aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 15:43:54 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 15:43:54 -0400
commit881bcabbde8bc13854a2cb30847abe181d31c5fd (patch)
tree4903428777c03b76d8f2b6cdc782098213300126 /drivers/scsi
parente60b9a0346ee08af4715ee5b2d82f705fbe6e309 (diff)
parentf25e918e3546477948be999c3a7d56b316d74e4b (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
Pull m68k updates from Geert Uytterhoeven. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: Setup CROSS_COMPILE at the top m68k: Correct the Atari ALLOWINT definition m68k/video: Create <asm/vga.h> m68k: Make sure {read,write}s[bwl]() are always defined m68k/mm: Port OOM changes to do_page_fault() scsi/atari: Make more functions static scsi/atari: Revive "atascsi=" setup option net/ariadne: Improve debug prints m68k/atari: Change VME irq numbers from unsigned long to unsigned int m68k/amiga: Use arch_initcall() for registering platform devices m68k/amiga: Add error checks when registering platform devices m68k/amiga: Mark z_dev_present() __init m68k: Remove unused MAX_NOINT_IPL definition
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/atari_scsi.c26
-rw-r--r--drivers/scsi/atari_scsi.h5
2 files changed, 18 insertions, 13 deletions
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index 04a154f87e3e..df740cbbaef4 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -572,7 +572,7 @@ static void falcon_get_lock(void)
572} 572}
573 573
574 574
575int __init atari_scsi_detect(struct scsi_host_template *host) 575static int __init atari_scsi_detect(struct scsi_host_template *host)
576{ 576{
577 static int called = 0; 577 static int called = 0;
578 struct Scsi_Host *instance; 578 struct Scsi_Host *instance;
@@ -724,7 +724,7 @@ int __init atari_scsi_detect(struct scsi_host_template *host)
724 return 1; 724 return 1;
725} 725}
726 726
727int atari_scsi_release(struct Scsi_Host *sh) 727static int atari_scsi_release(struct Scsi_Host *sh)
728{ 728{
729 if (IS_A_TT()) 729 if (IS_A_TT())
730 free_irq(IRQ_TT_MFP_SCSI, sh); 730 free_irq(IRQ_TT_MFP_SCSI, sh);
@@ -734,17 +734,21 @@ int atari_scsi_release(struct Scsi_Host *sh)
734 return 1; 734 return 1;
735} 735}
736 736
737void __init atari_scsi_setup(char *str, int *ints) 737#ifndef MODULE
738static int __init atari_scsi_setup(char *str)
738{ 739{
739 /* Format of atascsi parameter is: 740 /* Format of atascsi parameter is:
740 * atascsi=<can_queue>,<cmd_per_lun>,<sg_tablesize>,<hostid>,<use_tags> 741 * atascsi=<can_queue>,<cmd_per_lun>,<sg_tablesize>,<hostid>,<use_tags>
741 * Defaults depend on TT or Falcon, hostid determined at run time. 742 * Defaults depend on TT or Falcon, hostid determined at run time.
742 * Negative values mean don't change. 743 * Negative values mean don't change.
743 */ 744 */
745 int ints[6];
746
747 get_options(str, ARRAY_SIZE(ints), ints);
744 748
745 if (ints[0] < 1) { 749 if (ints[0] < 1) {
746 printk("atari_scsi_setup: no arguments!\n"); 750 printk("atari_scsi_setup: no arguments!\n");
747 return; 751 return 0;
748 } 752 }
749 753
750 if (ints[0] >= 1) { 754 if (ints[0] >= 1) {
@@ -777,9 +781,14 @@ void __init atari_scsi_setup(char *str, int *ints)
777 setup_use_tagged_queuing = !!ints[5]; 781 setup_use_tagged_queuing = !!ints[5];
778 } 782 }
779#endif 783#endif
784
785 return 1;
780} 786}
781 787
782int atari_scsi_bus_reset(Scsi_Cmnd *cmd) 788__setup("atascsi=", atari_scsi_setup);
789#endif /* !MODULE */
790
791static int atari_scsi_bus_reset(Scsi_Cmnd *cmd)
783{ 792{
784 int rv; 793 int rv;
785 struct NCR5380_hostdata *hostdata = 794 struct NCR5380_hostdata *hostdata =
@@ -852,7 +861,7 @@ static void __init atari_scsi_reset_boot(void)
852#endif 861#endif
853 862
854 863
855const char *atari_scsi_info(struct Scsi_Host *host) 864static const char *atari_scsi_info(struct Scsi_Host *host)
856{ 865{
857 /* atari_scsi_detect() is verbose enough... */ 866 /* atari_scsi_detect() is verbose enough... */
858 static const char string[] = "Atari native SCSI"; 867 static const char string[] = "Atari native SCSI";
@@ -862,8 +871,9 @@ const char *atari_scsi_info(struct Scsi_Host *host)
862 871
863#if defined(REAL_DMA) 872#if defined(REAL_DMA)
864 873
865unsigned long atari_scsi_dma_setup(struct Scsi_Host *instance, void *data, 874static unsigned long atari_scsi_dma_setup(struct Scsi_Host *instance,
866 unsigned long count, int dir) 875 void *data, unsigned long count,
876 int dir)
867{ 877{
868 unsigned long addr = virt_to_phys(data); 878 unsigned long addr = virt_to_phys(data);
869 879
diff --git a/drivers/scsi/atari_scsi.h b/drivers/scsi/atari_scsi.h
index efadb8d567c2..bd52df78b209 100644
--- a/drivers/scsi/atari_scsi.h
+++ b/drivers/scsi/atari_scsi.h
@@ -18,11 +18,6 @@
18/* (I_HAVE_OVERRUNS stuff removed) */ 18/* (I_HAVE_OVERRUNS stuff removed) */
19 19
20#ifndef ASM 20#ifndef ASM
21int atari_scsi_detect (struct scsi_host_template *);
22const char *atari_scsi_info (struct Scsi_Host *);
23int atari_scsi_reset (Scsi_Cmnd *, unsigned int);
24int atari_scsi_release (struct Scsi_Host *);
25
26/* The values for CMD_PER_LUN and CAN_QUEUE are somehow arbitrary. Higher 21/* The values for CMD_PER_LUN and CAN_QUEUE are somehow arbitrary. Higher
27 * values should work, too; try it! (but cmd_per_lun costs memory!) */ 22 * values should work, too; try it! (but cmd_per_lun costs memory!) */
28 23