kernel: other.mk: add thermal option
[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_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 FILES:=$(LINUX_DIR)/drivers/staging/iio/adc/ad799x.ko
246 AUTOLOAD:=$(call AutoLoad,56,ad799x)
247 endef
248
249 define KernelPackage/iio-ad799x/description
250 support for Analog Devices:
251 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
252 i2c analog to digital converters (ADC). WARNING! This driver is still staging!
253 endef
254
255 $(eval $(call KernelPackage,iio-ad799x))
256
257 define KernelPackage/lp
258 SUBMENU:=$(OTHER_MENU)
259 TITLE:=Parallel port and line printer support
260 DEPENDS:=@BROKEN
261 KCONFIG:= \
262 CONFIG_PARPORT \
263 CONFIG_PRINTER \
264 CONFIG_PPDEV
265 FILES:= \
266 $(LINUX_DIR)/drivers/parport/parport.ko \
267 $(LINUX_DIR)/drivers/char/lp.ko \
268 $(LINUX_DIR)/drivers/char/ppdev.ko
269 AUTOLOAD:=$(call AutoLoad,50,parport lp)
270 endef
271
272 $(eval $(call KernelPackage,lp))
273
274
275 define KernelPackage/mmc
276 SUBMENU:=$(OTHER_MENU)
277 TITLE:=MMC/SD Card Support
278 KCONFIG:= \
279 CONFIG_MMC \
280 CONFIG_MMC_BLOCK \
281 CONFIG_MMC_DEBUG=n \
282 CONFIG_MMC_UNSAFE_RESUME=n \
283 CONFIG_MMC_BLOCK_BOUNCE=y \
284 CONFIG_MMC_TIFM_SD=n \
285 CONFIG_MMC_WBSD=n \
286 CONFIG_SDIO_UART=n
287 FILES:= \
288 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
289 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
290 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
291 endef
292
293 define KernelPackage/mmc/description
294 Kernel support for MMC/SD cards
295 endef
296
297 $(eval $(call KernelPackage,mmc))
298
299
300 define KernelPackage/sdhci
301 SUBMENU:=$(OTHER_MENU)
302 TITLE:=Secure Digital Host Controller Interface support
303 DEPENDS:=+kmod-mmc
304 KCONFIG:= \
305 CONFIG_MMC_SDHCI \
306 CONFIG_MMC_SDHCI_PLTFM \
307 CONFIG_MMC_SDHCI_PCI=n
308 FILES:= \
309 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
310 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
311
312 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
313 endef
314
315 define KernelPackage/sdhci/description
316 Kernel support for SDHCI Hosts
317 endef
318
319 $(eval $(call KernelPackage,sdhci))
320
321
322 define KernelPackage/oprofile
323 SUBMENU:=$(OTHER_MENU)
324 TITLE:=OProfile profiling support
325 KCONFIG:=CONFIG_OPROFILE
326 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
327 DEPENDS:=@KERNEL_PROFILING
328 endef
329
330 define KernelPackage/oprofile/description
331 Kernel module for support for oprofile system profiling
332 endef
333
334 $(eval $(call KernelPackage,oprofile))
335
336
337 define KernelPackage/rfkill
338 SUBMENU:=$(OTHER_MENU)
339 TITLE:=RF switch subsystem support
340 DEPENDS:=@USE_RFKILL +kmod-input-core
341 KCONFIG:= \
342 CONFIG_RFKILL \
343 CONFIG_RFKILL_INPUT=y \
344 CONFIG_RFKILL_LEDS=y \
345 CONFIG_RFKILL_GPIO=y
346 FILES:= \
347 $(LINUX_DIR)/net/rfkill/rfkill.ko
348 AUTOLOAD:=$(call AutoLoad,20,rfkill)
349 endef
350
351 define KernelPackage/rfkill/description
352 Say Y here if you want to have control over RF switches
353 found on many WiFi and Bluetooth cards
354 endef
355
356 $(eval $(call KernelPackage,rfkill))
357
358
359 define KernelPackage/softdog
360 SUBMENU:=$(OTHER_MENU)
361 TITLE:=Software watchdog driver
362 KCONFIG:=CONFIG_SOFT_WATCHDOG
363 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
364 AUTOLOAD:=$(call AutoLoad,50,softdog)
365 endef
366
367 define KernelPackage/softdog/description
368 Software watchdog driver
369 endef
370
371 $(eval $(call KernelPackage,softdog))
372
373
374 define KernelPackage/ssb
375 SUBMENU:=$(OTHER_MENU)
376 TITLE:=Silicon Sonics Backplane glue code
377 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
378 KCONFIG:=\
379 CONFIG_SSB \
380 CONFIG_SSB_B43_PCI_BRIDGE=y \
381 CONFIG_SSB_DRIVER_MIPS=n \
382 CONFIG_SSB_DRIVER_PCICORE=y \
383 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
384 CONFIG_SSB_PCIHOST=y \
385 CONFIG_SSB_PCIHOST_POSSIBLE=y \
386 CONFIG_SSB_POSSIBLE=y \
387 CONFIG_SSB_SPROM=y \
388 CONFIG_SSB_SILENT=y
389 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
390 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
391 endef
392
393 define KernelPackage/ssb/description
394 Silicon Sonics Backplane glue code.
395 endef
396
397 $(eval $(call KernelPackage,ssb))
398
399
400 define KernelPackage/bcma
401 SUBMENU:=$(OTHER_MENU)
402 TITLE:=BCMA support
403 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
404 KCONFIG:=\
405 CONFIG_BCMA \
406 CONFIG_BCMA_POSSIBLE=y \
407 CONFIG_BCMA_BLOCKIO=y \
408 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
409 CONFIG_BCMA_HOST_PCI=y \
410 CONFIG_BCMA_HOST_SOC=n \
411 CONFIG_BCMA_DRIVER_MIPS=n \
412 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
413 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
414 CONFIG_BCMA_DEBUG=n
415 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
416 AUTOLOAD:=$(call AutoLoad,29,bcma)
417 endef
418
419 define KernelPackage/bcma/description
420 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
421 endef
422
423 $(eval $(call KernelPackage,bcma))
424
425
426 define KernelPackage/wdt-omap
427 SUBMENU:=$(OTHER_MENU)
428 TITLE:=OMAP Watchdog timer
429 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
430 KCONFIG:=CONFIG_OMAP_WATCHDOG
431 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
432 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
433 endef
434
435 define KernelPackage/wdt-omap/description
436 Kernel module for TI omap watchdog timer
437 endef
438
439 $(eval $(call KernelPackage,wdt-omap))
440
441
442 define KernelPackage/wdt-orion
443 SUBMENU:=$(OTHER_MENU)
444 TITLE:=Marvell Orion Watchdog timer
445 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
446 KCONFIG:=CONFIG_ORION_WATCHDOG
447 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
448 AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
449 endef
450
451 define KernelPackage/wdt-orion/description
452 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
453 endef
454
455 $(eval $(call KernelPackage,wdt-orion))
456
457
458 define KernelPackage/booke-wdt
459 SUBMENU:=$(OTHER_MENU)
460 TITLE:=PowerPC Book-E Watchdog Timer
461 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
462 KCONFIG:=CONFIG_BOOKE_WDT
463 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
464 AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
465 endef
466
467 define KernelPackage/booke-wdt/description
468 Kernel module for PowerPC Book-E Watchdog Timer
469 endef
470
471 $(eval $(call KernelPackage,booke-wdt))
472
473
474 define KernelPackage/pwm
475 SUBMENU:=$(OTHER_MENU)
476 TITLE:=PWM generic API
477 KCONFIG:=CONFIG_GENERIC_PWM
478 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
479 endef
480
481 define KernelPackage/pwm/description
482 Kernel module that implement a generic PWM API
483 endef
484
485 $(eval $(call KernelPackage,pwm))
486
487
488 define KernelPackage/pwm-gpio
489 SUBMENU:=$(OTHER_MENU)
490 TITLE:=PWM over GPIO
491 DEPENDS:=+kmod-pwm
492 KCONFIG:=CONFIG_GPIO_PWM
493 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
494 AUTOLOAD:=$(call AutoProbe,gpio-pwm)
495 endef
496
497 define KernelPackage/pwm-gpio/description
498 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
499 endef
500
501 $(eval $(call KernelPackage,pwm-gpio))
502
503
504 define KernelPackage/rtc-ds1672
505 SUBMENU:=$(OTHER_MENU)
506 TITLE:=Dallas/Maxim DS1672 RTC support
507 $(call AddDepends/rtc)
508 DEPENDS+=+kmod-i2c-core
509 KCONFIG:=CONFIG_RTC_DRV_DS1672
510 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
511 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
512 endef
513
514 define KernelPackage/rtc-ds1672/description
515 Kernel module for Dallas/Maxim DS1672 RTC.
516 endef
517
518 $(eval $(call KernelPackage,rtc-ds1672))
519
520
521 define KernelPackage/rtc-isl1208
522 SUBMENU:=$(OTHER_MENU)
523 TITLE:=Intersil ISL1208 RTC support
524 $(call AddDepends/rtc)
525 DEPENDS+=+kmod-i2c-core
526 KCONFIG:=CONFIG_RTC_DRV_ISL1208
527 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
528 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
529 endef
530
531 define KernelPackage/rtc-isl1208/description
532 Kernel module for Intersil ISL1208 RTC.
533 endef
534
535 $(eval $(call KernelPackage,rtc-isl1208))
536
537
538 define KernelPackage/rtc-marvell
539 SUBMENU:=$(OTHER_MENU)
540 TITLE:=Marvell SoC built-in RTC support
541 $(call AddDepends/rtc)
542 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
543 KCONFIG:=CONFIG_RTC_DRV_MV
544 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
545 AUTOLOAD:=$(call AutoProbe,rtc-mv)
546 endef
547
548 define KernelPackage/rtc-marvell/description
549 Kernel module for Marvell SoC built-in RTC.
550 endef
551
552 $(eval $(call KernelPackage,rtc-marvell))
553
554 define KernelPackage/rtc-pcf8563
555 SUBMENU:=$(OTHER_MENU)
556 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
557 $(call AddDepends/rtc,+kmod-i2c-core)
558 KCONFIG:=CONFIG_RTC_DRV_PCF8563
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 $(call AddDepends/rtc)
575 KCONFIG:=CONFIG_RTC_DRV_PCF2123
576 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
577 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
578 endef
579
580 define KernelPackage/rtc-pcf2123/description
581 Kernel module for Philips PCF2123 RTC chip
582 endef
583
584 $(eval $(call KernelPackage,rtc-pcf2123))
585
586 define KernelPackage/rtc-pt7c4338
587 SUBMENU:=$(OTHER_MENU)
588 TITLE:=Pericom PT7C4338 RTC support
589 $(call AddDepends/rtc,+kmod-i2c-core)
590 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
591 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
592 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
593 endef
594
595 define KernelPackage/rtc-pt7c4338/description
596 Kernel module for Pericom PT7C4338 i2c RTC chip
597 endef
598
599 $(eval $(call KernelPackage,rtc-pt7c4338))
600
601
602 define KernelPackage/mtdtests
603 SUBMENU:=$(OTHER_MENU)
604 TITLE:=MTD subsystem tests
605 KCONFIG:=CONFIG_MTD_TESTS
606 DEPENDS:=+kmod-nand
607 FILES:=\
608 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
609 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
610 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
611 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
612 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
613 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
614 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
615 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
616 endef
617
618 define KernelPackage/mtdtests/description
619 Kernel modules for MTD subsystem/driver testing
620 endef
621
622 $(eval $(call KernelPackage,mtdtests))
623
624
625 define KernelPackage/nand
626 SUBMENU:=$(OTHER_MENU)
627 TITLE:=NAND flash support
628 KCONFIG:=CONFIG_MTD_NAND \
629 CONFIG_MTD_NAND_IDS \
630 CONFIG_MTD_NAND_ECC
631 FILES:= \
632 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
633 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
634 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
635 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
636 endef
637
638 define KernelPackage/nand/description
639 Kernel module for NAND support
640 endef
641
642 $(eval $(call KernelPackage,nand))
643
644
645 define KernelPackage/nandsim
646 SUBMENU:=$(OTHER_MENU)
647 TITLE:=NAND simulator
648 DEPENDS:=+kmod-nand
649 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
650 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
651 endef
652
653 define KernelPackage/nandsim/description
654 Kernel module for NAND flash simulation.
655 endef
656
657 $(eval $(call KernelPackage,nandsim))
658
659 define KernelPackage/serial-8250
660 SUBMENU:=$(OTHER_MENU)
661 TITLE:=8250 UARTs
662 KCONFIG:= CONFIG_SERIAL_8250 \
663 CONFIG_SERIAL_8250_NR_UARTS=16 \
664 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
665 CONFIG_SERIAL_8250_EXTENDED=y \
666 CONFIG_SERIAL_8250_MANY_PORTS=y \
667 CONFIG_SERIAL_8250_SHARE_IRQ=y \
668 CONFIG_SERIAL_8250_DETECT_IRQ=n \
669 CONFIG_SERIAL_8250_RSA=n
670 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
671 endef
672
673 define KernelPackage/serial-8250/description
674 Kernel module for 8250 UART based serial ports
675 endef
676
677 $(eval $(call KernelPackage,serial-8250))
678
679
680 define KernelPackage/regmap
681 SUBMENU:=$(OTHER_MENU)
682 TITLE:=Generic register map support
683 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
684 KCONFIG:=CONFIG_REGMAP \
685 CONFIG_REGMAP_SPI \
686 CONFIG_REGMAP_I2C \
687 CONFIG_SPI=y
688 FILES:= \
689 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
690 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
691 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
692 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
693 endef
694
695 define KernelPackage/regmap/description
696 Generic register map support
697 endef
698
699 $(eval $(call KernelPackage,regmap))
700
701 define KernelPackage/ikconfig
702 SUBMENU:=$(OTHER_MENU)
703 TITLE:=Kernel configuration via /proc/config.gz
704 KCONFIG:=CONFIG_IKCONFIG \
705 CONFIG_IKCONFIG_PROC=y
706 FILES:=$(LINUX_DIR)/kernel/configs.ko
707 AUTOLOAD:=$(call AutoLoad,70,configs)
708 endef
709
710 define KernelPackage/ikconfig/description
711 Kernel configuration via /proc/config.gz
712 endef
713
714 $(eval $(call KernelPackage,ikconfig))
715
716
717 define KernelPackage/zram
718 SUBMENU:=$(OTHER_MENU)
719 TITLE:=ZRAM
720 DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
721 KCONFIG:= \
722 CONFIG_ZSMALLOC \
723 CONFIG_ZRAM \
724 CONFIG_ZRAM_DEBUG=n \
725 CONFIG_PGTABLE_MAPPING=n
726 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.14.0)),1)
727 FILES:=\
728 $(LINUX_DIR)/mm/zsmalloc.ko \
729 $(LINUX_DIR)/drivers/block/zram/zram.ko
730 else
731 FILES:= \
732 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
733 $(LINUX_DIR)/drivers/staging/zram/zram.ko
734 endif
735 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
736 endef
737
738 define KernelPackage/zram/description
739 Compressed RAM block device support
740 endef
741
742 $(eval $(call KernelPackage,zram))
743
744
745 define KernelPackage/mvsdio
746 SUBMENU:=$(OTHER_MENU)
747 TITLE:=Marvell SDIO support
748 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
749 KCONFIG:=CONFIG_MMC_MVSDIO
750 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
751 AUTOLOAD:=$(call AutoProbe,mvsdio)
752 endef
753
754 define KernelPacakge/mvsdio/description
755 Kernel support for the Marvell SDIO controller
756 endef
757
758 $(eval $(call KernelPackage,mvsdio))
759
760
761 define KernelPackage/pps
762 SUBMENU:=$(OTHER_MENU)
763 TITLE:=PPS support
764 KCONFIG:=CONFIG_PPS
765 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
766 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
767 endef
768
769 define KernelPacakge/pps/description
770 PPS (Pulse Per Second) is a special pulse provided by some GPS
771 antennae. Userland can use it to get a high-precision time
772 reference.
773 endef
774
775 $(eval $(call KernelPackage,pps))
776
777
778 define KernelPackage/ptp
779 SUBMENU:=$(OTHER_MENU)
780 TITLE:=PTP clock support
781 DEPENDS:=+kmod-pps
782 KCONFIG:=CONFIG_PTP_1588_CLOCK
783 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
784 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
785 endef
786
787 define KernelPacakge/ptp/description
788 The IEEE 1588 standard defines a method to precisely
789 synchronize distributed clocks over Ethernet networks.
790 endef
791
792 $(eval $(call KernelPackage,ptp))
793
794
795 define KernelPackage/ptp-gianfar
796 SUBMENU:=$(OTHER_MENU)
797 TITLE:=Freescale Gianfar PTP support
798 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
799 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
800 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
801 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
802 endef
803
804 define KernelPacakge/ptp-gianfar/description
805 Kernel module for IEEE 1588 support for Freescale
806 Gianfar Ethernet drivers
807 endef
808
809 $(eval $(call KernelPackage,ptp-gianfar))
810
811
812 define KernelPackage/random-core
813 SUBMENU:=$(OTHER_MENU)
814 TITLE:=Hardware Random Number Generator Core support
815 KCONFIG:=CONFIG_HW_RANDOM
816 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
817 endef
818
819 define KernelPackage/random-core/description
820 Kernel module for the HW random number generator core infrastructure
821 endef
822
823 $(eval $(call KernelPackage,random-core))
824
825
826 define KernelPackage/thermal
827 SUBMENU:=$(OTHER_MENU)
828 TITLE:=Generic Thermal sysfs driver
829 DEPENDS:=+kmod-hwmon-core
830 HIDDEN:=1
831 KCONFIG:= \
832 CONFIG_THERMAL \
833 CONFIG_THERMAL_OF=y \
834 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
835 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
836 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
837 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
838 CONFIG_THERMAL_GOV_STEP_WISE=y \
839 CONFIG_THERMAL_GOV_USER_SPACE=n \
840 CONFIG_THERMAL_EMULATION=n
841 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
842 AUTOLOAD:=$(call AutoProbe,thermal_sys)
843 endef
844
845 define KernelPackage/thermal/description
846 Generic Thermal Sysfs driver offers a generic mechanism for thermal
847 management. Usually it's made up of one or more thermal zone and cooling
848 device.
849 endef
850
851 $(eval $(call KernelPackage,thermal))
852
853
854 define KernelPackage/thermal-armada
855 SUBMENU:=$(OTHER_MENU)
856 TITLE:=Armada 370/XP thermal management
857 DEPENDS:=@TARGET_mvebu +kmod-thermal
858 KCONFIG:=CONFIG_ARMADA_THERMAL
859 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
860 AUTOLOAD:=$(call AutoProbe,armada_thermal)
861 endef
862
863 define KernelPackage/thermal-armada/description
864 Enable this module if you want to have support for thermal management
865 controller present in Armada 370 and Armada XP SoC.
866 endef
867
868 $(eval $(call KernelPackage,thermal-armada))
869
870
871 define KernelPackage/thermal-imx
872 SUBMENU:=$(OTHER_MENU)
873 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
874 DEPENDS:=@TARGET_imx6 +kmod-thermal
875 KCONFIG:= \
876 CONFIG_CPU_THERMAL=y \
877 CONFIG_IMX_THERMAL
878 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
879 AUTOLOAD:=$(call AutoProbe,imx_thermal)
880 endef
881
882 define KernelPackage/thermal-imx/description
883 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
884 It supports one critical trip point and one passive trip point. The
885 cpufreq is used as the cooling device to throttle CPUs when the
886 passive trip is crossed.
887 endef
888
889 $(eval $(call KernelPackage,thermal-imx))
890
891
892 define KernelPackage/thermal-kirkwood
893 SUBMENU:=$(OTHER_MENU)
894 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
895 DEPENDS:=@TARGET_kirkwood +kmod-thermal
896 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
897 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
898 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
899 endef
900
901 define KernelPackage/thermal-kirkwood/description
902 Support for the Kirkwood thermal sensor driver into the Linux thermal
903 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
904 endef
905
906 $(eval $(call KernelPackage,thermal-kirkwood))