2 # Copyright (C) 2006-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 OTHER_MENU:=Other modules
10 WATCHDOG_DIR:=watchdog
13 define KernelPackage/bluetooth
14 SUBMENU:=$(OTHER_MENU)
15 TITLE:=Bluetooth support
16 DEPENDS:=@USB_SUPPORT +kmod-usb-core
23 CONFIG_BLUEZ_HCIUART \
34 CONFIG_BT_HCIUART_H4 \
36 $(call AddDepends/crc16)
37 $(call AddDepends/hid)
38 $(call AddDepends/rfkill)
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)
51 define KernelPackage/bluetooth/description
52 Kernel support for Bluetooth devices
55 $(eval $(call KernelPackage,bluetooth))
58 define KernelPackage/cpu-msr
59 SUBMENU:=$(OTHER_MENU)
60 TITLE:=x86 CPU MSR support
62 KCONFIG:=CONFIG_X86_MSR
63 FILES:=$(LINUX_DIR)/arch/x86/kernel/msr.$(LINUX_KMOD_SUFFIX)
64 AUTOLOAD:=$(call AutoLoad,20,msr)
67 define KernelPackage/cpu-msr/description
68 Kernel module for Model Specific Registers support in x86 CPUs
71 $(eval $(call KernelPackage,cpu-msr))
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)
82 define KernelPackage/crc-ccitt/description
83 Kernel module for CRC-CCITT support
86 $(eval $(call KernelPackage,crc-ccitt))
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)
97 define KernelPackage/crc-itu-t/description
98 Kernel module for CRC ITU-T V.41 support
101 $(eval $(call KernelPackage,crc-itu-t))
104 define KernelPackage/crc7
105 SUBMENU:=$(OTHER_MENU)
108 FILES:=$(LINUX_DIR)/lib/crc7.ko
109 AUTOLOAD:=$(call AutoLoad,20,crc7)
112 define KernelPackage/crc7/description
113 Kernel module for CRC7 support
116 $(eval $(call KernelPackage,crc7))
119 define KernelPackage/crc16
120 SUBMENU:=$(OTHER_MENU)
122 KCONFIG:=CONFIG_CRC16
123 FILES:=$(LINUX_DIR)/lib/crc16.ko
124 AUTOLOAD:=$(call AutoLoad,20,crc16,1)
125 $(call SetDepends/crc16)
128 define KernelPackage/crc16/description
129 Kernel module for CRC16 support
132 $(eval $(call KernelPackage,crc16))
135 define KernelPackage/eeprom-93cx6
136 SUBMENU:=$(OTHER_MENU)
137 TITLE:=EEPROM 93CX6 support
138 KCONFIG:=CONFIG_EEPROM_93CX6
139 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
140 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
143 define KernelPackage/eeprom-93cx6/description
144 Kernel module for EEPROM 93CX6 support
147 $(eval $(call KernelPackage,eeprom-93cx6))
150 define KernelPackage/gpio-cs5535
151 SUBMENU:=$(OTHER_MENU)
152 TITLE:=AMD CS5535/CS5536 GPIO driver
154 KCONFIG:=CONFIG_CS5535_GPIO
155 FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.ko
156 AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
159 define KernelPackage/gpio-cs5535/description
160 This package contains the AMD CS5535/CS5536 GPIO driver
163 $(eval $(call KernelPackage,gpio-cs5535))
166 define KernelPackage/gpio-dev
167 SUBMENU:=$(OTHER_MENU)
168 TITLE:=Generic GPIO char device support
169 DEPENDS:=@GPIO_SUPPORT
170 KCONFIG:=CONFIG_GPIO_DEVICE
171 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
172 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
175 define KernelPackage/gpio-dev/description
176 Kernel module to allows control of GPIO pins using a character device.
179 $(eval $(call KernelPackage,gpio-dev))
182 define KernelPackage/gpio-nsc
183 SUBMENU:=$(OTHER_MENU)
184 TITLE:=Natsemi GPIO support
186 KCONFIG:=CONFIG_NSC_GPIO
187 FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
188 AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
191 define KernelPackage/gpio-nsc/description
192 Kernel module for Natsemi GPIO
195 $(eval $(call KernelPackage,gpio-nsc))
198 define KernelPackage/gpio-pc8736x
199 SUBMENU:=$(OTHER_MENU)
200 TITLE:=PC8736x GPIO support
202 KCONFIG:=CONFIG_PC8736x_GPIO
203 FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
204 AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
207 define KernelPackage/gpio-pc8736x/description
208 Kernel module for PC8736x GPIO
211 $(eval $(call KernelPackage,gpio-pc8736x))
214 define KernelPackage/gpio-scx200
215 SUBMENU:=$(OTHER_MENU)
216 TITLE:=Natsemi SCX200 GPIO support
217 DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
218 KCONFIG:=CONFIG_SCx200_GPIO
219 FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
220 AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
223 define KernelPackage/gpio-scx200/description
224 Kernel module for SCX200 GPIO
227 $(eval $(call KernelPackage,gpio-scx200))
229 define KernelPackage/gpio-nxp-74hc164
230 SUBMENU:=$(OTHER_MENU)
231 TITLE:=NXP 74HC164 GPIO expander support
232 DEPENDS:=@TARGET_brcm63xx
233 KCONFIG:=CONFIG_GPIO_NXP_74HC164
234 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
235 AUTOLOAD:=$(call AutoLoad,99,nxp_74hc164)
238 define KernelPackage/gpio-nxp-74hc164/description
239 Kernel module for NXP 74HC164 GPIO expander
242 $(eval $(call KernelPackage,gpio-nxp-74hc164))
244 define KernelPackage/hid
245 SUBMENU:=$(OTHER_MENU)
247 DEPENDS:=+kmod-input-evdev
249 FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
250 AUTOLOAD:=$(call AutoLoad,61,hid)
251 $(call SetDepends/hid)
252 $(call AddDepends/input)
255 define KernelPackage/hid/description
256 Kernel modules for HID devices
259 $(eval $(call KernelPackage,hid))
262 define KernelPackage/input-core
263 SUBMENU:=$(OTHER_MENU)
264 TITLE:=Input device core
265 KCONFIG:=CONFIG_INPUT
266 $(call SetDepends/input)
267 FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
268 AUTOLOAD:=$(call AutoLoad,19,input-core)
271 define KernelPackage/input-core/description
272 Kernel modules for support of input device
275 $(eval $(call KernelPackage,input-core))
278 define KernelPackage/input-evdev
279 SUBMENU:=$(OTHER_MENU)
280 TITLE:=Input event device
281 KCONFIG:=CONFIG_INPUT_EVDEV
282 FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
283 AUTOLOAD:=$(call AutoLoad,60,evdev)
284 $(call AddDepends/input)
287 define KernelPackage/input-evdev/description
288 Kernel modules for support of input device events
291 $(eval $(call KernelPackage,input-evdev))
294 define KernelPackage/input-gpio-buttons
295 SUBMENU:=$(OTHER_MENU)
296 TITLE:=Polled GPIO buttons input device
297 DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
299 CONFIG_INPUT_GPIO_BUTTONS \
301 FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
302 AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
305 define KernelPackage/input-gpio-buttons/description
306 Kernel module for support polled GPIO buttons input device
309 $(eval $(call KernelPackage,input-gpio-buttons))
312 define KernelPackage/input-gpio-keys
313 SUBMENU:=$(OTHER_MENU)
314 TITLE:=GPIO key support
315 DEPENDS:= @GPIO_SUPPORT
316 KCONFIG:=CONFIG_KEYBOARD_GPIO
317 FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
318 AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
319 $(call AddDepends/input)
322 define KernelPackage/input-gpio-keys/description
323 This driver implements support for buttons connected
324 to GPIO pins of various CPUs (and some other chips).
327 $(eval $(call KernelPackage,input-gpio-keys))
330 define KernelPackage/input-gpio-encoder
331 SUBMENU:=$(OTHER_MENU)
332 TITLE:=GPIO rotay encoder
333 KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
334 FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
335 AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
336 $(call AddDepends/input,@GPIO_SUPPORT)
339 define KernelPackage/gpio-encoder/description
340 Kernel module to use rotary encoders connected to GPIO pins
343 $(eval $(call KernelPackage,input-gpio-encoder))
346 define KernelPackage/input-joydev
347 SUBMENU:=$(OTHER_MENU)
348 TITLE:=Joystick device support
349 KCONFIG:=CONFIG_INPUT_JOYDEV
350 FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
351 AUTOLOAD:=$(call AutoLoad,62,joydev)
352 $(call AddDepends/input)
355 define KernelPackage/input-joydev/description
356 Kernel module for joystick support
359 $(eval $(call KernelPackage,input-joydev))
362 define KernelPackage/input-polldev
363 SUBMENU:=$(OTHER_MENU)
364 TITLE:=Polled Input device support
365 KCONFIG:=CONFIG_INPUT_POLLDEV
366 FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
367 AUTOLOAD:=$(call AutoLoad,20,input-polldev)
368 $(call AddDepends/input)
371 define KernelPackage/input-polldev/description
372 Kernel module for support of polled input devices
375 $(eval $(call KernelPackage,input-polldev))
378 define KernelPackage/leds-alix
379 SUBMENU:=$(OTHER_MENU)
380 TITLE:=PCengines ALIX LED support
382 KCONFIG:=CONFIG_LEDS_ALIX2
383 FILES:=$(LINUX_DIR)/drivers/leds/leds-alix2.ko
384 AUTOLOAD:=$(call AutoLoad,50,leds-alix2)
387 define KernelPackage/leds-alix/description
388 Kernel module for PCengines ALIX LEDs
391 $(eval $(call KernelPackage,leds-alix))
394 define KernelPackage/leds-gpio
395 SUBMENU:=$(OTHER_MENU)
396 TITLE:=GPIO LED support
397 DEPENDS:= @GPIO_SUPPORT
398 KCONFIG:=CONFIG_LEDS_GPIO
399 FILES:=$(LINUX_DIR)/drivers/leds/leds-gpio.ko
400 AUTOLOAD:=$(call AutoLoad,60,leds-gpio)
403 define KernelPackage/leds-gpio/description
404 Kernel module for LEDs on GPIO lines
407 $(eval $(call KernelPackage,leds-gpio))
410 define KernelPackage/leds-net48xx
411 SUBMENU:=$(OTHER_MENU)
412 TITLE:=Soekris Net48xx LED support
413 DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
414 KCONFIG:=CONFIG_LEDS_NET48XX
415 FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.ko
416 AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
419 define KernelPackage/leds-net48xx/description
420 Kernel module for Soekris Net48xx LEDs
423 $(eval $(call KernelPackage,leds-net48xx))
426 define KernelPackage/leds-rb750
427 SUBMENU:=$(OTHER_MENU)
428 TITLE:=RouterBOARD 750 LED support
429 DEPENDS:=@TARGET_ar71xx
430 KCONFIG:=CONFIG_LEDS_RB750
431 FILES:=$(LINUX_DIR)/drivers/leds/leds-rb750.ko
432 AUTOLOAD:=$(call AutoLoad,60,leds-rb750)
435 define KernelPackage/leds-rb750/description
436 Kernel module for the LEDs on the MikroTik RouterBOARD 750.
439 $(eval $(call KernelPackage,leds-rb750))
442 define KernelPackage/leds-wndr3700-usb
443 SUBMENU:=$(OTHER_MENU)
444 TITLE:=WNDR3700 USB LED support
445 DEPENDS:=@TARGET_ar71xx
446 KCONFIG:=CONFIG_LEDS_WNDR3700_USB
447 FILES:=$(LINUX_DIR)/drivers/leds/leds-wndr3700-usb.ko
448 AUTOLOAD:=$(call AutoLoad,60,leds-wndr3700-usb)
451 define KernelPackage/leds-wndr3700-usb/description
452 Kernel module for the USB LED on the NETGWR WNDR3700 board.
455 $(eval $(call KernelPackage,leds-wndr3700-usb))
458 define KernelPackage/leds-wrap
459 SUBMENU:=$(OTHER_MENU)
460 TITLE:=PCengines WRAP LED support
461 DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
462 KCONFIG:=CONFIG_LEDS_WRAP
463 FILES:=$(LINUX_DIR)/drivers/leds/leds-wrap.ko
464 AUTOLOAD:=$(call AutoLoad,50,leds-wrap)
467 define KernelPackage/leds-wrap/description
468 Kernel module for PCengines WRAP LEDs
471 $(eval $(call KernelPackage,leds-wrap))
474 define KernelPackage/ledtrig-morse
475 SUBMENU:=$(OTHER_MENU)
476 TITLE:=LED Morse Trigger
477 KCONFIG:=CONFIG_LEDS_TRIGGER_MORSE
478 FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-morse.ko
479 AUTOLOAD:=$(call AutoLoad,50,ledtrig-morse)
482 define KernelPackage/ledtrig-morse/description
483 Kernel module to show morse coded messages on LEDs.
486 $(eval $(call KernelPackage,ledtrig-morse))
489 define KernelPackage/ledtrig-netdev
490 SUBMENU:=$(OTHER_MENU)
491 TITLE:=LED NETDEV Trigger
492 KCONFIG:=CONFIG_LEDS_TRIGGER_NETDEV
493 FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-netdev.ko
494 AUTOLOAD:=$(call AutoLoad,50,ledtrig-netdev)
497 define KernelPackage/ledtrig-netdev/description
498 Kernel module to drive LEDs based on network activity.
501 $(eval $(call KernelPackage,ledtrig-netdev))
504 define KernelPackage/lp
505 SUBMENU:=$(OTHER_MENU)
506 TITLE:=Parallel port and line printer support
513 $(LINUX_DIR)/drivers/parport/parport.ko \
514 $(LINUX_DIR)/drivers/char/lp.ko \
515 $(LINUX_DIR)/drivers/char/ppdev.ko
516 AUTOLOAD:=$(call AutoLoad,50,parport lp)
519 $(eval $(call KernelPackage,lp))
522 define KernelPackage/mmc
523 SUBMENU:=$(OTHER_MENU)
524 TITLE:=MMC/SD Card Support
529 CONFIG_MMC_UNSAFE_RESUME=n \
530 CONFIG_MMC_BLOCK_BOUNCE=y \
532 CONFIG_MMC_TIFM_SD=n \
536 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
537 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
538 AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
541 define KernelPackage/mmc/description
542 Kernel support for MMC/SD cards
545 $(eval $(call KernelPackage,mmc))
548 define KernelPackage/mmc-atmelmci
549 SUBMENU:=$(OTHER_MENU)
550 TITLE:=Amtel MMC Support
551 DEPENDS:=@TARGET_avr32 +kmod-mmc
552 KCONFIG:=CONFIG_MMC_ATMELMCI
553 FILES:=$(LINUX_DIR)/drivers/mmc/host/atmel-mci.ko
554 AUTOLOAD:=$(call AutoLoad,90,atmel-mci)
557 define KernelPackage/mmc-atmelmci/description
558 Kernel support for Atmel Multimedia Card Interface.
561 $(eval $(call KernelPackage,mmc-atmelmci,1))
564 define KernelPackage/rfkill
565 SUBMENU:=$(OTHER_MENU)
566 TITLE:=RF switch subsystem support
569 CONFIG_RFKILL_INPUT=y \
571 ifeq ($(CONFIG_LINUX_2_6_30),)
573 $(LINUX_DIR)/net/rfkill/rfkill.ko
574 AUTOLOAD:=$(call AutoLoad,20,rfkill)
577 $(LINUX_DIR)/net/rfkill/rfkill.ko \
578 $(LINUX_DIR)/net/rfkill/rfkill-input.ko
579 AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
581 $(call SetDepends/rfkill)
584 define KernelPackage/rfkill/description
585 Say Y here if you want to have control over RF switches
586 found on many WiFi and Bluetooth cards.
589 $(eval $(call KernelPackage,rfkill))
592 define KernelPackage/softdog
593 SUBMENU:=$(OTHER_MENU)
594 TITLE:=Software watchdog driver
595 KCONFIG:=CONFIG_SOFT_WATCHDOG
596 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
597 AUTOLOAD:=$(call AutoLoad,50,softdog)
600 define KernelPackage/softdog/description
601 Software watchdog driver
604 $(eval $(call KernelPackage,softdog))
607 define KernelPackage/ssb
608 SUBMENU:=$(OTHER_MENU)
609 TITLE:=Silicon Sonics Backplane glue code
610 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
613 CONFIG_SSB_B43_PCI_BRIDGE=y \
614 CONFIG_SSB_DRIVER_MIPS=n \
615 CONFIG_SSB_DRIVER_PCICORE=y \
616 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
617 CONFIG_SSB_PCIHOST=y \
618 CONFIG_SSB_PCIHOST_POSSIBLE=y \
619 CONFIG_SSB_POSSIBLE=y \
622 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
623 AUTOLOAD:=$(call AutoLoad,29,ssb)
626 define KernelPackage/ssb/description
627 Silicon Sonics Backplane glue code.
630 $(eval $(call KernelPackage,ssb))
633 define KernelPackage/textsearch
634 SUBMENU:=$(OTHER_MENU)
635 TITLE:=Textsearch support is selected if needed
637 CONFIG_TEXTSEARCH=y \
638 CONFIG_TEXTSEARCH_KMP \
639 CONFIG_TEXTSEARCH_BM \
640 CONFIG_TEXTSEARCH_FSM
642 $(LINUX_DIR)/lib/ts_kmp.ko \
643 $(LINUX_DIR)/lib/ts_bm.ko \
644 $(LINUX_DIR)/lib/ts_fsm.ko
645 AUTOLOAD:=$(call AutoLoad,20,ts_kmp ts_bm ts_fsm)
648 $(eval $(call KernelPackage,textsearch))
651 define KernelPackage/wdt-geode
652 SUBMENU:=$(OTHER_MENU)
653 TITLE:=Geode/LX Watchdog timer
655 KCONFIG:=CONFIG_GEODE_WDT
656 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
657 AUTOLOAD:=$(call AutoLoad,50,geodewdt)
660 define KernelPackage/wdt-geode/description
661 Kernel module for Geode watchdog timer.
664 $(eval $(call KernelPackage,wdt-geode))
667 define KernelPackage/wdt-sc520
668 SUBMENU:=$(OTHER_MENU)
669 TITLE:=Natsemi SC520 Watchdog support
671 KCONFIG:=CONFIG_SC520_WDT
672 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
673 AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
676 define KernelPackage/wdt-sc520/description
677 Kernel module for SC520 Watchdog
680 $(eval $(call KernelPackage,wdt-sc520))
683 define KernelPackage/wdt-scx200
684 SUBMENU:=$(OTHER_MENU)
685 TITLE:=Natsemi SCX200 Watchdog support
687 KCONFIG:=CONFIG_SCx200_WDT
688 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
689 AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
692 define KernelPackage/wdt-scx200/description
693 Kernel module for SCX200 Watchdog
696 $(eval $(call KernelPackage,wdt-scx200))
699 define KernelPackage/pwm
700 SUBMENU:=$(OTHER_MENU)
701 TITLE:=PWM generic API
702 KCONFIG:=CONFIG_GENERIC_PWM
703 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
704 AUTOLOAD:=$(call AutoLoad,50,pwm)
707 define KernelPackage/pwm/description
708 Kernel module that implement a generic PWM API
711 $(eval $(call KernelPackage,pwm))
714 define KernelPackage/pwm-gpio
715 SUBMENU:=$(OTHER_MENU)
718 KCONFIG:=CONFIG_GPIO_PWM
719 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
720 AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
723 define KernelPackage/pwm-gpio/description
724 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
727 $(eval $(call KernelPackage,pwm-gpio))