1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Makefile for the Linux kernel device drivers. 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# 15 Sep 2000, Christoph Hellwig <hch@infradead.org> 6*4882a593Smuzhiyun# Rewritten to use lists instead of if-statements. 7*4882a593Smuzhiyun# 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunobj-y += irqchip/ 10*4882a593Smuzhiyunobj-y += bus/ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunobj-$(CONFIG_GENERIC_PHY) += phy/ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun# GPIO must come after pinctrl as gpios may need to mux pins etc 15*4882a593Smuzhiyunobj-$(CONFIG_PINCTRL) += pinctrl/ 16*4882a593Smuzhiyunobj-$(CONFIG_GPIOLIB) += gpio/ 17*4882a593Smuzhiyunobj-y += pwm/ 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunobj-y += pci/ 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunobj-$(CONFIG_PARISC) += parisc/ 22*4882a593Smuzhiyunobj-$(CONFIG_RAPIDIO) += rapidio/ 23*4882a593Smuzhiyunobj-y += video/ 24*4882a593Smuzhiyunobj-y += idle/ 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun# IPMI must come before ACPI in order to provide IPMI opregion support 27*4882a593Smuzhiyunobj-y += char/ipmi/ 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunobj-$(CONFIG_ACPI) += acpi/ 30*4882a593Smuzhiyunobj-$(CONFIG_SFI) += sfi/ 31*4882a593Smuzhiyun# PnP must come after ACPI since it will eventually need to check if acpi 32*4882a593Smuzhiyun# was used and do nothing if so 33*4882a593Smuzhiyunobj-$(CONFIG_PNP) += pnp/ 34*4882a593Smuzhiyunobj-y += amba/ 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunobj-y += clk/ 37*4882a593Smuzhiyun# Many drivers will want to use DMA so this has to be made available 38*4882a593Smuzhiyun# really early. 39*4882a593Smuzhiyunobj-$(CONFIG_DMADEVICES) += dma/ 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun# SOC specific infrastructure drivers. 42*4882a593Smuzhiyunobj-y += soc/ 43*4882a593Smuzhiyun 44*4882a593Smuzhiyunobj-$(CONFIG_VIRTIO) += virtio/ 45*4882a593Smuzhiyunobj-$(CONFIG_VDPA) += vdpa/ 46*4882a593Smuzhiyunobj-$(CONFIG_XEN) += xen/ 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun# regulators early, since some subsystems rely on them to initialize 49*4882a593Smuzhiyunobj-$(CONFIG_REGULATOR) += regulator/ 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun# reset controllers early, since gpu drivers might rely on them to initialize 52*4882a593Smuzhiyunobj-$(CONFIG_RESET_CONTROLLER) += reset/ 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun# tty/ comes before char/ so that the VT console is the boot-time 55*4882a593Smuzhiyun# default. 56*4882a593Smuzhiyunobj-y += tty/ 57*4882a593Smuzhiyunobj-y += char/ 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun# iommu/ comes before gpu as gpu are using iommu controllers 60*4882a593Smuzhiyunobj-y += iommu/ 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun# gpu/ comes after char for AGP vs DRM startup and after iommu 63*4882a593Smuzhiyunobj-y += gpu/ 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunobj-$(CONFIG_CONNECTOR) += connector/ 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun# i810fb and intelfb depend on char/agp/ 68*4882a593Smuzhiyunobj-$(CONFIG_FB_I810) += video/fbdev/i810/ 69*4882a593Smuzhiyunobj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/ 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunobj-$(CONFIG_PARPORT) += parport/ 72*4882a593Smuzhiyunobj-$(CONFIG_NVM) += lightnvm/ 73*4882a593Smuzhiyunobj-y += base/ block/ misc/ mfd/ nfc/ 74*4882a593Smuzhiyunobj-$(CONFIG_LIBNVDIMM) += nvdimm/ 75*4882a593Smuzhiyunobj-$(CONFIG_DAX) += dax/ 76*4882a593Smuzhiyunobj-$(CONFIG_DMA_SHARED_BUFFER) += dma-buf/ 77*4882a593Smuzhiyunobj-$(CONFIG_NUBUS) += nubus/ 78*4882a593Smuzhiyunobj-y += macintosh/ 79*4882a593Smuzhiyunobj-$(CONFIG_IDE) += ide/ 80*4882a593Smuzhiyunobj-y += scsi/ 81*4882a593Smuzhiyunobj-y += nvme/ 82*4882a593Smuzhiyunobj-$(CONFIG_ATA) += ata/ 83*4882a593Smuzhiyunobj-$(CONFIG_TARGET_CORE) += target/ 84*4882a593Smuzhiyunobj-$(CONFIG_MTD) += mtd/ 85*4882a593Smuzhiyunobj-$(CONFIG_SPI) += spi/ 86*4882a593Smuzhiyunobj-$(CONFIG_SPMI) += spmi/ 87*4882a593Smuzhiyunobj-$(CONFIG_HSI) += hsi/ 88*4882a593Smuzhiyunobj-$(CONFIG_SLIMBUS) += slimbus/ 89*4882a593Smuzhiyunobj-y += net/ 90*4882a593Smuzhiyunobj-$(CONFIG_ATM) += atm/ 91*4882a593Smuzhiyunobj-$(CONFIG_FUSION) += message/ 92*4882a593Smuzhiyunobj-y += firewire/ 93*4882a593Smuzhiyunobj-$(CONFIG_UIO) += uio/ 94*4882a593Smuzhiyunobj-$(CONFIG_VFIO) += vfio/ 95*4882a593Smuzhiyunobj-y += cdrom/ 96*4882a593Smuzhiyunobj-y += auxdisplay/ 97*4882a593Smuzhiyunobj-$(CONFIG_PCCARD) += pcmcia/ 98*4882a593Smuzhiyunobj-$(CONFIG_DIO) += dio/ 99*4882a593Smuzhiyunobj-$(CONFIG_SBUS) += sbus/ 100*4882a593Smuzhiyunobj-$(CONFIG_ZORRO) += zorro/ 101*4882a593Smuzhiyunobj-$(CONFIG_ATA_OVER_ETH) += block/aoe/ 102*4882a593Smuzhiyunobj-$(CONFIG_PARIDE) += block/paride/ 103*4882a593Smuzhiyunobj-$(CONFIG_TC) += tc/ 104*4882a593Smuzhiyunobj-$(CONFIG_USB_PHY) += usb/ 105*4882a593Smuzhiyunobj-$(CONFIG_USB) += usb/ 106*4882a593Smuzhiyunobj-$(CONFIG_USB_SUPPORT) += usb/ 107*4882a593Smuzhiyunobj-$(CONFIG_PCI) += usb/ 108*4882a593Smuzhiyunobj-$(CONFIG_USB_GADGET) += usb/ 109*4882a593Smuzhiyunobj-$(CONFIG_OF) += usb/ 110*4882a593Smuzhiyunobj-$(CONFIG_SERIO) += input/serio/ 111*4882a593Smuzhiyunobj-$(CONFIG_GAMEPORT) += input/gameport/ 112*4882a593Smuzhiyunobj-$(CONFIG_INPUT) += input/ 113*4882a593Smuzhiyunobj-$(CONFIG_RTC_LIB) += rtc/ 114*4882a593Smuzhiyunobj-y += i2c/ i3c/ media/ 115*4882a593Smuzhiyunobj-$(CONFIG_PPS) += pps/ 116*4882a593Smuzhiyunobj-y += ptp/ 117*4882a593Smuzhiyunobj-$(CONFIG_W1) += w1/ 118*4882a593Smuzhiyunobj-y += power/ 119*4882a593Smuzhiyunobj-$(CONFIG_HWMON) += hwmon/ 120*4882a593Smuzhiyunobj-$(CONFIG_THERMAL) += thermal/ 121*4882a593Smuzhiyunobj-$(CONFIG_WATCHDOG) += watchdog/ 122*4882a593Smuzhiyunobj-$(CONFIG_MD) += md/ 123*4882a593Smuzhiyunobj-$(CONFIG_BT) += bluetooth/ 124*4882a593Smuzhiyunobj-$(CONFIG_ACCESSIBILITY) += accessibility/ 125*4882a593Smuzhiyunobj-$(CONFIG_ISDN) += isdn/ 126*4882a593Smuzhiyunobj-$(CONFIG_EDAC) += edac/ 127*4882a593Smuzhiyunobj-$(CONFIG_EISA) += eisa/ 128*4882a593Smuzhiyunobj-$(CONFIG_PM_OPP) += opp/ 129*4882a593Smuzhiyunobj-$(CONFIG_CPU_FREQ) += cpufreq/ 130*4882a593Smuzhiyunobj-$(CONFIG_CPU_IDLE) += cpuidle/ 131*4882a593Smuzhiyunobj-y += mmc/ 132*4882a593Smuzhiyunobj-$(CONFIG_MEMSTICK) += memstick/ 133*4882a593Smuzhiyunobj-$(CONFIG_NEW_LEDS) += leds/ 134*4882a593Smuzhiyunobj-$(CONFIG_INFINIBAND) += infiniband/ 135*4882a593Smuzhiyunobj-y += firmware/ 136*4882a593Smuzhiyunobj-$(CONFIG_CRYPTO) += crypto/ 137*4882a593Smuzhiyunobj-$(CONFIG_SUPERH) += sh/ 138*4882a593Smuzhiyunifndef CONFIG_ARCH_USES_GETTIMEOFFSET 139*4882a593Smuzhiyunobj-y += clocksource/ 140*4882a593Smuzhiyunendif 141*4882a593Smuzhiyunobj-$(CONFIG_DCA) += dca/ 142*4882a593Smuzhiyunobj-$(CONFIG_HID) += hid/ 143*4882a593Smuzhiyunobj-$(CONFIG_PPC_PS3) += ps3/ 144*4882a593Smuzhiyunobj-$(CONFIG_OF) += of/ 145*4882a593Smuzhiyunobj-$(CONFIG_SSB) += ssb/ 146*4882a593Smuzhiyunobj-$(CONFIG_BCMA) += bcma/ 147*4882a593Smuzhiyunobj-$(CONFIG_VHOST_RING) += vhost/ 148*4882a593Smuzhiyunobj-$(CONFIG_VHOST_IOTLB) += vhost/ 149*4882a593Smuzhiyunobj-$(CONFIG_VHOST) += vhost/ 150*4882a593Smuzhiyunobj-$(CONFIG_VLYNQ) += vlynq/ 151*4882a593Smuzhiyunobj-$(CONFIG_GREYBUS) += greybus/ 152*4882a593Smuzhiyunobj-$(CONFIG_STAGING) += staging/ 153*4882a593Smuzhiyunobj-y += platform/ 154*4882a593Smuzhiyun 155*4882a593Smuzhiyunobj-$(CONFIG_MAILBOX) += mailbox/ 156*4882a593Smuzhiyunobj-$(CONFIG_HWSPINLOCK) += hwspinlock/ 157*4882a593Smuzhiyunobj-$(CONFIG_REMOTEPROC) += remoteproc/ 158*4882a593Smuzhiyunobj-$(CONFIG_RPMSG) += rpmsg/ 159*4882a593Smuzhiyunobj-$(CONFIG_SOUNDWIRE) += soundwire/ 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun# Virtualization drivers 162*4882a593Smuzhiyunobj-$(CONFIG_VIRT_DRIVERS) += virt/ 163*4882a593Smuzhiyunobj-$(CONFIG_HYPERV) += hv/ 164*4882a593Smuzhiyun 165*4882a593Smuzhiyunobj-$(CONFIG_PM_DEVFREQ) += devfreq/ 166*4882a593Smuzhiyunobj-$(CONFIG_EXTCON) += extcon/ 167*4882a593Smuzhiyunobj-$(CONFIG_MEMORY) += memory/ 168*4882a593Smuzhiyunobj-$(CONFIG_IIO) += iio/ 169*4882a593Smuzhiyunobj-$(CONFIG_VME_BUS) += vme/ 170*4882a593Smuzhiyunobj-$(CONFIG_IPACK_BUS) += ipack/ 171*4882a593Smuzhiyunobj-$(CONFIG_NTB) += ntb/ 172*4882a593Smuzhiyunobj-$(CONFIG_POWERCAP) += powercap/ 173*4882a593Smuzhiyunobj-$(CONFIG_MCB) += mcb/ 174*4882a593Smuzhiyunobj-$(CONFIG_PERF_EVENTS) += perf/ 175*4882a593Smuzhiyunobj-$(CONFIG_RAS) += ras/ 176*4882a593Smuzhiyunobj-$(CONFIG_USB4) += thunderbolt/ 177*4882a593Smuzhiyunobj-$(CONFIG_CORESIGHT) += hwtracing/coresight/ 178*4882a593Smuzhiyunobj-y += hwtracing/intel_th/ 179*4882a593Smuzhiyunobj-$(CONFIG_STM) += hwtracing/stm/ 180*4882a593Smuzhiyunobj-$(CONFIG_ANDROID) += android/ 181*4882a593Smuzhiyunobj-$(CONFIG_NVMEM) += nvmem/ 182*4882a593Smuzhiyunobj-$(CONFIG_FPGA) += fpga/ 183*4882a593Smuzhiyunobj-$(CONFIG_FSI) += fsi/ 184*4882a593Smuzhiyunobj-$(CONFIG_TEE) += tee/ 185*4882a593Smuzhiyunobj-$(CONFIG_MULTIPLEXER) += mux/ 186*4882a593Smuzhiyunobj-$(CONFIG_UNISYS_VISORBUS) += visorbus/ 187*4882a593Smuzhiyunobj-$(CONFIG_SIOX) += siox/ 188*4882a593Smuzhiyunobj-$(CONFIG_GNSS) += gnss/ 189*4882a593Smuzhiyunobj-$(CONFIG_INTERCONNECT) += interconnect/ 190*4882a593Smuzhiyunobj-$(CONFIG_COUNTER) += counter/ 191*4882a593Smuzhiyunobj-$(CONFIG_MOST) += most/ 192*4882a593Smuzhiyunobj-$(CONFIG_RK_FLASH) += rkflash/ 193*4882a593Smuzhiyunobj-$(CONFIG_RK_HEADSET) += headset_observe/ 194*4882a593Smuzhiyunobj-$(CONFIG_RK_NAND) += rk_nand/ 195*4882a593Smuzhiyunobj-$(CONFIG_ROCKCHIP_RKNPU) += rknpu/ 196