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