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