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