# # Copyright (C) 2006-2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # OTHER_MENU:=Other modules WATCHDOG_DIR:=watchdog define KernelPackage/6lowpan SUBMENU:=$(OTHER_MENU) TITLE:=6LoWPAN shared code KCONFIG:= \ CONFIG_6LOWPAN \ CONFIG_6LOWPAN_NHC=n FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko AUTOLOAD:=$(call AutoProbe,6lowpan) endef define KernelPackage/6lowpan/description Shared 6lowpan code for IEEE 802.15.4 and Bluetooth. endef $(eval $(call KernelPackage,6lowpan)) define KernelPackage/bluetooth SUBMENU:=$(OTHER_MENU) TITLE:=Bluetooth support DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +!LINUX_3_18:kmod-crypto-cmac +!LINUX_3_18:kmod-regmap +LINUX_4_14:kmod-crypto-ecdh KCONFIG:= \ CONFIG_BLUEZ \ CONFIG_BLUEZ_L2CAP \ CONFIG_BLUEZ_SCO \ CONFIG_BLUEZ_RFCOMM \ CONFIG_BLUEZ_BNEP \ CONFIG_BLUEZ_HCIUART \ CONFIG_BLUEZ_HCIUSB \ CONFIG_BLUEZ_HIDP \ CONFIG_BT \ CONFIG_BT_BREDR=y \ CONFIG_BT_DEBUGFS=n \ CONFIG_BT_L2CAP=y \ CONFIG_BT_LE=y \ CONFIG_BT_SCO=y \ CONFIG_BT_RFCOMM \ CONFIG_BT_BNEP \ CONFIG_BT_HCIBTUSB \ CONFIG_BT_HCIBTUSB_BCM=n \ CONFIG_BT_HCIUSB \ CONFIG_BT_HCIUART \ CONFIG_BT_HCIUART_BCM=n \ CONFIG_BT_HCIUART_INTEL=n \ CONFIG_BT_HCIUART_H4 \ CONFIG_BT_HCIUART_NOKIA=n \ CONFIG_BT_HIDP \ CONFIG_HID_SUPPORT=y $(call AddDepends/rfkill) FILES:= \ $(LINUX_DIR)/net/bluetooth/bluetooth.ko \ $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \ $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \ $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \ $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \ $(LINUX_DIR)/drivers/bluetooth/btusb.ko ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1) FILES+= \ $(LINUX_DIR)/drivers/bluetooth/btintel.ko endif AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb) endef define KernelPackage/bluetooth/description Kernel support for Bluetooth devices endef $(eval $(call KernelPackage,bluetooth)) define KernelPackage/ath3k SUBMENU:=$(OTHER_MENU) TITLE:=ATH3K Kernel Module support DEPENDS:=+kmod-bluetooth +ar3k-firmware KCONFIG:= \ CONFIG_BT_ATH3K \ CONFIG_BT_HCIUART_ATH3K=y $(call AddDepends/bluetooth) FILES:= \ $(LINUX_DIR)/drivers/bluetooth/ath3k.ko AUTOLOAD:=$(call AutoProbe,ath3k) endef define KernelPackage/ath3k/description Kernel support for ATH3K Module endef $(eval $(call KernelPackage,ath3k)) define KernelPackage/bluetooth_6lowpan SUBMENU:=$(OTHER_MENU) TITLE:=Bluetooth 6LoWPAN support DEPENDS:=+kmod-6lowpan +kmod-bluetooth KCONFIG:=CONFIG_BT_6LOWPAN FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan) endef define KernelPackage/bluetooth_6lowpan/description Kernel support for 6LoWPAN over Bluetooth Low Energy devices endef $(eval $(call KernelPackage,bluetooth_6lowpan)) define KernelPackage/btmrvl SUBMENU:=$(OTHER_MENU) TITLE:=Marvell Bluetooth Kernel Module support DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware KCONFIG:= \ CONFIG_BT_MRVL \ CONFIG_BT_MRVL_SDIO $(call AddDepends/bluetooth) FILES:= \ $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \ $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio) endef define KernelPackage/btmrvl/description Kernel support for Marvell SDIO Bluetooth Module endef $(eval $(call KernelPackage,btmrvl)) define KernelPackage/dma-buf SUBMENU:=$(OTHER_MENU) TITLE:=DMA shared buffer support HIDDEN:=1 KCONFIG:=CONFIG_DMA_SHARED_BUFFER FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer) endef $(eval $(call KernelPackage,dma-buf)) define KernelPackage/nvmem SUBMENU:=$(OTHER_MENU) TITLE:=Non Volatile Memory support KCONFIG:=CONFIG_NVMEM HIDDEN:=1 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko@ge4.9 endef define KernelPackage/nvmem/description Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc. endef $(eval $(call KernelPackage,nvmem)) define KernelPackage/eeprom-93cx6 SUBMENU:=$(OTHER_MENU) TITLE:=EEPROM 93CX6 support KCONFIG:=CONFIG_EEPROM_93CX6 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6) endef define KernelPackage/eeprom-93cx6/description Kernel module for EEPROM 93CX6 support endef $(eval $(call KernelPackage,eeprom-93cx6)) define KernelPackage/eeprom-at24 SUBMENU:=$(OTHER_MENU) TITLE:=EEPROM AT24 support KCONFIG:=CONFIG_EEPROM_AT24 DEPENDS:=+kmod-i2c-core +kmod-nvmem FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko AUTOLOAD:=$(call AutoProbe,at24) endef define KernelPackage/eeprom-at24/description Kernel module for most I2C EEPROMs endef $(eval $(call KernelPackage,eeprom-at24)) define KernelPackage/eeprom-at25 SUBMENU:=$(OTHER_MENU) TITLE:=EEPROM AT25 support KCONFIG:=CONFIG_EEPROM_AT25 DEPENDS:=+kmod-nvmem FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko AUTOLOAD:=$(call AutoProbe,at25) endef define KernelPackage/eeprom-at25/description Kernel module for most SPI EEPROMs endef $(eval $(call KernelPackage,eeprom-at25)) define KernelPackage/gpio-dev SUBMENU:=$(OTHER_MENU) TITLE:=Generic GPIO char device support DEPENDS:=@GPIO_SUPPORT KCONFIG:=CONFIG_GPIO_DEVICE FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko AUTOLOAD:=$(call AutoLoad,40,gpio_dev) endef define KernelPackage/gpio-dev/description Kernel module to allows control of GPIO pins using a character device. endef $(eval $(call KernelPackage,gpio-dev)) define KernelPackage/gpio-mcp23s08 SUBMENU:=$(OTHER_MENU) TITLE:=Microchip MCP23xxx I/O expander DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +LINUX_4_14:kmod-regmap KCONFIG:= \ CONFIG_GPIO_MCP23S08 \ CONFIG_PINCTRL_MCP23S08 FILES:= \ $(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko@lt4.13 \ $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko@ge4.13 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08@lt4.13 pinctrl-mcp23s08@ge4.13) endef define KernelPackage/gpio-mcp23s08/description Kernel module for Microchip MCP23xxx SPI/I2C I/O expander endef $(eval $(call KernelPackage,gpio-mcp23s08)) define KernelPackage/gpio-nxp-74hc164 SUBMENU:=$(OTHER_MENU) TITLE:=NXP 74HC164 GPIO expander support KCONFIG:=CONFIG_GPIO_74X164 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko AUTOLOAD:=$(call AutoProbe,gpio-74x164) endef define KernelPackage/gpio-nxp-74hc164/description Kernel module for NXP 74HC164 GPIO expander endef $(eval $(call KernelPackage,gpio-nxp-74hc164)) define KernelPackage/gpio-pca953x SUBMENU:=$(OTHER_MENU) DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports KCONFIG:=CONFIG_GPIO_PCA953X FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x) endef define KernelPackage/gpio-pca953x/description Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7}, PCA957{4,5} and TCA64{08,16} I2C GPIO expanders endef $(eval $(call KernelPackage,gpio-pca953x)) define KernelPackage/gpio-pcf857x SUBMENU:=$(OTHER_MENU) DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders KCONFIG:=CONFIG_GPIO_PCF857X FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x) endef define KernelPackage/gpio-pcf857x/description Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders endef $(eval $(call KernelPackage,gpio-pcf857x)) define KernelPackage/ppdev SUBMENU:=$(OTHER_MENU) TITLE:=Parallel port support KCONFIG:= \ CONFIG_PARPORT \ CONFIG_PPDEV FILES:= \ $(LINUX_DIR)/drivers/parport/parport.ko \ $(LINUX_DIR)/drivers/char/ppdev.ko AUTOLOAD:=$(call AutoLoad,50,parport ppdev) endef $(eval $(call KernelPackage,ppdev)) define KernelPackage/parport-pc SUBMENU:=$(OTHER_MENU) TITLE:=Parallel port interface (PC-style) support DEPENDS:=+kmod-ppdev KCONFIG:= \ CONFIG_KS0108=n \ CONFIG_PARPORT_PC \ CONFIG_PARPORT_1284=y \ CONFIG_PARPORT_PC_FIFO=y \ CONFIG_PARPORT_PC_PCMCIA=n \ CONFIG_PARPORT_PC_SUPERIO=y \ CONFIG_PARPORT_SERIAL=n \ CONFIG_PARIDE=n \ CONFIG_SCSI_IMM=n \ CONFIG_SCSI_PPA=n FILES:= \ $(LINUX_DIR)/drivers/parport/parport_pc.ko AUTOLOAD:=$(call AutoLoad,51,parport_pc) endef $(eval $(call KernelPackage,parport-pc)) define KernelPackage/lp SUBMENU:=$(OTHER_MENU) TITLE:=Parallel port line printer device support DEPENDS:=+kmod-ppdev KCONFIG:= \ CONFIG_PRINTER FILES:= \ $(LINUX_DIR)/drivers/char/lp.ko AUTOLOAD:=$(call AutoLoad,52,lp) endef $(eval $(call KernelPackage,lp)) define KernelPackage/mmc SUBMENU:=$(OTHER_MENU) TITLE:=MMC/SD Card Support DEPENDS:=@!TARGET_uml KCONFIG:= \ CONFIG_MMC \ CONFIG_MMC_BLOCK \ CONFIG_MMC_DEBUG=n \ CONFIG_MMC_UNSAFE_RESUME=n \ CONFIG_MMC_BLOCK_BOUNCE=y \ CONFIG_MMC_TIFM_SD=n \ CONFIG_MMC_WBSD=n \ CONFIG_SDIO_UART=n FILES:= \ $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \ $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko@lt4.10 \ $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko@ge4.10 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1) endef define KernelPackage/mmc/description Kernel support for MMC/SD cards endef $(eval $(call KernelPackage,mmc)) define KernelPackage/sdhci SUBMENU:=$(OTHER_MENU) TITLE:=Secure Digital Host Controller Interface support DEPENDS:=+kmod-mmc KCONFIG:= \ CONFIG_MMC_SDHCI \ CONFIG_MMC_SDHCI_PLTFM \ CONFIG_MMC_SDHCI_PCI=n FILES:= \ $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \ $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1) endef define KernelPackage/sdhci/description Kernel support for SDHCI Hosts endef $(eval $(call KernelPackage,sdhci)) define KernelPackage/rfkill SUBMENU:=$(OTHER_MENU) TITLE:=RF switch subsystem support DEPENDS:=@USE_RFKILL +kmod-input-core KCONFIG:= \ CONFIG_RFKILL_FULL \ CONFIG_RFKILL_INPUT=y \ CONFIG_RFKILL_LEDS=y FILES:= \ $(LINUX_DIR)/net/rfkill/rfkill.ko AUTOLOAD:=$(call AutoLoad,20,rfkill) endef define KernelPackage/rfkill/desc
#
# Copyright (C) 2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
VIRTUAL_MENU:=Virtualization Support
define KernelPackage/virtio-balloon
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=VirtIO balloon driver
DEPENDS:=@TARGET_x86_kvm_guest
KCONFIG:=CONFIG_VIRTIO_BALLOON
FILES:=$(LINUX_DIR)/drivers/virtio/virtio_balloon.ko
AUTOLOAD:=$(call AutoLoad,06,virtio-balloon)
endef
define KernelPackage/virtio-balloon/description
Kernel module for VirtIO memory ballooning support
endef
$(eval $(call KernelPackage,virtio-balloon))
define KernelPackage/virtio-net
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=VirtIO network driver
DEPENDS:=@TARGET_x86_kvm_guest
KCONFIG:=CONFIG_VIRTIO_NET
FILES:=$(LINUX_DIR)/drivers/net/virtio_net.ko
AUTOLOAD:=$(call AutoLoad,50,virtio_net)
endef
define KernelPackage/virtio-net/description
Kernel module for the VirtIO paravirtualized network device
endef
$(eval $(call KernelPackage,virtio-net))
define KernelPackage/virtio-random
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=VirtIO Random Number Generator support
DEPENDS:=@TARGET_x86_kvm_guest
KCONFIG:=CONFIG_HW_RANDOM_VIRTIO
FILES:=$(LINUX_DIR)/drivers/char/hw_random/virtio-rng.ko
AUTOLOAD:=$(call AutoLoad,09,virtio-rng)
endef
define KernelPackage/virtio-random/description
Kernel module for the VirtIO Random Number Generator
endef
$(eval $(call KernelPackage,virtio-random))
define KernelPackage/xen-privcmd
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=Xen private commands
DEPENDS:=@TARGET_x86_xen_domu
KCONFIG:=CONFIG_XEN_PRIVCMD
FILES:=$(LINUX_DIR)/drivers/xen/xen-privcmd.ko
AUTOLOAD:=$(call AutoLoad,04,xen-privcmd)
endef
define KernelPackage/xen-privcmd/description
Kernel module for Xen private commands
endef
$(eval $(call KernelPackage,xen-privcmd))
define KernelPackage/xen-fs
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=Xen filesystem
DEPENDS:=@TARGET_x86_xen_domu +kmod-xen-privcmd
KCONFIG:= \
CONFIG_XENFS \
CONFIG_XEN_COMPAT_XENFS=y
FILES:=$(LINUX_DIR)/drivers/xen/xenfs/xenfs.ko
AUTOLOAD:=$(call AutoLoad,05,xenfs)
endef
define KernelPackage/xen-fs/description
Kernel module for the Xen filesystem
endef
$(eval $(call KernelPackage,xen-fs))
define KernelPackage/xen-evtchn
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=Xen event channels
DEPENDS:=@TARGET_x86_xen_domu
KCONFIG:=CONFIG_XEN_DEV_EVTCHN
FILES:=$(LINUX_DIR)/drivers/xen/xen-evtchn.ko
AUTOLOAD:=$(call AutoLoad,06,xen-evtchn)
endef
define KernelPackage/xen-evtchn/description
Kernel module for the /dev/xen/evtchn device
endef
$(eval $(call KernelPackage,xen-evtchn))
define KernelPackage/xen-fbdev
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=Xen virtual frame buffer
DEPENDS:=@TARGET_x86_xen_domu +kmod-fb
KCONFIG:= \
CONFIG_XEN_FBDEV_FRONTEND \
CONFIG_FB_DEFERRED_IO=y \
CONFIG_FB_SYS_COPYAREA \
CONFIG_FB_SYS_FILLRECT \
CONFIG_FB_SYS_FOPS \
CONFIG_FB_SYS_IMAGEBLIT \
CONFIG_FIRMWARE_EDID=n
FILES:= \
$(LINUX_DIR)/drivers/video/xen-fbfront.ko \
$(LINUX_DIR)/drivers/video/syscopyarea.ko \
$(LINUX_DIR)/drivers/video/sysfillrect.ko \
$(LINUX_DIR)/drivers/video/fb_sys_fops.ko \
$(LINUX_DIR)/drivers/video/sysimgblt.ko
AUTOLOAD:=$(call AutoLoad,07, \
fb \
syscopyarea \
sysfillrect \
fb_sys_fops \
sysimgblt \
xen-fbfront \
)
endef
define KernelPackage/xen-fbdev/description
Kernel module for the Xen virtual frame buffer
endef
$(eval $(call KernelPackage,xen-fbdev))
define KernelPackage/xen-kbddev
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=Xen virtual keyboard and mouse
DEPENDS:=@TARGET_x86_xen_domu +kmod-input-core
KCONFIG:=CONFIG_INPUT_MISC=y \
CONFIG_INPUT_XEN_KBDDEV_FRONTEND
FILES:=$(LINUX_DIR)/drivers/input/misc/xen-kbdfront.ko
AUTOLOAD:=$(call AutoLoad,08,xen-kbdfront)
endef
define KernelPackage/xen-kbddev/description
Kernel module for the Xen virtual keyboard and mouse
endef
$(eval $(call KernelPackage,xen-kbddev))
define KernelPackage/xen-netdev
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=Xen network device frontend
DEPENDS:=@TARGET_x86_xen_domu
KCONFIG:=CONFIG_XEN_NETDEV_FRONTEND
FILES:=$(LINUX_DIR)/drivers/net/xen-netfront.ko
AUTOLOAD:=$(call AutoLoad,09,xen-netfront)
endef
define KernelPackage/xen-netdev/description
Kernel module for the Xen network device frontend
endef
$(eval $(call KernelPackage,xen-netdev))
define KernelPackage/xen-pcidev
SUBMENU:=$(VIRTUAL_MENU)
TITLE:=Xen PCI device frontend
DEPENDS:=@TARGET_x86_xen_domu
KCONFIG:=CONFIG_XEN_PCIDEV_FRONTEND
FILES:=$(LINUX_DIR)/drivers/pci/xen-pcifront.ko
AUTOLOAD:=$(call AutoLoad,10,xen-pcifront)
endef
define KernelPackage/xen-pcidev/description
Kernel module for the Xen network device frontend
endef
$(eval $(call KernelPackage,xen-pcidev))