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
20 obj-
$(CONFIG_PCMCIA
) += pcmcia
/
22 obj-
$(CONFIG_SCSI
) += scsi_mod.o
23 obj-
$(CONFIG_SCSI_COMMON
) += scsi_common.o
25 obj-
$(CONFIG_RAID_ATTRS
) += raid_class.o
27 obj-
$(CONFIG_SCSI_PROTO_TEST
) += scsi_proto_test.o
29 # --- NOTE ORDERING HERE ---
30 # For kernel non-modular link, transport attributes need to
31 # be initialised before drivers
32 # --------------------------
33 obj-
$(CONFIG_SCSI_SPI_ATTRS
) += scsi_transport_spi.o
34 obj-
$(CONFIG_SCSI_FC_ATTRS
) += scsi_transport_fc.o
35 obj-
$(CONFIG_SCSI_ISCSI_ATTRS
) += scsi_transport_iscsi.o
36 obj-
$(CONFIG_SCSI_SAS_ATTRS
) += scsi_transport_sas.o
37 obj-
$(CONFIG_SCSI_SAS_LIBSAS
) += libsas
/
38 obj-
$(CONFIG_SCSI_SRP_ATTRS
) += scsi_transport_srp.o
39 obj-
$(CONFIG_SCSI_DH
) += device_handler
/
41 obj-
$(CONFIG_LIBFC
) += libfc
/
42 obj-
$(CONFIG_LIBFCOE
) += fcoe
/
43 obj-
$(CONFIG_FCOE
) += fcoe
/
44 obj-
$(CONFIG_FCOE_FNIC
) += fnic
/
45 obj-
$(CONFIG_SCSI_SNIC
) += snic
/
46 obj-
$(CONFIG_SCSI_BNX2X_FCOE
) += libfc
/ fcoe
/ bnx2fc
/
47 obj-
$(CONFIG_QEDF
) += qedf
/
48 obj-
$(CONFIG_ISCSI_TCP
) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o
49 obj-
$(CONFIG_INFINIBAND_ISER
) += libiscsi.o
50 obj-
$(CONFIG_ISCSI_BOOT_SYSFS
) += iscsi_boot_sysfs.o
51 obj-
$(CONFIG_SCSI_A4000T
) += 53c700.o a4000t.o
52 obj-
$(CONFIG_SCSI_ZORRO7XX
) += 53c700.o zorro7xx.o
53 obj-
$(CONFIG_SCSI_ZORRO_ESP
) += esp_scsi.o zorro_esp.o
54 obj-
$(CONFIG_A3000_SCSI
) += a3000.o wd33c93.o
55 obj-
$(CONFIG_A2091_SCSI
) += a2091.o wd33c93.o
56 obj-
$(CONFIG_GVP11_SCSI
) += gvp11.o wd33c93.o
57 obj-
$(CONFIG_MVME147_SCSI
) += mvme147.o wd33c93.o
58 obj-
$(CONFIG_SGIWD93_SCSI
) += sgiwd93.o wd33c93.o
59 obj-
$(CONFIG_ATARI_SCSI
) += atari_scsi.o
60 obj-
$(CONFIG_MAC_SCSI
) += mac_scsi.o
61 obj-
$(CONFIG_SCSI_MAC_ESP
) += esp_scsi.o mac_esp.o
62 obj-
$(CONFIG_SUN3_SCSI
) += sun3_scsi.o sun3_scsi_vme.o
63 obj-
$(CONFIG_MVME16x_SCSI
) += 53c700.o mvme16x_scsi.o
64 obj-
$(CONFIG_BVME6000_SCSI
) += 53c700.o bvme6000_scsi.o
65 obj-
$(CONFIG_SCSI_SIM710
) += 53c700.o sim710.o
66 obj-
$(CONFIG_SCSI_ADVANSYS
) += advansys.o
67 obj-
$(CONFIG_SCSI_BUSLOGIC
) += BusLogic.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_FDOMAIN
) += fdomain.o
80 obj-
$(CONFIG_SCSI_FDOMAIN_PCI
) += fdomain_pci.o
81 obj-
$(CONFIG_SCSI_FDOMAIN_ISA
) += fdomain_isa.o
82 obj-
$(CONFIG_SCSI_GENERIC_NCR5380
) += g_NCR5380.o
83 obj-
$(CONFIG_SCSI_QLOGIC_FAS
) += qlogicfas408.o qlogicfas.o
84 obj-
$(CONFIG_PCMCIA_QLOGIC
) += qlogicfas408.o
85 obj-
$(CONFIG_SCSI_QLOGIC_1280
) += qla1280.o
86 obj-
$(CONFIG_SCSI_QLA_FC
) += qla2xxx
/
87 obj-
$(CONFIG_SCSI_QLA_ISCSI
) += libiscsi.o qla4xxx
/
88 obj-
$(CONFIG_SCSI_LPFC
) += lpfc
/
89 obj-
$(CONFIG_SCSI_EFCT
) += elx
/
90 obj-
$(CONFIG_SCSI_BFA_FC
) += bfa
/
91 obj-
$(CONFIG_SCSI_CHELSIO_FCOE
) += csiostor
/
92 obj-
$(CONFIG_SCSI_DMX3191D
) += dmx3191d.o
93 obj-
$(CONFIG_SCSI_HPSA
) += hpsa.o
94 obj-
$(CONFIG_SCSI_SMARTPQI
) += smartpqi
/
95 obj-
$(CONFIG_SCSI_SYM53C8XX_2
) += sym53c8xx_2
/
96 obj-
$(CONFIG_SCSI_ZALON
) += zalon7xx.o
97 obj-
$(CONFIG_SCSI_DC395x
) += dc395x.o
98 obj-
$(CONFIG_SCSI_AM53C974
) += esp_scsi.o am53c974.o
99 obj-
$(CONFIG_CXLFLASH
) += cxlflash
/
100 obj-
$(CONFIG_MEGARAID_LEGACY
) += megaraid.o
101 obj-
$(CONFIG_MEGARAID_NEWGEN
) += megaraid
/
102 obj-
$(CONFIG_MEGARAID_SAS
) += megaraid
/
103 obj-
$(CONFIG_SCSI_MPT3SAS
) += mpt3sas
/
104 obj-
$(CONFIG_SCSI_MPI3MR
) += mpi3mr
/
105 obj-
$(CONFIG_SCSI_ACARD
) += atp870u.o
106 obj-
$(CONFIG_SCSI_SUNESP
) += esp_scsi.o sun_esp.o
107 obj-
$(CONFIG_SCSI_INITIO
) += initio.o
108 obj-
$(CONFIG_SCSI_INIA100
) += a100u2w.o
109 obj-
$(CONFIG_SCSI_QLOGICPTI
) += qlogicpti.o
110 obj-
$(CONFIG_SCSI_MESH
) += mesh.o
111 obj-
$(CONFIG_SCSI_MAC53C94
) += mac53c94.o
112 obj-
$(CONFIG_SCSI_MYRB
) += myrb.o
113 obj-
$(CONFIG_SCSI_MYRS
) += myrs.o
114 obj-
$(CONFIG_BLK_DEV_3W_XXXX_RAID
) += 3w-xxxx.o
115 obj-
$(CONFIG_SCSI_3W_9XXX
) += 3w-9xxx.o
116 obj-
$(CONFIG_SCSI_3W_SAS
) += 3w-sas.o
117 obj-
$(CONFIG_SCSI_PPA
) += ppa.o
118 obj-
$(CONFIG_SCSI_IMM
) += imm.o
119 obj-
$(CONFIG_JAZZ_ESP
) += esp_scsi.o jazz_esp.o
120 obj-
$(CONFIG_SUN3X_ESP
) += esp_scsi.o sun3x_esp.o
121 obj-
$(CONFIG_SCSI_LASI700
) += 53c700.o lasi700.o
122 obj-
$(CONFIG_SCSI_SNI_53C710
) += 53c700.o sni_53c710.o
123 obj-
$(CONFIG_SCSI_NSP32
) += nsp32.o
124 obj-
$(CONFIG_SCSI_IPR
) += ipr.o
125 obj-
$(CONFIG_SCSI_IBMVSCSI
) += ibmvscsi
/
126 obj-
$(CONFIG_SCSI_IBMVSCSIS
) += ibmvscsi_tgt
/
127 obj-
$(CONFIG_SCSI_IBMVFC
) += ibmvscsi
/
128 obj-
$(CONFIG_SCSI_HPTIOP
) += hptiop.o
129 obj-
$(CONFIG_SCSI_STEX
) += stex.o
130 obj-
$(CONFIG_SCSI_MVSAS
) += mvsas
/
131 obj-
$(CONFIG_SCSI_MVUMI
) += mvumi.o
132 obj-
$(CONFIG_PS3_ROM
) += ps3rom.o
133 obj-
$(CONFIG_SCSI_CXGB3_ISCSI
) += libiscsi.o libiscsi_tcp.o cxgbi
/
134 obj-
$(CONFIG_SCSI_CXGB4_ISCSI
) += libiscsi.o libiscsi_tcp.o cxgbi
/
135 obj-
$(CONFIG_SCSI_BNX2_ISCSI
) += libiscsi.o bnx2i
/
136 obj-
$(CONFIG_QEDI
) += libiscsi.o qedi
/
137 obj-
$(CONFIG_BE2ISCSI
) += libiscsi.o be2iscsi
/
138 obj-
$(CONFIG_SCSI_ESAS2R
) += esas2r
/
139 obj-
$(CONFIG_SCSI_PMCRAID
) += pmcraid.o
140 obj-
$(CONFIG_SCSI_VIRTIO
) += virtio_scsi.o
141 obj-
$(CONFIG_VMWARE_PVSCSI
) += vmw_pvscsi.o
142 obj-
$(CONFIG_XEN_SCSI_FRONTEND
) += xen-scsifront.o
143 obj-
$(CONFIG_HYPERV_STORAGE
) += hv_storvsc.o
144 obj-
$(CONFIG_SCSI_WD719X
) += wd719x.o
146 obj-
$(CONFIG_ARM
) += arm
/
148 obj-
$(CONFIG_CHR_DEV_ST
) += st.o
149 obj-
$(CONFIG_BLK_DEV_SD
) += sd_mod.o
150 obj-
$(CONFIG_BLK_DEV_SR
) += sr_mod.o
151 obj-
$(CONFIG_CHR_DEV_SG
) += sg.o
152 obj-
$(CONFIG_CHR_DEV_SCH
) += ch.o
153 obj-
$(CONFIG_SCSI_ENCLOSURE
) += ses.o
155 obj-
$(CONFIG_SCSI_HISI_SAS
) += hisi_sas
/
157 # This goes last, so that "real" scsi devices probe earlier
158 obj-
$(CONFIG_SCSI_DEBUG
) += scsi_debug.o
159 scsi_mod-y
+= scsi.o hosts.o scsi_ioctl.o \
160 scsicam.o scsi_error.o scsi_lib.o
161 scsi_mod-
$(CONFIG_SCSI_CONSTANTS
) += constants.o
162 scsi_mod-
$(CONFIG_SCSI_DMA
) += scsi_lib_dma.o
163 scsi_mod-y
+= scsi_scan.o scsi_sysfs.o scsi_devinfo.o
164 scsi_mod-
$(CONFIG_SCSI_NETLINK
) += scsi_netlink.o
165 scsi_mod-
$(CONFIG_SYSCTL
) += scsi_sysctl.o
166 scsi_mod-
$(CONFIG_SCSI_PROC_FS
) += scsi_proc.o
167 scsi_mod-
$(CONFIG_BLK_DEBUG_FS
) += scsi_debugfs.o
168 scsi_mod-y
+= scsi_trace.o scsi_logging.o
169 scsi_mod-
$(CONFIG_PM
) += scsi_pm.o
170 scsi_mod-
$(CONFIG_SCSI_DH
) += scsi_dh.o
171 scsi_mod-
$(CONFIG_BLK_DEV_BSG
) += scsi_bsg.o
173 hv_storvsc-y
:= storvsc_drv.o
176 sd_mod-
$(CONFIG_BLK_DEV_INTEGRITY
) += sd_dif.o
177 sd_mod-
$(CONFIG_BLK_DEV_ZONED
) += sd_zbc.o
179 sr_mod-objs
:= sr.o sr_ioctl.o sr_vendor.o
180 ncr53c8xx-flags-
$(CONFIG_SCSI_ZALON
) \
181 := -DCONFIG_NCR53C8XX_PREFETCH
-DSCSI_NCR_BIG_ENDIAN \
182 -DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS
183 CFLAGS_ncr53c8xx.o
:= $(ncr53c8xx-flags-y
) $(ncr53c8xx-flags-m
)
184 zalon7xx-objs
:= zalon.o ncr53c8xx.o
186 # Files generated that shall be removed upon make clean
187 clean-files
:= 53c700_d.h
53c700_u.h
189 $(obj
)/53c700.o
: $(obj
)/53c700_d.h
191 $(obj
)/scsi_sysfs.o
: $(obj
)/scsi_devinfo_tbl.c
193 quiet_cmd_bflags
= GEN
$@
194 cmd_bflags
= sed
-n
's/.*define *BLIST_\([A-Z0-9_]*\) *.*/BLIST_FLAG_NAME(\1),/p' $< > $@
196 $(obj
)/scsi_devinfo_tbl.c
: include/scsi
/scsi_devinfo.h FORCE
197 $(call if_changed
,bflags
)
199 targets
+= scsi_devinfo_tbl.c
201 # If you want to play with the firmware, uncomment
202 # GENERATE_FIRMWARE := 1
204 ifdef GENERATE_FIRMWARE
206 $(obj
)/53c700_d.h
: $(src
)/53c700.scr
$(src
)/script_asm.pl
207 $(PERL
) -s
$(src
)/script_asm.pl
-ncr7x0_family
$@
$(@
:_d.h
=_u.h
) < $<