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