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