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