2 # Makefile for linux/drivers/scsi
4 # 30 May 2000, Christoph Hellwig <hch@infradead.org>
5 # Rewritten to use lists instead of if-statements.
7 # 20 Sep 2000, Torben Mathiasen <tmm@image.dk>
8 # Changed link order to reflect new scsi initialization.
10 # *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
11 # The link order must be, SCSI Core, SCSI HBA drivers, and
12 # lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to
13 # satisfy certain initialization assumptions in the SCSI layer.
14 # *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
17 CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF
18 CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
19 CFLAGS_seagate.o = -DARBITRATE -DPARITY -DSEAGATE_USE_ASM
21 subdir-$(CONFIG_PCMCIA) += pcmcia
23 obj-$(CONFIG_SCSI) += scsi_mod.o
25 obj-$(CONFIG_RAID_ATTRS) += raid_class.o
27 # --- NOTE ORDERING HERE ---
28 # For kernel non-modular link, transport attributes need to
29 # be initialised before drivers
30 # --------------------------
31 obj-$(CONFIG_SCSI_SPI_ATTRS) += scsi_transport_spi.o
32 obj-$(CONFIG_SCSI_FC_ATTRS) += scsi_transport_fc.o
33 obj-$(CONFIG_SCSI_ISCSI_ATTRS) += scsi_transport_iscsi.o
34 obj-$(CONFIG_SCSI_SAS_ATTRS) += scsi_transport_sas.o
36 obj-$(CONFIG_ISCSI_TCP) += iscsi_tcp.o
37 obj-$(CONFIG_SCSI_AMIGA7XX) += amiga7xx.o 53c7xx.o
38 obj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o
39 obj-$(CONFIG_A2091_SCSI) += a2091.o wd33c93.o
40 obj-$(CONFIG_GVP11_SCSI) += gvp11.o wd33c93.o
41 obj-$(CONFIG_MVME147_SCSI) += mvme147.o wd33c93.o
42 obj-$(CONFIG_SGIWD93_SCSI) += sgiwd93.o wd33c93.o
43 obj-$(CONFIG_CYBERSTORM_SCSI) += NCR53C9x.o cyberstorm.o
44 obj-$(CONFIG_CYBERSTORMII_SCSI) += NCR53C9x.o cyberstormII.o
45 obj-$(CONFIG_BLZ2060_SCSI) += NCR53C9x.o blz2060.o
46 obj-$(CONFIG_BLZ1230_SCSI) += NCR53C9x.o blz1230.o
47 obj-$(CONFIG_FASTLANE_SCSI) += NCR53C9x.o fastlane.o
48 obj-$(CONFIG_OKTAGON_SCSI) += NCR53C9x.o oktagon_esp_mod.o
49 obj-$(CONFIG_ATARI_SCSI) += atari_scsi.o
50 obj-$(CONFIG_MAC_SCSI) += mac_scsi.o
51 obj-$(CONFIG_SCSI_MAC_ESP) += mac_esp.o NCR53C9x.o
52 obj-$(CONFIG_SUN3_SCSI) += sun3_scsi.o sun3_scsi_vme.o
53 obj-$(CONFIG_MVME16x_SCSI) += mvme16x.o 53c7xx.o
54 obj-$(CONFIG_BVME6000_SCSI) += bvme6000.o 53c7xx.o
55 obj-$(CONFIG_SCSI_SIM710) += 53c700.o sim710.o
56 obj-$(CONFIG_SCSI_ADVANSYS) += advansys.o
57 obj-$(CONFIG_SCSI_PSI240I) += psi240i.o
58 obj-$(CONFIG_SCSI_BUSLOGIC) += BusLogic.o
59 obj-$(CONFIG_SCSI_DPT_I2O) += dpt_i2o.o
60 obj-$(CONFIG_SCSI_U14_34F) += u14-34f.o
61 obj-$(CONFIG_SCSI_ULTRASTOR) += ultrastor.o
62 obj-$(CONFIG_SCSI_AHA152X) += aha152x.o
63 obj-$(CONFIG_SCSI_AHA1542) += aha1542.o
64 obj-$(CONFIG_SCSI_AHA1740) += aha1740.o
65 obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx/
66 obj-$(CONFIG_SCSI_AIC79XX) += aic7xxx/
67 obj-$(CONFIG_SCSI_AACRAID) += aacraid/
68 obj-$(CONFIG_SCSI_AIC7XXX_OLD) += aic7xxx_old.o
69 obj-$(CONFIG_SCSI_IPS) += ips.o
70 obj-$(CONFIG_SCSI_FD_MCS) += fd_mcs.o
71 obj-$(CONFIG_SCSI_FUTURE_DOMAIN)+= fdomain.o
72 obj-$(CONFIG_SCSI_IN2000) += in2000.o
73 obj-$(CONFIG_SCSI_GENERIC_NCR5380) += g_NCR5380.o
74 obj-$(CONFIG_SCSI_GENERIC_NCR5380_MMIO) += g_NCR5380_mmio.o
75 obj-$(CONFIG_SCSI_NCR53C406A) += NCR53c406a.o
76 obj-$(CONFIG_SCSI_NCR_D700) += 53c700.o NCR_D700.o
77 obj-$(CONFIG_SCSI_NCR_Q720) += NCR_Q720_mod.o
78 obj-$(CONFIG_SCSI_SYM53C416) += sym53c416.o
79 obj-$(CONFIG_SCSI_QLOGIC_FAS) += qlogicfas408.o qlogicfas.o
80 obj-$(CONFIG_PCMCIA_QLOGIC) += qlogicfas408.o
81 obj-$(CONFIG_SCSI_QLOGIC_1280) += qla1280.o
82 obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx/
83 obj-$(CONFIG_SCSI_LPFC) += lpfc/
84 obj-$(CONFIG_SCSI_PAS16) += pas16.o
85 obj-$(CONFIG_SCSI_SEAGATE) += seagate.o
86 obj-$(CONFIG_SCSI_FD_8xx) += seagate.o
87 obj-$(CONFIG_SCSI_T128) += t128.o
88 obj-$(CONFIG_SCSI_DMX3191D) += dmx3191d.o
89 obj-$(CONFIG_SCSI_DTC3280) += dtc.o
90 obj-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2/
91 obj-$(CONFIG_SCSI_ZALON) += zalon7xx.o
92 obj-$(CONFIG_SCSI_EATA_PIO) += eata_pio.o
93 obj-$(CONFIG_SCSI_7000FASST) += wd7000.o
94 obj-$(CONFIG_SCSI_MCA_53C9X) += NCR53C9x.o mca_53c9x.o
95 obj-$(CONFIG_SCSI_IBMMCA) += ibmmca.o
96 obj-$(CONFIG_SCSI_EATA) += eata.o
97 obj-$(CONFIG_SCSI_DC395x) += dc395x.o
98 obj-$(CONFIG_SCSI_DC390T) += tmscsim.o
99 obj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o
100 obj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/
101 obj-$(CONFIG_MEGARAID_SAS) += megaraid/
102 obj-$(CONFIG_SCSI_ACARD) += atp870u.o
103 obj-$(CONFIG_SCSI_SUNESP) += esp.o
104 obj-$(CONFIG_SCSI_GDTH) += gdth.o
105 obj-$(CONFIG_SCSI_INITIO) += initio.o
106 obj-$(CONFIG_SCSI_INIA100) += a100u2w.o
107 obj-$(CONFIG_SCSI_QLOGICPTI) += qlogicpti.o
108 obj-$(CONFIG_BLK_DEV_IDESCSI) += ide-scsi.o
109 obj-$(CONFIG_SCSI_MESH) += mesh.o
110 obj-$(CONFIG_SCSI_MAC53C94) += mac53c94.o
111 obj-$(CONFIG_SCSI_PLUTO) += pluto.o
112 obj-$(CONFIG_SCSI_DECNCR) += NCR53C9x.o dec_esp.o
113 obj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o
114 obj-$(CONFIG_SCSI_3W_9XXX) += 3w-9xxx.o
115 obj-$(CONFIG_SCSI_PPA) += ppa.o
116 obj-$(CONFIG_SCSI_IMM) += imm.o
117 obj-$(CONFIG_JAZZ_ESP) += NCR53C9x.o jazz_esp.o
118 obj-$(CONFIG_SUN3X_ESP) += NCR53C9x.o sun3x_esp.o
119 obj-$(CONFIG_SCSI_FCAL) += fcal.o
120 obj-$(CONFIG_SCSI_LASI700) += 53c700.o lasi700.o
121 obj-$(CONFIG_SCSI_NSP32) += nsp32.o
122 obj-$(CONFIG_SCSI_IPR) += ipr.o
123 obj-$(CONFIG_SCSI_IBMVSCSI) += ibmvscsi/
124 obj-$(CONFIG_SCSI_SATA_AHCI) += libata.o ahci.o
125 obj-$(CONFIG_SCSI_SATA_SVW) += libata.o sata_svw.o
126 obj-$(CONFIG_SCSI_ATA_PIIX) += libata.o ata_piix.o
127 obj-$(CONFIG_SCSI_SATA_PROMISE) += libata.o sata_promise.o
128 obj-$(CONFIG_SCSI_SATA_QSTOR) += libata.o sata_qstor.o
129 obj-$(CONFIG_SCSI_SATA_SIL) += libata.o sata_sil.o
130 obj-$(CONFIG_SCSI_SATA_SIL24) += libata.o sata_sil24.o
131 obj-$(CONFIG_SCSI_SATA_VIA) += libata.o sata_via.o
132 obj-$(CONFIG_SCSI_SATA_VITESSE) += libata.o sata_vsc.o
133 obj-$(CONFIG_SCSI_SATA_SIS) += libata.o sata_sis.o
134 obj-$(CONFIG_SCSI_SATA_SX4) += libata.o sata_sx4.o
135 obj-$(CONFIG_SCSI_SATA_NV) += libata.o sata_nv.o
136 obj-$(CONFIG_SCSI_SATA_ULI) += libata.o sata_uli.o
137 obj-$(CONFIG_SCSI_SATA_MV) += libata.o sata_mv.o
138 obj-$(CONFIG_SCSI_PDC_ADMA) += libata.o pdc_adma.o
140 obj-$(CONFIG_ARM) += arm/
142 obj-$(CONFIG_CHR_DEV_ST) += st.o
143 obj-$(CONFIG_CHR_DEV_OSST) += osst.o
144 obj-$(CONFIG_BLK_DEV_SD) += sd_mod.o
145 obj-$(CONFIG_BLK_DEV_SR) += sr_mod.o
146 obj-$(CONFIG_CHR_DEV_SG) += sg.o
147 obj-$(CONFIG_CHR_DEV_SCH) += ch.o
149 # This goes last, so that "real" scsi devices probe earlier
150 obj-$(CONFIG_SCSI_DEBUG) += scsi_debug.o
152 scsi_mod-y += scsi.o hosts.o scsi_ioctl.o constants.o \
153 scsicam.o scsi_error.o scsi_lib.o \
154 scsi_scan.o scsi_sysfs.o \
156 scsi_mod-$(CONFIG_SYSCTL) += scsi_sysctl.o
157 scsi_mod-$(CONFIG_SCSI_PROC_FS) += scsi_proc.o
160 sr_mod-objs := sr.o sr_ioctl.o sr_vendor.o
161 ncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \
162 := -DCONFIG_NCR53C8XX_PREFETCH -DSCSI_NCR_BIG_ENDIAN \
163 -DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS
164 CFLAGS_ncr53c8xx.o := $(ncr53c8xx-flags-y) $(ncr53c8xx-flags-m)
165 zalon7xx-objs := zalon.o ncr53c8xx.o
166 NCR_Q720_mod-objs := NCR_Q720.o ncr53c8xx.o
167 libata-objs := libata-core.o libata-scsi.o libata-bmdma.o
168 oktagon_esp_mod-objs := oktagon_esp.o oktagon_io.o
170 # Files generated that shall be removed upon make clean
171 clean-files := 53c7xx_d.h 53c700_d.h \
172 53c7xx_u.h 53c700_u.h
174 $(obj)/53c7xx.o: $(obj)/53c7xx_d.h $(obj)/53c7xx_u.h
175 $(obj)/53c700.o $(MODVERDIR)/$(obj)/53c700.ver: $(obj)/53c700_d.h
177 # If you want to play with the firmware, uncomment
178 # GENERATE_FIRMWARE := 1
180 ifdef GENERATE_FIRMWARE
182 $(obj)/53c7xx_d.h: $(src)/53c7xx.scr $(src)/script_asm.pl
183 $(CPP) -traditional -DCHIP=710 - < $< | grep -v '^#' | $(PERL) -s $(src)/script_asm.pl -ncr7x0_family $@ $(@:_d.h=_u.h)
185 $(obj)/53c7xx_u.h: $(obj)/53c7xx_d.h
187 $(obj)/53c700_d.h: $(src)/53c700.scr $(src)/script_asm.pl
188 $(PERL) -s $(src)/script_asm.pl -ncr7x0_family $@ $(@:_d.h=_u.h) < $<