1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# Makefile for linux/drivers/scsi 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds# 30 May 2000, Christoph Hellwig <hch@infradead.org> 61da177e4SLinus Torvalds# Rewritten to use lists instead of if-statements. 71da177e4SLinus Torvalds# 81da177e4SLinus Torvalds# 20 Sep 2000, Torben Mathiasen <tmm@image.dk> 91da177e4SLinus Torvalds# Changed link order to reflect new scsi initialization. 101da177e4SLinus Torvalds# 111da177e4SLinus Torvalds# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*! 121da177e4SLinus Torvalds# The link order must be, SCSI Core, SCSI HBA drivers, and 131da177e4SLinus Torvalds# lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to 141da177e4SLinus Torvalds# satisfy certain initialization assumptions in the SCSI layer. 151da177e4SLinus Torvalds# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*! 161da177e4SLinus Torvalds 17fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_constants.o := y 18*d34a88f5SBart Van AsscheCONTEXT_ANALYSIS_hosts.o := y 19fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi.o := y 20fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_common.o := y 21fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_devinfo.o := y 22fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_dh.o := y 23fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_error.o := y 24fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_ioctl.o := y 25fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_lib.o := y 26fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_lib_dma.o := y 27fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_logging.o := y 28fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_netlink.o := y 29fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_pm.o := y 30fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_proc.o := y 31fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_scan.o := y 32fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_sysfs.o := y 33fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsi_trace.o := y 34fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_scsicam.o := y 35fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_sd.o := y 36fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_sd_dif.o := y 37fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_sd_zbc.o := y 38fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_sr.o := y 39fb0fc67dSBart Van AsscheCONTEXT_ANALYSIS_sr_ioctl.o := y 401da177e4SLinus Torvalds 411da177e4SLinus TorvaldsCFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF 421da177e4SLinus Torvalds 438ae732a9STejun Heoobj-$(CONFIG_PCMCIA) += pcmcia/ 441da177e4SLinus Torvalds 451da177e4SLinus Torvaldsobj-$(CONFIG_SCSI) += scsi_mod.o 4633ff4ce4SChristoph Hellwigobj-$(CONFIG_SCSI_COMMON) += scsi_common.o 471da177e4SLinus Torvalds 4861a7afa2SJames Bottomleyobj-$(CONFIG_RAID_ATTRS) += raid_class.o 4961a7afa2SJames Bottomley 504977c0f4SBart Van Asscheobj-$(CONFIG_SCSI_PROTO_TEST) += scsi_proto_test.o 514977c0f4SBart Van Assche 521da177e4SLinus Torvalds# --- NOTE ORDERING HERE --- 531da177e4SLinus Torvalds# For kernel non-modular link, transport attributes need to 541da177e4SLinus Torvalds# be initialised before drivers 551da177e4SLinus Torvalds# -------------------------- 561da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_SPI_ATTRS) += scsi_transport_spi.o 571da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_FC_ATTRS) += scsi_transport_fc.o 581da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ISCSI_ATTRS) += scsi_transport_iscsi.o 59c7ebbbceSChristoph Hellwigobj-$(CONFIG_SCSI_SAS_ATTRS) += scsi_transport_sas.o 602908d778SJames Bottomleyobj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas/ 6109345f65SFUJITA Tomonoriobj-$(CONFIG_SCSI_SRP_ATTRS) += scsi_transport_srp.o 62a6a8d9f8SChandra Seetharamanobj-$(CONFIG_SCSI_DH) += device_handler/ 631da177e4SLinus Torvalds 6442e9a92fSRobert Loveobj-$(CONFIG_LIBFC) += libfc/ 659b34ecffSVasu Devobj-$(CONFIG_LIBFCOE) += fcoe/ 6685b4aa49SRobert Loveobj-$(CONFIG_FCOE) += fcoe/ 675df6d737SAbhijeet Joglekarobj-$(CONFIG_FCOE_FNIC) += fnic/ 68c8806b6cSNarsimhulu Musiniobj-$(CONFIG_SCSI_SNIC) += snic/ 69853e2bd2SBhanu Gollapudiobj-$(CONFIG_SCSI_BNX2X_FCOE) += libfc/ fcoe/ bnx2fc/ 7061d8658bSDupuis, Chadobj-$(CONFIG_QEDF) += qedf/ 7138e1a8f5SMike Christieobj-$(CONFIG_ISCSI_TCP) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o 723f1244a2SOr Gerlitzobj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o 73aab7a8fdSMike Christieobj-$(CONFIG_ISCSI_BOOT_SYSFS) += iscsi_boot_sysfs.o 74a16efc1cSKars de Jongobj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o 7545804fbbSKars de Jongobj-$(CONFIG_SCSI_ZORRO7XX) += 53c700.o zorro7xx.o 763109e5aeSMichael Schmitzobj-$(CONFIG_SCSI_ZORRO_ESP) += esp_scsi.o zorro_esp.o 771da177e4SLinus Torvaldsobj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o 781da177e4SLinus Torvaldsobj-$(CONFIG_A2091_SCSI) += a2091.o wd33c93.o 791da177e4SLinus Torvaldsobj-$(CONFIG_GVP11_SCSI) += gvp11.o wd33c93.o 801da177e4SLinus Torvaldsobj-$(CONFIG_MVME147_SCSI) += mvme147.o wd33c93.o 811da177e4SLinus Torvaldsobj-$(CONFIG_SGIWD93_SCSI) += sgiwd93.o wd33c93.o 821da177e4SLinus Torvaldsobj-$(CONFIG_ATARI_SCSI) += atari_scsi.o 831da177e4SLinus Torvaldsobj-$(CONFIG_MAC_SCSI) += mac_scsi.o 846fe07aafSFinn Thainobj-$(CONFIG_SCSI_MAC_ESP) += esp_scsi.o mac_esp.o 851da177e4SLinus Torvaldsobj-$(CONFIG_SUN3_SCSI) += sun3_scsi.o sun3_scsi_vme.o 86506c7bbcSKars de Jongobj-$(CONFIG_MVME16x_SCSI) += 53c700.o mvme16x_scsi.o 878276b58aSKars de Jongobj-$(CONFIG_BVME6000_SCSI) += 53c700.o bvme6000_scsi.o 881da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_SIM710) += 53c700.o sim710.o 891da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ADVANSYS) += advansys.o 901da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_BUSLOGIC) += BusLogic.o 911c57e86dSErich Chenobj-$(CONFIG_SCSI_ARCMSR) += arcmsr/ 921da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AHA152X) += aha152x.o 931da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AHA1542) += aha1542.o 941da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AHA1740) += aha1740.o 951da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx/ 961da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AIC79XX) += aic7xxx/ 971da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_AACRAID) += aacraid/ 982908d778SJames Bottomleyobj-$(CONFIG_SCSI_AIC94XX) += aic94xx/ 99dbf9bfe6Sjack wangobj-$(CONFIG_SCSI_PM8001) += pm8001/ 1006f231ddaSDan Williamsobj-$(CONFIG_SCSI_ISCI) += isci/ 1011da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IPS) += ips.o 102ebeb4665SOndrej Zaryobj-$(CONFIG_SCSI_FDOMAIN) += fdomain.o 10368046d50SOndrej Zaryobj-$(CONFIG_SCSI_FDOMAIN_PCI) += fdomain_pci.o 104e5207cf0SOndrej Zaryobj-$(CONFIG_SCSI_FDOMAIN_ISA) += fdomain_isa.o 1051da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_GENERIC_NCR5380) += g_NCR5380.o 1061da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_QLOGIC_FAS) += qlogicfas408.o qlogicfas.o 1071da177e4SLinus Torvaldsobj-$(CONFIG_PCMCIA_QLOGIC) += qlogicfas408.o 1081da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_QLOGIC_1280) += qla1280.o 1098e0df4a7SAndrew Vasquezobj-$(CONFIG_SCSI_QLA_FC) += qla2xxx/ 1103538a001SRandy Dunlapobj-$(CONFIG_SCSI_QLA_ISCSI) += libiscsi.o qla4xxx/ 111dea3101eSobj-$(CONFIG_SCSI_LPFC) += lpfc/ 112ebc076b3SJames Smartobj-$(CONFIG_SCSI_EFCT) += elx/ 1137725ccfdSJing Huangobj-$(CONFIG_SCSI_BFA_FC) += bfa/ 114a3667aaeSNaresh Kumar Innaobj-$(CONFIG_SCSI_CHELSIO_FCOE) += csiostor/ 1151da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_DMX3191D) += dmx3191d.o 116edd16368SStephen M. Cameronobj-$(CONFIG_SCSI_HPSA) += hpsa.o 1175597088cSDongdong Haoobj-$(CONFIG_SCSI_LEAPRAID) += leapraid/ 1186c223761SKevin Barnettobj-$(CONFIG_SCSI_SMARTPQI) += smartpqi/ 1191da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2/ 1201da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ZALON) += zalon7xx.o 1211da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_DC395x) += dc395x.o 1223a7e7be2SHannes Reineckeobj-$(CONFIG_SCSI_AM53C974) += esp_scsi.o am53c974.o 1231da177e4SLinus Torvaldsobj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o 1241da177e4SLinus Torvaldsobj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/ 125c4a3e0a5SBagalkote, Sreenivasobj-$(CONFIG_MEGARAID_SAS) += megaraid/ 126f92363d1SSreekanth Reddyobj-$(CONFIG_SCSI_MPT3SAS) += mpt3sas/ 127c4f7ac64SKashyap Desaiobj-$(CONFIG_SCSI_MPI3MR) += mpi3mr/ 1281da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_ACARD) += atp870u.o 12989a4063eSDavid S. Millerobj-$(CONFIG_SCSI_SUNESP) += esp_scsi.o sun_esp.o 1301da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_INITIO) += initio.o 1311da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_INIA100) += a100u2w.o 1321da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_QLOGICPTI) += qlogicpti.o 1331da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_MESH) += mesh.o 1341da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_MAC53C94) += mac53c94.o 135081ff398SHannes Reineckeobj-$(CONFIG_SCSI_MYRB) += myrb.o 13677266186SHannes Reineckeobj-$(CONFIG_SCSI_MYRS) += myrs.o 1371da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o 1381da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_3W_9XXX) += 3w-9xxx.o 139f619106bSadam radfordobj-$(CONFIG_SCSI_3W_SAS) += 3w-sas.o 1401da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_PPA) += ppa.o 1411da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IMM) += imm.o 142352e921fSThomas Bogendoerferobj-$(CONFIG_JAZZ_ESP) += esp_scsi.o jazz_esp.o 1430bb67f18SThomas Bogendoerferobj-$(CONFIG_SUN3X_ESP) += esp_scsi.o sun3x_esp.o 1441da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_LASI700) += 53c700.o lasi700.o 145c27d85f3SThomas Bogendoerferobj-$(CONFIG_SCSI_SNI_53C710) += 53c700.o sni_53c710.o 1461da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_NSP32) += nsp32.o 1471da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IPR) += ipr.o 1481da177e4SLinus Torvaldsobj-$(CONFIG_SCSI_IBMVSCSI) += ibmvscsi/ 14988a678bbSBryant G. Lyobj-$(CONFIG_SCSI_IBMVSCSIS) += ibmvscsi_tgt/ 150072b91f9SBrian Kingobj-$(CONFIG_SCSI_IBMVFC) += ibmvscsi/ 151ede1e6f8SHighPoint Linux Teamobj-$(CONFIG_SCSI_HPTIOP) += hptiop.o 1525a25ba16SJeff Garzikobj-$(CONFIG_SCSI_STEX) += stex.o 1532ad52f47SJeff Garzikobj-$(CONFIG_SCSI_MVSAS) += mvsas/ 154f0c568a4SJianyun Liobj-$(CONFIG_SCSI_MVUMI) += mvumi.o 1559aea8cbfSGeert Uytterhoevenobj-$(CONFIG_PS3_ROM) += ps3rom.o 1566f7efaabSkxie@chelsio.comobj-$(CONFIG_SCSI_CXGB3_ISCSI) += libiscsi.o libiscsi_tcp.o cxgbi/ 1577b36b6e0Skxie@chelsio.comobj-$(CONFIG_SCSI_CXGB4_ISCSI) += libiscsi.o libiscsi_tcp.o cxgbi/ 158cf4e6363SMichael Chanobj-$(CONFIG_SCSI_BNX2_ISCSI) += libiscsi.o bnx2i/ 159ace7f46bSManish Rangankarobj-$(CONFIG_QEDI) += libiscsi.o qedi/ 1606733b39aSJayamohan Kallickalobj-$(CONFIG_BE2ISCSI) += libiscsi.o be2iscsi/ 16126780d9eSBradley Groveobj-$(CONFIG_SCSI_ESAS2R) += esas2r/ 16289a36810SAnil Ravindranathobj-$(CONFIG_SCSI_PMCRAID) += pmcraid.o 1634fe74b1cSPaolo Bonziniobj-$(CONFIG_SCSI_VIRTIO) += virtio_scsi.o 164851b1642SAlok Katariaobj-$(CONFIG_VMWARE_PVSCSI) += vmw_pvscsi.o 1658beb8d4cSJuergen Grossobj-$(CONFIG_XEN_SCSI_FRONTEND) += xen-scsifront.o 16689ae7d70SK. Y. Srinivasanobj-$(CONFIG_HYPERV_STORAGE) += hv_storvsc.o 16748a31030SOndrej Zaryobj-$(CONFIG_SCSI_WD719X) += wd719x.o 1681da177e4SLinus Torvalds 1691da177e4SLinus Torvaldsobj-$(CONFIG_ARM) += arm/ 1701da177e4SLinus Torvalds 1711da177e4SLinus Torvaldsobj-$(CONFIG_CHR_DEV_ST) += st.o 1721da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_SD) += sd_mod.o 1731da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_SR) += sr_mod.o 1741da177e4SLinus Torvaldsobj-$(CONFIG_CHR_DEV_SG) += sg.o 175daa6eda6SGerd Knorr obj-$(CONFIG_CHR_DEV_SCH) += ch.o 1769927c688SJames Bottomleyobj-$(CONFIG_SCSI_ENCLOSURE) += ses.o 1771da177e4SLinus Torvalds 178e8899fadSJohn Garryobj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas/ 17968274794SBoaz Harrosh 1800caab23eSLinus Torvalds# This goes last, so that "real" scsi devices probe earlier 1810caab23eSLinus Torvaldsobj-$(CONFIG_SCSI_DEBUG) += scsi_debug.o 1822dd951ecSHannes Reineckescsi_mod-y += scsi.o hosts.o scsi_ioctl.o \ 1837689e82eSCornelia Huck scsicam.o scsi_error.o scsi_lib.o 1842dd951ecSHannes Reineckescsi_mod-$(CONFIG_SCSI_CONSTANTS) += constants.o 1857689e82eSCornelia Huckscsi_mod-$(CONFIG_SCSI_DMA) += scsi_lib_dma.o 1867689e82eSCornelia Huckscsi_mod-y += scsi_scan.o scsi_sysfs.o scsi_devinfo.o 18784314fd4SJames Smartscsi_mod-$(CONFIG_SCSI_NETLINK) += scsi_netlink.o 1881da177e4SLinus Torvaldsscsi_mod-$(CONFIG_SYSCTL) += scsi_sysctl.o 1891da177e4SLinus Torvaldsscsi_mod-$(CONFIG_SCSI_PROC_FS) += scsi_proc.o 1900eebd005SBart Van Asschescsi_mod-$(CONFIG_BLK_DEBUG_FS) += scsi_debugfs.o 191ded85c19SHannes Reineckescsi_mod-y += scsi_trace.o scsi_logging.o 192aa338601SRafael J. Wysockiscsi_mod-$(CONFIG_PM) += scsi_pm.o 193086b91d0SChristoph Hellwigscsi_mod-$(CONFIG_SCSI_DH) += scsi_dh.o 19478011042SChristoph Hellwigscsi_mod-$(CONFIG_BLK_DEV_BSG) += scsi_bsg.o 1951da177e4SLinus Torvalds 19689ae7d70SK. Y. Srinivasanhv_storvsc-y := storvsc_drv.o 19789ae7d70SK. Y. Srinivasan 1981da177e4SLinus Torvaldssd_mod-objs := sd.o 199af55ff67SMartin K. Petersensd_mod-$(CONFIG_BLK_DEV_INTEGRITY) += sd_dif.o 20089d94756SHannes Reineckesd_mod-$(CONFIG_BLK_DEV_ZONED) += sd_zbc.o 201af55ff67SMartin K. Petersen 2021da177e4SLinus Torvaldssr_mod-objs := sr.o sr_ioctl.o sr_vendor.o 2031da177e4SLinus Torvaldsncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \ 2047787588dSSasha Levin := -DNCR53C8XX_PREFETCH -DSCSI_NCR_BIG_ENDIAN \ 2057787588dSSasha Levin -DSCSI_NCR53C8XX_NO_WORD_TRANSFERS 2061da177e4SLinus TorvaldsCFLAGS_ncr53c8xx.o := $(ncr53c8xx-flags-y) $(ncr53c8xx-flags-m) 2071da177e4SLinus Torvaldszalon7xx-objs := zalon.o ncr53c8xx.o 2081da177e4SLinus Torvalds 2091da177e4SLinus Torvalds# Files generated that shall be removed upon make clean 21098079418SMasahiro Yamadaclean-files := 53c700_d.h 53c700_u.h 2111da177e4SLinus Torvalds 2120e5d8b7fSMasahiro Yamada$(obj)/53c700.o: $(obj)/53c700_d.h 2131da177e4SLinus Torvalds 214345e2960SHannes Reinecke$(obj)/scsi_sysfs.o: $(obj)/scsi_devinfo_tbl.c 215345e2960SHannes Reinecke 216345e2960SHannes Reineckequiet_cmd_bflags = GEN $@ 217358fda5fSMartin Wilck cmd_bflags = sed -n 's/.*define *BLIST_\([A-Z0-9_]*\) *.*/BLIST_FLAG_NAME(\1),/p' $< > $@ 218345e2960SHannes Reinecke 21998079418SMasahiro Yamada$(obj)/scsi_devinfo_tbl.c: include/scsi/scsi_devinfo.h FORCE 220345e2960SHannes Reinecke $(call if_changed,bflags) 221345e2960SHannes Reinecke 22298079418SMasahiro Yamadatargets += scsi_devinfo_tbl.c 22398079418SMasahiro Yamada 2241da177e4SLinus Torvalds# If you want to play with the firmware, uncomment 2251da177e4SLinus Torvalds# GENERATE_FIRMWARE := 1 2261da177e4SLinus Torvalds 2271da177e4SLinus Torvaldsifdef GENERATE_FIRMWARE 2281da177e4SLinus Torvalds 2291da177e4SLinus Torvalds$(obj)/53c700_d.h: $(src)/53c700.scr $(src)/script_asm.pl 2301da177e4SLinus Torvalds $(PERL) -s $(src)/script_asm.pl -ncr7x0_family $@ $(@:_d.h=_u.h) < $< 2311da177e4SLinus Torvalds 2321da177e4SLinus Torvaldsendif 233