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