kernel: update kmod-* packaging and dependencies for linux 4.9
[openwrt/staging/yousong.git] / package / kernel / linux / modules / other.mk
1 #
2 # Copyright (C) 2006-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 OTHER_MENU:=Other modules
9
10 WATCHDOG_DIR:=watchdog
11
12
13 define KernelPackage/6lowpan
14 SUBMENU:=$(OTHER_MENU)
15 TITLE:=6LoWPAN shared code
16 KCONFIG:= \
17 CONFIG_6LOWPAN \
18 CONFIG_6LOWPAN_NHC=n
19 FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
20 AUTOLOAD:=$(call AutoProbe,6lowpan)
21 endef
22
23 define KernelPackage/6lowpan/description
24 Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
25 endef
26
27 $(eval $(call KernelPackage,6lowpan))
28
29
30 define KernelPackage/bluetooth
31 SUBMENU:=$(OTHER_MENU)
32 TITLE:=Bluetooth support
33 DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +!LINUX_3_18:kmod-crypto-cmac +!LINUX_3_18:kmod-regmap
34 KCONFIG:= \
35 CONFIG_BLUEZ \
36 CONFIG_BLUEZ_L2CAP \
37 CONFIG_BLUEZ_SCO \
38 CONFIG_BLUEZ_RFCOMM \
39 CONFIG_BLUEZ_BNEP \
40 CONFIG_BLUEZ_HCIUART \
41 CONFIG_BLUEZ_HCIUSB \
42 CONFIG_BLUEZ_HIDP \
43 CONFIG_BT \
44 CONFIG_BT_BREDR=y \
45 CONFIG_BT_DEBUGFS=n \
46 CONFIG_BT_L2CAP=y \
47 CONFIG_BT_LE=y \
48 CONFIG_BT_SCO=y \
49 CONFIG_BT_RFCOMM \
50 CONFIG_BT_BNEP \
51 CONFIG_BT_HCIBTUSB \
52 CONFIG_BT_HCIBTUSB_BCM=n \
53 CONFIG_BT_HCIUSB \
54 CONFIG_BT_HCIUART \
55 CONFIG_BT_HCIUART_BCM=n \
56 CONFIG_BT_HCIUART_INTEL=n \
57 CONFIG_BT_HCIUART_H4 \
58 CONFIG_BT_HIDP \
59 CONFIG_HID_SUPPORT=y
60 $(call AddDepends/rfkill)
61 FILES:= \
62 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
63 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
64 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
65 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
66 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
67 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
68 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
69 FILES+= \
70 $(LINUX_DIR)/drivers/bluetooth/btintel.ko
71 endif
72 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
73 endef
74
75 define KernelPackage/bluetooth/description
76 Kernel support for Bluetooth devices
77 endef
78
79 $(eval $(call KernelPackage,bluetooth))
80
81 define KernelPackage/ath3k
82 SUBMENU:=$(OTHER_MENU)
83 TITLE:=ATH3K Kernel Module support
84 DEPENDS:=+kmod-bluetooth +ar3k-firmware
85 KCONFIG:= \
86 CONFIG_BT_ATH3K \
87 CONFIG_BT_HCIUART_ATH3K=y
88 $(call AddDepends/bluetooth)
89 FILES:= \
90 $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
91 AUTOLOAD:=$(call AutoProbe,ath3k)
92 endef
93
94 define KernelPackage/ath3k/description
95 Kernel support for ATH3K Module
96 endef
97
98 $(eval $(call KernelPackage,ath3k))
99
100
101 define KernelPackage/bluetooth_6lowpan
102 SUBMENU:=$(OTHER_MENU)
103 TITLE:=Bluetooth 6LoWPAN support
104 DEPENDS:=+kmod-6lowpan +kmod-bluetooth
105 KCONFIG:=CONFIG_BT_6LOWPAN
106 FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
107 AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
108 endef
109
110 define KernelPackage/bluetooth_6lowpan/description
111 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
112 endef
113
114 $(eval $(call KernelPackage,bluetooth_6lowpan))
115
116
117 define KernelPackage/dma-buf
118 SUBMENU:=$(OTHER_MENU)
119 TITLE:=DMA shared buffer support
120 HIDDEN:=1
121 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
122 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
123 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
124 endef
125 $(eval $(call KernelPackage,dma-buf))
126
127
128 define KernelPackage/nvmem
129 SUBMENU:=$(OTHER_MENU)
130 TITLE:=Non Volatile Memory support
131 KCONFIG:=CONFIG_NVMEM
132 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko@ge4.9
133 endef
134
135 define KernelPackage/nvmem/description
136 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc.
137 endef
138
139 $(eval $(call KernelPackage,nvmem))
140
141 define KernelPackage/eeprom-93cx6
142 SUBMENU:=$(OTHER_MENU)
143 TITLE:=EEPROM 93CX6 support
144 KCONFIG:=CONFIG_EEPROM_93CX6
145 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
146 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
147 endef
148
149 define KernelPackage/eeprom-93cx6/description
150 Kernel module for EEPROM 93CX6 support
151 endef
152
153 $(eval $(call KernelPackage,eeprom-93cx6))
154
155
156 define KernelPackage/eeprom-at24
157 SUBMENU:=$(OTHER_MENU)
158 TITLE:=EEPROM AT24 support
159 KCONFIG:=CONFIG_EEPROM_AT24
160 DEPENDS:=+kmod-i2c-core +kmod-nvmem
161 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
162 AUTOLOAD:=$(call AutoProbe,at24)
163 endef
164
165 define KernelPackage/eeprom-at24/description
166 Kernel module for most I2C EEPROMs
167 endef
168
169 $(eval $(call KernelPackage,eeprom-at24))
170
171
172 define KernelPackage/eeprom-at25
173 SUBMENU:=$(OTHER_MENU)
174 TITLE:=EEPROM AT25 support
175 KCONFIG:=CONFIG_EEPROM_AT25
176 DEPENDS:=+kmod-nvmem
177 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
178 AUTOLOAD:=$(call AutoProbe,at25)
179 endef
180
181 define KernelPackage/eeprom-at25/description
182 Kernel module for most SPI EEPROMs
183 endef
184
185 $(eval $(call KernelPackage,eeprom-at25))
186
187
188 define KernelPackage/gpio-dev
189 SUBMENU:=$(OTHER_MENU)
190 TITLE:=Generic GPIO char device support
191 DEPENDS:=@GPIO_SUPPORT
192 KCONFIG:=CONFIG_GPIO_DEVICE
193 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
194 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
195 endef
196
197 define KernelPackage/gpio-dev/description
198 Kernel module to allows control of GPIO pins using a character device.
199 endef
200
201 $(eval $(call KernelPackage,gpio-dev))
202
203
204 define KernelPackage/gpio-mcp23s08
205 SUBMENU:=$(OTHER_MENU)
206 TITLE:=Microchip MCP23xxx I/O expander
207 DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
208 KCONFIG:=CONFIG_GPIO_MCP23S08
209 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
210 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
211 endef
212
213 define KernelPackage/gpio-mcp23s08/description
214 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
215 endef
216
217 $(eval $(call KernelPackage,gpio-mcp23s08))
218
219
220 define KernelPackage/gpio-nxp-74hc164
221 SUBMENU:=$(OTHER_MENU)
222 TITLE:=NXP 74HC164 GPIO expander support
223 KCONFIG:=CONFIG_GPIO_NXP_74HC164
224 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
225 AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
226 endef
227
228 define KernelPackage/gpio-nxp-74hc164/description
229 Kernel module for NXP 74HC164 GPIO expander
230 endef
231
232 $(eval $(call KernelPackage,gpio-nxp-74hc164))
233
234 define KernelPackage/gpio-pca953x
235 SUBMENU:=$(OTHER_MENU)
236 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
237 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
238 KCONFIG:=CONFIG_GPIO_PCA953X
239 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
240 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
241 endef
242
243 define KernelPackage/gpio-pca953x/description
244 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
245 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
246 endef
247
248 $(eval $(call KernelPackage,gpio-pca953x))
249
250 define KernelPackage/gpio-pcf857x
251 SUBMENU:=$(OTHER_MENU)
252 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
253 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
254 KCONFIG:=CONFIG_GPIO_PCF857X
255 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
256 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
257 endef
258
259 define KernelPackage/gpio-pcf857x/description
260 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
261 endef
262
263 $(eval $(call KernelPackage,gpio-pcf857x))
264
265 define KernelPackage/iio-core
266 SUBMENU:=$(OTHER_MENU)
267 TITLE:=Industrial IO core
268 KCONFIG:= \
269 CONFIG_IIO \
270 CONFIG_IIO_BUFFER=y \
271 CONFIG_IIO_KFIFO_BUF \
272 CONFIG_IIO_TRIGGER=y \
273 CONFIG_IIO_TRIGGERED_BUFFER
274 FILES:= \
275 $(LINUX_DIR)/drivers/iio/industrialio.ko \
276 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko@lt4.4) \
277 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko@ge4.4) \
278 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko@lt4.4 \
279 $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko@ge4.4
280 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
281 endef
282
283 define KernelPackage/iio-core/description
284 The industrial I/O subsystem provides a unified framework for
285 drivers for many different types of embedded sensors using a
286 number of different physical interfaces (i2c, spi, etc)
287 endef
288
289 $(eval $(call KernelPackage,iio-core))
290
291
292 define KernelPackage/iio-ad799x
293 SUBMENU:=$(OTHER_MENU)
294 DEPENDS:=kmod-i2c-core kmod-iio-core
295 TITLE:=Analog Devices AD799x ADC driver
296 KCONFIG:= \
297 CONFIG_AD799X_RING_BUFFER=y \
298 CONFIG_AD799X
299 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
300 AUTOLOAD:=$(call AutoLoad,56,ad799x)
301 endef
302
303 define KernelPackage/iio-ad799x/description
304 support for Analog Devices:
305 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
306 i2c analog to digital converters (ADC).
307 endef
308
309 $(eval $(call KernelPackage,iio-ad799x))
310
311
312 define KernelPackage/iio-dht11
313 SUBMENU:=$(OTHER_MENU)
314 DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
315 TITLE:=DHT11 (and compatible) humidity and temperature sensors
316 KCONFIG:= \
317 CONFIG_DHT11
318 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
319 AUTOLOAD:=$(call AutoLoad,56,dht11)
320 endef
321
322 define KernelPackage/iio-dht11/description
323 support for DHT11 and DHT22 digitial humidity and temperature sensors
324 attached at GPIO lines. You will need a custom device tree file to
325 specify the GPIO line to use.
326 endef
327
328 $(eval $(call KernelPackage,iio-dht11))
329
330
331 define KernelPackage/lp
332 SUBMENU:=$(OTHER_MENU)
333 TITLE:=Parallel port and line printer support
334 KCONFIG:= \
335 CONFIG_PARPORT \
336 CONFIG_PRINTER \
337 CONFIG_PPDEV
338 FILES:= \
339 $(LINUX_DIR)/drivers/parport/parport.ko \
340 $(LINUX_DIR)/drivers/char/lp.ko \
341 $(LINUX_DIR)/drivers/char/ppdev.ko
342 AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
343 endef
344
345 $(eval $(call KernelPackage,lp))
346
347
348 define KernelPackage/mmc
349 SUBMENU:=$(OTHER_MENU)
350 TITLE:=MMC/SD Card Support
351 KCONFIG:= \
352 CONFIG_MMC \
353 CONFIG_MMC_BLOCK \
354 CONFIG_MMC_DEBUG=n \
355 CONFIG_MMC_UNSAFE_RESUME=n \
356 CONFIG_MMC_BLOCK_BOUNCE=y \
357 CONFIG_MMC_TIFM_SD=n \
358 CONFIG_MMC_WBSD=n \
359 CONFIG_SDIO_UART=n
360 FILES:= \
361 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
362 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
363 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
364 endef
365
366 define KernelPackage/mmc/description
367 Kernel support for MMC/SD cards
368 endef
369
370 $(eval $(call KernelPackage,mmc))
371
372
373 define KernelPackage/sdhci
374 SUBMENU:=$(OTHER_MENU)
375 TITLE:=Secure Digital Host Controller Interface support
376 DEPENDS:=+kmod-mmc
377 KCONFIG:= \
378 CONFIG_MMC_SDHCI \
379 CONFIG_MMC_SDHCI_PLTFM \
380 CONFIG_MMC_SDHCI_PCI=n
381 FILES:= \
382 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
383 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
384
385 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
386 endef
387
388 define KernelPackage/sdhci/description
389 Kernel support for SDHCI Hosts
390 endef
391
392 $(eval $(call KernelPackage,sdhci))
393
394
395 define KernelPackage/rfkill
396 SUBMENU:=$(OTHER_MENU)
397 TITLE:=RF switch subsystem support
398 DEPENDS:=@USE_RFKILL +kmod-input-core
399 KCONFIG:= \
400 CONFIG_RFKILL_FULL \
401 CONFIG_RFKILL_INPUT=y \
402 CONFIG_RFKILL_LEDS=y
403 FILES:= \
404 $(LINUX_DIR)/net/rfkill/rfkill.ko
405 AUTOLOAD:=$(call AutoLoad,20,rfkill)
406 endef
407
408 define KernelPackage/rfkill/description
409 Say Y here if you want to have control over RF switches
410 found on many WiFi and Bluetooth cards
411 endef
412
413 $(eval $(call KernelPackage,rfkill))
414
415
416 define KernelPackage/softdog
417 SUBMENU:=$(OTHER_MENU)
418 TITLE:=Software watchdog driver
419 KCONFIG:=CONFIG_SOFT_WATCHDOG
420 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
421 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
422 endef
423
424 define KernelPackage/softdog/description
425 Software watchdog driver
426 endef
427
428 $(eval $(call KernelPackage,softdog))
429
430
431 define KernelPackage/ssb
432 SUBMENU:=$(OTHER_MENU)
433 TITLE:=Silicon Sonics Backplane glue code
434 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
435 KCONFIG:=\
436 CONFIG_SSB \
437 CONFIG_SSB_B43_PCI_BRIDGE=y \
438 CONFIG_SSB_DRIVER_MIPS=n \
439 CONFIG_SSB_DRIVER_PCICORE=y \
440 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
441 CONFIG_SSB_PCIHOST=y \
442 CONFIG_SSB_PCIHOST_POSSIBLE=y \
443 CONFIG_SSB_POSSIBLE=y \
444 CONFIG_SSB_SPROM=y \
445 CONFIG_SSB_SILENT=y
446 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
447 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
448 endef
449
450 define KernelPackage/ssb/description
451 Silicon Sonics Backplane glue code.
452 endef
453
454 $(eval $(call KernelPackage,ssb))
455
456
457 define KernelPackage/bcma
458 SUBMENU:=$(OTHER_MENU)
459 TITLE:=BCMA support
460 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
461 KCONFIG:=\
462 CONFIG_BCMA \
463 CONFIG_BCMA_POSSIBLE=y \
464 CONFIG_BCMA_BLOCKIO=y \
465 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
466 CONFIG_BCMA_HOST_PCI=y \
467 CONFIG_BCMA_HOST_SOC=n \
468 CONFIG_BCMA_DRIVER_MIPS=n \
469 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
470 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
471 CONFIG_BCMA_DEBUG=n
472 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
473 AUTOLOAD:=$(call AutoLoad,29,bcma)
474 endef
475
476 define KernelPackage/bcma/description
477 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
478 endef
479
480 $(eval $(call KernelPackage,bcma))
481
482
483 define KernelPackage/rtc-ds1307
484 SUBMENU:=$(OTHER_MENU)
485 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
486 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
487 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
488 CONFIG_RTC_CLASS=y
489 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
490 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
491 endef
492
493 define KernelPackage/rtc-ds1307/description
494 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
495 Epson RX-8025 and various other compatible RTC chips connected via I2C.
496 endef
497
498 $(eval $(call KernelPackage,rtc-ds1307))
499
500
501 define KernelPackage/rtc-ds1374
502 SUBMENU:=$(OTHER_MENU)
503 TITLE:=Dallas/Maxim DS1374 RTC support
504 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
505 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
506 CONFIG_RTC_DRV_DS1374_WDT=n \
507 CONFIG_RTC_CLASS=y
508 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
509 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
510 endef
511
512 define KernelPackage/rtc-ds1374/description
513 Kernel module for Dallas/Maxim DS1374.
514 endef
515
516 $(eval $(call KernelPackage,rtc-ds1374))
517
518
519 define KernelPackage/rtc-ds1672
520 SUBMENU:=$(OTHER_MENU)
521 TITLE:=Dallas/Maxim DS1672 RTC support
522 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
523 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
524 CONFIG_RTC_CLASS=y
525 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
526 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
527 endef
528
529 define KernelPackage/rtc-ds1672/description
530 Kernel module for Dallas/Maxim DS1672 RTC.
531 endef
532
533 $(eval $(call KernelPackage,rtc-ds1672))
534
535
536 define KernelPackage/rtc-isl1208
537 SUBMENU:=$(OTHER_MENU)
538 TITLE:=Intersil ISL1208 RTC support
539 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
540 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
541 CONFIG_RTC_CLASS=y
542 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
543 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
544 endef
545
546 define KernelPackage/rtc-isl1208/description
547 Kernel module for Intersil ISL1208 RTC.
548 endef
549
550 $(eval $(call KernelPackage,rtc-isl1208))
551
552
553 define KernelPackage/rtc-pcf8563
554 SUBMENU:=$(OTHER_MENU)
555 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
556 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
557 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
558 CONFIG_RTC_CLASS=y
559 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
560 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
561 endef
562
563 define KernelPackage/rtc-pcf8563/description
564 Kernel module for Philips PCF8563 RTC chip.
565 The Epson RTC8564 should work as well.
566 endef
567
568 $(eval $(call KernelPackage,rtc-pcf8563))
569
570
571 define KernelPackage/rtc-pcf2123
572 SUBMENU:=$(OTHER_MENU)
573 TITLE:=Philips PCF2123 RTC support
574 DEPENDS:=@RTC_SUPPORT
575 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
576 CONFIG_RTC_CLASS=y
577 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
578 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
579 endef
580
581 define KernelPackage/rtc-pcf2123/description
582 Kernel module for Philips PCF2123 RTC chip
583 endef
584
585 $(eval $(call KernelPackage,rtc-pcf2123))
586
587 define KernelPackage/rtc-pt7c4338
588 SUBMENU:=$(OTHER_MENU)
589 TITLE:=Pericom PT7C4338 RTC support
590 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
591 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
592 CONFIG_RTC_CLASS=y
593 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
594 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
595 endef
596
597 define KernelPackage/rtc-pt7c4338/description
598 Kernel module for Pericom PT7C4338 i2c RTC chip
599 endef
600
601 $(eval $(call KernelPackage,rtc-pt7c4338))
602
603 define KernelPackage/rtc-rs5c372a
604 SUBMENU:=$(OTHER_MENU)
605 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
606 DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
607 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
608 CONFIG_RTC_CLASS=y
609 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
610 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
611 endef
612
613 define KernelPackage/rtc-rs5c372a/description
614 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
615 endef
616
617 $(eval $(call KernelPackage,rtc-rs5c372a))
618
619
620 define KernelPackage/mtdtests
621 SUBMENU:=$(OTHER_MENU)
622 TITLE:=MTD subsystem tests
623 KCONFIG:=CONFIG_MTD_TESTS
624 FILES:=\
625 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
626 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
627 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
628 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
629 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
630 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
631 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
632 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
633 endef
634
635 define KernelPackage/mtdtests/description
636 Kernel modules for MTD subsystem/driver testing
637 endef
638
639 $(eval $(call KernelPackage,mtdtests))
640
641
642 define KernelPackage/serial-8250
643 SUBMENU:=$(OTHER_MENU)
644 TITLE:=8250 UARTs
645 KCONFIG:= CONFIG_SERIAL_8250 \
646 CONFIG_SERIAL_8250_NR_UARTS=16 \
647 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
648 CONFIG_SERIAL_8250_EXTENDED=y \
649 CONFIG_SERIAL_8250_MANY_PORTS=y \
650 CONFIG_SERIAL_8250_SHARE_IRQ=y \
651 CONFIG_SERIAL_8250_DETECT_IRQ=n \
652 CONFIG_SERIAL_8250_RSA=n
653 FILES:= \
654 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
655 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4
656 endef
657
658 define KernelPackage/serial-8250/description
659 Kernel module for 8250 UART based serial ports
660 endef
661
662 $(eval $(call KernelPackage,serial-8250))
663
664
665 define KernelPackage/regmap
666 SUBMENU:=$(OTHER_MENU)
667 TITLE:=Generic register map support
668 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
669 KCONFIG:=CONFIG_REGMAP \
670 CONFIG_REGMAP_MMIO \
671 CONFIG_REGMAP_SPI \
672 CONFIG_REGMAP_I2C \
673 CONFIG_SPI=y
674 FILES:= \
675 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
676 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
677 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
678 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
679 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
680 endef
681
682 define KernelPackage/regmap/description
683 Generic register map support
684 endef
685
686 $(eval $(call KernelPackage,regmap))
687
688 define KernelPackage/ikconfig
689 SUBMENU:=$(OTHER_MENU)
690 TITLE:=Kernel configuration via /proc/config.gz
691 KCONFIG:=CONFIG_IKCONFIG \
692 CONFIG_IKCONFIG_PROC=y
693 FILES:=$(LINUX_DIR)/kernel/configs.ko
694 AUTOLOAD:=$(call AutoLoad,70,configs)
695 endef
696
697 define KernelPackage/ikconfig/description
698 Kernel configuration via /proc/config.gz
699 endef
700
701 $(eval $(call KernelPackage,ikconfig))
702
703
704 define KernelPackage/zram
705 SUBMENU:=$(OTHER_MENU)
706 TITLE:=ZRAM
707 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
708 KCONFIG:= \
709 CONFIG_ZSMALLOC \
710 CONFIG_ZRAM \
711 CONFIG_ZRAM_DEBUG=n \
712 CONFIG_PGTABLE_MAPPING=n \
713 CONFIG_ZSMALLOC_STAT=n \
714 CONFIG_ZRAM_LZ4_COMPRESS=y
715 FILES:= \
716 $(LINUX_DIR)/mm/zsmalloc.ko \
717 $(LINUX_DIR)/drivers/block/zram/zram.ko
718 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
719 endef
720
721 define KernelPackage/zram/description
722 Compressed RAM block device support
723 endef
724
725 $(eval $(call KernelPackage,zram))
726
727
728 define KernelPackage/pps
729 SUBMENU:=$(OTHER_MENU)
730 TITLE:=PPS support
731 KCONFIG:=CONFIG_PPS
732 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
733 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
734 endef
735
736 define KernelPackage/pps/description
737 PPS (Pulse Per Second) is a special pulse provided by some GPS
738 antennae. Userland can use it to get a high-precision time
739 reference.
740 endef
741
742 $(eval $(call KernelPackage,pps))
743
744
745 define KernelPackage/pps-gpio
746 SUBMENU:=$(OTHER_MENU)
747 TITLE:=PPS client using GPIO
748 DEPENDS:=+kmod-pps
749 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
750 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
751 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
752 endef
753
754 define KernelPackage/pps-gpio/description
755 Support for a PPS source using GPIO. To be useful you must
756 also register a platform device specifying the GPIO pin and
757 other options, usually in your board setup.
758 endef
759
760 $(eval $(call KernelPackage,pps-gpio))
761
762
763 define KernelPackage/pps-ldisc
764 SUBMENU:=$(OTHER_MENU)
765 TITLE:=PPS line discipline
766 DEPENDS:=+kmod-pps
767 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
768 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
769 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
770 endef
771
772 define KernelPackage/pps-ldisc/description
773 Support for a PPS source connected with the CD (Carrier
774 Detect) pin of your serial port.
775 endef
776
777 $(eval $(call KernelPackage,pps-ldisc))
778
779
780 define KernelPackage/ptp
781 SUBMENU:=$(OTHER_MENU)
782 TITLE:=PTP clock support
783 DEPENDS:=+kmod-pps
784 KCONFIG:= \
785 CONFIG_PTP_1588_CLOCK \
786 CONFIG_NET_PTP_CLASSIFY=y
787 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
788 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
789 endef
790
791 define KernelPackage/ptp/description
792 The IEEE 1588 standard defines a method to precisely
793 synchronize distributed clocks over Ethernet networks.
794 endef
795
796 $(eval $(call KernelPackage,ptp))
797
798
799 define KernelPackage/ptp-gianfar
800 SUBMENU:=$(OTHER_MENU)
801 TITLE:=Freescale Gianfar PTP support
802 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
803 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
804 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
805 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
806 endef
807
808 define KernelPackage/ptp-gianfar/description
809 Kernel module for IEEE 1588 support for Freescale
810 Gianfar Ethernet drivers
811 endef
812
813 $(eval $(call KernelPackage,ptp-gianfar))
814
815
816 define KernelPackage/random-core
817 SUBMENU:=$(OTHER_MENU)
818 TITLE:=Hardware Random Number Generator Core support
819 KCONFIG:=CONFIG_HW_RANDOM
820 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
821 endef
822
823 define KernelPackage/random-core/description
824 Kernel module for the HW random number generator core infrastructure
825 endef
826
827 $(eval $(call KernelPackage,random-core))
828
829 define KernelPackage/random-omap
830 SUBMENU:=$(OTHER_MENU)
831 TITLE:=Hardware Random Number Generator OMAP support
832 KCONFIG:=CONFIG_HW_RANDOM_OMAP
833 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
834 DEPENDS:=@TARGET_omap24xx +kmod-random-core
835 AUTOLOAD:=$(call AutoProbe,random-omap)
836 endef
837
838 define KernelPackage/random-omap/description
839 Kernel module for the OMAP Random Number Generator
840 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
841 endef
842
843 $(eval $(call KernelPackage,random-omap))
844
845 define KernelPackage/thermal
846 SUBMENU:=$(OTHER_MENU)
847 TITLE:=Generic Thermal sysfs driver
848 DEPENDS:=+kmod-hwmon-core
849 HIDDEN:=1
850 KCONFIG:= \
851 CONFIG_THERMAL \
852 CONFIG_THERMAL_OF=y \
853 CONFIG_CPU_THERMAL=y \
854 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
855 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
856 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
857 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
858 CONFIG_THERMAL_GOV_STEP_WISE=y \
859 CONFIG_THERMAL_GOV_USER_SPACE=n \
860 CONFIG_THERMAL_HWMON=y \
861 CONFIG_THERMAL_EMULATION=n
862 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
863 AUTOLOAD:=$(call AutoProbe,thermal_sys)
864 endef
865
866 define KernelPackage/thermal/description
867 Generic Thermal Sysfs driver offers a generic mechanism for thermal
868 management. Usually it's made up of one or more thermal zone and cooling
869 device.
870 endef
871
872 $(eval $(call KernelPackage,thermal))
873
874
875 define KernelPackage/gpio-beeper
876 SUBMENU:=$(OTHER_MENU)
877 TITLE:=GPIO beeper support
878 DEPENDS:=+kmod-input-core
879 KCONFIG:= \
880 CONFIG_INPUT_MISC=y \
881 CONFIG_INPUT_GPIO_BEEPER
882 FILES:= \
883 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
884 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
885 endef
886
887 define KernelPackage/gpio-beeper/description
888 This enables playing beeps through an GPIO-connected buzzer
889 endef
890
891 $(eval $(call KernelPackage,gpio-beeper))
892
893
894 define KernelPackage/echo
895 SUBMENU:=$(OTHER_MENU)
896 TITLE:=Line Echo Canceller
897 KCONFIG:=CONFIG_ECHO
898 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
899 AUTOLOAD:=$(call AutoLoad,50,echo)
900 endef
901
902 define KernelPackage/echo/description
903 This driver provides line echo cancelling support for mISDN and
904 DAHDI drivers
905 endef
906
907 $(eval $(call KernelPackage,echo))
908
909
910 define KernelPackage/bmp085
911 SUBMENU:=$(OTHER_MENU)
912 TITLE:=BMP085/BMP18x pressure sensor
913 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
914 KCONFIG:= CONFIG_BMP085
915 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
916 endef
917
918 define KernelPackage/bmp085/description
919 This driver adds support for Bosch Sensortec's digital pressure
920 sensors BMP085 and BMP18x.
921 endef
922
923 $(eval $(call KernelPackage,bmp085))
924
925
926 define KernelPackage/bmp085-i2c
927 SUBMENU:=$(OTHER_MENU)
928 TITLE:=BMP085/BMP18x pressure sensor I2C
929 DEPENDS:= +kmod-bmp085
930 KCONFIG:= CONFIG_BMP085_I2C
931 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
932 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
933 endef
934 define KernelPackage/bmp085-i2c/description
935 This driver adds support for Bosch Sensortec's digital pressure
936 sensor connected via I2C.
937 endef
938
939 $(eval $(call KernelPackage,bmp085-i2c))
940
941
942 define KernelPackage/bmp085-spi
943 SUBMENU:=$(OTHER_MENU)
944 TITLE:=BMP085/BMP18x pressure sensor SPI
945 DEPENDS:= +kmod-bmp085
946 KCONFIG:= CONFIG_BMP085_SPI
947 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
948 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
949 endef
950 define KernelPackage/bmp085-spi/description
951 This driver adds support for Bosch Sensortec's digital pressure
952 sensor connected via SPI.
953 endef
954
955 $(eval $(call KernelPackage,bmp085-spi))