1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for linux/drivers/scsi
5 # 30 May 2000, Christoph Hellwig <hch@infradead.org>
6 # Rewritten to use lists instead of if-statements.
8 # 20 Sep 2000, Torben Mathiasen <tmm@image.dk>
9 # Changed link order to reflect new scsi initialization.
11 # *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
12 # The link order must be, SCSI Core, SCSI HBA drivers, and
13 # lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to
14 # satisfy certain initialization assumptions in the SCSI layer.
15 # *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
18 CFLAGS_aha152x.o
= -DAHA152X_STAT
-DAUTOCONF
19 CFLAGS_gdth.o
= # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
21 obj-
$(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
35 obj-
$(CONFIG_SCSI_SAS_LIBSAS
) += libsas
/
36 obj-
$(CONFIG_SCSI_SRP_ATTRS
) += scsi_transport_srp.o
37 obj-
$(CONFIG_SCSI_DH
) += device_handler
/
39 obj-
$(CONFIG_LIBFC
) += libfc
/
40 obj-
$(CONFIG_LIBFCOE
) += fcoe
/
41 obj-
$(CONFIG_FCOE
) += fcoe
/
42 obj-
$(CONFIG_FCOE_FNIC
) += fnic
/
43 obj-
$(CONFIG_SCSI_SNIC
) += snic
/
44 obj-
$(CONFIG_SCSI_BNX2X_FCOE
) += libfc
/ fcoe
/ bnx2fc
/
45 obj-
$(CONFIG_QEDF
) += qedf
/
46 obj-
$(CONFIG_ISCSI_TCP
) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o
47 obj-
$(CONFIG_INFINIBAND_ISER
) += libiscsi.o
48 obj-
$(CONFIG_ISCSI_BOOT_SYSFS
) += iscsi_boot_sysfs.o
49 obj-
$(CONFIG_SCSI_A4000T
) += 53c700.o a4000t.o
50 obj-
$(CONFIG_SCSI_ZORRO7XX
) += 53c700.o zorro7xx.o
51 obj-
$(CONFIG_SCSI_ZORRO_ESP
) += esp_scsi.o zorro_esp.o
52 obj-
$(CONFIG_A3000_SCSI
) += a3000.o wd33c93.o
53 obj-
$(CONFIG_A2091_SCSI
) += a2091.o wd33c93.o
54 obj-
$(CONFIG_GVP11_SCSI
) += gvp11.o wd33c93.o
55 obj-
$(CONFIG_MVME147_SCSI
) += mvme147.o wd33c93.o
56 obj-
$(CONFIG_SGIWD93_SCSI
) += sgiwd93.o wd33c93.o
57 obj-
$(CONFIG_ATARI_SCSI
) += atari_scsi.o
58 obj-
$(CONFIG_MAC_SCSI
) += mac_scsi.o
59 obj-
$(CONFIG_SCSI_MAC_ESP
) += esp_scsi.o mac_esp.o
60 obj-
$(CONFIG_SUN3_SCSI
) += sun3_scsi.o sun3_scsi_vme.o
61 obj-
$(CONFIG_MVME16x_SCSI
) += 53c700.o mvme16x_scsi.o
62 obj-
$(CONFIG_BVME6000_SCSI
) += 53c700.o bvme6000_scsi.o
63 obj-
$(CONFIG_SCSI_SIM710
) += 53c700.o sim710.o
64 obj-
$(CONFIG_SCSI_ADVANSYS
) += advansys.o
65 obj-
$(CONFIG_SCSI_BUSLOGIC
) += BusLogic.o
66 obj-
$(CONFIG_SCSI_DPT_I2O
) += dpt_i2o.o
67 obj-
$(CONFIG_SCSI_ARCMSR
) += arcmsr
/
68 obj-
$(CONFIG_SCSI_AHA152X
) += aha152x.o
69 obj-
$(CONFIG_SCSI_AHA1542
) += aha1542.o
70 obj-
$(CONFIG_SCSI_AHA1740
) += aha1740.o
71 obj-
$(CONFIG_SCSI_AIC7XXX
) += aic7xxx
/
72 obj-
$(CONFIG_SCSI_AIC79XX
) += aic7xxx
/
73 obj-
$(CONFIG_SCSI_AACRAID
) += aacraid
/
74 obj-
$(CONFIG_SCSI_AIC94XX
) += aic94xx
/
75 obj-
$(CONFIG_SCSI_PM8001
) += pm8001
/
76 obj-
$(CONFIG_SCSI_ISCI
) += isci
/
77 obj-
$(CONFIG_SCSI_IPS
) += ips.o
78 obj-
$(CONFIG_SCSI_GENERIC_NCR5380
) += g_NCR5380.o
79 obj-
$(CONFIG_SCSI_NCR_D700
) += 53c700.o NCR_D700.o
80 obj-
$(CONFIG_SCSI_NCR_Q720
) += NCR_Q720_mod.o
81 obj-
$(CONFIG_SCSI_QLOGIC_FAS
) += qlogicfas408.o qlogicfas.o
82 obj-
$(CONFIG_PCMCIA_QLOGIC
) += qlogicfas408.o
83 obj-
$(CONFIG_SCSI_QLOGIC_1280
) += qla1280.o
84 obj-
$(CONFIG_SCSI_QLA_FC
) += qla2xxx
/
85 obj-
$(CONFIG_SCSI_QLA_ISCSI
) += libiscsi.o qla4xxx
/
86 obj-
$(CONFIG_SCSI_LPFC
) += lpfc
/
87 obj-
$(CONFIG_SCSI_BFA_FC
) += bfa
/
88 obj-
$(CONFIG_SCSI_CHELSIO_FCOE
) += csiostor
/
89 obj-
$(CONFIG_SCSI_DMX3191D
) += dmx3191d.o
90 obj-
$(CONFIG_SCSI_HPSA
) += hpsa.o
91 obj-
$(CONFIG_SCSI_SMARTPQI
) += smartpqi
/
92 obj-
$(CONFIG_SCSI_SYM53C8XX_2
) += sym53c8xx_2
/
93 obj-
$(CONFIG_SCSI_ZALON
) += zalon7xx.o
94 obj-
$(CONFIG_SCSI_DC395x
) += dc395x.o
95 obj-
$(CONFIG_SCSI_AM53C974
) += esp_scsi.o am53c974.o
96 obj-
$(CONFIG_CXLFLASH
) += cxlflash
/
97 obj-
$(CONFIG_MEGARAID_LEGACY
) += megaraid.o
98 obj-
$(CONFIG_MEGARAID_NEWGEN
) += megaraid
/
99 obj-
$(CONFIG_MEGARAID_SAS
) += megaraid
/
100 obj-
$(CONFIG_SCSI_MPT3SAS
) += mpt3sas
/
101 obj-
$(CONFIG_SCSI_UFSHCD
) += ufs
/
102 obj-
$(CONFIG_SCSI_ACARD
) += atp870u.o
103 obj-
$(CONFIG_SCSI_SUNESP
) += esp_scsi.o sun_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_SCSI_MESH
) += mesh.o
109 obj-
$(CONFIG_SCSI_MAC53C94
) += mac53c94.o
110 obj-
$(CONFIG_BLK_DEV_3W_XXXX_RAID
) += 3w-xxxx.o
111 obj-
$(CONFIG_SCSI_3W_9XXX
) += 3w-9xxx.o
112 obj-
$(CONFIG_SCSI_3W_SAS
) += 3w-sas.o
113 obj-
$(CONFIG_SCSI_PPA
) += ppa.o
114 obj-
$(CONFIG_SCSI_IMM
) += imm.o
115 obj-
$(CONFIG_JAZZ_ESP
) += esp_scsi.o jazz_esp.o
116 obj-
$(CONFIG_SUN3X_ESP
) += esp_scsi.o sun3x_esp.o
117 obj-
$(CONFIG_SCSI_LASI700
) += 53c700.o lasi700.o
118 obj-
$(CONFIG_SCSI_SNI_53C710
) += 53c700.o sni_53c710.o
119 obj-
$(CONFIG_SCSI_NSP32
) += nsp32.o
120 obj-
$(CONFIG_SCSI_IPR
) += ipr.o
121 obj-
$(CONFIG_SCSI_IBMVSCSI
) += ibmvscsi
/
122 obj-
$(CONFIG_SCSI_IBMVSCSIS
) += ibmvscsi_tgt
/
123 obj-
$(CONFIG_SCSI_IBMVFC
) += ibmvscsi
/
124 obj-
$(CONFIG_SCSI_HPTIOP
) += hptiop.o
125 obj-
$(CONFIG_SCSI_STEX
) += stex.o
126 obj-
$(CONFIG_SCSI_MVSAS
) += mvsas
/
127 obj-
$(CONFIG_SCSI_MVUMI
) += mvumi.o
128 obj-
$(CONFIG_PS3_ROM
) += ps3rom.o
129 obj-
$(CONFIG_SCSI_CXGB3_ISCSI
) += libiscsi.o libiscsi_tcp.o cxgbi
/
130 obj-
$(CONFIG_SCSI_CXGB4_ISCSI
) += libiscsi.o libiscsi_tcp.o cxgbi
/
131 obj-
$(CONFIG_SCSI_BNX2_ISCSI
) += libiscsi.o bnx2i
/
132 obj-
$(CONFIG_QEDI
) += libiscsi.o qedi
/
133 obj-
$(CONFIG_BE2ISCSI
) += libiscsi.o be2iscsi
/
134 obj-
$(CONFIG_SCSI_ESAS2R
) += esas2r
/
135 obj-
$(CONFIG_SCSI_PMCRAID
) += pmcraid.o
136 obj-
$(CONFIG_SCSI_VIRTIO
) += virtio_scsi.o
137 obj-
$(CONFIG_VMWARE_PVSCSI
) += vmw_pvscsi.o
138 obj-
$(CONFIG_XEN_SCSI_FRONTEND
) += xen-scsifront.o
139 obj-
$(CONFIG_HYPERV_STORAGE
) += hv_storvsc.o
140 obj-
$(CONFIG_SCSI_WD719X
) += wd719x.o
142 obj-
$(CONFIG_ARM
) += arm
/
144 obj-
$(CONFIG_CHR_DEV_ST
) += st.o
145 obj-
$(CONFIG_CHR_DEV_OSST
) += osst.o
146 obj-
$(CONFIG_BLK_DEV_SD
) += sd_mod.o
147 obj-
$(CONFIG_BLK_DEV_SR
) += sr_mod.o
148 obj-
$(CONFIG_CHR_DEV_SG
) += sg.o
149 obj-
$(CONFIG_CHR_DEV_SCH
) += ch.o
150 obj-
$(CONFIG_SCSI_ENCLOSURE
) += ses.o
152 obj-
$(CONFIG_SCSI_OSD_INITIATOR
) += osd
/
153 obj-
$(CONFIG_SCSI_HISI_SAS
) += hisi_sas
/
155 # This goes last, so that "real" scsi devices probe earlier
156 obj-
$(CONFIG_SCSI_DEBUG
) += scsi_debug.o
157 scsi_mod-y
+= scsi.o hosts.o scsi_ioctl.o \
158 scsicam.o scsi_error.o scsi_lib.o
159 scsi_mod-y
+= scsi_common.o
160 scsi_mod-
$(CONFIG_SCSI_CONSTANTS
) += constants.o
161 scsi_mod-
$(CONFIG_SCSI_DMA
) += scsi_lib_dma.o
162 scsi_mod-y
+= scsi_scan.o scsi_sysfs.o scsi_devinfo.o
163 scsi_mod-
$(CONFIG_SCSI_NETLINK
) += scsi_netlink.o
164 scsi_mod-
$(CONFIG_SYSCTL
) += scsi_sysctl.o
165 scsi_mod-
$(CONFIG_SCSI_PROC_FS
) += scsi_proc.o
166 scsi_mod-
$(CONFIG_BLK_DEBUG_FS
) += scsi_debugfs.o
167 scsi_mod-y
+= scsi_trace.o scsi_logging.o
168 scsi_mod-
$(CONFIG_PM
) += scsi_pm.o
169 scsi_mod-
$(CONFIG_SCSI_DH
) += scsi_dh.o
171 hv_storvsc-y
:= storvsc_drv.o
174 sd_mod-
$(CONFIG_BLK_DEV_INTEGRITY
) += sd_dif.o
175 sd_mod-
$(CONFIG_BLK_DEV_ZONED
) += sd_zbc.o
177 sr_mod-objs
:= sr.o sr_ioctl.o sr_vendor.o
178 ncr53c8xx-flags-
$(CONFIG_SCSI_ZALON
) \
179 := -DCONFIG_NCR53C8XX_PREFETCH
-DSCSI_NCR_BIG_ENDIAN \
180 -DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS
181 CFLAGS_ncr53c8xx.o
:= $(ncr53c8xx-flags-y
) $(ncr53c8xx-flags-m
)
182 zalon7xx-objs
:= zalon.o ncr53c8xx.o
183 NCR_Q720_mod-objs
:= NCR_Q720.o ncr53c8xx.o
185 # Files generated that shall be removed upon make clean
186 clean-files
:= 53c700_d.h
53c700_u.h scsi_devinfo_tbl.c
188 $(obj
)/53c700.o
$(MODVERDIR
)/$(obj
)/53c700.ver
: $(obj
)/53c700_d.h
190 $(obj
)/scsi_sysfs.o
: $(obj
)/scsi_devinfo_tbl.c
192 quiet_cmd_bflags
= GEN
$@
193 cmd_bflags
= sed
-n
's/.*define *BLIST_\([A-Z0-9_]*\) *.*/BLIST_FLAG_NAME(\1),/p' $< > $@
195 $(obj
)/scsi_devinfo_tbl.c
: include/scsi
/scsi_devinfo.h
196 $(call if_changed
,bflags
)
198 # If you want to play with the firmware, uncomment
199 # GENERATE_FIRMWARE := 1
201 ifdef GENERATE_FIRMWARE
203 $(obj
)/53c700_d.h
: $(src
)/53c700.scr
$(src
)/script_asm.pl
204 $(PERL
) -s
$(src
)/script_asm.pl
-ncr7x0_family
$@
$(@
:_d.h
=_u.h
) < $<