package/kernel: invert dependencies for current kernel features
[openwrt.git] / package / kernel / modules / other.mk
1 #
2 # Copyright (C) 2006-2011 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 \
28         CONFIG_BT_SCO \
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   ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.39)),1)
48     AUTOLOAD:=$(call AutoLoad,90,bluetooth rfcomm bnep hidp hci_uart btusb)
49   else
50     FILES+= \
51         $(LINUX_DIR)/net/bluetooth/l2cap.ko \
52         $(LINUX_DIR)/net/bluetooth/sco.ko
53     AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb)
54   endif
55 endef
56
57 define KernelPackage/bluetooth/description
58  Kernel support for Bluetooth devices
59 endef
60
61 $(eval $(call KernelPackage,bluetooth))
62
63
64 define KernelPackage/bluetooth-hci-h4p
65   SUBMENU:=$(OTHER_MENU)
66   TITLE:=HCI driver with H4 Nokia extensions
67   DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
68   KCONFIG:=CONFIG_BT_HCIH4P
69   FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
70   AUTOLOAD:=$(call AutoLoad,91,hci_h4p)
71 endef
72
73 define KernelPackage/bluetooth-hci-h4p/description
74   HCI driver with H4 Nokia extensions
75 endef
76
77 $(eval $(call KernelPackage,bluetooth-hci-h4p))
78
79
80 define KernelPackage/cpu-msr
81   SUBMENU:=$(OTHER_MENU)
82   TITLE:=x86 CPU MSR support
83   DEPENDS:=@TARGET_x86
84   KCONFIG:=CONFIG_X86_MSR
85   FILES:=$(LINUX_DIR)/arch/x86/kernel/msr.ko
86   AUTOLOAD:=$(call AutoLoad,20,msr)
87 endef
88
89 define KernelPackage/cpu-msr/description
90  Kernel module for Model Specific Registers support in x86 CPUs
91 endef
92
93 $(eval $(call KernelPackage,cpu-msr))
94
95
96 define KernelPackage/eeprom-93cx6
97   SUBMENU:=$(OTHER_MENU)
98   TITLE:=EEPROM 93CX6 support
99   KCONFIG:=CONFIG_EEPROM_93CX6
100   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
101   AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
102 endef
103
104 define KernelPackage/eeprom-93cx6/description
105  Kernel module for EEPROM 93CX6 support
106 endef
107
108 $(eval $(call KernelPackage,eeprom-93cx6))
109
110
111 define KernelPackage/eeprom-at24
112   SUBMENU:=$(OTHER_MENU)
113   TITLE:=EEPROM AT24 support
114   KCONFIG:=CONFIG_EEPROM_AT24
115   DEPENDS:=+kmod-i2c-core
116   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
117   AUTOLOAD:=$(call AutoLoad,60,at24)
118 endef
119
120 define KernelPackage/eeprom-at24/description
121  Kernel module for most I2C EEPROMs
122 endef
123
124 $(eval $(call KernelPackage,eeprom-at24))
125
126
127 define KernelPackage/eeprom-at25
128   SUBMENU:=$(OTHER_MENU)
129   TITLE:=EEPROM AT25 support
130   KCONFIG:=CONFIG_EEPROM_AT25
131   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
132   AUTOLOAD:=$(call AutoLoad,61,at25)
133 endef
134
135 define KernelPackage/eeprom-at25/description
136  Kernel module for most SPI EEPROMs
137 endef
138
139 $(eval $(call KernelPackage,eeprom-at25))
140
141
142 define KernelPackage/gpio-cs5535
143   SUBMENU:=$(OTHER_MENU)
144   TITLE:=AMD CS5535/CS5536 GPIO driver
145   DEPENDS:=@TARGET_x86 @LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32||LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37
146   KCONFIG:=CONFIG_CS5535_GPIO
147   FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.ko
148   AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
149 endef
150
151 define KernelPackage/gpio-cs5535/description
152  This package contains the AMD CS5535/CS5536 GPIO driver
153 endef
154
155 $(eval $(call KernelPackage,gpio-cs5535))
156
157
158 define KernelPackage/gpio-cs5535-new
159   SUBMENU:=$(OTHER_MENU)
160   TITLE:=AMD CS5535/CS5536 GPIO driver with improved sysfs support
161   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd @!(LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32)
162   KCONFIG:=CONFIG_GPIO_CS5535
163   FILES:=$(LINUX_DIR)/drivers/gpio/cs5535-gpio.ko
164   AUTOLOAD:=$(call AutoLoad,50,cs5535-gpio)
165 endef
166
167 define KernelPackage/gpio-cs5535-new/description
168  This package contains the new AMD CS5535/CS5536 GPIO driver
169 endef
170
171 $(eval $(call KernelPackage,gpio-cs5535-new))
172
173
174 define KernelPackage/gpio-dev
175   SUBMENU:=$(OTHER_MENU)
176   TITLE:=Generic GPIO char device support
177   DEPENDS:=@GPIO_SUPPORT
178   KCONFIG:=CONFIG_GPIO_DEVICE
179   FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
180   AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
181 endef
182
183 define KernelPackage/gpio-dev/description
184   Kernel module to allows control of GPIO pins using a character device.
185 endef
186
187 $(eval $(call KernelPackage,gpio-dev))
188
189
190 define KernelPackage/gpio-nsc
191   SUBMENU:=$(OTHER_MENU)
192   TITLE:=Natsemi GPIO support
193   DEPENDS:=@TARGET_x86
194   KCONFIG:=CONFIG_NSC_GPIO
195   FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
196   AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
197 endef
198
199 define KernelPackage/gpio-nsc/description
200  Kernel module for Natsemi GPIO
201 endef
202
203 $(eval $(call KernelPackage,gpio-nsc))
204
205
206 define KernelPackage/gpio-pc8736x
207   SUBMENU:=$(OTHER_MENU)
208   TITLE:=PC8736x GPIO support
209   DEPENDS:=@TARGET_x86
210   KCONFIG:=CONFIG_PC8736x_GPIO
211   FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
212   AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
213 endef
214
215 define KernelPackage/gpio-pc8736x/description
216  Kernel module for PC8736x GPIO
217 endef
218
219 $(eval $(call KernelPackage,gpio-pc8736x))
220
221
222 define KernelPackage/gpio-scx200
223   SUBMENU:=$(OTHER_MENU)
224   TITLE:=Natsemi SCX200 GPIO support
225   DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
226   KCONFIG:=CONFIG_SCx200_GPIO
227   FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
228   AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
229 endef
230
231 define KernelPackage/gpio-scx200/description
232  Kernel module for SCX200 GPIO
233 endef
234
235 $(eval $(call KernelPackage,gpio-scx200))
236
237 define KernelPackage/gpio-nxp-74hc164
238   SUBMENU:=$(OTHER_MENU)
239   TITLE:=NXP 74HC164 GPIO expander support
240   DEPENDS:=@TARGET_brcm63xx
241   KCONFIG:=CONFIG_GPIO_NXP_74HC164
242   FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
243   AUTOLOAD:=$(call AutoLoad,99,nxp_74hc164)
244 endef
245
246 define KernelPackage/gpio-nxp-74hc164/description
247   Kernel module for NXP 74HC164 GPIO expander
248 endef
249
250 $(eval $(call KernelPackage,gpio-nxp-74hc164))
251
252 define KernelPackage/hid
253   SUBMENU:=$(OTHER_MENU)
254   TITLE:=HID Devices
255   DEPENDS:=+kmod-input-evdev
256   KCONFIG:=CONFIG_HID
257   FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
258   AUTOLOAD:=$(call AutoLoad,61,hid)
259   $(call SetDepends/hid)
260   $(call AddDepends/input)
261 endef
262
263 define KernelPackage/hid/description
264  Kernel modules for HID devices
265 endef
266
267 $(eval $(call KernelPackage,hid))
268
269
270 define KernelPackage/input-core
271   SUBMENU:=$(OTHER_MENU)
272   TITLE:=Input device core
273   KCONFIG:=CONFIG_INPUT
274   $(call SetDepends/input)
275   FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
276   AUTOLOAD:=$(call AutoLoad,19,input-core)
277 endef
278
279 define KernelPackage/input-core/description
280  Kernel modules for support of input device
281 endef
282
283 $(eval $(call KernelPackage,input-core))
284
285
286 define KernelPackage/input-evdev
287   SUBMENU:=$(OTHER_MENU)
288   TITLE:=Input event device
289   KCONFIG:=CONFIG_INPUT_EVDEV
290   FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
291   AUTOLOAD:=$(call AutoLoad,60,evdev)
292   $(call AddDepends/input)
293 endef
294
295 define KernelPackage/input-evdev/description
296  Kernel modules for support of input device events
297 endef
298
299 $(eval $(call KernelPackage,input-evdev))
300
301
302 define KernelPackage/input-gpio-buttons
303   SUBMENU:=$(OTHER_MENU)
304   TITLE:=Polled GPIO buttons input device
305   DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
306   KCONFIG:= \
307         CONFIG_INPUT_GPIO_BUTTONS \
308         CONFIG_INPUT_MISC=y
309   FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
310   AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
311 endef
312
313 define KernelPackage/input-gpio-buttons/description
314  Kernel module for support polled GPIO buttons input device
315 endef
316
317 $(eval $(call KernelPackage,input-gpio-buttons))
318
319
320 define KernelPackage/input-gpio-keys
321   SUBMENU:=$(OTHER_MENU)
322   TITLE:=GPIO key support
323   DEPENDS:= @GPIO_SUPPORT
324   KCONFIG:= \
325         CONFIG_KEYBOARD_GPIO \
326         CONFIG_INPUT_KEYBOARD=y
327   FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
328   AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
329   $(call AddDepends/input)
330 endef
331
332 define KernelPackage/input-gpio-keys/description
333  This driver implements support for buttons connected
334  to GPIO pins of various CPUs (and some other chips).
335 endef
336
337 $(eval $(call KernelPackage,input-gpio-keys))
338
339
340 define KernelPackage/input-gpio-keys-polled
341   SUBMENU:=$(OTHER_MENU)
342   TITLE:=Polled GPIO key support
343   DEPENDS:=@GPIO_SUPPORT @!(LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32||LINUX_2_6_34||LINUX_2_6_35||LINUX_2_6_36) +kmod-input-polldev
344   KCONFIG:= \
345         CONFIG_KEYBOARD_GPIO_POLLED \
346         CONFIG_INPUT_KEYBOARD=y
347   FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko
348   AUTOLOAD:=$(call AutoLoad,62,gpio_keys_polled)
349   $(call AddDepends/input)
350 endef
351
352 define KernelPackage/input-gpio-keys-polled/description
353  Kernel module for support polled GPIO keys input device
354 endef
355
356 $(eval $(call KernelPackage,input-gpio-keys-polled))
357
358
359 define KernelPackage/input-gpio-encoder
360   SUBMENU:=$(OTHER_MENU)
361   TITLE:=GPIO rotay encoder
362   KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
363   FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
364   AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
365   $(call AddDepends/input,@GPIO_SUPPORT)
366 endef
367
368 define KernelPackage/gpio-encoder/description
369  Kernel module to use rotary encoders connected to GPIO pins
370 endef
371
372 $(eval $(call KernelPackage,input-gpio-encoder))
373
374
375 define KernelPackage/input-joydev
376   SUBMENU:=$(OTHER_MENU)
377   TITLE:=Joystick device support
378   KCONFIG:=CONFIG_INPUT_JOYDEV
379   FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
380   AUTOLOAD:=$(call AutoLoad,62,joydev)
381   $(call AddDepends/input)
382 endef
383
384 define KernelPackage/input-joydev/description
385   Kernel module for joystick support
386 endef
387
388 $(eval $(call KernelPackage,input-joydev))
389
390
391 define KernelPackage/input-polldev
392   SUBMENU:=$(OTHER_MENU)
393   TITLE:=Polled Input device support
394   KCONFIG:=CONFIG_INPUT_POLLDEV
395   FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
396   AUTOLOAD:=$(call AutoLoad,20,input-polldev)
397   $(call AddDepends/input)
398 endef
399
400 define KernelPackage/input-polldev/description
401  Kernel module for support of polled input devices
402 endef
403
404 $(eval $(call KernelPackage,input-polldev))
405
406
407 define KernelPackage/lp
408   SUBMENU:=$(OTHER_MENU)
409   TITLE:=Parallel port and line printer support
410   DEPENDS:=@BROKEN
411   KCONFIG:= \
412         CONFIG_PARPORT \
413         CONFIG_PRINTER \
414         CONFIG_PPDEV
415   FILES:= \
416         $(LINUX_DIR)/drivers/parport/parport.ko \
417         $(LINUX_DIR)/drivers/char/lp.ko \
418         $(LINUX_DIR)/drivers/char/ppdev.ko
419   AUTOLOAD:=$(call AutoLoad,50,parport lp)
420 endef
421
422 $(eval $(call KernelPackage,lp))
423
424
425 define KernelPackage/mmc
426   SUBMENU:=$(OTHER_MENU)
427   TITLE:=MMC/SD Card Support
428   KCONFIG:= \
429         CONFIG_MMC \
430         CONFIG_MMC_BLOCK \
431         CONFIG_MMC_DEBUG=n \
432         CONFIG_MMC_UNSAFE_RESUME=n \
433         CONFIG_MMC_BLOCK_BOUNCE=y \
434         CONFIG_MMC_SDHCI=n \
435         CONFIG_MMC_TIFM_SD=n \
436         CONFIG_MMC_WBSD=n \
437         CONFIG_SDIO_UART=n
438   FILES:= \
439         $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
440         $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
441   AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
442 endef
443
444 define KernelPackage/mmc/description
445  Kernel support for MMC/SD cards
446 endef
447
448 $(eval $(call KernelPackage,mmc))
449
450
451 define KernelPackage/mmc-atmelmci
452   SUBMENU:=$(OTHER_MENU)
453   TITLE:=Amtel MMC Support
454   DEPENDS:=@TARGET_avr32 +kmod-mmc
455   KCONFIG:=CONFIG_MMC_ATMELMCI
456   FILES:=$(LINUX_DIR)/drivers/mmc/host/atmel-mci.ko
457   AUTOLOAD:=$(call AutoLoad,90,atmel-mci)
458 endef
459
460 define KernelPackage/mmc-atmelmci/description
461  Kernel support for  Atmel Multimedia Card Interface.
462 endef
463
464 $(eval $(call KernelPackage,mmc-atmelmci,1))
465
466
467 define KernelPackage/oprofile
468   SUBMENU:=$(OTHER_MENU)
469   TITLE:=OProfile profiling support
470   KCONFIG:=CONFIG_OPROFILE
471   FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
472   DEPENDS:=@KERNEL_PROFILING
473 endef
474
475 define KernelPackage/oprofile/description
476   Kernel module for support for oprofile system profiling.
477 endef
478
479 $(eval $(call KernelPackage,oprofile))
480
481
482 define KernelPackage/rfkill
483   SUBMENU:=$(OTHER_MENU)
484   TITLE:=RF switch subsystem support
485   KCONFIG:= \
486     CONFIG_RFKILL \
487     CONFIG_RFKILL_INPUT=y \
488     CONFIG_RFKILL_LEDS=y
489 ifeq ($(CONFIG_LINUX_2_6_30),)
490   FILES:= \
491     $(LINUX_DIR)/net/rfkill/rfkill.ko
492   AUTOLOAD:=$(call AutoLoad,20,rfkill)
493 else
494   FILES:= \
495     $(LINUX_DIR)/net/rfkill/rfkill.ko \
496     $(LINUX_DIR)/net/rfkill/rfkill-input.ko
497   AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
498 endif
499   $(call SetDepends/rfkill)
500 endef
501
502 define KernelPackage/rfkill/description
503   Say Y here if you want to have control over RF switches
504   found on many WiFi and Bluetooth cards.
505 endef
506
507 $(eval $(call KernelPackage,rfkill))
508
509
510 define KernelPackage/softdog
511   SUBMENU:=$(OTHER_MENU)
512   TITLE:=Software watchdog driver
513   KCONFIG:=CONFIG_SOFT_WATCHDOG
514   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
515   AUTOLOAD:=$(call AutoLoad,50,softdog)
516 endef
517
518 define KernelPackage/softdog/description
519  Software watchdog driver
520 endef
521
522 $(eval $(call KernelPackage,softdog))
523
524
525 define KernelPackage/ssb
526   SUBMENU:=$(OTHER_MENU)
527   TITLE:=Silicon Sonics Backplane glue code
528   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
529   KCONFIG:=\
530         CONFIG_SSB \
531         CONFIG_SSB_B43_PCI_BRIDGE=y \
532         CONFIG_SSB_DRIVER_MIPS=n \
533         CONFIG_SSB_DRIVER_PCICORE=y \
534         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
535         CONFIG_SSB_PCIHOST=y \
536         CONFIG_SSB_PCIHOST_POSSIBLE=y \
537         CONFIG_SSB_POSSIBLE=y \
538         CONFIG_SSB_SPROM=y \
539         CONFIG_SSB_SILENT=y
540   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
541   AUTOLOAD:=$(call AutoLoad,29,ssb)
542 endef
543
544 define KernelPackage/ssb/description
545   Silicon Sonics Backplane glue code.
546 endef
547
548 $(eval $(call KernelPackage,ssb))
549
550
551 define KernelPackage/bcma
552   SUBMENU:=$(OTHER_MENU)
553   TITLE:=BCMA support
554   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
555   KCONFIG:=\
556         CONFIG_BCMA \
557         CONFIG_BCMA_POSSIBLE=y \
558         CONFIG_BCMA_BLOCKIO=y \
559         CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
560         CONFIG_BCMA_HOST_PCI=y \
561         CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
562         CONFIG_BCMA_DEBUG=n
563   FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
564   AUTOLOAD:=$(call AutoLoad,29,bcma)
565 endef
566
567 define KernelPackage/bcma/description
568    Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture.
569 endef
570
571 $(eval $(call KernelPackage,bcma))
572
573
574 define KernelPackage/wdt-geode
575   SUBMENU:=$(OTHER_MENU)
576   TITLE:=Geode/LX Watchdog timer
577   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
578   KCONFIG:=CONFIG_GEODE_WDT
579   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
580   AUTOLOAD:=$(call AutoLoad,50,geodewdt)
581 endef
582
583 define KernelPackage/wdt-geode/description
584   Kernel module for Geode watchdog timer.
585 endef
586
587 $(eval $(call KernelPackage,wdt-geode))
588
589
590 define KernelPackage/cs5535-clockevt
591   SUBMENU:=$(OTHER_MENU)
592   TITLE:=CS5535/CS5536 high-res timer (MFGPT) events
593   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
594   KCONFIG:=CONFIG_CS5535_CLOCK_EVENT_SRC
595   FILES:=$(LINUX_DIR)/drivers/clocksource/cs5535-clockevt.ko
596   AUTOLOAD:=$(call AutoLoad,50,cs5535-clockevt)
597 endef
598
599 define KernelPackage/cs5535-clockevt/description
600   Kernel module for CS5535/6 high-res clock event source
601 endef
602
603 $(eval $(call KernelPackage,cs5535-clockevt))
604
605
606 define KernelPackage/cs5535-mfgpt
607   SUBMENU:=$(OTHER_MENU)
608   TITLE:=CS5535/6 Multifunction General Purpose Timer
609   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd
610   KCONFIG:=CONFIG_CS5535_MFGPT
611   FILES:=$(LINUX_DIR)/drivers/misc/cs5535-mfgpt.ko
612   AUTOLOAD:=$(call AutoLoad,45,cs5535-mfgpt)
613 endef
614
615 define KernelPackage/cs5535-mfgpt/description
616   Kernel module for CS5535/6 multifunction general purpose timer.
617 endef
618
619 $(eval $(call KernelPackage,cs5535-mfgpt))
620
621
622 define KernelPackage/cs5535-mfd
623   SUBMENU:=$(OTHER_MENU)
624   TITLE:=CS5535/6 Multifunction General Purpose Driver
625   DEPENDS:=@TARGET_x86
626   KCONFIG:=CONFIG_MFD_CS5535
627   FILES:= \
628         $(LINUX_DIR)/drivers/mfd/mfd-core.ko \
629         $(LINUX_DIR)/drivers/mfd/cs5535-mfd.ko 
630   AUTOLOAD:=$(call AutoLoad,44,mfd-core cs5535-mfd)
631 endef
632
633 define KernelPackage/cs5535-mfd/description
634   Core driver for CS5535/CS5536 MFD functions.
635 endef
636
637 $(eval $(call KernelPackage,cs5535-mfd))
638
639
640 define KernelPackage/wdt-omap
641   SUBMENU:=$(OTHER_MENU)
642   TITLE:=OMAP Watchdog timer
643   DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
644   KCONFIG:=CONFIG_OMAP_WATCHDOG
645   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
646   AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
647 endef
648
649 define KernelPackage/wdt-omap/description
650   Kernel module for TI omap watchdog timer.
651 endef
652
653 $(eval $(call KernelPackage,wdt-omap))
654
655
656 define KernelPackage/wdt-orion
657   SUBMENU:=$(OTHER_MENU)
658   TITLE:=Marvell Orion Watchdog timer
659   DEPENDS:=@TARGET_orion
660   KCONFIG:=CONFIG_ORION_WATCHDOG
661   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
662   AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
663 endef
664
665 define KernelPackage/wdt-orion/description
666   Kernel module for Marvell orion watchdog timer.
667 endef
668
669 $(eval $(call KernelPackage,wdt-orion))
670
671
672 define KernelPackage/wdt-sc520
673   SUBMENU:=$(OTHER_MENU)
674   TITLE:=Natsemi SC520 Watchdog support
675   DEPENDS:=@TARGET_x86
676   KCONFIG:=CONFIG_SC520_WDT
677   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
678   AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
679 endef
680
681 define KernelPackage/wdt-sc520/description
682   Kernel module for SC520 Watchdog
683 endef
684
685 $(eval $(call KernelPackage,wdt-sc520))
686
687
688 define KernelPackage/wdt-scx200
689   SUBMENU:=$(OTHER_MENU)
690   TITLE:=Natsemi SCX200 Watchdog support
691   DEPENDS:=@TARGET_x86
692   KCONFIG:=CONFIG_SCx200_WDT
693   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
694   AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
695 endef
696
697 define KernelPackage/wdt-scx200/description
698  Kernel module for SCX200 Watchdog
699 endef
700
701 $(eval $(call KernelPackage,wdt-scx200))
702
703 define KernelPackage/pwm
704   SUBMENU:=$(OTHER_MENU)
705   TITLE:=PWM generic API
706   KCONFIG:=CONFIG_GENERIC_PWM
707   FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
708   AUTOLOAD:=$(call AutoLoad,50,pwm)
709 endef
710
711 define KernelPackage/pwm/description
712  Kernel module that implement a generic PWM API
713 endef
714
715 $(eval $(call KernelPackage,pwm))
716
717
718 define KernelPackage/pwm-gpio
719   SUBMENU:=$(OTHER_MENU)
720   TITLE:=PWM over GPIO
721   DEPENDS:=+kmod-pwm
722   KCONFIG:=CONFIG_GPIO_PWM
723   FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
724   AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
725 endef
726
727 define KernelPackage/pwm-gpio/description
728  Kernel module to models a single-channel PWM device using a timer and a GPIO pin
729 endef
730
731 $(eval $(call KernelPackage,pwm-gpio))
732
733 define KernelPackage/rtc-core
734   SUBMENU:=$(OTHER_MENU)
735   DEPENDS:=@LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39||BROKEN
736   TITLE:=Real Time Clock class support
737   KCONFIG:=CONFIG_RTC_CLASS
738   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-core.ko
739   AUTOLOAD:=$(call AutoLoad,29,rtc-core)
740 endef
741
742 define KernelPackage/rtc-core/description
743  Generic RTC class support.
744 endef
745
746 $(eval $(call KernelPackage,rtc-core))
747
748 define KernelPackage/rtc-pcf8563
749   SUBMENU:=$(OTHER_MENU)
750   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
751   DEPENDS:=+kmod-rtc-core
752   KCONFIG:=CONFIG_RTC_DRV_PCF8563
753   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
754   AUTOLOAD:=$(call AutoLoad,60,rtc-pcf8563)
755 endef
756
757 define KernelPackage/rtc-pcf8563/description
758  Kernel module for Philips PCF8563 RTC chip.
759  The Epson RTC8564 should work as well.
760 endef
761
762 $(eval $(call KernelPackage,rtc-pcf8563))
763
764
765 define KernelPackage/n810bm
766   SUBMENU:=$(OTHER_MENU)
767   TITLE:=Nokia N810 battery management driver
768   DEPENDS:=@TARGET_omap24xx
769   KCONFIG:=CONFIG_N810BM
770   FILES:=$(LINUX_DIR)/drivers/cbus/n810bm.ko
771   AUTOLOAD:=$(call AutoLoad,01,n810bm)
772 endef
773
774 define KernelPackage/n810bm/description
775   Nokia N810 battery management driver.
776   Controls battery power management and battery charging.
777 endef
778
779 $(eval $(call KernelPackage,n810bm))