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