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