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
24 obj-
$(CONFIG_BLK_SCSI_REQUEST
) += scsi_common.o
26 obj-
$(CONFIG_RAID_ATTRS
) += raid_class.o
28 # --- NOTE ORDERING HERE ---
29 # For kernel non-modular link, transport attributes need to
30 # be initialised before drivers
31 # --------------------------
32 obj-
$(CONFIG_SCSI_SPI_ATTRS
) += scsi_transport_spi.o
33 obj-
$(CONFIG_SCSI_FC_ATTRS
) += scsi_transport_fc.o
34 obj-
$(CONFIG_SCSI_ISCSI_ATTRS
) += scsi_transport_iscsi.o
35 obj-
$(CONFIG_SCSI_SAS_ATTRS
) += scsi_transport_sas.o
36 obj-
$(CONFIG_SCSI_SAS_LIBSAS
) += libsas
/
37 obj-
$(CONFIG_SCSI_SRP_ATTRS
) += scsi_transport_srp.o
38 obj-
$(CONFIG_SCSI_DH
) += device_handler
/
40 obj-
$(CONFIG_LIBFC
) += libfc
/
41 obj-
$(CONFIG_LIBFCOE
) += fcoe
/
42 obj-
$(CONFIG_FCOE
) += fcoe
/
43 obj-
$(CONFIG_FCOE_FNIC
) += fnic
/
44 obj-
$(CONFIG_SCSI_SNIC
) += snic
/
45 obj-
$(CONFIG_SCSI_BNX2X_FCOE
) += libfc
/ fcoe
/ bnx2fc
/
46 obj-
$(CONFIG_QEDF
) += qedf
/
47 obj-
$(CONFIG_ISCSI_TCP
) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o
48 obj-
$(CONFIG_INFINIBAND_ISER
) += libiscsi.o
49 obj-
$(CONFIG_ISCSI_BOOT_SYSFS
) += iscsi_boot_sysfs.o
50 obj-
$(CONFIG_SCSI_A4000T
) += 53c700.o a4000t.o
51 obj-
$(CONFIG_SCSI_ZORRO7XX
) += 53c700.o zorro7xx.o
52 obj-
$(CONFIG_SCSI_ZORRO_ESP
) += esp_scsi.o zorro_esp.o
53 obj-
$(CONFIG_A3000_SCSI
) += a3000.o wd33c93.o
54 obj-
$(CONFIG_A2091_SCSI
) += a2091.o wd33c93.o
55 obj-
$(CONFIG_GVP11_SCSI
) += gvp11.o wd33c93.o
56 obj-
$(CONFIG_MVME147_SCSI
) += mvme147.o wd33c93.o
57 obj-
$(CONFIG_SGIWD93_SCSI
) += sgiwd93.o wd33c93.o
58 obj-
$(CONFIG_ATARI_SCSI
) += atari_scsi.o
59 obj-
$(CONFIG_MAC_SCSI
) += mac_scsi.o
60 obj-
$(CONFIG_SCSI_MAC_ESP
) += esp_scsi.o mac_esp.o
61 obj-
$(CONFIG_SUN3_SCSI
) += sun3_scsi.o sun3_scsi_vme.o
62 obj-
$(CONFIG_MVME16x_SCSI
) += 53c700.o mvme16x_scsi.o
63 obj-
$(CONFIG_BVME6000_SCSI
) += 53c700.o bvme6000_scsi.o
64 obj-
$(CONFIG_SCSI_SIM710
) += 53c700.o sim710.o
65 obj-
$(CONFIG_SCSI_ADVANSYS
) += advansys.o
66 obj-
$(CONFIG_SCSI_BUSLOGIC
) += BusLogic.o
67 obj-
$(CONFIG_SCSI_DPT_I2O
) += dpt_i2o.o
68 obj-
$(CONFIG_SCSI_ARCMSR
) += arcmsr
/
69 obj-
$(CONFIG_SCSI_AHA152X
) += aha152x.o
70 obj-
$(CONFIG_SCSI_AHA1542
) += aha1542.o
71 obj-
$(CONFIG_SCSI_AHA1740
) += aha1740.o
72 obj-
$(CONFIG_SCSI_AIC7XXX
) += aic7xxx
/
73 obj-
$(CONFIG_SCSI_AIC79XX
) += aic7xxx
/
74 obj-
$(CONFIG_SCSI_AACRAID
) += aacraid
/
75 obj-
$(CONFIG_SCSI_AIC94XX
) += aic94xx
/
76 obj-
$(CONFIG_SCSI_PM8001
) += pm8001
/
77 obj-
$(CONFIG_SCSI_ISCI
) += isci
/
78 obj-
$(CONFIG_SCSI_IPS
) += ips.o
79 obj-
$(CONFIG_SCSI_GENERIC_NCR5380
) += g_NCR5380.o
80 obj-
$(CONFIG_SCSI_QLOGIC_FAS
) += qlogicfas408.o qlogicfas.o
81 obj-
$(CONFIG_PCMCIA_QLOGIC
) += qlogicfas408.o
82 obj-
$(CONFIG_SCSI_QLOGIC_1280
) += qla1280.o
83 obj-
$(CONFIG_SCSI_QLA_FC
) += qla2xxx
/
84 obj-
$(CONFIG_SCSI_QLA_ISCSI
) += libiscsi.o qla4xxx
/
85 obj-
$(CONFIG_SCSI_LPFC
) += lpfc
/
86 obj-
$(CONFIG_SCSI_BFA_FC
) += bfa
/
87 obj-
$(CONFIG_SCSI_CHELSIO_FCOE
) += csiostor
/
88 obj-
$(CONFIG_SCSI_DMX3191D
) += dmx3191d.o
89 obj-
$(CONFIG_SCSI_HPSA
) += hpsa.o
90 obj-
$(CONFIG_SCSI_SMARTPQI
) += smartpqi
/
91 obj-
$(CONFIG_SCSI_SYM53C8XX_2
) += sym53c8xx_2
/
92 obj-
$(CONFIG_SCSI_ZALON
) += zalon7xx.o
93 obj-
$(CONFIG_SCSI_DC395x
) += dc395x.o
94 obj-
$(CONFIG_SCSI_AM53C974
) += esp_scsi.o am53c974.o
95 obj-
$(CONFIG_CXLFLASH
) += cxlflash
/
96 obj-
$(CONFIG_MEGARAID_LEGACY
) += megaraid.o
97 obj-
$(CONFIG_MEGARAID_NEWGEN
) += megaraid
/
98 obj-
$(CONFIG_MEGARAID_SAS
) += megaraid
/
99 obj-
$(CONFIG_SCSI_MPT3SAS
) += mpt3sas
/
100 obj-
$(CONFIG_SCSI_UFSHCD
) += ufs
/
101 obj-
$(CONFIG_SCSI_ACARD
) += atp870u.o
102 obj-
$(CONFIG_SCSI_SUNESP
) += esp_scsi.o sun_esp.o
103 obj-
$(CONFIG_SCSI_GDTH
) += gdth.o
104 obj-
$(CONFIG_SCSI_INITIO
) += initio.o
105 obj-
$(CONFIG_SCSI_INIA100
) += a100u2w.o
106 obj-
$(CONFIG_SCSI_QLOGICPTI
) += qlogicpti.o
107 obj-
$(CONFIG_SCSI_MESH
) += mesh.o
108 obj-
$(CONFIG_SCSI_MAC53C94
) += mac53c94.o
109 obj-
$(CONFIG_SCSI_MYRB
) += myrb.o
110 obj-
$(CONFIG_SCSI_MYRS
) += myrs.o
111 obj-
$(CONFIG_BLK_DEV_3W_XXXX_RAID
) += 3w-xxxx.o
112 obj-
$(CONFIG_SCSI_3W_9XXX
) += 3w-9xxx.o
113 obj-
$(CONFIG_SCSI_3W_SAS
) += 3w-sas.o
114 obj-
$(CONFIG_SCSI_PPA
) += ppa.o
115 obj-
$(CONFIG_SCSI_IMM
) += imm.o
116 obj-
$(CONFIG_JAZZ_ESP
) += esp_scsi.o jazz_esp.o
117 obj-
$(CONFIG_SUN3X_ESP
) += esp_scsi.o sun3x_esp.o
118 obj-
$(CONFIG_SCSI_LASI700
) += 53c700.o lasi700.o
119 obj-
$(CONFIG_SCSI_SNI_53C710
) += 53c700.o sni_53c710.o
120 obj-
$(CONFIG_SCSI_NSP32
) += nsp32.o
121 obj-
$(CONFIG_SCSI_IPR
) += ipr.o
122 obj-
$(CONFIG_SCSI_IBMVSCSI
) += ibmvscsi
/
123 obj-
$(CONFIG_SCSI_IBMVSCSIS
) += ibmvscsi_tgt
/
124 obj-
$(CONFIG_SCSI_IBMVFC
) += ibmvscsi
/
125 obj-
$(CONFIG_SCSI_HPTIOP
) += hptiop.o
126 obj-
$(CONFIG_SCSI_STEX
) += stex.o
127 obj-
$(CONFIG_SCSI_MVSAS
) += mvsas
/
128 obj-
$(CONFIG_SCSI_MVUMI
) += mvumi.o
129 obj-
$(CONFIG_PS3_ROM
) += ps3rom.o
130 obj-
$(CONFIG_SCSI_CXGB3_ISCSI
) += libiscsi.o libiscsi_tcp.o cxgbi
/
131 obj-
$(CONFIG_SCSI_CXGB4_ISCSI
) += libiscsi.o libiscsi_tcp.o cxgbi
/
132 obj-
$(CONFIG_SCSI_BNX2_ISCSI
) += libiscsi.o bnx2i
/
133 obj-
$(CONFIG_QEDI
) += libiscsi.o qedi
/
134 obj-
$(CONFIG_BE2ISCSI
) += libiscsi.o be2iscsi
/
135 obj-
$(CONFIG_SCSI_ESAS2R
) += esas2r
/
136 obj-
$(CONFIG_SCSI_PMCRAID
) += pmcraid.o
137 obj-
$(CONFIG_SCSI_VIRTIO
) += virtio_scsi.o
138 obj-
$(CONFIG_VMWARE_PVSCSI
) += vmw_pvscsi.o
139 obj-
$(CONFIG_XEN_SCSI_FRONTEND
) += xen-scsifront.o
140 obj-
$(CONFIG_HYPERV_STORAGE
) += hv_storvsc.o
141 obj-
$(CONFIG_SCSI_WD719X
) += wd719x.o
143 obj-
$(CONFIG_ARM
) += arm
/
145 obj-
$(CONFIG_CHR_DEV_ST
) += st.o
146 obj-
$(CONFIG_CHR_DEV_OSST
) += osst.o
147 obj-
$(CONFIG_BLK_DEV_SD
) += sd_mod.o
148 obj-
$(CONFIG_BLK_DEV_SR
) += sr_mod.o
149 obj-
$(CONFIG_CHR_DEV_SG
) += sg.o
150 obj-
$(CONFIG_CHR_DEV_SCH
) += ch.o
151 obj-
$(CONFIG_SCSI_ENCLOSURE
) += ses.o
153 obj-
$(CONFIG_SCSI_OSD_INITIATOR
) += osd
/
154 obj-
$(CONFIG_SCSI_HISI_SAS
) += hisi_sas
/
156 # This goes last, so that "real" scsi devices probe earlier
157 obj-
$(CONFIG_SCSI_DEBUG
) += scsi_debug.o
158 scsi_mod-y
+= scsi.o hosts.o scsi_ioctl.o \
159 scsicam.o scsi_error.o scsi_lib.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
184 # Files generated that shall be removed upon make clean
185 clean-files
:= 53c700_d.h
53c700_u.h scsi_devinfo_tbl.c
187 $(obj
)/53c700.o
$(MODVERDIR
)/$(obj
)/53c700.ver
: $(obj
)/53c700_d.h
189 $(obj
)/scsi_sysfs.o
: $(obj
)/scsi_devinfo_tbl.c
191 quiet_cmd_bflags
= GEN
$@
192 cmd_bflags
= sed
-n
's/.*define *BLIST_\([A-Z0-9_]*\) *.*/BLIST_FLAG_NAME(\1),/p' $< > $@
194 $(obj
)/scsi_devinfo_tbl.c
: include/scsi
/scsi_devinfo.h
195 $(call if_changed
,bflags
)
197 # If you want to play with the firmware, uncomment
198 # GENERATE_FIRMWARE := 1
200 ifdef GENERATE_FIRMWARE
202 $(obj
)/53c700_d.h
: $(src
)/53c700.scr
$(src
)/script_asm.pl
203 $(PERL
) -s
$(src
)/script_asm.pl
-ncr7x0_family
$@
$(@
:_d.h
=_u.h
) < $<