kernel: remove kmod-gpio-cs5535, it was only relevant for old kernel versions
[openwrt.git] / package / kernel / 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/bluetooth
14   SUBMENU:=$(OTHER_MENU)
15   TITLE:=Bluetooth support
16   DEPENDS:=@USB_SUPPORT +kmod-usb-core
17   KCONFIG:= \
18         CONFIG_BLUEZ \
19         CONFIG_BLUEZ_L2CAP \
20         CONFIG_BLUEZ_SCO \
21         CONFIG_BLUEZ_RFCOMM \
22         CONFIG_BLUEZ_BNEP \
23         CONFIG_BLUEZ_HCIUART \
24         CONFIG_BLUEZ_HCIUSB \
25         CONFIG_BLUEZ_HIDP \
26         CONFIG_BT \
27         CONFIG_BT_L2CAP=y \
28         CONFIG_BT_SCO=y \
29         CONFIG_BT_RFCOMM \
30         CONFIG_BT_BNEP \
31         CONFIG_BT_HCIBTUSB \
32         CONFIG_BT_HCIUSB \
33         CONFIG_BT_HCIUART \
34         CONFIG_BT_HCIUART_H4 \
35         CONFIG_BT_HIDP \
36         CONFIG_HID_SUPPORT=y
37   $(call AddDepends/crc16)
38   $(call AddDepends/hid)
39   $(call AddDepends/rfkill)
40   FILES:= \
41         $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
42         $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
43         $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
44         $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
45         $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
46         $(LINUX_DIR)/drivers/bluetooth/btusb.ko
47   AUTOLOAD:=$(call AutoLoad,90,bluetooth rfcomm bnep hidp hci_uart btusb)
48 endef
49
50 define KernelPackage/bluetooth/description
51  Kernel support for Bluetooth devices
52 endef
53
54 $(eval $(call KernelPackage,bluetooth))
55
56
57 define KernelPackage/bluetooth-hci-h4p
58   SUBMENU:=$(OTHER_MENU)
59   TITLE:=HCI driver with H4 Nokia extensions
60   DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
61   KCONFIG:=CONFIG_BT_HCIH4P
62   FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
63   AUTOLOAD:=$(call AutoLoad,91,hci_h4p)
64 endef
65
66 define KernelPackage/bluetooth-hci-h4p/description
67   HCI driver with H4 Nokia extensions
68 endef
69
70 $(eval $(call KernelPackage,bluetooth-hci-h4p))
71
72
73 define KernelPackage/cpu-msr
74   SUBMENU:=$(OTHER_MENU)
75   TITLE:=x86 CPU MSR support
76   DEPENDS:=@TARGET_x86
77   KCONFIG:=CONFIG_X86_MSR
78   FILES:=$(LINUX_DIR)/arch/x86/kernel/msr.ko
79   AUTOLOAD:=$(call AutoLoad,20,msr)
80 endef
81
82 define KernelPackage/cpu-msr/description
83  Kernel module for Model Specific Registers support in x86 CPUs
84 endef
85
86 $(eval $(call KernelPackage,cpu-msr))
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 AutoLoad,60,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 AutoLoad,61,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-cs5535-new
136   SUBMENU:=$(OTHER_MENU)
137   TITLE:=AMD CS5535/CS5536 GPIO driver with improved sysfs support
138   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd
139   KCONFIG:=CONFIG_GPIO_CS5535
140 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.1.0)),1)
141   FILES:=$(LINUX_DIR)/drivers/gpio/gpio-cs5535.ko
142   AUTOLOAD:=$(call AutoLoad,50,gpio-cs5535)
143 else
144   FILES:=$(LINUX_DIR)/drivers/gpio/cs5535-gpio.ko
145   AUTOLOAD:=$(call AutoLoad,50,cs5535-gpio)
146 endif
147 endef
148
149 define KernelPackage/gpio-cs5535-new/description
150  This package contains the new AMD CS5535/CS5536 GPIO driver
151 endef
152
153 $(eval $(call KernelPackage,gpio-cs5535-new))
154
155
156 define KernelPackage/gpio-dev
157   SUBMENU:=$(OTHER_MENU)
158   TITLE:=Generic GPIO char device support
159   DEPENDS:=@GPIO_SUPPORT
160   KCONFIG:=CONFIG_GPIO_DEVICE
161   FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
162   AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
163 endef
164
165 define KernelPackage/gpio-dev/description
166   Kernel module to allows control of GPIO pins using a character device.
167 endef
168
169 $(eval $(call KernelPackage,gpio-dev))
170
171
172 define KernelPackage/gpio-nsc
173   SUBMENU:=$(OTHER_MENU)
174   TITLE:=Natsemi GPIO support
175   DEPENDS:=@TARGET_x86
176   KCONFIG:=CONFIG_NSC_GPIO
177   FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
178   AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
179 endef
180
181 define KernelPackage/gpio-nsc/description
182  Kernel module for Natsemi GPIO
183 endef
184
185 $(eval $(call KernelPackage,gpio-nsc))
186
187
188 define KernelPackage/gpio-pc8736x
189   SUBMENU:=$(OTHER_MENU)
190   TITLE:=PC8736x GPIO support
191   DEPENDS:=@TARGET_x86
192   KCONFIG:=CONFIG_PC8736x_GPIO
193   FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
194   AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
195 endef
196
197 define KernelPackage/gpio-pc8736x/description
198  Kernel module for PC8736x GPIO
199 endef
200
201 $(eval $(call KernelPackage,gpio-pc8736x))
202
203
204 define KernelPackage/gpio-scx200
205   SUBMENU:=$(OTHER_MENU)
206   TITLE:=Natsemi SCX200 GPIO support
207   DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
208   KCONFIG:=CONFIG_SCx200_GPIO
209   FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
210   AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
211 endef
212
213 define KernelPackage/gpio-scx200/description
214  Kernel module for SCX200 GPIO
215 endef
216
217 $(eval $(call KernelPackage,gpio-scx200))
218
219 define KernelPackage/gpio-nxp-74hc164
220   SUBMENU:=$(OTHER_MENU)
221   TITLE:=NXP 74HC164 GPIO expander support
222   DEPENDS:=@TARGET_brcm63xx
223   KCONFIG:=CONFIG_GPIO_NXP_74HC164
224   FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
225   AUTOLOAD:=$(call AutoLoad,99,nxp_74hc164)
226 endef
227
228 define KernelPackage/gpio-nxp-74hc164/description
229   Kernel module for NXP 74HC164 GPIO expander
230 endef
231
232 $(eval $(call KernelPackage,gpio-nxp-74hc164))
233
234 define KernelPackage/hid
235   SUBMENU:=$(OTHER_MENU)
236   TITLE:=HID Devices
237   KCONFIG:=CONFIG_HID
238   FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
239   AUTOLOAD:=$(call AutoLoad,61,hid)
240   $(call AddDepends/input,+kmod-input-evdev)
241 endef
242
243 define KernelPackage/hid/description
244  Kernel modules for HID devices
245 endef
246
247 $(eval $(call KernelPackage,hid))
248
249
250 define KernelPackage/input-core
251   SUBMENU:=$(OTHER_MENU)
252   TITLE:=Input device core
253   KCONFIG:=CONFIG_INPUT
254   FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
255   AUTOLOAD:=$(call AutoLoad,19,input-core)
256 endef
257
258 define KernelPackage/input-core/description
259  Kernel modules for support of input device
260 endef
261
262 $(eval $(call KernelPackage,input-core))
263
264
265 define KernelPackage/input-evdev
266   SUBMENU:=$(OTHER_MENU)
267   TITLE:=Input event device
268   KCONFIG:=CONFIG_INPUT_EVDEV
269   FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
270   AUTOLOAD:=$(call AutoLoad,60,evdev)
271   $(call AddDepends/input)
272 endef
273
274 define KernelPackage/input-evdev/description
275  Kernel modules for support of input device events
276 endef
277
278 $(eval $(call KernelPackage,input-evdev))
279
280
281 define KernelPackage/input-gpio-buttons
282   SUBMENU:=$(OTHER_MENU)
283   TITLE:=Polled GPIO buttons input device
284   DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
285   KCONFIG:= \
286         CONFIG_INPUT_GPIO_BUTTONS \
287         CONFIG_INPUT_MISC=y
288   FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
289   AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
290 endef
291
292 define KernelPackage/input-gpio-buttons/description
293  Kernel module for support polled GPIO buttons input device
294 endef
295
296 $(eval $(call KernelPackage,input-gpio-buttons))
297
298
299 define KernelPackage/input-gpio-keys
300   SUBMENU:=$(OTHER_MENU)
301   TITLE:=GPIO key support
302   DEPENDS:= @GPIO_SUPPORT
303   KCONFIG:= \
304         CONFIG_KEYBOARD_GPIO \
305         CONFIG_INPUT_KEYBOARD=y
306   FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
307   AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
308   $(call AddDepends/input)
309 endef
310
311 define KernelPackage/input-gpio-keys/description
312  This driver implements support for buttons connected
313  to GPIO pins of various CPUs (and some other chips).
314 endef
315
316 $(eval $(call KernelPackage,input-gpio-keys))
317
318
319 define KernelPackage/input-gpio-keys-polled
320   SUBMENU:=$(OTHER_MENU)
321   TITLE:=Polled GPIO key support
322   DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
323   KCONFIG:= \
324         CONFIG_KEYBOARD_GPIO_POLLED \
325         CONFIG_INPUT_KEYBOARD=y
326   FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko
327   AUTOLOAD:=$(call AutoLoad,62,gpio_keys_polled)
328   $(call AddDepends/input)
329 endef
330
331 define KernelPackage/input-gpio-keys-polled/description
332  Kernel module for support polled GPIO keys input device
333 endef
334
335 $(eval $(call KernelPackage,input-gpio-keys-polled))
336
337
338 define KernelPackage/input-gpio-encoder
339   SUBMENU:=$(OTHER_MENU)
340   TITLE:=GPIO rotay encoder
341   KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
342   FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
343   AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
344   $(call AddDepends/input,@GPIO_SUPPORT)
345 endef
346
347 define KernelPackage/gpio-encoder/description
348  Kernel module to use rotary encoders connected to GPIO pins
349 endef
350
351 $(eval $(call KernelPackage,input-gpio-encoder))
352
353
354 define KernelPackage/input-joydev
355   SUBMENU:=$(OTHER_MENU)
356   TITLE:=Joystick device support
357   KCONFIG:=CONFIG_INPUT_JOYDEV
358   FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
359   AUTOLOAD:=$(call AutoLoad,62,joydev)
360   $(call AddDepends/input)
361 endef
362
363 define KernelPackage/input-joydev/description
364   Kernel module for joystick support
365 endef
366
367 $(eval $(call KernelPackage,input-joydev))
368
369
370 define KernelPackage/input-polldev
371   SUBMENU:=$(OTHER_MENU)
372   TITLE:=Polled Input device support
373   KCONFIG:=CONFIG_INPUT_POLLDEV
374   FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
375   AUTOLOAD:=$(call AutoLoad,20,input-polldev)
376   $(call AddDepends/input)
377 endef
378
379 define KernelPackage/input-polldev/description
380  Kernel module for support of polled input devices
381 endef
382
383 $(eval $(call KernelPackage,input-polldev))
384
385
386 define KernelPackage/lp
387   SUBMENU:=$(OTHER_MENU)
388   TITLE:=Parallel port and line printer support
389   DEPENDS:=@BROKEN
390   KCONFIG:= \
391         CONFIG_PARPORT \
392         CONFIG_PRINTER \
393         CONFIG_PPDEV
394   FILES:= \
395         $(LINUX_DIR)/drivers/parport/parport.ko \
396         $(LINUX_DIR)/drivers/char/lp.ko \
397         $(LINUX_DIR)/drivers/char/ppdev.ko
398   AUTOLOAD:=$(call AutoLoad,50,parport lp)
399 endef
400
401 $(eval $(call KernelPackage,lp))
402
403
404 define KernelPackage/mmc
405   SUBMENU:=$(OTHER_MENU)
406   TITLE:=MMC/SD Card Support
407   KCONFIG:= \
408         CONFIG_MMC \
409         CONFIG_MMC_BLOCK \
410         CONFIG_MMC_DEBUG=n \
411         CONFIG_MMC_UNSAFE_RESUME=n \
412         CONFIG_MMC_BLOCK_BOUNCE=y \
413         CONFIG_MMC_SDHCI=n \
414         CONFIG_MMC_TIFM_SD=n \
415         CONFIG_MMC_WBSD=n \
416         CONFIG_SDIO_UART=n
417   FILES:= \
418         $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
419         $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
420   AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
421 endef
422
423 define KernelPackage/mmc/description
424  Kernel support for MMC/SD cards
425 endef
426
427 $(eval $(call KernelPackage,mmc))
428
429
430 define KernelPackage/mmc-atmelmci
431   SUBMENU:=$(OTHER_MENU)
432   TITLE:=Amtel MMC Support
433   DEPENDS:=@TARGET_avr32 +kmod-mmc
434   KCONFIG:=CONFIG_MMC_ATMELMCI
435   FILES:=$(LINUX_DIR)/drivers/mmc/host/atmel-mci.ko
436   AUTOLOAD:=$(call AutoLoad,90,atmel-mci)
437 endef
438
439 define KernelPackage/mmc-atmelmci/description
440  Kernel support for  Atmel Multimedia Card Interface.
441 endef
442
443 $(eval $(call KernelPackage,mmc-atmelmci,1))
444
445
446 define KernelPackage/oprofile
447   SUBMENU:=$(OTHER_MENU)
448   TITLE:=OProfile profiling support
449   KCONFIG:=CONFIG_OPROFILE
450   FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
451   DEPENDS:=@KERNEL_PROFILING
452 endef
453
454 define KernelPackage/oprofile/description
455   Kernel module for support for oprofile system profiling.
456 endef
457
458 $(eval $(call KernelPackage,oprofile))
459
460
461 define KernelPackage/rfkill
462   SUBMENU:=$(OTHER_MENU)
463   TITLE:=RF switch subsystem support
464   KCONFIG:= \
465     CONFIG_RFKILL \
466     CONFIG_RFKILL_INPUT=y \
467     CONFIG_RFKILL_LEDS=y
468   FILES:= \
469     $(LINUX_DIR)/net/rfkill/rfkill.ko
470   AUTOLOAD:=$(call AutoLoad,20,rfkill)
471   $(call SetDepends/rfkill)
472 endef
473
474 define KernelPackage/rfkill/description
475   Say Y here if you want to have control over RF switches
476   found on many WiFi and Bluetooth cards.
477 endef
478
479 $(eval $(call KernelPackage,rfkill))
480
481
482 define KernelPackage/softdog
483   SUBMENU:=$(OTHER_MENU)
484   TITLE:=Software watchdog driver
485   KCONFIG:=CONFIG_SOFT_WATCHDOG
486   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
487   AUTOLOAD:=$(call AutoLoad,50,softdog)
488 endef
489
490 define KernelPackage/softdog/description
491  Software watchdog driver
492 endef
493
494 $(eval $(call KernelPackage,softdog))
495
496
497 define KernelPackage/ssb
498   SUBMENU:=$(OTHER_MENU)
499   TITLE:=Silicon Sonics Backplane glue code
500   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
501   KCONFIG:=\
502         CONFIG_SSB \
503         CONFIG_SSB_B43_PCI_BRIDGE=y \
504         CONFIG_SSB_DRIVER_MIPS=n \
505         CONFIG_SSB_DRIVER_PCICORE=y \
506         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
507         CONFIG_SSB_PCIHOST=y \
508         CONFIG_SSB_PCIHOST_POSSIBLE=y \
509         CONFIG_SSB_POSSIBLE=y \
510         CONFIG_SSB_SPROM=y \
511         CONFIG_SSB_SILENT=y
512   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
513   AUTOLOAD:=$(call AutoLoad,29,ssb)
514 endef
515
516 define KernelPackage/ssb/description
517   Silicon Sonics Backplane glue code.
518 endef
519
520 $(eval $(call KernelPackage,ssb))
521
522
523 define KernelPackage/bcma
524   SUBMENU:=$(OTHER_MENU)
525   TITLE:=BCMA support
526   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
527   KCONFIG:=\
528         CONFIG_BCMA \
529         CONFIG_BCMA_POSSIBLE=y \
530         CONFIG_BCMA_BLOCKIO=y \
531         CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
532         CONFIG_BCMA_HOST_PCI=y \
533         CONFIG_BCMA_DRIVER_MIPS=n \
534         CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
535         CONFIG_BCMA_DEBUG=n
536   FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
537   AUTOLOAD:=$(call AutoLoad,29,bcma)
538 endef
539
540 define KernelPackage/bcma/description
541    Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture.
542 endef
543
544 $(eval $(call KernelPackage,bcma))
545
546
547 define KernelPackage/wdt-geode
548   SUBMENU:=$(OTHER_MENU)
549   TITLE:=Geode/LX Watchdog timer
550   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
551   KCONFIG:=CONFIG_GEODE_WDT
552   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
553   AUTOLOAD:=$(call AutoLoad,50,geodewdt)
554 endef
555
556 define KernelPackage/wdt-geode/description
557   Kernel module for Geode watchdog timer.
558 endef
559
560 $(eval $(call KernelPackage,wdt-geode))
561
562
563 define KernelPackage/cs5535-clockevt
564   SUBMENU:=$(OTHER_MENU)
565   TITLE:=CS5535/CS5536 high-res timer (MFGPT) events
566   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
567   KCONFIG:=CONFIG_CS5535_CLOCK_EVENT_SRC
568   FILES:=$(LINUX_DIR)/drivers/clocksource/cs5535-clockevt.ko
569   AUTOLOAD:=$(call AutoLoad,50,cs5535-clockevt)
570 endef
571
572 define KernelPackage/cs5535-clockevt/description
573   Kernel module for CS5535/6 high-res clock event source
574 endef
575
576 $(eval $(call KernelPackage,cs5535-clockevt))
577
578
579 define KernelPackage/cs5535-mfgpt
580   SUBMENU:=$(OTHER_MENU)
581   TITLE:=CS5535/6 Multifunction General Purpose Timer
582   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd
583   KCONFIG:=CONFIG_CS5535_MFGPT
584   FILES:=$(LINUX_DIR)/drivers/misc/cs5535-mfgpt.ko
585   AUTOLOAD:=$(call AutoLoad,45,cs5535-mfgpt)
586 endef
587
588 define KernelPackage/cs5535-mfgpt/description
589   Kernel module for CS5535/6 multifunction general purpose timer.
590 endef
591
592 $(eval $(call KernelPackage,cs5535-mfgpt))
593
594
595 define KernelPackage/cs5535-mfd
596   SUBMENU:=$(OTHER_MENU)
597   TITLE:=CS5535/6 Multifunction General Purpose Driver
598   DEPENDS:=@TARGET_x86
599   KCONFIG:=CONFIG_MFD_CS5535
600   FILES:= \
601         $(LINUX_DIR)/drivers/mfd/mfd-core.ko \
602         $(LINUX_DIR)/drivers/mfd/cs5535-mfd.ko
603   AUTOLOAD:=$(call AutoLoad,44,mfd-core cs5535-mfd)
604 endef
605
606 define KernelPackage/cs5535-mfd/description
607   Core driver for CS5535/CS5536 MFD functions.
608 endef
609
610 $(eval $(call KernelPackage,cs5535-mfd))
611
612
613 define KernelPackage/wdt-omap
614   SUBMENU:=$(OTHER_MENU)
615   TITLE:=OMAP Watchdog timer
616   DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
617   KCONFIG:=CONFIG_OMAP_WATCHDOG
618   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
619   AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
620 endef
621
622 define KernelPackage/wdt-omap/description
623   Kernel module for TI omap watchdog timer.
624 endef
625
626 $(eval $(call KernelPackage,wdt-omap))
627
628
629 define KernelPackage/wdt-orion
630   SUBMENU:=$(OTHER_MENU)
631   TITLE:=Marvell Orion Watchdog timer
632   DEPENDS:=@TARGET_orion
633   KCONFIG:=CONFIG_ORION_WATCHDOG
634   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
635   AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
636 endef
637
638 define KernelPackage/wdt-orion/description
639   Kernel module for Marvell orion watchdog timer.
640 endef
641
642 $(eval $(call KernelPackage,wdt-orion))
643
644
645 define KernelPackage/wdt-sc520
646   SUBMENU:=$(OTHER_MENU)
647   TITLE:=Natsemi SC520 Watchdog support
648   DEPENDS:=@TARGET_x86
649   KCONFIG:=CONFIG_SC520_WDT
650   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
651   AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
652 endef
653
654 define KernelPackage/wdt-sc520/description
655   Kernel module for SC520 Watchdog
656 endef
657
658 $(eval $(call KernelPackage,wdt-sc520))
659
660
661 define KernelPackage/wdt-scx200
662   SUBMENU:=$(OTHER_MENU)
663   TITLE:=Natsemi SCX200 Watchdog support
664   DEPENDS:=@TARGET_x86
665   KCONFIG:=CONFIG_SCx200_WDT
666   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
667   AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
668 endef
669
670 define KernelPackage/wdt-scx200/description
671  Kernel module for SCX200 Watchdog
672 endef
673
674 $(eval $(call KernelPackage,wdt-scx200))
675
676
677 define KernelPackage/wdt-ath79
678   SUBMENU:=$(OTHER_MENU)
679   TITLE:=Atheros AR7XXX/AR9XXX watchdog timer
680   DEPENDS:=@TARGET_ar71xx
681   KCONFIG:=CONFIG_ATH79_WDT
682   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/ath79_wdt.ko
683   AUTOLOAD:=$(call AutoLoad,50,ath79_wdt)
684 endef
685
686 define KernelPackage/wdt-ath79/description
687   Kernel module for AR7XXX/AR9XXX watchdog timer.
688 endef
689
690 $(eval $(call KernelPackage,wdt-ath79))
691
692
693 define KernelPackage/booke-wdt
694   SUBMENU:=$(OTHER_MENU)
695   TITLE:=PowerPC Book-E Watchdog Timer
696   DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
697   KCONFIG:=CONFIG_BOOKE_WDT
698   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
699   AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
700 endef
701
702 define KernelPackage/booke-wdt/description
703   Kernel module for PowerPC Book-E Watchdog Timer.
704 endef
705
706 $(eval $(call KernelPackage,booke-wdt))
707
708
709 define KernelPackage/pwm
710   SUBMENU:=$(OTHER_MENU)
711   TITLE:=PWM generic API
712   KCONFIG:=CONFIG_GENERIC_PWM
713   FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
714   AUTOLOAD:=$(call AutoLoad,50,pwm)
715 endef
716
717 define KernelPackage/pwm/description
718  Kernel module that implement a generic PWM API
719 endef
720
721 $(eval $(call KernelPackage,pwm))
722
723
724 define KernelPackage/pwm-gpio
725   SUBMENU:=$(OTHER_MENU)
726   TITLE:=PWM over GPIO
727   DEPENDS:=+kmod-pwm
728   KCONFIG:=CONFIG_GPIO_PWM
729   FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
730   AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
731 endef
732
733 define KernelPackage/pwm-gpio/description
734  Kernel module to models a single-channel PWM device using a timer and a GPIO pin
735 endef
736
737 $(eval $(call KernelPackage,pwm-gpio))
738
739 define KernelPackage/rtc-core-2.6
740   SUBMENU:=$(OTHER_MENU)
741   DEPENDS:=@(LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39)
742   TITLE:=Real Time Clock class support
743   KCONFIG:=CONFIG_RTC_CLASS
744   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-core.ko
745   AUTOLOAD:=$(call AutoLoad,29,rtc-core)
746 endef
747
748 define KernelPackage/rtc-core-2.6/description
749  Generic RTC class support.
750 endef
751
752 $(eval $(call KernelPackage,rtc-core-2.6))
753
754 define KernelPackage/rtc-core-3.x
755   SUBMENU:=$(OTHER_MENU)
756   DEPENDS:=@!(LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39)
757   TITLE:=Real Time Clock class support
758   KCONFIG:=CONFIG_RTC_CLASS=y
759 endef
760
761 define KernelPackage/rtc-core-3.x/description
762  Generic RTC class support.
763 endef
764
765 $(eval $(call KernelPackage,rtc-core-3.x))
766
767 define KernelPackage/rtc-pcf8563
768   SUBMENU:=$(OTHER_MENU)
769   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
770   $(call AddDepends/rtc)
771   KCONFIG:=CONFIG_RTC_DRV_PCF8563
772   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
773   AUTOLOAD:=$(call AutoLoad,60,rtc-pcf8563)
774 endef
775
776 define KernelPackage/rtc-pcf8563/description
777  Kernel module for Philips PCF8563 RTC chip.
778  The Epson RTC8564 should work as well.
779 endef
780
781 $(eval $(call KernelPackage,rtc-pcf8563))
782
783
784 define KernelPackage/rtc-pcf2123
785   SUBMENU:=$(OTHER_MENU)
786   TITLE:=Philips PCF2123 RTC support
787   $(call AddDepends/rtc)
788   KCONFIG:=CONFIG_RTC_DRV_PCF2123
789   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
790   AUTOLOAD:=$(call AutoLoad,60,rtc-pcf2123)
791 endef
792
793 define KernelPackage/rtc-pcf2123/description
794  Kernel module for Philips PCF2123 RTC chip.
795 endef
796
797 $(eval $(call KernelPackage,rtc-pcf2123))
798
799 define KernelPackage/rtc-pt7c4338
800   SUBMENU:=$(OTHER_MENU)
801   TITLE:=Pericom PT7C4338 RTC support
802   $(call AddDepends/rtc,+kmod-i2c-core)
803   KCONFIG:=CONFIG_RTC_DRV_PT7C4338
804   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
805   AUTOLOAD:=$(call AutoLoad,60,rtc-pt7c4338)
806 endef
807
808 define KernelPackage/rtc-pt7c4338/description
809  Kernel module for Pericom PT7C4338 i2c RTC chip.
810 endef
811
812 $(eval $(call KernelPackage,rtc-pt7c4338))
813
814 define KernelPackage/n810bm
815   SUBMENU:=$(OTHER_MENU)
816   TITLE:=Nokia N810 battery management driver
817   DEPENDS:=@TARGET_omap24xx
818   KCONFIG:=CONFIG_N810BM
819   FILES:=$(LINUX_DIR)/drivers/cbus/n810bm.ko
820   AUTOLOAD:=$(call AutoLoad,01,n810bm)
821 endef
822
823 define KernelPackage/n810bm/description
824   Nokia N810 battery management driver.
825   Controls battery power management and battery charging.
826 endef
827
828 $(eval $(call KernelPackage,n810bm))
829
830
831 define KernelPackage/mtdtests
832   SUBMENU:=$(OTHER_MENU)
833   TITLE:=MTD subsystem tests
834   KCONFIG:=CONFIG_MTD_TESTS
835   FILES:=\
836         $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
837         $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
838         $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
839         $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
840         $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
841         $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
842         $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
843         $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
844 endef
845
846 define KernelPackage/mtdtests/description
847  Kernel modules for MTD subsystem/driver testing.
848 endef
849
850 $(eval $(call KernelPackage,mtdtests))
851
852
853 define KernelPackage/nand
854   SUBMENU:=$(OTHER_MENU)
855   TITLE:=NAND flash support
856   DEPENDS:=@!(LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39)
857   KCONFIG:=CONFIG_MTD_NAND \
858         CONFIG_MTD_NAND_IDS \
859         CONFIG_MTD_NAND_ECC
860   FILES:= \
861         $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
862         $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
863         $(LINUX_DIR)/drivers/mtd/nand/nand.ko
864   AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
865 endef
866
867 define KernelPackage/nand/description
868  Kernel module for NAND support.
869 endef
870
871 $(eval $(call KernelPackage,nand))
872
873
874 define KernelPackage/nandsim
875   SUBMENU:=$(OTHER_MENU)
876   TITLE:=NAND simulator
877   DEPENDS:=@!(LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39) +kmod-nand
878   KCONFIG:=CONFIG_MTD_NAND_NANDSIM
879   FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
880 endef
881
882 define KernelPackage/nandsim/description
883  Kernel module for NAND flash simulation.
884 endef
885
886 $(eval $(call KernelPackage,nandsim))
887
888 define KernelPackage/serial-8250
889   SUBMENU:=$(OTHER_MENU)
890   TITLE:=8250 UARTs
891   KCONFIG:= CONFIG_SERIAL_8250 \
892         CONFIG_SERIAL_8250_NR_UARTS=16 \
893         CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
894         CONFIG_SERIAL_8250_EXTENDED=y \
895         CONFIG_SERIAL_8250_MANY_PORTS=y \
896         CONFIG_SERIAL_8250_SHARE_IRQ=y \
897         CONFIG_SERIAL_8250_DETECT_IRQ=n \
898         CONFIG_SERIAL_8250_RSA=n
899 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.3)),1)
900   FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko
901 else
902   FILES:=$(LINUX_DIR)/drivers/tty/serial/8250.ko
903 endif
904 endef
905
906 define KernelPackage/serial-8250/description
907  Kernel module for 8250 UART based serial ports.
908 endef
909
910 $(eval $(call KernelPackage,serial-8250))
911
912
913 define KernelPackage/acpi-button
914   SUBMENU:=$(OTHER_MENU)
915   TITLE:=ACPI Button Support
916   DEPENDS:=@(TARGET_x86_generic||TARGET_x86_kvm_guest||TARGET_x86_xen_domu) +kmod-input-evdev
917   KCONFIG:=CONFIG_ACPI_BUTTON
918   FILES:=$(LINUX_DIR)/drivers/acpi/button.ko
919   AUTOLOAD:=$(call AutoLoad,06,button)
920 endef
921
922 define KernelPackage/acpi-button/description
923  Kernel module for ACPI Button support
924 endef
925
926 $(eval $(call KernelPackage,acpi-button))