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