06f1f78d3fb5bcd511b85d014e1253be4f2ccc0a
[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_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 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 @!(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
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 ifeq ($(CONFIG_LINUX_2_6_30),)
492   FILES:= \
493     $(LINUX_DIR)/net/rfkill/rfkill.ko
494   AUTOLOAD:=$(call AutoLoad,20,rfkill)
495 else
496   FILES:= \
497     $(LINUX_DIR)/net/rfkill/rfkill.ko \
498     $(LINUX_DIR)/net/rfkill/rfkill-input.ko
499   AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
500 endif
501   $(call SetDepends/rfkill)
502 endef
503
504 define KernelPackage/rfkill/description
505   Say Y here if you want to have control over RF switches
506   found on many WiFi and Bluetooth cards.
507 endef
508
509 $(eval $(call KernelPackage,rfkill))
510
511
512 define KernelPackage/softdog
513   SUBMENU:=$(OTHER_MENU)
514   TITLE:=Software watchdog driver
515   KCONFIG:=CONFIG_SOFT_WATCHDOG
516   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
517   AUTOLOAD:=$(call AutoLoad,50,softdog)
518 endef
519
520 define KernelPackage/softdog/description
521  Software watchdog driver
522 endef
523
524 $(eval $(call KernelPackage,softdog))
525
526
527 define KernelPackage/ssb
528   SUBMENU:=$(OTHER_MENU)
529   TITLE:=Silicon Sonics Backplane glue code
530   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
531   KCONFIG:=\
532         CONFIG_SSB \
533         CONFIG_SSB_B43_PCI_BRIDGE=y \
534         CONFIG_SSB_DRIVER_MIPS=n \
535         CONFIG_SSB_DRIVER_PCICORE=y \
536         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
537         CONFIG_SSB_PCIHOST=y \
538         CONFIG_SSB_PCIHOST_POSSIBLE=y \
539         CONFIG_SSB_POSSIBLE=y \
540         CONFIG_SSB_SPROM=y \
541         CONFIG_SSB_SILENT=y
542   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
543   AUTOLOAD:=$(call AutoLoad,29,ssb)
544 endef
545
546 define KernelPackage/ssb/description
547   Silicon Sonics Backplane glue code.
548 endef
549
550 $(eval $(call KernelPackage,ssb))
551
552
553 define KernelPackage/bcma
554   SUBMENU:=$(OTHER_MENU)
555   TITLE:=BCMA support
556   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
557   KCONFIG:=\
558         CONFIG_BCMA \
559         CONFIG_BCMA_POSSIBLE=y \
560         CONFIG_BCMA_BLOCKIO=y \
561         CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
562         CONFIG_BCMA_HOST_PCI=y \
563         CONFIG_BCMA_DRIVER_MIPS=n \
564         CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
565         CONFIG_BCMA_DEBUG=n
566   FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
567   AUTOLOAD:=$(call AutoLoad,29,bcma)
568 endef
569
570 define KernelPackage/bcma/description
571    Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture.
572 endef
573
574 $(eval $(call KernelPackage,bcma))
575
576
577 define KernelPackage/wdt-geode
578   SUBMENU:=$(OTHER_MENU)
579   TITLE:=Geode/LX Watchdog timer
580   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
581   KCONFIG:=CONFIG_GEODE_WDT
582   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
583   AUTOLOAD:=$(call AutoLoad,50,geodewdt)
584 endef
585
586 define KernelPackage/wdt-geode/description
587   Kernel module for Geode watchdog timer.
588 endef
589
590 $(eval $(call KernelPackage,wdt-geode))
591
592
593 define KernelPackage/cs5535-clockevt
594   SUBMENU:=$(OTHER_MENU)
595   TITLE:=CS5535/CS5536 high-res timer (MFGPT) events
596   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
597   KCONFIG:=CONFIG_CS5535_CLOCK_EVENT_SRC
598   FILES:=$(LINUX_DIR)/drivers/clocksource/cs5535-clockevt.ko
599   AUTOLOAD:=$(call AutoLoad,50,cs5535-clockevt)
600 endef
601
602 define KernelPackage/cs5535-clockevt/description
603   Kernel module for CS5535/6 high-res clock event source
604 endef
605
606 $(eval $(call KernelPackage,cs5535-clockevt))
607
608
609 define KernelPackage/cs5535-mfgpt
610   SUBMENU:=$(OTHER_MENU)
611   TITLE:=CS5535/6 Multifunction General Purpose Timer
612   DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd
613   KCONFIG:=CONFIG_CS5535_MFGPT
614   FILES:=$(LINUX_DIR)/drivers/misc/cs5535-mfgpt.ko
615   AUTOLOAD:=$(call AutoLoad,45,cs5535-mfgpt)
616 endef
617
618 define KernelPackage/cs5535-mfgpt/description
619   Kernel module for CS5535/6 multifunction general purpose timer.
620 endef
621
622 $(eval $(call KernelPackage,cs5535-mfgpt))
623
624
625 define KernelPackage/cs5535-mfd
626   SUBMENU:=$(OTHER_MENU)
627   TITLE:=CS5535/6 Multifunction General Purpose Driver
628   DEPENDS:=@TARGET_x86
629   KCONFIG:=CONFIG_MFD_CS5535
630   FILES:= \
631         $(LINUX_DIR)/drivers/mfd/mfd-core.ko \
632         $(LINUX_DIR)/drivers/mfd/cs5535-mfd.ko
633   AUTOLOAD:=$(call AutoLoad,44,mfd-core cs5535-mfd)
634 endef
635
636 define KernelPackage/cs5535-mfd/description
637   Core driver for CS5535/CS5536 MFD functions.
638 endef
639
640 $(eval $(call KernelPackage,cs5535-mfd))
641
642
643 define KernelPackage/wdt-omap
644   SUBMENU:=$(OTHER_MENU)
645   TITLE:=OMAP Watchdog timer
646   DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
647   KCONFIG:=CONFIG_OMAP_WATCHDOG
648   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
649   AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
650 endef
651
652 define KernelPackage/wdt-omap/description
653   Kernel module for TI omap watchdog timer.
654 endef
655
656 $(eval $(call KernelPackage,wdt-omap))
657
658
659 define KernelPackage/wdt-orion
660   SUBMENU:=$(OTHER_MENU)
661   TITLE:=Marvell Orion Watchdog timer
662   DEPENDS:=@TARGET_orion
663   KCONFIG:=CONFIG_ORION_WATCHDOG
664   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
665   AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
666 endef
667
668 define KernelPackage/wdt-orion/description
669   Kernel module for Marvell orion watchdog timer.
670 endef
671
672 $(eval $(call KernelPackage,wdt-orion))
673
674
675 define KernelPackage/wdt-sc520
676   SUBMENU:=$(OTHER_MENU)
677   TITLE:=Natsemi SC520 Watchdog support
678   DEPENDS:=@TARGET_x86
679   KCONFIG:=CONFIG_SC520_WDT
680   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
681   AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
682 endef
683
684 define KernelPackage/wdt-sc520/description
685   Kernel module for SC520 Watchdog
686 endef
687
688 $(eval $(call KernelPackage,wdt-sc520))
689
690
691 define KernelPackage/wdt-scx200
692   SUBMENU:=$(OTHER_MENU)
693   TITLE:=Natsemi SCX200 Watchdog support
694   DEPENDS:=@TARGET_x86
695   KCONFIG:=CONFIG_SCx200_WDT
696   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
697   AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
698 endef
699
700 define KernelPackage/wdt-scx200/description
701  Kernel module for SCX200 Watchdog
702 endef
703
704 $(eval $(call KernelPackage,wdt-scx200))
705
706
707 define KernelPackage/wdt-ath79
708   SUBMENU:=$(OTHER_MENU)
709   TITLE:=Atheros AR7XXX/AR9XXX watchdog timer
710   DEPENDS:=@TARGET_ar71xx
711   KCONFIG:=CONFIG_ATH79_WDT
712   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/ath79_wdt.ko
713   AUTOLOAD:=$(call AutoLoad,50,ath79_wdt)
714 endef
715
716 define KernelPackage/wdt-ath79/description
717   Kernel module for AR7XXX/AR9XXX watchdog timer.
718 endef
719
720 $(eval $(call KernelPackage,wdt-ath79))
721
722
723 define KernelPackage/booke-wdt
724   SUBMENU:=$(OTHER_MENU)
725   TITLE:=PowerPC Book-E Watchdog Timer
726   DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
727   KCONFIG:=CONFIG_BOOKE_WDT
728   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
729   AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
730 endef
731
732 define KernelPackage/booke-wdt/description
733   Kernel module for PowerPC Book-E Watchdog Timer.
734 endef
735
736 $(eval $(call KernelPackage,booke-wdt))
737
738
739 define KernelPackage/pwm
740   SUBMENU:=$(OTHER_MENU)
741   TITLE:=PWM generic API
742   KCONFIG:=CONFIG_GENERIC_PWM
743   FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
744   AUTOLOAD:=$(call AutoLoad,50,pwm)
745 endef
746
747 define KernelPackage/pwm/description
748  Kernel module that implement a generic PWM API
749 endef
750
751 $(eval $(call KernelPackage,pwm))
752
753
754 define KernelPackage/pwm-gpio
755   SUBMENU:=$(OTHER_MENU)
756   TITLE:=PWM over GPIO
757   DEPENDS:=+kmod-pwm
758   KCONFIG:=CONFIG_GPIO_PWM
759   FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
760   AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
761 endef
762
763 define KernelPackage/pwm-gpio/description
764  Kernel module to models a single-channel PWM device using a timer and a GPIO pin
765 endef
766
767 $(eval $(call KernelPackage,pwm-gpio))
768
769 define KernelPackage/rtc-core-2.6
770   SUBMENU:=$(OTHER_MENU)
771   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
772   TITLE:=Real Time Clock class support
773   KCONFIG:=CONFIG_RTC_CLASS
774   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-core.ko
775   AUTOLOAD:=$(call AutoLoad,29,rtc-core)
776 endef
777
778 define KernelPackage/rtc-core-2.6/description
779  Generic RTC class support.
780 endef
781
782 $(eval $(call KernelPackage,rtc-core-2.6))
783
784 define KernelPackage/rtc-core-3.x
785   SUBMENU:=$(OTHER_MENU)
786   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)
787   TITLE:=Real Time Clock class support
788   KCONFIG:=CONFIG_RTC_CLASS=y
789 endef
790
791 define KernelPackage/rtc-core-3.x/description
792  Generic RTC class support.
793 endef
794
795 $(eval $(call KernelPackage,rtc-core-3.x))
796
797 define KernelPackage/rtc-pcf8563
798   SUBMENU:=$(OTHER_MENU)
799   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
800   $(call AddDepends/rtc)
801   KCONFIG:=CONFIG_RTC_DRV_PCF8563
802   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
803   AUTOLOAD:=$(call AutoLoad,60,rtc-pcf8563)
804 endef
805
806 define KernelPackage/rtc-pcf8563/description
807  Kernel module for Philips PCF8563 RTC chip.
808  The Epson RTC8564 should work as well.
809 endef
810
811 $(eval $(call KernelPackage,rtc-pcf8563))
812
813
814 define KernelPackage/rtc-pcf2123
815   SUBMENU:=$(OTHER_MENU)
816   TITLE:=Philips PCF2123 RTC support
817   $(call AddDepends/rtc)
818   KCONFIG:=CONFIG_RTC_DRV_PCF2123
819   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
820   AUTOLOAD:=$(call AutoLoad,60,rtc-pcf2123)
821 endef
822
823 define KernelPackage/rtc-pcf2123/description
824  Kernel module for Philips PCF2123 RTC chip.
825 endef
826
827 $(eval $(call KernelPackage,rtc-pcf2123))
828
829 define KernelPackage/rtc-pt7c4338
830   SUBMENU:=$(OTHER_MENU)
831   TITLE:=Pericom PT7C4338 RTC support
832   $(call AddDepends/rtc,+kmod-i2c-core)
833   KCONFIG:=CONFIG_RTC_DRV_PT7C4338
834   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
835   AUTOLOAD:=$(call AutoLoad,60,rtc-pt7c4338)
836 endef
837
838 define KernelPackage/rtc-pt7c4338/description
839  Kernel module for Pericom PT7C4338 i2c RTC chip.
840 endef
841
842 $(eval $(call KernelPackage,rtc-pt7c4338))
843
844 define KernelPackage/n810bm
845   SUBMENU:=$(OTHER_MENU)
846   TITLE:=Nokia N810 battery management driver
847   DEPENDS:=@TARGET_omap24xx
848   KCONFIG:=CONFIG_N810BM
849   FILES:=$(LINUX_DIR)/drivers/cbus/n810bm.ko
850   AUTOLOAD:=$(call AutoLoad,01,n810bm)
851 endef
852
853 define KernelPackage/n810bm/description
854   Nokia N810 battery management driver.
855   Controls battery power management and battery charging.
856 endef
857
858 $(eval $(call KernelPackage,n810bm))
859
860
861 define KernelPackage/mtdtests
862   SUBMENU:=$(OTHER_MENU)
863   TITLE:=MTD subsystem tests
864   KCONFIG:=CONFIG_MTD_TESTS
865   FILES:=\
866         $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
867         $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
868         $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
869         $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
870         $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
871         $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
872         $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
873         $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
874 endef
875
876 define KernelPackage/mtdtests/description
877  Kernel modules for MTD subsystem/driver testing.
878 endef
879
880 $(eval $(call KernelPackage,mtdtests))
881
882
883 define KernelPackage/nand
884   SUBMENU:=$(OTHER_MENU)
885   TITLE:=NAND flash support
886   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)
887   KCONFIG:=CONFIG_MTD_NAND \
888         CONFIG_MTD_NAND_IDS \
889         CONFIG_MTD_NAND_ECC
890   FILES:= \
891         $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
892         $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
893         $(LINUX_DIR)/drivers/mtd/nand/nand.ko
894   AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
895 endef
896
897 define KernelPackage/nand/description
898  Kernel module for NAND support.
899 endef
900
901 $(eval $(call KernelPackage,nand))
902
903
904 define KernelPackage/nandsim
905   SUBMENU:=$(OTHER_MENU)
906   TITLE:=NAND simulator
907   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) +kmod-nand
908   KCONFIG:=CONFIG_MTD_NAND_NANDSIM
909   FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
910 endef
911
912 define KernelPackage/nandsim/description
913  Kernel module for NAND flash simulation.
914 endef
915
916 $(eval $(call KernelPackage,nandsim))
917
918 define KernelPackage/serial-8250
919   SUBMENU:=$(OTHER_MENU)
920   TITLE:=8250 UARTs
921   KCONFIG:= CONFIG_SERIAL_8250 \
922         CONFIG_SERIAL_8250_NR_UARTS=16 \
923         CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
924         CONFIG_SERIAL_8250_EXTENDED=y \
925         CONFIG_SERIAL_8250_MANY_PORTS=y \
926         CONFIG_SERIAL_8250_SHARE_IRQ=y \
927         CONFIG_SERIAL_8250_DETECT_IRQ=n \
928         CONFIG_SERIAL_8250_RSA=n
929 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.3)),1)
930   FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko
931 else
932  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.38)),1)
933   FILES:=$(LINUX_DIR)/drivers/tty/serial/8250.ko
934  else
935   FILES:=$(LINUX_DIR)/drivers/serial/8250.ko
936  endif
937 endif
938 endef
939
940 define KernelPackage/serial-8250/description
941  Kernel module for 8250 UART based serial ports.
942 endef
943
944 $(eval $(call KernelPackage,serial-8250))
945
946
947 define KernelPackage/acpi-button
948   SUBMENU:=$(OTHER_MENU)
949   TITLE:=ACPI Button Support
950   DEPENDS:=@(TARGET_x86_generic||TARGET_x86_kvm_guest||TARGET_x86_xen_domu) +kmod-input-evdev
951   KCONFIG:=CONFIG_ACPI_BUTTON
952   FILES:=$(LINUX_DIR)/drivers/acpi/button.ko
953   AUTOLOAD:=$(call AutoLoad,06,button)
954 endef
955
956 define KernelPackage/acpi-button/description
957  Kernel module for ACPI Button support
958 endef
959
960 $(eval $(call KernelPackage,acpi-button))