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/
  30
  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_VIRTIO_PCI_LIB)    += virtio/
  46obj-$(CONFIG_VDPA)              += vdpa/
  47obj-$(CONFIG_XEN)               += xen/
  48
  49# regulators early, since some subsystems rely on them to initialize
  50obj-$(CONFIG_REGULATOR)         += regulator/
  51
  52# reset controllers early, since gpu drivers might rely on them to initialize
  53obj-$(CONFIG_RESET_CONTROLLER)  += reset/
  54
  55# tty/ comes before char/ so that the VT console is the boot-time
  56# default.
  57obj-y                           += tty/
  58obj-y                           += char/
  59
  60# iommu/ comes before gpu as gpu are using iommu controllers
  61obj-y                           += iommu/
  62
  63# gpu/ comes after char for AGP vs DRM startup and after iommu
  64obj-y                           += gpu/
  65
  66obj-$(CONFIG_CONNECTOR)         += connector/
  67
  68# i810fb and intelfb depend on char/agp/
  69obj-$(CONFIG_FB_I810)           += video/fbdev/i810/
  70obj-$(CONFIG_FB_INTEL)          += video/fbdev/intelfb/
  71
  72obj-$(CONFIG_PARPORT)           += parport/
  73obj-$(CONFIG_NVM)               += lightnvm/
  74obj-y                           += base/ block/ misc/ mfd/ nfc/
  75obj-$(CONFIG_LIBNVDIMM)         += nvdimm/
  76obj-$(CONFIG_DAX)               += dax/
  77obj-$(CONFIG_CXL_BUS)           += cxl/
  78obj-$(CONFIG_DMA_SHARED_BUFFER) += dma-buf/
  79obj-$(CONFIG_NUBUS)             += nubus/
  80obj-y                           += macintosh/
  81obj-y                           += scsi/
  82obj-y                           += nvme/
  83obj-$(CONFIG_ATA)               += ata/
  84obj-$(CONFIG_TARGET_CORE)       += target/
  85obj-$(CONFIG_MTD)               += mtd/
  86obj-$(CONFIG_SPI)               += spi/
  87obj-$(CONFIG_SPMI)              += spmi/
  88obj-$(CONFIG_HSI)               += hsi/
  89obj-$(CONFIG_SLIMBUS)           += slimbus/
  90obj-y                           += net/
  91obj-$(CONFIG_ATM)               += atm/
  92obj-$(CONFIG_FUSION)            += message/
  93obj-y                           += firewire/
  94obj-$(CONFIG_UIO)               += uio/
  95obj-$(CONFIG_VFIO)              += vfio/
  96obj-y                           += cdrom/
  97obj-y                           += auxdisplay/
  98obj-$(CONFIG_PCCARD)            += pcmcia/
  99obj-$(CONFIG_DIO)               += dio/
 100obj-$(CONFIG_SBUS)              += sbus/
 101obj-$(CONFIG_ZORRO)             += zorro/
 102obj-$(CONFIG_ATA_OVER_ETH)      += block/aoe/
 103obj-$(CONFIG_PARIDE)            += block/paride/
 104obj-$(CONFIG_TC)                += tc/
 105obj-$(CONFIG_USB_PHY)           += usb/
 106obj-$(CONFIG_USB)               += usb/
 107obj-$(CONFIG_USB_SUPPORT)       += usb/
 108obj-$(CONFIG_PCI)               += usb/
 109obj-$(CONFIG_USB_GADGET)        += usb/
 110obj-$(CONFIG_OF)                += usb/
 111obj-$(CONFIG_SERIO)             += input/serio/
 112obj-$(CONFIG_GAMEPORT)          += input/gameport/
 113obj-$(CONFIG_INPUT)             += input/
 114obj-$(CONFIG_RTC_LIB)           += rtc/
 115obj-y                           += i2c/ i3c/ media/
 116obj-$(CONFIG_PPS)               += pps/
 117obj-y                           += ptp/
 118obj-$(CONFIG_W1)                += w1/
 119obj-y                           += power/
 120obj-$(CONFIG_HWMON)             += hwmon/
 121obj-$(CONFIG_THERMAL)           += thermal/
 122obj-$(CONFIG_WATCHDOG)          += watchdog/
 123obj-$(CONFIG_MD)                += md/
 124obj-$(CONFIG_BT)                += bluetooth/
 125obj-$(CONFIG_ACCESSIBILITY)     += accessibility/
 126obj-$(CONFIG_ISDN)              += isdn/
 127obj-$(CONFIG_EDAC)              += edac/
 128obj-$(CONFIG_EISA)              += eisa/
 129obj-$(CONFIG_PM_OPP)            += opp/
 130obj-$(CONFIG_CPU_FREQ)          += cpufreq/
 131obj-$(CONFIG_CPU_IDLE)          += cpuidle/
 132obj-y                           += mmc/
 133obj-$(CONFIG_MEMSTICK)          += memstick/
 134obj-$(CONFIG_NEW_LEDS)          += leds/
 135obj-$(CONFIG_INFINIBAND)        += infiniband/
 136obj-y                           += firmware/
 137obj-$(CONFIG_CRYPTO)            += crypto/
 138obj-$(CONFIG_SUPERH)            += sh/
 139obj-y                           += clocksource/
 140obj-$(CONFIG_DCA)               += dca/
 141obj-$(CONFIG_HID)               += hid/
 142obj-$(CONFIG_PPC_PS3)           += ps3/
 143obj-$(CONFIG_OF)                += of/
 144obj-$(CONFIG_SSB)               += ssb/
 145obj-$(CONFIG_BCMA)              += bcma/
 146obj-$(CONFIG_VHOST_RING)        += vhost/
 147obj-$(CONFIG_VHOST_IOTLB)       += vhost/
 148obj-$(CONFIG_VHOST)             += vhost/
 149obj-$(CONFIG_VLYNQ)             += vlynq/
 150obj-$(CONFIG_GREYBUS)           += greybus/
 151obj-$(CONFIG_COMEDI)            += comedi/
 152obj-$(CONFIG_STAGING)           += staging/
 153obj-y                           += platform/
 154
 155obj-$(CONFIG_MAILBOX)           += mailbox/
 156obj-$(CONFIG_HWSPINLOCK)        += hwspinlock/
 157obj-$(CONFIG_REMOTEPROC)        += remoteproc/
 158obj-$(CONFIG_RPMSG)             += rpmsg/
 159obj-$(CONFIG_SOUNDWIRE)         += soundwire/
 160
 161# Virtualization drivers
 162obj-$(CONFIG_VIRT_DRIVERS)      += virt/
 163obj-$(subst m,y,$(CONFIG_HYPERV))       += hv/
 164
 165obj-$(CONFIG_PM_DEVFREQ)        += devfreq/
 166obj-$(CONFIG_EXTCON)            += extcon/
 167obj-$(CONFIG_MEMORY)            += memory/
 168obj-$(CONFIG_IIO)               += iio/
 169obj-$(CONFIG_VME_BUS)           += vme/
 170obj-$(CONFIG_IPACK_BUS)         += ipack/
 171obj-$(CONFIG_NTB)               += ntb/
 172obj-$(CONFIG_POWERCAP)          += powercap/
 173obj-$(CONFIG_MCB)               += mcb/
 174obj-$(CONFIG_PERF_EVENTS)       += perf/
 175obj-$(CONFIG_RAS)               += ras/
 176obj-$(CONFIG_USB4)              += 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/
 188obj-$(CONFIG_GNSS)              += gnss/
 189obj-$(CONFIG_INTERCONNECT)      += interconnect/
 190obj-$(CONFIG_COUNTER)           += counter/
 191obj-$(CONFIG_MOST)              += most/
 192