0ecc7b37861393594ddbdce57918f3c55ad31836
[openwrt.git] / package / kernel / modules / other.mk
1 #
2 # Copyright (C) 2006-2010 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   $(call AddDepends/crc16)
37   $(call AddDepends/hid)
38   $(call AddDepends/rfkill)
39   FILES:= \
40         $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
41         $(LINUX_DIR)/net/bluetooth/l2cap.ko \
42         $(LINUX_DIR)/net/bluetooth/sco.ko \
43         $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
44         $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
45         $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
46         $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
47         $(LINUX_DIR)/drivers/bluetooth/btusb.ko
48   AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb)
49 endef
50
51 define KernelPackage/bluetooth/description
52  Kernel support for Bluetooth devices
53 endef
54
55 $(eval $(call KernelPackage,bluetooth))
56
57
58 define KernelPackage/cpu-msr
59   SUBMENU:=$(OTHER_MENU)
60   TITLE:=x86 CPU MSR support
61   DEPENDS:=@TARGET_x86
62   KCONFIG:=CONFIG_X86_MSR
63   FILES:=$(LINUX_DIR)/arch/x86/kernel/msr.$(LINUX_KMOD_SUFFIX)
64   AUTOLOAD:=$(call AutoLoad,20,msr)
65 endef
66
67 define KernelPackage/cpu-msr/description
68  Kernel module for Model Specific Registers support in x86 CPUs
69 endef
70
71 $(eval $(call KernelPackage,cpu-msr))
72
73
74 define KernelPackage/crc-ccitt
75   SUBMENU:=$(OTHER_MENU)
76   TITLE:=CRC-CCITT support
77   KCONFIG:=CONFIG_CRC_CCITT
78   FILES:=$(LINUX_DIR)/lib/crc-ccitt.ko
79   AUTOLOAD:=$(call AutoLoad,20,crc-ccitt)
80 endef
81
82 define KernelPackage/crc-ccitt/description
83  Kernel module for CRC-CCITT support
84 endef
85
86 $(eval $(call KernelPackage,crc-ccitt))
87
88
89 define KernelPackage/crc-itu-t
90   SUBMENU:=$(OTHER_MENU)
91   TITLE:=CRC ITU-T V.41 support
92   KCONFIG:=CONFIG_CRC_ITU_T
93   FILES:=$(LINUX_DIR)/lib/crc-itu-t.ko
94   AUTOLOAD:=$(call AutoLoad,20,crc-itu-t)
95 endef
96
97 define KernelPackage/crc-itu-t/description
98  Kernel module for CRC ITU-T V.41 support
99 endef
100
101 $(eval $(call KernelPackage,crc-itu-t))
102
103
104 define KernelPackage/crc7
105   SUBMENU:=$(OTHER_MENU)
106   TITLE:=CRC7 support
107   KCONFIG:=CONFIG_CRC7
108   FILES:=$(LINUX_DIR)/lib/crc7.ko
109   AUTOLOAD:=$(call AutoLoad,20,crc7)
110 endef
111
112 define KernelPackage/crc7/description
113  Kernel module for CRC7 support
114 endef
115
116 $(eval $(call KernelPackage,crc7))
117
118
119 define KernelPackage/crc16
120   SUBMENU:=$(OTHER_MENU)
121   TITLE:=CRC16 support
122   KCONFIG:=CONFIG_CRC16
123   FILES:=$(LINUX_DIR)/lib/crc16.ko
124   AUTOLOAD:=$(call AutoLoad,20,crc16,1)
125   $(call SetDepends/crc16)
126 endef
127
128 define KernelPackage/crc16/description
129  Kernel module for CRC16 support
130 endef
131
132 $(eval $(call KernelPackage,crc16))
133
134
135 define KernelPackage/libcrc32c
136   SUBMENU:=$(OTHER_MENU)
137   TITLE:=CRC32 library support
138   KCONFIG:=CONFIG_LIBCRC32C
139   DEPENDS:=+kmod-crypto-core +kmod-crypto-misc
140   FILES:=$(LINUX_DIR)/lib/libcrc32c.ko
141   AUTOLOAD:=$(call AutoLoad,20,crc32c libcrc32c,1)
142 endef
143
144 define KernelPackage/libcrc32c/description
145  Kernel module for CRC32 support
146 endef
147
148 $(eval $(call KernelPackage,libcrc32c))
149
150
151 define KernelPackage/eeprom-93cx6
152   SUBMENU:=$(OTHER_MENU)
153   TITLE:=EEPROM 93CX6 support
154   KCONFIG:=CONFIG_EEPROM_93CX6
155   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
156   AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
157 endef
158
159 define KernelPackage/eeprom-93cx6/description
160  Kernel module for EEPROM 93CX6 support
161 endef
162
163 $(eval $(call KernelPackage,eeprom-93cx6))
164
165
166 define KernelPackage/gpio-cs5535
167   SUBMENU:=$(OTHER_MENU)
168   TITLE:=AMD CS5535/CS5536 GPIO driver
169   DEPENDS:=@TARGET_x86
170   KCONFIG:=CONFIG_CS5535_GPIO
171   FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.ko
172   AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
173 endef
174
175 define KernelPackage/gpio-cs5535/description
176  This package contains the AMD CS5535/CS5536 GPIO driver
177 endef
178
179 $(eval $(call KernelPackage,gpio-cs5535))
180
181
182 define KernelPackage/gpio-cs5535-new
183   SUBMENU:=$(OTHER_MENU)
184   TITLE:=AMD CS5535/CS5536 GPIO driver with improved sysfs support
185   DEPENDS:=@TARGET_x86
186 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1) 
187   KCONFIG:=CONFIG_GPIO_CS5535 CONFIG_PCI CONFIG_GPIOLIB
188   FILES:=$(LINUX_DIR)/drivers/gpio/cs5535-gpio.ko
189   AUTOLOAD:=$(call AutoLoad,50,cs5535-gpio)
190 endif
191 endef
192
193 define KernelPackage/gpio-cs5535-new/description
194  This package contains the new AMD CS5535/CS5536 GPIO driver
195 endef
196
197 $(eval $(call KernelPackage,gpio-cs5535-new))
198
199
200 define KernelPackage/gpio-dev
201   SUBMENU:=$(OTHER_MENU)
202   TITLE:=Generic GPIO char device support
203   DEPENDS:=@GPIO_SUPPORT
204   KCONFIG:=CONFIG_GPIO_DEVICE
205   FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
206   AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
207 endef
208
209 define KernelPackage/gpio-dev/description
210   Kernel module to allows control of GPIO pins using a character device.
211 endef
212
213 $(eval $(call KernelPackage,gpio-dev))
214
215
216 define KernelPackage/gpio-nsc
217   SUBMENU:=$(OTHER_MENU)
218   TITLE:=Natsemi GPIO support
219   DEPENDS:=@TARGET_x86
220   KCONFIG:=CONFIG_NSC_GPIO
221   FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
222   AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
223 endef
224
225 define KernelPackage/gpio-nsc/description
226  Kernel module for Natsemi GPIO
227 endef
228
229 $(eval $(call KernelPackage,gpio-nsc))
230
231
232 define KernelPackage/gpio-pc8736x
233   SUBMENU:=$(OTHER_MENU)
234   TITLE:=PC8736x GPIO support
235   DEPENDS:=@TARGET_x86
236   KCONFIG:=CONFIG_PC8736x_GPIO
237   FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
238   AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
239 endef
240
241 define KernelPackage/gpio-pc8736x/description
242  Kernel module for PC8736x GPIO
243 endef
244
245 $(eval $(call KernelPackage,gpio-pc8736x))
246
247
248 define KernelPackage/gpio-scx200
249   SUBMENU:=$(OTHER_MENU)
250   TITLE:=Natsemi SCX200 GPIO support
251   DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
252   KCONFIG:=CONFIG_SCx200_GPIO
253   FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
254   AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
255 endef
256
257 define KernelPackage/gpio-scx200/description
258  Kernel module for SCX200 GPIO
259 endef
260
261 $(eval $(call KernelPackage,gpio-scx200))
262
263 define KernelPackage/gpio-nxp-74hc164
264   SUBMENU:=$(OTHER_MENU)
265   TITLE:=NXP 74HC164 GPIO expander support
266   DEPENDS:=@TARGET_brcm63xx
267   KCONFIG:=CONFIG_GPIO_NXP_74HC164
268   FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
269   AUTOLOAD:=$(call AutoLoad,99,nxp_74hc164)
270 endef
271
272 define KernelPackage/gpio-nxp-74hc164/description
273   Kernel module for NXP 74HC164 GPIO expander
274 endef
275
276 $(eval $(call KernelPackage,gpio-nxp-74hc164))
277
278 define KernelPackage/hid
279   SUBMENU:=$(OTHER_MENU)
280   TITLE:=HID Devices
281   DEPENDS:=+kmod-input-evdev
282   KCONFIG:=CONFIG_HID
283   FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
284   AUTOLOAD:=$(call AutoLoad,61,hid)
285   $(call SetDepends/hid)
286   $(call AddDepends/input)
287 endef
288
289 define KernelPackage/hid/description
290  Kernel modules for HID devices
291 endef
292
293 $(eval $(call KernelPackage,hid))
294
295
296 define KernelPackage/input-core
297   SUBMENU:=$(OTHER_MENU)
298   TITLE:=Input device core
299   KCONFIG:=CONFIG_INPUT
300   $(call SetDepends/input)
301   FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
302   AUTOLOAD:=$(call AutoLoad,19,input-core)
303 endef
304
305 define KernelPackage/input-core/description
306  Kernel modules for support of input device
307 endef
308
309 $(eval $(call KernelPackage,input-core))
310
311
312 define KernelPackage/input-evdev
313   SUBMENU:=$(OTHER_MENU)
314   TITLE:=Input event device
315   KCONFIG:=CONFIG_INPUT_EVDEV
316   FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
317   AUTOLOAD:=$(call AutoLoad,60,evdev)
318   $(call AddDepends/input)
319 endef
320
321 define KernelPackage/input-evdev/description
322  Kernel modules for support of input device events
323 endef
324
325 $(eval $(call KernelPackage,input-evdev))
326
327
328 define KernelPackage/input-gpio-buttons
329   SUBMENU:=$(OTHER_MENU)
330   TITLE:=Polled GPIO buttons input device
331   DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
332   KCONFIG:= \
333         CONFIG_INPUT_GPIO_BUTTONS \
334         CONFIG_INPUT_MISC=y
335   FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
336   AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
337 endef
338
339 define KernelPackage/input-gpio-buttons/description
340  Kernel module for support polled GPIO buttons input device
341 endef
342
343 $(eval $(call KernelPackage,input-gpio-buttons))
344
345
346 define KernelPackage/input-gpio-keys
347   SUBMENU:=$(OTHER_MENU)
348   TITLE:=GPIO key support
349   DEPENDS:= @GPIO_SUPPORT
350   KCONFIG:= \
351         CONFIG_KEYBOARD_GPIO \
352         CONFIG_INPUT_KEYBOARD=y
353   FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
354   AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
355   $(call AddDepends/input)
356 endef
357
358 define KernelPackage/input-gpio-keys/description
359  This driver implements support for buttons connected
360  to GPIO pins of various CPUs (and some other chips).
361 endef
362
363 $(eval $(call KernelPackage,input-gpio-keys))
364
365
366 define KernelPackage/input-gpio-encoder
367   SUBMENU:=$(OTHER_MENU)
368   TITLE:=GPIO rotay encoder
369   KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
370   FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
371   AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
372   $(call AddDepends/input,@GPIO_SUPPORT)
373 endef
374
375 define KernelPackage/gpio-encoder/description
376  Kernel module to use rotary encoders connected to GPIO pins
377 endef
378
379 $(eval $(call KernelPackage,input-gpio-encoder))
380
381
382 define KernelPackage/input-joydev
383   SUBMENU:=$(OTHER_MENU)
384   TITLE:=Joystick device support
385   KCONFIG:=CONFIG_INPUT_JOYDEV
386   FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
387   AUTOLOAD:=$(call AutoLoad,62,joydev)
388   $(call AddDepends/input)
389 endef
390
391 define KernelPackage/input-joydev/description
392   Kernel module for joystick support
393 endef
394
395 $(eval $(call KernelPackage,input-joydev))
396
397
398 define KernelPackage/input-polldev
399   SUBMENU:=$(OTHER_MENU)
400   TITLE:=Polled Input device support
401   KCONFIG:=CONFIG_INPUT_POLLDEV
402   FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
403   AUTOLOAD:=$(call AutoLoad,20,input-polldev)
404   $(call AddDepends/input)
405 endef
406
407 define KernelPackage/input-polldev/description
408  Kernel module for support of polled input devices
409 endef
410
411 $(eval $(call KernelPackage,input-polldev))
412
413
414 define KernelPackage/leds-alix
415   SUBMENU:=$(OTHER_MENU)
416   TITLE:=PCengines ALIX LED support
417   DEPENDS:=@TARGET_x86
418   KCONFIG:=CONFIG_LEDS_ALIX2
419   FILES:=$(LINUX_DIR)/drivers/leds/leds-alix2.ko
420   AUTOLOAD:=$(call AutoLoad,50,leds-alix2)
421 endef
422
423 define KernelPackage/leds-alix/description
424  Kernel module for PCengines ALIX LEDs
425 endef
426
427 $(eval $(call KernelPackage,leds-alix))
428
429
430 define KernelPackage/leds-gpio
431   SUBMENU:=$(OTHER_MENU)
432   TITLE:=GPIO LED support
433   DEPENDS:= @GPIO_SUPPORT
434   KCONFIG:=CONFIG_LEDS_GPIO
435   FILES:=$(LINUX_DIR)/drivers/leds/leds-gpio.ko
436   AUTOLOAD:=$(call AutoLoad,60,leds-gpio)
437 endef
438
439 define KernelPackage/leds-gpio/description
440  Kernel module for LEDs on GPIO lines
441 endef
442
443 $(eval $(call KernelPackage,leds-gpio))
444
445
446 define KernelPackage/leds-net48xx
447   SUBMENU:=$(OTHER_MENU)
448   TITLE:=Soekris Net48xx LED support
449   DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
450   KCONFIG:=CONFIG_LEDS_NET48XX
451   FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.ko
452   AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
453 endef
454
455 define KernelPackage/leds-net48xx/description
456  Kernel module for Soekris Net48xx LEDs
457 endef
458
459 $(eval $(call KernelPackage,leds-net48xx))
460
461 define KernelPackage/leds-net5501
462   SUBMENU:=$(OTHER_MENU)
463   TITLE:=Soekris Net5501 LED support
464   DEPENDS:=@TARGET_x86 +kmod-gpio-cs5535 +kmod-leds-gpio
465   KCONFIG:=CONFIG_LEDS_NET5501
466   FILES:=$(LINUX_DIR)/drivers/leds/leds-net5501.ko
467   AUTOLOAD:=$(call AutoLoad,50,leds-net5501)
468 endef
469
470 define KernelPackage/leds-net5501/description
471  Kernel module for Soekris Net5501 LEDs
472 endef
473
474 $(eval $(call KernelPackage,leds-net5501))
475
476
477 define KernelPackage/leds-rb750
478   SUBMENU:=$(OTHER_MENU)
479   TITLE:=RouterBOARD 750 LED support
480   DEPENDS:=@TARGET_ar71xx
481   KCONFIG:=CONFIG_LEDS_RB750
482   FILES:=$(LINUX_DIR)/drivers/leds/leds-rb750.ko
483   AUTOLOAD:=$(call AutoLoad,60,leds-rb750)
484 endef
485
486 define KernelPackage/leds-rb750/description
487  Kernel module for the LEDs on the MikroTik RouterBOARD 750.
488 endef
489
490 $(eval $(call KernelPackage,leds-rb750))
491
492
493 define KernelPackage/leds-wndr3700-usb
494   SUBMENU:=$(OTHER_MENU)
495   TITLE:=WNDR3700 USB LED support
496   DEPENDS:=@TARGET_ar71xx
497   KCONFIG:=CONFIG_LEDS_WNDR3700_USB
498   FILES:=$(LINUX_DIR)/drivers/leds/leds-wndr3700-usb.ko
499   AUTOLOAD:=$(call AutoLoad,60,leds-wndr3700-usb)
500 endef
501
502 define KernelPackage/leds-wndr3700-usb/description
503  Kernel module for the USB LED on the NETGWR WNDR3700 board.
504 endef
505
506 $(eval $(call KernelPackage,leds-wndr3700-usb))
507
508
509 define KernelPackage/leds-wrap
510   SUBMENU:=$(OTHER_MENU)
511   TITLE:=PCengines WRAP LED support
512   DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
513   KCONFIG:=CONFIG_LEDS_WRAP
514   FILES:=$(LINUX_DIR)/drivers/leds/leds-wrap.ko
515   AUTOLOAD:=$(call AutoLoad,50,leds-wrap)
516 endef
517
518 define KernelPackage/leds-wrap/description
519  Kernel module for PCengines WRAP LEDs
520 endef
521
522 $(eval $(call KernelPackage,leds-wrap))
523
524
525 define KernelPackage/ledtrig-gpio
526   SUBMENU:=$(OTHER_MENU)
527   TITLE:=LED GPIO Trigger
528   KCONFIG:=CONFIG_LEDS_TRIGGER_GPIO
529   FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-gpio.ko
530   AUTOLOAD:=$(call AutoLoad,50,ledtrig-gpio)
531 endef
532
533 define KernelPackage/ledtrig-gpio/description
534  Kernel module that allows LEDs to be controlled by gpio events.
535 endef
536
537 $(eval $(call KernelPackage,ledtrig-gpio))
538
539
540 define KernelPackage/ledtrig-morse
541   SUBMENU:=$(OTHER_MENU)
542   TITLE:=LED Morse Trigger
543   KCONFIG:=CONFIG_LEDS_TRIGGER_MORSE
544   FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-morse.ko
545   AUTOLOAD:=$(call AutoLoad,50,ledtrig-morse)
546 endef
547
548 define KernelPackage/ledtrig-morse/description
549  Kernel module to show morse coded messages on LEDs.
550 endef
551
552 $(eval $(call KernelPackage,ledtrig-morse))
553
554
555 define KernelPackage/ledtrig-netdev
556   SUBMENU:=$(OTHER_MENU)
557   TITLE:=LED NETDEV Trigger
558   KCONFIG:=CONFIG_LEDS_TRIGGER_NETDEV
559   FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-netdev.ko
560   AUTOLOAD:=$(call AutoLoad,50,ledtrig-netdev)
561 endef
562
563 define KernelPackage/ledtrig-netdev/description
564  Kernel module to drive LEDs based on network activity.
565 endef
566
567 $(eval $(call KernelPackage,ledtrig-netdev))
568
569
570 define KernelPackage/ledtrig-netfilter
571   SUBMENU:=$(OTHER_MENU)
572   TITLE:=LED NetFilter Trigger
573   DEPENDS:=kmod-ipt-core
574   KCONFIG:=CONFIG_NETFILTER_XT_TARGET_LED
575   FILES:=$(LINUX_DIR)/net/netfilter/xt_LED.ko
576   AUTOLOAD:=$(call AutoLoad,50,xt_LED)
577 endef
578
579 define KernelPackage/ledtrig-netfilter/description
580  Kernel module to flash LED when a particular packets passing through your machine.
581
582  For example to create an LED trigger for incoming SSH traffic:
583     iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
584  Then attach the new trigger to an LED on your system:
585     echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
586 endef
587
588 $(eval $(call KernelPackage,ledtrig-netfilter))
589
590 define KernelPackage/ledtrig-usbdev
591   SUBMENU:=$(OTHER_MENU)
592   TITLE:=LED USB device Trigger
593   DEPENDS:=@USB_SUPPORT +kmod-usb-core
594   KCONFIG:=CONFIG_LEDS_TRIGGER_USBDEV
595   FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-usbdev.ko
596   AUTOLOAD:=$(call AutoLoad,50,ledtrig-usbdev)
597 endef
598
599 define KernelPackage/ledtrig-usbdev/description
600  Kernel module to drive LEDs based on USB device presence/activity.
601 endef
602
603 $(eval $(call KernelPackage,ledtrig-usbdev))
604
605
606 define KernelPackage/lp
607   SUBMENU:=$(OTHER_MENU)
608   TITLE:=Parallel port and line printer support
609   DEPENDS:=@BROKEN
610   KCONFIG:= \
611         CONFIG_PARPORT \
612         CONFIG_PRINTER \
613         CONFIG_PPDEV
614   FILES:= \
615         $(LINUX_DIR)/drivers/parport/parport.ko \
616         $(LINUX_DIR)/drivers/char/lp.ko \
617         $(LINUX_DIR)/drivers/char/ppdev.ko
618   AUTOLOAD:=$(call AutoLoad,50,parport lp)
619 endef
620
621 $(eval $(call KernelPackage,lp))
622
623
624 define KernelPackage/mmc
625   SUBMENU:=$(OTHER_MENU)
626   TITLE:=MMC/SD Card Support
627   KCONFIG:= \
628         CONFIG_MMC \
629         CONFIG_MMC_BLOCK \
630         CONFIG_MMC_DEBUG=n \
631         CONFIG_MMC_UNSAFE_RESUME=n \
632         CONFIG_MMC_BLOCK_BOUNCE=y \
633         CONFIG_MMC_SDHCI=n \
634         CONFIG_MMC_TIFM_SD=n \
635         CONFIG_MMC_WBSD=n \
636         CONFIG_SDIO_UART=n
637   FILES:= \
638         $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
639         $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
640   AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
641 endef
642
643 define KernelPackage/mmc/description
644  Kernel support for MMC/SD cards
645 endef
646
647 $(eval $(call KernelPackage,mmc))
648
649
650 define KernelPackage/mmc-atmelmci
651   SUBMENU:=$(OTHER_MENU)
652   TITLE:=Amtel MMC Support
653   DEPENDS:=@TARGET_avr32 +kmod-mmc
654   KCONFIG:=CONFIG_MMC_ATMELMCI
655   FILES:=$(LINUX_DIR)/drivers/mmc/host/atmel-mci.ko
656   AUTOLOAD:=$(call AutoLoad,90,atmel-mci)
657 endef
658
659 define KernelPackage/mmc-atmelmci/description
660  Kernel support for  Atmel Multimedia Card Interface.
661 endef
662
663 $(eval $(call KernelPackage,mmc-atmelmci,1))
664
665
666 define KernelPackage/oprofile
667   SUBMENU:=$(OTHER_MENU)
668   TITLE:=OProfile profiling support
669   KCONFIG:=CONFIG_OPROFILE
670   FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.$(LINUX_KMOD_SUFFIX)
671   DEPENDS:=@KERNEL_PROFILING
672 endef
673
674 define KernelPackage/oprofile/description
675   Kernel module for support for oprofile system profiling.
676 endef
677
678 $(eval $(call KernelPackage,oprofile))
679
680
681 define KernelPackage/rfkill
682   SUBMENU:=$(OTHER_MENU)
683   TITLE:=RF switch subsystem support
684   KCONFIG:= \
685     CONFIG_RFKILL \
686     CONFIG_RFKILL_INPUT=y \
687     CONFIG_RFKILL_LEDS=y
688 ifeq ($(CONFIG_LINUX_2_6_30),)
689   FILES:= \
690     $(LINUX_DIR)/net/rfkill/rfkill.ko
691   AUTOLOAD:=$(call AutoLoad,20,rfkill)
692 else
693   FILES:= \
694     $(LINUX_DIR)/net/rfkill/rfkill.ko \
695     $(LINUX_DIR)/net/rfkill/rfkill-input.ko
696   AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
697 endif
698   $(call SetDepends/rfkill)
699 endef
700
701 define KernelPackage/rfkill/description
702   Say Y here if you want to have control over RF switches
703   found on many WiFi and Bluetooth cards.
704 endef
705
706 $(eval $(call KernelPackage,rfkill))
707
708
709 define KernelPackage/softdog
710   SUBMENU:=$(OTHER_MENU)
711   TITLE:=Software watchdog driver
712   KCONFIG:=CONFIG_SOFT_WATCHDOG
713   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
714   AUTOLOAD:=$(call AutoLoad,50,softdog)
715 endef
716
717 define KernelPackage/softdog/description
718  Software watchdog driver
719 endef
720
721 $(eval $(call KernelPackage,softdog))
722
723
724 define KernelPackage/ssb
725   SUBMENU:=$(OTHER_MENU)
726   TITLE:=Silicon Sonics Backplane glue code
727   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
728   KCONFIG:=\
729         CONFIG_SSB \
730         CONFIG_SSB_B43_PCI_BRIDGE=y \
731         CONFIG_SSB_DRIVER_MIPS=n \
732         CONFIG_SSB_DRIVER_PCICORE=y \
733         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
734         CONFIG_SSB_PCIHOST=y \
735         CONFIG_SSB_PCIHOST_POSSIBLE=y \
736         CONFIG_SSB_POSSIBLE=y \
737         CONFIG_SSB_SPROM=y \
738         CONFIG_SSB_SILENT=y
739   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
740   AUTOLOAD:=$(call AutoLoad,29,ssb)
741 endef
742
743 define KernelPackage/ssb/description
744   Silicon Sonics Backplane glue code.
745 endef
746
747 $(eval $(call KernelPackage,ssb))
748
749
750 define KernelPackage/textsearch
751 SUBMENU:=$(OTHER_MENU)
752   TITLE:=Textsearch support is selected if needed
753   KCONFIG:= \
754     CONFIG_TEXTSEARCH=y \
755     CONFIG_TEXTSEARCH_KMP \
756     CONFIG_TEXTSEARCH_BM \
757     CONFIG_TEXTSEARCH_FSM
758   FILES:= \
759     $(LINUX_DIR)/lib/ts_kmp.ko \
760     $(LINUX_DIR)/lib/ts_bm.ko \
761     $(LINUX_DIR)/lib/ts_fsm.ko
762   AUTOLOAD:=$(call AutoLoad,20,ts_kmp ts_bm ts_fsm)
763 endef
764
765 $(eval $(call KernelPackage,textsearch))
766
767
768 define KernelPackage/wdt-geode
769   SUBMENU:=$(OTHER_MENU)
770   TITLE:=Geode/LX Watchdog timer
771   DEPENDS:=@TARGET_x86
772   KCONFIG:=CONFIG_GEODE_WDT
773   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
774   AUTOLOAD:=$(call AutoLoad,50,geodewdt)
775 endef
776
777 define KernelPackage/wdt-geode/description
778   Kernel module for Geode watchdog timer.
779 endef
780
781 $(eval $(call KernelPackage,wdt-geode))
782
783
784 define KernelPackage/wdt-omap
785   SUBMENU:=$(OTHER_MENU)
786   TITLE:=OMAP Watchdog timer
787   DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
788   KCONFIG:=CONFIG_OMAP_WATCHDOG
789   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
790   AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
791 endef
792
793 define KernelPackage/wdt-omap/description
794   Kernel module for TI omap watchdog timer.
795 endef
796
797 $(eval $(call KernelPackage,wdt-omap))
798
799
800 define KernelPackage/wdt-orion
801   SUBMENU:=$(OTHER_MENU)
802   TITLE:=Marvell Orion Watchdog timer
803   DEPENDS:=@TARGET_orion
804   KCONFIG:=CONFIG_ORION_WATCHDOG
805   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
806   AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
807 endef
808
809 define KernelPackage/wdt-orion/description
810   Kernel module for Marvell orion watchdog timer.
811 endef
812
813 $(eval $(call KernelPackage,wdt-orion))
814
815
816 define KernelPackage/wdt-sc520
817   SUBMENU:=$(OTHER_MENU)
818   TITLE:=Natsemi SC520 Watchdog support
819   DEPENDS:=@TARGET_x86
820   KCONFIG:=CONFIG_SC520_WDT
821   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
822   AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
823 endef
824
825 define KernelPackage/wdt-sc520/description
826   Kernel module for SC520 Watchdog
827 endef
828
829 $(eval $(call KernelPackage,wdt-sc520))
830
831
832 define KernelPackage/wdt-scx200
833   SUBMENU:=$(OTHER_MENU)
834   TITLE:=Natsemi SCX200 Watchdog support
835   DEPENDS:=@TARGET_x86
836   KCONFIG:=CONFIG_SCx200_WDT
837   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
838   AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
839 endef
840
841 define KernelPackage/wdt-scx200/description
842  Kernel module for SCX200 Watchdog
843 endef
844
845 $(eval $(call KernelPackage,wdt-scx200))
846
847 define KernelPackage/pwm
848   SUBMENU:=$(OTHER_MENU)
849   TITLE:=PWM generic API
850   KCONFIG:=CONFIG_GENERIC_PWM
851   FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
852   AUTOLOAD:=$(call AutoLoad,50,pwm)
853 endef
854
855 define KernelPackage/pwm/description
856  Kernel module that implement a generic PWM API
857 endef
858
859 $(eval $(call KernelPackage,pwm))
860
861
862 define KernelPackage/pwm-gpio
863   SUBMENU:=$(OTHER_MENU)
864   TITLE:=PWM over GPIO
865   DEPENDS:=+kmod-pwm
866   KCONFIG:=CONFIG_GPIO_PWM
867   FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
868   AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
869 endef
870
871 define KernelPackage/pwm-gpio/description
872  Kernel module to models a single-channel PWM device using a timer and a GPIO pin
873 endef
874
875 $(eval $(call KernelPackage,pwm-gpio))
876
877 define KernelPackage/rtc-core
878   SUBMENU:=$(OTHER_MENU)
879   TITLE:=Real Time Clock class support
880   KCONFIG:=CONFIG_RTC_CLASS
881   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-core.$(LINUX_KMOD_SUFFIX)
882   AUTOLOAD:=$(call AutoLoad,29,rtc-core)
883 endef
884
885 define KernelPackage/rtc-core/description
886  Generic RTC class support.
887 endef
888
889 $(eval $(call KernelPackage,rtc-core))
890
891 define KernelPackage/rtc-pcf8563
892   SUBMENU:=$(OTHER_MENU)
893   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
894   DEPENDS:=+kmod-rtc-core
895   KCONFIG:=CONFIG_RTC_DRV_PCF8563
896   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.$(LINUX_KMOD_SUFFIX)
897   AUTOLOAD:=$(call AutoLoad,30,rtc-pcf8563)
898 endef
899
900 define KernelPackage/rtc-pcf8563/description
901  Kernel module for Philips PCF8563 RTC chip.
902  The Epson RTC8564 should work as well.
903 endef
904
905 $(eval $(call KernelPackage,rtc-pcf8563))
906
907
908 define KernelPackage/n810bm
909   SUBMENU:=$(OTHER_MENU)
910   TITLE:=Nokia N810 battery management driver
911   DEPENDS:=@TARGET_omap24xx
912   KCONFIG:=CONFIG_N810BM
913   FILES:=$(LINUX_DIR)/drivers/cbus/n810bm.$(LINUX_KMOD_SUFFIX)
914   AUTOLOAD:=$(call AutoLoad,01,n810bm)
915 endef
916
917 define KernelPackage/n810bm/description
918   Nokia N810 battery management driver.
919   Controls battery power management and battery charging.
920 endef
921
922 $(eval $(call KernelPackage,n810bm))