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