blob: 19814c26c9084bdf086ef363e07d9b0d57a4ba71 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#
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
Linus Torvalds1da177e2005-04-16 15:20:36 -070019
Tejun Heo8ae732a2007-12-07 22:36:23 +090020obj-$(CONFIG_PCMCIA) += pcmcia/
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
22obj-$(CONFIG_SCSI) += scsi_mod.o
Christoph Hellwig33ff4ce2021-07-24 09:20:28 +020023obj-$(CONFIG_SCSI_COMMON) += scsi_common.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
James Bottomley61a7afa2005-08-16 18:27:34 -050025obj-$(CONFIG_RAID_ATTRS) += raid_class.o
26
Linus Torvalds1da177e2005-04-16 15:20:36 -070027# --- 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
Christoph Hellwigc7ebbbc2005-09-09 16:22:50 +020034obj-$(CONFIG_SCSI_SAS_ATTRS) += scsi_transport_sas.o
James Bottomley2908d772006-08-29 09:22:51 -050035obj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas/
FUJITA Tomonori09345f62007-06-27 16:32:39 +090036obj-$(CONFIG_SCSI_SRP_ATTRS) += scsi_transport_srp.o
Chandra Seetharamana6a8d9f2008-05-01 14:49:46 -070037obj-$(CONFIG_SCSI_DH) += device_handler/
Linus Torvalds1da177e2005-04-16 15:20:36 -070038
Robert Love42e9a922008-12-09 15:10:17 -080039obj-$(CONFIG_LIBFC) += libfc/
Vasu Dev9b34ecf2009-03-17 11:42:13 -070040obj-$(CONFIG_LIBFCOE) += fcoe/
Robert Love85b4aa42008-12-09 15:10:24 -080041obj-$(CONFIG_FCOE) += fcoe/
Abhijeet Joglekar5df6d732009-04-17 18:33:26 -070042obj-$(CONFIG_FCOE_FNIC) += fnic/
Narsimhulu Musinic8806b62015-05-29 01:04:01 -070043obj-$(CONFIG_SCSI_SNIC) += snic/
Bhanu Gollapudi853e2bd2011-02-04 12:10:34 -080044obj-$(CONFIG_SCSI_BNX2X_FCOE) += libfc/ fcoe/ bnx2fc/
Dupuis, Chad61d86582017-02-15 06:28:23 -080045obj-$(CONFIG_QEDF) += qedf/
Mike Christie38e1a8f2008-12-02 00:32:12 -060046obj-$(CONFIG_ISCSI_TCP) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o
Or Gerlitz3f1244a2006-05-11 10:03:30 +030047obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o
Mike Christieaab7a8f2010-08-02 12:46:12 -050048obj-$(CONFIG_ISCSI_BOOT_SYSFS) += iscsi_boot_sysfs.o
Kars de Jonga16efc12007-06-17 14:47:08 +020049obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o
Kars de Jong45804fb2007-06-17 14:47:09 +020050obj-$(CONFIG_SCSI_ZORRO7XX) += 53c700.o zorro7xx.o
Michael Schmitz3109e5a2018-04-12 13:53:26 +120051obj-$(CONFIG_SCSI_ZORRO_ESP) += esp_scsi.o zorro_esp.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070052obj-$(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
Linus Torvalds1da177e2005-04-16 15:20:36 -070057obj-$(CONFIG_ATARI_SCSI) += atari_scsi.o
58obj-$(CONFIG_MAC_SCSI) += mac_scsi.o
Finn Thain6fe07aa2008-04-25 10:06:05 -050059obj-$(CONFIG_SCSI_MAC_ESP) += esp_scsi.o mac_esp.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070060obj-$(CONFIG_SUN3_SCSI) += sun3_scsi.o sun3_scsi_vme.o
Kars de Jong506c7bb2007-06-17 14:47:07 +020061obj-$(CONFIG_MVME16x_SCSI) += 53c700.o mvme16x_scsi.o
Kars de Jong8276b582007-06-17 14:47:06 +020062obj-$(CONFIG_BVME6000_SCSI) += 53c700.o bvme6000_scsi.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070063obj-$(CONFIG_SCSI_SIM710) += 53c700.o sim710.o
64obj-$(CONFIG_SCSI_ADVANSYS) += advansys.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070065obj-$(CONFIG_SCSI_BUSLOGIC) += BusLogic.o
66obj-$(CONFIG_SCSI_DPT_I2O) += dpt_i2o.o
Erich Chen1c57e862006-07-12 08:59:32 -070067obj-$(CONFIG_SCSI_ARCMSR) += arcmsr/
Linus Torvalds1da177e2005-04-16 15:20:36 -070068obj-$(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/
James Bottomley2908d772006-08-29 09:22:51 -050074obj-$(CONFIG_SCSI_AIC94XX) += aic94xx/
jack wangdbf9bfe2009-10-14 16:19:21 +080075obj-$(CONFIG_SCSI_PM8001) += pm8001/
Dan Williams6f231dd2011-07-02 22:56:22 -070076obj-$(CONFIG_SCSI_ISCI) += isci/
Linus Torvalds1da177e2005-04-16 15:20:36 -070077obj-$(CONFIG_SCSI_IPS) += ips.o
Ondrej Zaryebeb4662019-05-14 19:23:07 +020078obj-$(CONFIG_SCSI_FDOMAIN) += fdomain.o
Ondrej Zary68046d52019-05-14 19:23:08 +020079obj-$(CONFIG_SCSI_FDOMAIN_PCI) += fdomain_pci.o
Ondrej Zarye5207cf2019-05-14 19:23:09 +020080obj-$(CONFIG_SCSI_FDOMAIN_ISA) += fdomain_isa.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070081obj-$(CONFIG_SCSI_GENERIC_NCR5380) += g_NCR5380.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070082obj-$(CONFIG_SCSI_QLOGIC_FAS) += qlogicfas408.o qlogicfas.o
83obj-$(CONFIG_PCMCIA_QLOGIC) += qlogicfas408.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070084obj-$(CONFIG_SCSI_QLOGIC_1280) += qla1280.o
Andrew Vasquez8e0df4a2006-01-09 10:17:40 -080085obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx/
Randy Dunlap3538a002011-08-31 15:02:00 -070086obj-$(CONFIG_SCSI_QLA_ISCSI) += libiscsi.o qla4xxx/
dea31012005-04-17 16:05:31 -050087obj-$(CONFIG_SCSI_LPFC) += lpfc/
James Smartebc076b2021-06-01 16:55:12 -070088obj-$(CONFIG_SCSI_EFCT) += elx/
Jing Huang7725ccf2009-09-23 17:46:15 -070089obj-$(CONFIG_SCSI_BFA_FC) += bfa/
Naresh Kumar Innaa3667aa2012-11-15 22:41:18 +053090obj-$(CONFIG_SCSI_CHELSIO_FCOE) += csiostor/
Linus Torvalds1da177e2005-04-16 15:20:36 -070091obj-$(CONFIG_SCSI_DMX3191D) += dmx3191d.o
Stephen M. Cameronedd16362009-12-08 14:09:11 -080092obj-$(CONFIG_SCSI_HPSA) += hpsa.o
Kevin Barnett6c223762016-06-27 16:41:00 -050093obj-$(CONFIG_SCSI_SMARTPQI) += smartpqi/
Linus Torvalds1da177e2005-04-16 15:20:36 -070094obj-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2/
95obj-$(CONFIG_SCSI_ZALON) += zalon7xx.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070096obj-$(CONFIG_SCSI_DC395x) += dc395x.o
Hannes Reinecke3a7e7be2014-11-24 15:37:25 +010097obj-$(CONFIG_SCSI_AM53C974) += esp_scsi.o am53c974.o
Matthew R. Ochsc21e0bb2015-06-09 17:15:52 -050098obj-$(CONFIG_CXLFLASH) += cxlflash/
Linus Torvalds1da177e2005-04-16 15:20:36 -070099obj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o
100obj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/
Bagalkote, Sreenivasc4a3e0a2005-09-20 17:46:58 -0400101obj-$(CONFIG_MEGARAID_SAS) += megaraid/
Sreekanth Reddyf92363d2012-11-30 07:44:21 +0530102obj-$(CONFIG_SCSI_MPT3SAS) += mpt3sas/
Kashyap Desaic4f7ac62021-05-20 20:55:22 +0530103obj-$(CONFIG_SCSI_MPI3MR) += mpi3mr/
Santosh Yaraganavi7a3e97b2012-02-29 12:11:50 +0530104obj-$(CONFIG_SCSI_UFSHCD) += ufs/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105obj-$(CONFIG_SCSI_ACARD) += atp870u.o
David S. Miller89a40632007-05-22 23:48:10 -0700106obj-$(CONFIG_SCSI_SUNESP) += esp_scsi.o sun_esp.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107obj-$(CONFIG_SCSI_INITIO) += initio.o
108obj-$(CONFIG_SCSI_INIA100) += a100u2w.o
109obj-$(CONFIG_SCSI_QLOGICPTI) += qlogicpti.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110obj-$(CONFIG_SCSI_MESH) += mesh.o
111obj-$(CONFIG_SCSI_MAC53C94) += mac53c94.o
Hannes Reinecke081ff392018-10-17 17:25:11 +0200112obj-$(CONFIG_SCSI_MYRB) += myrb.o
Hannes Reinecke77266182018-10-17 17:25:12 +0200113obj-$(CONFIG_SCSI_MYRS) += myrs.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114obj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o
115obj-$(CONFIG_SCSI_3W_9XXX) += 3w-9xxx.o
adam radfordf6191062009-10-23 14:52:33 -0700116obj-$(CONFIG_SCSI_3W_SAS) += 3w-sas.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117obj-$(CONFIG_SCSI_PPA) += ppa.o
118obj-$(CONFIG_SCSI_IMM) += imm.o
Thomas Bogendoerfer352e9212007-05-22 10:13:19 +0200119obj-$(CONFIG_JAZZ_ESP) += esp_scsi.o jazz_esp.o
Thomas Bogendoerfer0bb67f12008-02-01 00:13:34 +0100120obj-$(CONFIG_SUN3X_ESP) += esp_scsi.o sun3x_esp.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121obj-$(CONFIG_SCSI_LASI700) += 53c700.o lasi700.o
Thomas Bogendoerferc27d85f2006-12-25 21:32:04 +0100122obj-$(CONFIG_SCSI_SNI_53C710) += 53c700.o sni_53c710.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123obj-$(CONFIG_SCSI_NSP32) += nsp32.o
124obj-$(CONFIG_SCSI_IPR) += ipr.o
125obj-$(CONFIG_SCSI_IBMVSCSI) += ibmvscsi/
Bryant G. Ly88a678b2016-06-28 17:05:35 -0500126obj-$(CONFIG_SCSI_IBMVSCSIS) += ibmvscsi_tgt/
Brian King072b91f2008-07-01 13:14:30 -0500127obj-$(CONFIG_SCSI_IBMVFC) += ibmvscsi/
HighPoint Linux Teamede1e6f2006-05-16 14:38:09 +0800128obj-$(CONFIG_SCSI_HPTIOP) += hptiop.o
Jeff Garzik5a25ba12006-09-01 03:12:19 -0400129obj-$(CONFIG_SCSI_STEX) += stex.o
Jeff Garzik2ad52f42009-05-08 16:35:37 -0400130obj-$(CONFIG_SCSI_MVSAS) += mvsas/
Jianyun Lif0c568a2011-05-11 23:22:44 +0800131obj-$(CONFIG_SCSI_MVUMI) += mvumi.o
Geert Uytterhoeven9aea8cb2007-07-21 04:37:47 -0700132obj-$(CONFIG_PS3_ROM) += ps3rom.o
kxie@chelsio.com6f7efaa2010-08-16 20:55:53 -0700133obj-$(CONFIG_SCSI_CXGB3_ISCSI) += libiscsi.o libiscsi_tcp.o cxgbi/
kxie@chelsio.com7b36b6e2010-08-16 20:55:53 -0700134obj-$(CONFIG_SCSI_CXGB4_ISCSI) += libiscsi.o libiscsi_tcp.o cxgbi/
Michael Chancf4e6362009-06-08 18:14:44 -0700135obj-$(CONFIG_SCSI_BNX2_ISCSI) += libiscsi.o bnx2i/
Manish Rangankarace7f462016-12-01 00:21:08 -0800136obj-$(CONFIG_QEDI) += libiscsi.o qedi/
Jayamohan Kallickal6733b392009-09-05 07:36:35 +0530137obj-$(CONFIG_BE2ISCSI) += libiscsi.o be2iscsi/
Bradley Grove26780d92013-08-23 10:35:45 -0400138obj-$(CONFIG_SCSI_ESAS2R) += esas2r/
Anil Ravindranath89a36812009-08-25 17:35:18 -0700139obj-$(CONFIG_SCSI_PMCRAID) += pmcraid.o
Paolo Bonzini4fe74b12012-02-05 12:16:00 +0100140obj-$(CONFIG_SCSI_VIRTIO) += virtio_scsi.o
Alok Kataria851b1642009-10-13 14:51:05 -0700141obj-$(CONFIG_VMWARE_PVSCSI) += vmw_pvscsi.o
Juergen Gross8beb8d42014-08-28 06:44:11 +0200142obj-$(CONFIG_XEN_SCSI_FRONTEND) += xen-scsifront.o
K. Y. Srinivasan89ae7d72012-02-09 14:14:48 -0800143obj-$(CONFIG_HYPERV_STORAGE) += hv_storvsc.o
Ondrej Zary48a31032014-11-24 23:24:41 +0100144obj-$(CONFIG_SCSI_WD719X) += wd719x.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145
146obj-$(CONFIG_ARM) += arm/
147
148obj-$(CONFIG_CHR_DEV_ST) += st.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149obj-$(CONFIG_BLK_DEV_SD) += sd_mod.o
150obj-$(CONFIG_BLK_DEV_SR) += sr_mod.o
151obj-$(CONFIG_CHR_DEV_SG) += sg.o
Gerd Knorr daa6eda2005-05-10 10:59:13 +0200152obj-$(CONFIG_CHR_DEV_SCH) += ch.o
James Bottomley9927c682008-02-03 15:48:56 -0600153obj-$(CONFIG_SCSI_ENCLOSURE) += ses.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154
John Garrye8899fa2015-11-18 00:50:30 +0800155obj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas/
Boaz Harrosh68274792009-01-25 17:24:14 +0200156
Linus Torvalds0caab232006-03-22 17:39:38 -0800157# This goes last, so that "real" scsi devices probe earlier
158obj-$(CONFIG_SCSI_DEBUG) += scsi_debug.o
Hannes Reinecke2dd951e2015-01-08 07:43:48 +0100159scsi_mod-y += scsi.o hosts.o scsi_ioctl.o \
Cornelia Huck7689e822007-07-09 11:59:59 -0700160 scsicam.o scsi_error.o scsi_lib.o
Hannes Reinecke2dd951e2015-01-08 07:43:48 +0100161scsi_mod-$(CONFIG_SCSI_CONSTANTS) += constants.o
Cornelia Huck7689e822007-07-09 11:59:59 -0700162scsi_mod-$(CONFIG_SCSI_DMA) += scsi_lib_dma.o
163scsi_mod-y += scsi_scan.o scsi_sysfs.o scsi_devinfo.o
James Smart84314fd2006-08-18 17:30:09 -0400164scsi_mod-$(CONFIG_SCSI_NETLINK) += scsi_netlink.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165scsi_mod-$(CONFIG_SYSCTL) += scsi_sysctl.o
166scsi_mod-$(CONFIG_SCSI_PROC_FS) += scsi_proc.o
Bart Van Assche0eebd002017-04-26 13:47:57 -0700167scsi_mod-$(CONFIG_BLK_DEBUG_FS) += scsi_debugfs.o
Hannes Reineckeded85c12015-01-08 07:43:42 +0100168scsi_mod-y += scsi_trace.o scsi_logging.o
Rafael J. Wysockiaa338602011-02-11 00:06:54 +0100169scsi_mod-$(CONFIG_PM) += scsi_pm.o
Christoph Hellwig086b91d2015-08-27 14:16:57 +0200170scsi_mod-$(CONFIG_SCSI_DH) += scsi_dh.o
Christoph Hellwig78011042021-07-24 09:20:23 +0200171scsi_mod-$(CONFIG_BLK_DEV_BSG) += scsi_bsg.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172
K. Y. Srinivasan89ae7d72012-02-09 14:14:48 -0800173hv_storvsc-y := storvsc_drv.o
174
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175sd_mod-objs := sd.o
Martin K. Petersenaf55ff62008-07-17 04:28:35 -0400176sd_mod-$(CONFIG_BLK_DEV_INTEGRITY) += sd_dif.o
Hannes Reinecke89d94752016-10-18 15:40:34 +0900177sd_mod-$(CONFIG_BLK_DEV_ZONED) += sd_zbc.o
Martin K. Petersenaf55ff62008-07-17 04:28:35 -0400178
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179sr_mod-objs := sr.o sr_ioctl.o sr_vendor.o
180ncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \
181 := -DCONFIG_NCR53C8XX_PREFETCH -DSCSI_NCR_BIG_ENDIAN \
182 -DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS
183CFLAGS_ncr53c8xx.o := $(ncr53c8xx-flags-y) $(ncr53c8xx-flags-m)
184zalon7xx-objs := zalon.o ncr53c8xx.o
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185
186# Files generated that shall be removed upon make clean
Masahiro Yamada98079412021-08-19 10:23:39 +0900187clean-files := 53c700_d.h 53c700_u.h
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188
Masahiro Yamada0e5d8b72019-07-17 15:17:52 +0900189$(obj)/53c700.o: $(obj)/53c700_d.h
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190
Hannes Reinecke345e2962017-10-02 16:26:34 +0200191$(obj)/scsi_sysfs.o: $(obj)/scsi_devinfo_tbl.c
192
193quiet_cmd_bflags = GEN $@
Martin Wilck358fda52018-04-18 01:35:09 +0200194 cmd_bflags = sed -n 's/.*define *BLIST_\([A-Z0-9_]*\) *.*/BLIST_FLAG_NAME(\1),/p' $< > $@
Hannes Reinecke345e2962017-10-02 16:26:34 +0200195
Masahiro Yamada98079412021-08-19 10:23:39 +0900196$(obj)/scsi_devinfo_tbl.c: include/scsi/scsi_devinfo.h FORCE
Hannes Reinecke345e2962017-10-02 16:26:34 +0200197 $(call if_changed,bflags)
198
Masahiro Yamada98079412021-08-19 10:23:39 +0900199targets += scsi_devinfo_tbl.c
200
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201# If you want to play with the firmware, uncomment
202# GENERATE_FIRMWARE := 1
203
204ifdef GENERATE_FIRMWARE
205
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206$(obj)/53c700_d.h: $(src)/53c700.scr $(src)/script_asm.pl
207 $(PERL) -s $(src)/script_asm.pl -ncr7x0_family $@ $(@:_d.h=_u.h) < $<
208
209endif