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