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
/
21 obj-
$(CONFIG_PARISC
) += parisc
/
22 obj-
$(CONFIG_RAPIDIO
) += rapidio
/
26 # IPMI must come before ACPI in order to provide IPMI opregion support
29 obj-
$(CONFIG_ACPI
) += acpi
/
30 obj-
$(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
33 obj-
$(CONFIG_PNP
) += pnp
/
37 # Many drivers will want to use DMA so this has to be made available
39 obj-
$(CONFIG_DMADEVICES
) += dma
/
41 # SOC specific infrastructure drivers.
44 obj-
$(CONFIG_VIRTIO
) += virtio
/
45 obj-
$(CONFIG_VDPA
) += vdpa
/
46 obj-
$(CONFIG_XEN
) += xen
/
48 # regulators early, since some subsystems rely on them to initialize
49 obj-
$(CONFIG_REGULATOR
) += regulator
/
51 # reset controllers early, since gpu drivers might rely on them to initialize
52 obj-
$(CONFIG_RESET_CONTROLLER
) += reset
/
54 # tty/ comes before char/ so that the VT console is the boot-time
59 # iommu/ comes before gpu as gpu are using iommu controllers
62 # gpu/ comes after char for AGP vs DRM startup and after iommu
65 obj-
$(CONFIG_CONNECTOR
) += connector
/
67 # i810fb and intelfb depend on char/agp/
68 obj-
$(CONFIG_FB_I810
) += video
/fbdev
/i810
/
69 obj-
$(CONFIG_FB_INTEL
) += video
/fbdev
/intelfb
/
71 obj-
$(CONFIG_PARPORT
) += parport
/
72 obj-
$(CONFIG_NVM
) += lightnvm
/
73 obj-y
+= base
/ block
/ misc
/ mfd
/ nfc
/
74 obj-
$(CONFIG_LIBNVDIMM
) += nvdimm
/
75 obj-
$(CONFIG_DAX
) += dax
/
76 obj-
$(CONFIG_DMA_SHARED_BUFFER
) += dma-buf
/
77 obj-
$(CONFIG_NUBUS
) += nubus
/
79 obj-
$(CONFIG_IDE
) += ide
/
82 obj-
$(CONFIG_ATA
) += ata
/
83 obj-
$(CONFIG_TARGET_CORE
) += target
/
84 obj-
$(CONFIG_MTD
) += mtd
/
85 obj-
$(CONFIG_SPI
) += spi
/
86 obj-
$(CONFIG_SPMI
) += spmi
/
87 obj-
$(CONFIG_HSI
) += hsi
/
88 obj-
$(CONFIG_SLIMBUS
) += slimbus
/
90 obj-
$(CONFIG_ATM
) += atm
/
91 obj-
$(CONFIG_FUSION
) += message
/
93 obj-
$(CONFIG_UIO
) += uio
/
94 obj-
$(CONFIG_VFIO
) += vfio
/
97 obj-
$(CONFIG_PCCARD
) += pcmcia
/
98 obj-
$(CONFIG_DIO
) += dio
/
99 obj-
$(CONFIG_SBUS
) += sbus
/
100 obj-
$(CONFIG_ZORRO
) += zorro
/
101 obj-
$(CONFIG_ATA_OVER_ETH
) += block
/aoe
/
102 obj-
$(CONFIG_PARIDE
) += block
/paride
/
103 obj-
$(CONFIG_TC
) += tc
/
104 obj-
$(CONFIG_USB_PHY
) += usb
/
105 obj-
$(CONFIG_USB
) += usb
/
106 obj-
$(CONFIG_USB_SUPPORT
) += usb
/
107 obj-
$(CONFIG_PCI
) += usb
/
108 obj-
$(CONFIG_USB_GADGET
) += usb
/
109 obj-
$(CONFIG_OF
) += usb
/
110 obj-
$(CONFIG_SERIO
) += input
/serio
/
111 obj-
$(CONFIG_GAMEPORT
) += input
/gameport
/
112 obj-
$(CONFIG_INPUT
) += input
/
113 obj-
$(CONFIG_RTC_LIB
) += rtc
/
114 obj-y
+= i2c
/ i3c
/ media
/
115 obj-
$(CONFIG_PPS
) += pps
/
117 obj-
$(CONFIG_W1
) += w1
/
119 obj-
$(CONFIG_HWMON
) += hwmon
/
120 obj-
$(CONFIG_THERMAL
) += thermal
/
121 obj-
$(CONFIG_WATCHDOG
) += watchdog
/
122 obj-
$(CONFIG_MD
) += md
/
123 obj-
$(CONFIG_BT
) += bluetooth
/
124 obj-
$(CONFIG_ACCESSIBILITY
) += accessibility
/
125 obj-
$(CONFIG_ISDN
) += isdn
/
126 obj-
$(CONFIG_EDAC
) += edac
/
127 obj-
$(CONFIG_EISA
) += eisa
/
128 obj-
$(CONFIG_PM_OPP
) += opp
/
129 obj-
$(CONFIG_CPU_FREQ
) += cpufreq
/
130 obj-
$(CONFIG_CPU_IDLE
) += cpuidle
/
132 obj-
$(CONFIG_MEMSTICK
) += memstick
/
133 obj-
$(CONFIG_NEW_LEDS
) += leds
/
134 obj-
$(CONFIG_INFINIBAND
) += infiniband
/
136 obj-
$(CONFIG_CRYPTO
) += crypto
/
137 obj-
$(CONFIG_SUPERH
) += sh
/
138 ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
139 obj-y
+= clocksource
/
141 obj-
$(CONFIG_DCA
) += dca
/
142 obj-
$(CONFIG_HID
) += hid
/
143 obj-
$(CONFIG_PPC_PS3
) += ps3
/
144 obj-
$(CONFIG_OF
) += of
/
145 obj-
$(CONFIG_SSB
) += ssb
/
146 obj-
$(CONFIG_BCMA
) += bcma
/
147 obj-
$(CONFIG_VHOST_RING
) += vhost
/
148 obj-
$(CONFIG_VHOST
) += vhost
/
149 obj-
$(CONFIG_VLYNQ
) += vlynq
/
150 obj-
$(CONFIG_GREYBUS
) += greybus
/
151 obj-
$(CONFIG_STAGING
) += staging
/
154 obj-
$(CONFIG_MAILBOX
) += mailbox
/
155 obj-
$(CONFIG_HWSPINLOCK
) += hwspinlock
/
156 obj-
$(CONFIG_REMOTEPROC
) += remoteproc
/
157 obj-
$(CONFIG_RPMSG
) += rpmsg
/
158 obj-
$(CONFIG_SOUNDWIRE
) += soundwire
/
160 # Virtualization drivers
161 obj-
$(CONFIG_VIRT_DRIVERS
) += virt
/
162 obj-
$(CONFIG_HYPERV
) += hv
/
164 obj-
$(CONFIG_PM_DEVFREQ
) += devfreq
/
165 obj-
$(CONFIG_EXTCON
) += extcon
/
166 obj-
$(CONFIG_MEMORY
) += memory
/
167 obj-
$(CONFIG_IIO
) += iio
/
168 obj-
$(CONFIG_VME_BUS
) += vme
/
169 obj-
$(CONFIG_IPACK_BUS
) += ipack
/
170 obj-
$(CONFIG_NTB
) += ntb
/
171 obj-
$(CONFIG_POWERCAP
) += powercap
/
172 obj-
$(CONFIG_MCB
) += mcb
/
173 obj-
$(CONFIG_PERF_EVENTS
) += perf
/
174 obj-
$(CONFIG_RAS
) += ras
/
175 obj-
$(CONFIG_USB4
) += thunderbolt
/
176 obj-
$(CONFIG_CORESIGHT
) += hwtracing
/coresight
/
177 obj-y
+= hwtracing
/intel_th
/
178 obj-
$(CONFIG_STM
) += hwtracing
/stm
/
179 obj-
$(CONFIG_ANDROID
) += android
/
180 obj-
$(CONFIG_NVMEM
) += nvmem
/
181 obj-
$(CONFIG_FPGA
) += fpga
/
182 obj-
$(CONFIG_FSI
) += fsi
/
183 obj-
$(CONFIG_TEE
) += tee
/
184 obj-
$(CONFIG_MULTIPLEXER
) += mux
/
185 obj-
$(CONFIG_UNISYS_VISORBUS
) += visorbus
/
186 obj-
$(CONFIG_SIOX
) += siox
/
187 obj-
$(CONFIG_GNSS
) += gnss
/
188 obj-
$(CONFIG_INTERCONNECT
) += interconnect
/
189 obj-
$(CONFIG_COUNTER
) += counter
/
190 obj-
$(CONFIG_MOST
) += most
/