162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Makefile for the Linux kernel device drivers. 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci# 15 Sep 2000, Christoph Hellwig <hch@infradead.org> 662306a36Sopenharmony_ci# Rewritten to use lists instead of if-statements. 762306a36Sopenharmony_ci# 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci# Some driver Makefiles miss $(srctree)/ for include directive. 1062306a36Sopenharmony_ciifdef building_out_of_srctree 1162306a36Sopenharmony_ciMAKEFLAGS += --include-dir=$(srctree) 1262306a36Sopenharmony_ciendif 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciobj-y += cache/ 1562306a36Sopenharmony_ciobj-y += irqchip/ 1662306a36Sopenharmony_ciobj-y += bus/ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciobj-$(CONFIG_GENERIC_PHY) += phy/ 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci# GPIO must come after pinctrl as gpios may need to mux pins etc 2162306a36Sopenharmony_ciobj-$(CONFIG_PINCTRL) += pinctrl/ 2262306a36Sopenharmony_ciobj-$(CONFIG_GPIOLIB) += gpio/ 2362306a36Sopenharmony_ciobj-y += pwm/ 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciobj-y += pci/ 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciobj-$(CONFIG_PARISC) += parisc/ 2862306a36Sopenharmony_ciobj-$(CONFIG_RAPIDIO) += rapidio/ 2962306a36Sopenharmony_ciobj-y += video/ 3062306a36Sopenharmony_ciobj-y += idle/ 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci# IPMI must come before ACPI in order to provide IPMI opregion support 3362306a36Sopenharmony_ciobj-y += char/ipmi/ 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciobj-$(CONFIG_ACPI) += acpi/ 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci# PnP must come after ACPI since it will eventually need to check if acpi 3862306a36Sopenharmony_ci# was used and do nothing if so 3962306a36Sopenharmony_ciobj-$(CONFIG_PNP) += pnp/ 4062306a36Sopenharmony_ciobj-y += amba/ 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciobj-y += clk/ 4362306a36Sopenharmony_ci# Many drivers will want to use DMA so this has to be made available 4462306a36Sopenharmony_ci# really early. 4562306a36Sopenharmony_ciobj-$(CONFIG_DMADEVICES) += dma/ 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci# SOC specific infrastructure drivers. 4862306a36Sopenharmony_ciobj-y += soc/ 4962306a36Sopenharmony_ciobj-$(CONFIG_PM_GENERIC_DOMAINS) += pmdomain/ 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciobj-y += virtio/ 5262306a36Sopenharmony_ciobj-$(CONFIG_VDPA) += vdpa/ 5362306a36Sopenharmony_ciobj-$(CONFIG_XEN) += xen/ 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci# regulators early, since some subsystems rely on them to initialize 5662306a36Sopenharmony_ciobj-$(CONFIG_REGULATOR) += regulator/ 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci# reset controllers early, since gpu drivers might rely on them to initialize 5962306a36Sopenharmony_ciobj-$(CONFIG_RESET_CONTROLLER) += reset/ 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci# tty/ comes before char/ so that the VT console is the boot-time 6262306a36Sopenharmony_ci# default. 6362306a36Sopenharmony_ciobj-y += tty/ 6462306a36Sopenharmony_ciobj-y += char/ 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci# iommu/ comes before gpu as gpu are using iommu controllers 6762306a36Sopenharmony_ciobj-y += iommu/ 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci# gpu/ comes after char for AGP vs DRM startup and after iommu 7062306a36Sopenharmony_ciobj-y += gpu/ 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciobj-$(CONFIG_CONNECTOR) += connector/ 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci# i810fb and intelfb depend on char/agp/ 7562306a36Sopenharmony_ciobj-$(CONFIG_FB_I810) += video/fbdev/i810/ 7662306a36Sopenharmony_ciobj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/ 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci# Hyperhold driver 7962306a36Sopenharmony_ciobj-$(CONFIG_HYPERHOLD) += hyperhold/ 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ciobj-$(CONFIG_PARPORT) += parport/ 8262306a36Sopenharmony_ciobj-y += base/ block/ misc/ mfd/ nfc/ 8362306a36Sopenharmony_ciobj-$(CONFIG_LIBNVDIMM) += nvdimm/ 8462306a36Sopenharmony_ciobj-y += dax/ 8562306a36Sopenharmony_ciobj-$(CONFIG_DMA_SHARED_BUFFER) += dma-buf/ 8662306a36Sopenharmony_ciobj-$(CONFIG_NUBUS) += nubus/ 8762306a36Sopenharmony_ciobj-y += cxl/ 8862306a36Sopenharmony_ciobj-y += macintosh/ 8962306a36Sopenharmony_ciobj-y += scsi/ 9062306a36Sopenharmony_ciobj-y += nvme/ 9162306a36Sopenharmony_ciobj-$(CONFIG_ATA) += ata/ 9262306a36Sopenharmony_ciobj-$(CONFIG_TARGET_CORE) += target/ 9362306a36Sopenharmony_ciobj-$(CONFIG_MTD) += mtd/ 9462306a36Sopenharmony_ciobj-$(CONFIG_SPI) += spi/ 9562306a36Sopenharmony_ciobj-$(CONFIG_SPMI) += spmi/ 9662306a36Sopenharmony_ciobj-$(CONFIG_HSI) += hsi/ 9762306a36Sopenharmony_ciobj-$(CONFIG_SLIMBUS) += slimbus/ 9862306a36Sopenharmony_ciobj-y += net/ 9962306a36Sopenharmony_ciobj-$(CONFIG_ATM) += atm/ 10062306a36Sopenharmony_ciobj-$(CONFIG_FUSION) += message/ 10162306a36Sopenharmony_ciobj-y += firewire/ 10262306a36Sopenharmony_ciobj-$(CONFIG_UIO) += uio/ 10362306a36Sopenharmony_ciobj-$(CONFIG_VFIO) += vfio/ 10462306a36Sopenharmony_ciobj-y += cdrom/ 10562306a36Sopenharmony_ciobj-y += auxdisplay/ 10662306a36Sopenharmony_ciobj-$(CONFIG_PCCARD) += pcmcia/ 10762306a36Sopenharmony_ciobj-$(CONFIG_DIO) += dio/ 10862306a36Sopenharmony_ciobj-$(CONFIG_SBUS) += sbus/ 10962306a36Sopenharmony_ciobj-$(CONFIG_ZORRO) += zorro/ 11062306a36Sopenharmony_ciobj-$(CONFIG_ATA_OVER_ETH) += block/aoe/ 11162306a36Sopenharmony_ciobj-$(CONFIG_TC) += tc/ 11262306a36Sopenharmony_ciobj-$(CONFIG_USB_PHY) += usb/ 11362306a36Sopenharmony_ciobj-$(CONFIG_USB) += usb/ 11462306a36Sopenharmony_ciobj-$(CONFIG_USB_SUPPORT) += usb/ 11562306a36Sopenharmony_ciobj-$(CONFIG_PCI) += usb/ 11662306a36Sopenharmony_ciobj-$(CONFIG_USB_GADGET) += usb/ 11762306a36Sopenharmony_ciobj-$(CONFIG_OF) += usb/ 11862306a36Sopenharmony_ciobj-$(CONFIG_SERIO) += input/serio/ 11962306a36Sopenharmony_ciobj-$(CONFIG_GAMEPORT) += input/gameport/ 12062306a36Sopenharmony_ciobj-$(CONFIG_INPUT) += input/ 12162306a36Sopenharmony_ciobj-$(CONFIG_RTC_LIB) += rtc/ 12262306a36Sopenharmony_ciobj-y += i2c/ i3c/ media/ 12362306a36Sopenharmony_ciobj-$(CONFIG_PPS) += pps/ 12462306a36Sopenharmony_ciobj-y += ptp/ 12562306a36Sopenharmony_ciobj-$(CONFIG_W1) += w1/ 12662306a36Sopenharmony_ciobj-y += power/ 12762306a36Sopenharmony_ciobj-$(CONFIG_HWMON) += hwmon/ 12862306a36Sopenharmony_ciobj-$(CONFIG_THERMAL) += thermal/ 12962306a36Sopenharmony_ciobj-$(CONFIG_WATCHDOG) += watchdog/ 13062306a36Sopenharmony_ciobj-$(CONFIG_MD) += md/ 13162306a36Sopenharmony_ciobj-$(CONFIG_BT) += bluetooth/ 13262306a36Sopenharmony_ciobj-$(CONFIG_ACCESSIBILITY) += accessibility/ 13362306a36Sopenharmony_ciobj-$(CONFIG_ISDN) += isdn/ 13462306a36Sopenharmony_ciobj-$(CONFIG_EDAC) += edac/ 13562306a36Sopenharmony_ciobj-$(CONFIG_EISA) += eisa/ 13662306a36Sopenharmony_ciobj-$(CONFIG_PM_OPP) += opp/ 13762306a36Sopenharmony_ciobj-$(CONFIG_CPU_FREQ) += cpufreq/ 13862306a36Sopenharmony_ciobj-$(CONFIG_CPU_IDLE) += cpuidle/ 13962306a36Sopenharmony_ciobj-y += mmc/ 14062306a36Sopenharmony_ciobj-y += ufs/ 14162306a36Sopenharmony_ciobj-$(CONFIG_MEMSTICK) += memstick/ 14262306a36Sopenharmony_ciobj-$(CONFIG_NEW_LEDS) += leds/ 14362306a36Sopenharmony_ciobj-$(CONFIG_INFINIBAND) += infiniband/ 14462306a36Sopenharmony_ciobj-y += firmware/ 14562306a36Sopenharmony_ciobj-$(CONFIG_CRYPTO) += crypto/ 14662306a36Sopenharmony_ciobj-$(CONFIG_SUPERH) += sh/ 14762306a36Sopenharmony_ciobj-y += clocksource/ 14862306a36Sopenharmony_ciobj-$(CONFIG_DCA) += dca/ 14962306a36Sopenharmony_ciobj-$(CONFIG_HID_SUPPORT) += hid/ 15062306a36Sopenharmony_ciobj-$(CONFIG_PPC_PS3) += ps3/ 15162306a36Sopenharmony_ciobj-$(CONFIG_OF) += of/ 15262306a36Sopenharmony_ciobj-$(CONFIG_SSB) += ssb/ 15362306a36Sopenharmony_ciobj-$(CONFIG_BCMA) += bcma/ 15462306a36Sopenharmony_ciobj-$(CONFIG_VHOST_RING) += vhost/ 15562306a36Sopenharmony_ciobj-$(CONFIG_VHOST_IOTLB) += vhost/ 15662306a36Sopenharmony_ciobj-$(CONFIG_VHOST) += vhost/ 15762306a36Sopenharmony_ciobj-$(CONFIG_VLYNQ) += vlynq/ 15862306a36Sopenharmony_ciobj-$(CONFIG_GREYBUS) += greybus/ 15962306a36Sopenharmony_ciobj-$(CONFIG_COMEDI) += comedi/ 16062306a36Sopenharmony_ciobj-$(CONFIG_STAGING) += staging/ 16162306a36Sopenharmony_ciobj-y += platform/ 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ciobj-$(CONFIG_MAILBOX) += mailbox/ 16462306a36Sopenharmony_ciobj-$(CONFIG_HWSPINLOCK) += hwspinlock/ 16562306a36Sopenharmony_ciobj-$(CONFIG_REMOTEPROC) += remoteproc/ 16662306a36Sopenharmony_ciobj-$(CONFIG_RPMSG) += rpmsg/ 16762306a36Sopenharmony_ciobj-$(CONFIG_SOUNDWIRE) += soundwire/ 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci# Virtualization drivers 17062306a36Sopenharmony_ciobj-$(CONFIG_VIRT_DRIVERS) += virt/ 17162306a36Sopenharmony_ciobj-$(subst m,y,$(CONFIG_HYPERV)) += hv/ 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ciobj-$(CONFIG_PM_DEVFREQ) += devfreq/ 17462306a36Sopenharmony_ciobj-$(CONFIG_EXTCON) += extcon/ 17562306a36Sopenharmony_ciobj-$(CONFIG_MEMORY) += memory/ 17662306a36Sopenharmony_ciobj-$(CONFIG_IIO) += iio/ 17762306a36Sopenharmony_ciobj-$(CONFIG_IPACK_BUS) += ipack/ 17862306a36Sopenharmony_ciobj-$(CONFIG_NTB) += ntb/ 17962306a36Sopenharmony_ciobj-$(CONFIG_POWERCAP) += powercap/ 18062306a36Sopenharmony_ciobj-$(CONFIG_MCB) += mcb/ 18162306a36Sopenharmony_ciobj-$(CONFIG_PERF_EVENTS) += perf/ 18262306a36Sopenharmony_ciobj-$(CONFIG_RAS) += ras/ 18362306a36Sopenharmony_ciobj-$(CONFIG_USB4) += thunderbolt/ 18462306a36Sopenharmony_ciobj-$(CONFIG_CORESIGHT) += hwtracing/coresight/ 18562306a36Sopenharmony_ciobj-y += hwtracing/intel_th/ 18662306a36Sopenharmony_ciobj-$(CONFIG_STM) += hwtracing/stm/ 18762306a36Sopenharmony_ciobj-$(CONFIG_HISI_PTT) += hwtracing/ptt/ 18862306a36Sopenharmony_ciobj-y += android/ 18962306a36Sopenharmony_ciobj-$(CONFIG_NVMEM) += nvmem/ 19062306a36Sopenharmony_ciobj-$(CONFIG_FPGA) += fpga/ 19162306a36Sopenharmony_ciobj-$(CONFIG_FSI) += fsi/ 19262306a36Sopenharmony_ciobj-$(CONFIG_TEE) += tee/ 19362306a36Sopenharmony_ciobj-$(CONFIG_MULTIPLEXER) += mux/ 19462306a36Sopenharmony_ciobj-$(CONFIG_SIOX) += siox/ 19562306a36Sopenharmony_ciobj-$(CONFIG_GNSS) += gnss/ 19662306a36Sopenharmony_ciobj-$(CONFIG_INTERCONNECT) += interconnect/ 19762306a36Sopenharmony_ciobj-$(CONFIG_COUNTER) += counter/ 19862306a36Sopenharmony_ciobj-$(CONFIG_MOST) += most/ 19962306a36Sopenharmony_ciobj-$(CONFIG_PECI) += peci/ 20062306a36Sopenharmony_ciobj-$(CONFIG_HTE) += hte/ 20162306a36Sopenharmony_ciobj-$(CONFIG_DRM_ACCEL) += accel/ 20262306a36Sopenharmony_ciobj-$(CONFIG_CDX_BUS) += cdx/ 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ciobj-$(CONFIG_S390) += s390/ 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ciobj-$(CONFIG_ACCESS_TOKENID) += accesstokenid/ 20762306a36Sopenharmony_ciobj-$(CONFIG_HCK_VENDOR_HOOKS) += hck/ 208