[package] switch to newer CS5535 GPIO driver, patch from Philip Prindeville
[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/rfkill
667   SUBMENU:=$(OTHER_MENU)
668   TITLE:=RF switch subsystem support
669   KCONFIG:= \
670     CONFIG_RFKILL \
671     CONFIG_RFKILL_INPUT=y \
672     CONFIG_RFKILL_LEDS=y
673 ifeq ($(CONFIG_LINUX_2_6_30),)
674   FILES:= \
675     $(LINUX_DIR)/net/rfkill/rfkill.ko
676   AUTOLOAD:=$(call AutoLoad,20,rfkill)
677 else
678   FILES:= \
679     $(LINUX_DIR)/net/rfkill/rfkill.ko \
680     $(LINUX_DIR)/net/rfkill/rfkill-input.ko
681   AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
682 endif
683   $(call SetDepends/rfkill)
684 endef
685
686 define KernelPackage/rfkill/description
687   Say Y here if you want to have control over RF switches
688   found on many WiFi and Bluetooth cards.
689 endef
690
691 $(eval $(call KernelPackage,rfkill))
692
693
694 define KernelPackage/softdog
695   SUBMENU:=$(OTHER_MENU)
696   TITLE:=Software watchdog driver
697   KCONFIG:=CONFIG_SOFT_WATCHDOG
698   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
699   AUTOLOAD:=$(call AutoLoad,50,softdog)
700 endef
701
702 define KernelPackage/softdog/description
703  Software watchdog driver
704 endef
705
706 $(eval $(call KernelPackage,softdog))
707
708
709 define KernelPackage/ssb
710   SUBMENU:=$(OTHER_MENU)
711   TITLE:=Silicon Sonics Backplane glue code
712   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
713   KCONFIG:=\
714         CONFIG_SSB \
715         CONFIG_SSB_B43_PCI_BRIDGE=y \
716         CONFIG_SSB_DRIVER_MIPS=n \
717         CONFIG_SSB_DRIVER_PCICORE=y \
718         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
719         CONFIG_SSB_PCIHOST=y \
720         CONFIG_SSB_PCIHOST_POSSIBLE=y \
721         CONFIG_SSB_POSSIBLE=y \
722         CONFIG_SSB_SPROM=y \
723         CONFIG_SSB_SILENT=y
724   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
725   AUTOLOAD:=$(call AutoLoad,29,ssb)
726 endef
727
728 define KernelPackage/ssb/description
729   Silicon Sonics Backplane glue code.
730 endef
731
732 $(eval $(call KernelPackage,ssb))
733
734
735 define KernelPackage/textsearch
736 SUBMENU:=$(OTHER_MENU)
737   TITLE:=Textsearch support is selected if needed
738   KCONFIG:= \
739     CONFIG_TEXTSEARCH=y \
740     CONFIG_TEXTSEARCH_KMP \
741     CONFIG_TEXTSEARCH_BM \
742     CONFIG_TEXTSEARCH_FSM
743   FILES:= \
744     $(LINUX_DIR)/lib/ts_kmp.ko \
745     $(LINUX_DIR)/lib/ts_bm.ko \
746     $(LINUX_DIR)/lib/ts_fsm.ko
747   AUTOLOAD:=$(call AutoLoad,20,ts_kmp ts_bm ts_fsm)
748 endef
749
750 $(eval $(call KernelPackage,textsearch))
751
752
753 define KernelPackage/wdt-geode
754   SUBMENU:=$(OTHER_MENU)
755   TITLE:=Geode/LX Watchdog timer
756   DEPENDS:=@TARGET_x86
757   KCONFIG:=CONFIG_GEODE_WDT
758   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
759   AUTOLOAD:=$(call AutoLoad,50,geodewdt)
760 endef
761
762 define KernelPackage/wdt-geode/description
763   Kernel module for Geode watchdog timer.
764 endef
765
766 $(eval $(call KernelPackage,wdt-geode))
767
768
769 define KernelPackage/wdt-omap
770   SUBMENU:=$(OTHER_MENU)
771   TITLE:=OMAP Watchdog timer
772   DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
773   KCONFIG:=CONFIG_OMAP_WATCHDOG
774   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
775   AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
776 endef
777
778 define KernelPackage/wdt-omap/description
779   Kernel module for TI omap watchdog timer.
780 endef
781
782 $(eval $(call KernelPackage,wdt-omap))
783
784
785 define KernelPackage/wdt-orion
786   SUBMENU:=$(OTHER_MENU)
787   TITLE:=Marvell Orion Watchdog timer
788   DEPENDS:=@TARGET_orion
789   KCONFIG:=CONFIG_ORION_WATCHDOG
790   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
791   AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
792 endef
793
794 define KernelPackage/wdt-orion/description
795   Kernel module for Marvell orion watchdog timer.
796 endef
797
798 $(eval $(call KernelPackage,wdt-orion))
799
800
801 define KernelPackage/wdt-sc520
802   SUBMENU:=$(OTHER_MENU)
803   TITLE:=Natsemi SC520 Watchdog support
804   DEPENDS:=@TARGET_x86
805   KCONFIG:=CONFIG_SC520_WDT
806   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
807   AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
808 endef
809
810 define KernelPackage/wdt-sc520/description
811   Kernel module for SC520 Watchdog
812 endef
813
814 $(eval $(call KernelPackage,wdt-sc520))
815
816
817 define KernelPackage/wdt-scx200
818   SUBMENU:=$(OTHER_MENU)
819   TITLE:=Natsemi SCX200 Watchdog support
820   DEPENDS:=@TARGET_x86
821   KCONFIG:=CONFIG_SCx200_WDT
822   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
823   AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
824 endef
825
826 define KernelPackage/wdt-scx200/description
827  Kernel module for SCX200 Watchdog
828 endef
829
830 $(eval $(call KernelPackage,wdt-scx200))
831
832 define KernelPackage/pwm
833   SUBMENU:=$(OTHER_MENU)
834   TITLE:=PWM generic API
835   KCONFIG:=CONFIG_GENERIC_PWM
836   FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
837   AUTOLOAD:=$(call AutoLoad,50,pwm)
838 endef
839
840 define KernelPackage/pwm/description
841  Kernel module that implement a generic PWM API
842 endef
843
844 $(eval $(call KernelPackage,pwm))
845
846
847 define KernelPackage/pwm-gpio
848   SUBMENU:=$(OTHER_MENU)
849   TITLE:=PWM over GPIO
850   DEPENDS:=+kmod-pwm
851   KCONFIG:=CONFIG_GPIO_PWM
852   FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
853   AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
854 endef
855
856 define KernelPackage/pwm-gpio/description
857  Kernel module to models a single-channel PWM device using a timer and a GPIO pin
858 endef
859
860 $(eval $(call KernelPackage,pwm-gpio))
861
862 define KernelPackage/rtc-core
863   SUBMENU:=$(OTHER_MENU)
864   TITLE:=Real Time Clock class support
865   KCONFIG:=CONFIG_RTC_CLASS
866   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-core.$(LINUX_KMOD_SUFFIX)
867   AUTOLOAD:=$(call AutoLoad,29,rtc-core)
868 endef
869
870 define KernelPackage/rtc-core/description
871  Generic RTC class support.
872 endef
873
874 $(eval $(call KernelPackage,rtc-core))
875
876 define KernelPackage/rtc-pcf8563
877   SUBMENU:=$(OTHER_MENU)
878   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
879   DEPENDS:=+kmod-rtc-core
880   KCONFIG:=CONFIG_RTC_DRV_PCF8563
881   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.$(LINUX_KMOD_SUFFIX)
882   AUTOLOAD:=$(call AutoLoad,30,rtc-pcf8563)
883 endef
884
885 define KernelPackage/rtc-pcf8563/description
886  Kernel module for Philips PCF8563 RTC chip.
887  The Epson RTC8564 should work as well.
888 endef
889
890 $(eval $(call KernelPackage,rtc-pcf8563))
891
892
893 define KernelPackage/n810bm
894   SUBMENU:=$(OTHER_MENU)
895   TITLE:=Nokia N810 battery management driver
896   DEPENDS:=@TARGET_omap24xx
897   KCONFIG:=CONFIG_N810BM
898   FILES:=$(LINUX_DIR)/drivers/cbus/n810bm.$(LINUX_KMOD_SUFFIX)
899   AUTOLOAD:=$(call AutoLoad,01,n810bm)
900 endef
901
902 define KernelPackage/n810bm/description
903   Nokia N810 battery management driver.
904   Controls battery power management and battery charging.
905 endef
906
907 $(eval $(call KernelPackage,n810bm))