openwrtv4/package/kernel/linux/modules/other.mk
Christian Lamparter 3fce12568a kernel: modules: fix kmod-regmap redux
Jonas Gorski commented on the previous patch:
|This is actually the wrong fix and papers over an issue in one of our
|local patches.
|
|We intentionally allow regmap to be built as a module, see
|
|/target/linux/generic/hack-4.14/259-regmap_dynamic.patch
|[...]
|[The regulator code] optionally supports regmap thanks to the stubs
|provided if regmap is disabled - which breaks if you compile regmap
|as a module.

In order to mitigate this issue, this patch reverts the previous patch
and replaces the existing IS_ENABLED(CONFIG_REGMAP) with
IS_REACHABLE(CONFIG_REGMAP). This solves this particular issue as the
regulator code will now automatically fallback to the regmap stubs in
case the kmod-regmap module is enabled, but nothing else sets
CONFIG_REGMAP=y.

Note: There's still a potential issue that this patch doesn't solve:
If someone ever wants to make a OpenWrt kernel package for a
regulator module that requires the REGMAP feature for a target that
doesn't set CONFIG_REGMAP=y but has CONFIG_REGULATOR=y, the resulting
kmod-regulator-xyz package will not work on the target.
Luckily, there aren't any in-tree OpenWrt kernel module packages for
regulators at the moment. On the bright side: regmap is a critical
part nowadays and all new and upcoming architectures require it by
default. This will likely only ever be a problem for legacy targets
and devices that cannot afford to enable REGMAP.

Cc: Jonas Gorski <jonas.gorski@gmail.com>
Cc: John Crispin <john@phrozen.org>
Fixes: d00913d121 ("kernel: modules: fix kmod-regmap")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-08-06 07:17:12 +02:00

1143 lines
29 KiB
Makefile

#
# 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
KCONFIG:=CONFIG_GPIO_MCP23S08
FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
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/description
Say Y here if you want to have control over RF switches
found on many WiFi and Bluetooth cards
endef
$(eval $(call KernelPackage,rfkill))
define KernelPackage/softdog
SUBMENU:=$(OTHER_MENU)
TITLE:=Software watchdog driver
KCONFIG:=CONFIG_SOFT_WATCHDOG \
CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
AUTOLOAD:=$(call AutoLoad,50,softdog,1)
endef
define KernelPackage/softdog/description
Software watchdog driver
endef
$(eval $(call KernelPackage,softdog))
define KernelPackage/ssb
SUBMENU:=$(OTHER_MENU)
TITLE:=Silicon Sonics Backplane glue code
DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
KCONFIG:=\
CONFIG_SSB \
CONFIG_SSB_B43_PCI_BRIDGE=y \
CONFIG_SSB_DRIVER_MIPS=n \
CONFIG_SSB_DRIVER_PCICORE=y \
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
CONFIG_SSB_PCIHOST=y \
CONFIG_SSB_PCIHOST_POSSIBLE=y \
CONFIG_SSB_POSSIBLE=y \
CONFIG_SSB_SPROM=y \
CONFIG_SSB_SILENT=y
FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
AUTOLOAD:=$(call AutoLoad,18,ssb,1)
endef
define KernelPackage/ssb/description
Silicon Sonics Backplane glue code.
endef
$(eval $(call KernelPackage,ssb))
define KernelPackage/bcma
SUBMENU:=$(OTHER_MENU)
TITLE:=BCMA support
DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
KCONFIG:=\
CONFIG_BCMA \
CONFIG_BCMA_POSSIBLE=y \
CONFIG_BCMA_BLOCKIO=y \
CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
CONFIG_BCMA_HOST_PCI=y \
CONFIG_BCMA_HOST_SOC=n \
CONFIG_BCMA_DRIVER_MIPS=n \
CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
CONFIG_BCMA_DRIVER_GMAC_CMN=n \
CONFIG_BCMA_DEBUG=n
FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
AUTOLOAD:=$(call AutoLoad,29,bcma)
endef
define KernelPackage/bcma/description
Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
endef
$(eval $(call KernelPackage,bcma))
define KernelPackage/rtc-ds1307
SUBMENU:=$(OTHER_MENU)
TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
DEPENDS:=+kmod-i2c-core +LINUX_4_14:kmod-regmap
KCONFIG:=CONFIG_RTC_DRV_DS1307 \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
endef
define KernelPackage/rtc-ds1307/description
Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
Epson RX-8025 and various other compatible RTC chips connected via I2C.
endef
$(eval $(call KernelPackage,rtc-ds1307))
define KernelPackage/rtc-ds1374
SUBMENU:=$(OTHER_MENU)
TITLE:=Dallas/Maxim DS1374 RTC support
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
DEPENDS:=+kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_DS1374 \
CONFIG_RTC_DRV_DS1374_WDT=n \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
endef
define KernelPackage/rtc-ds1374/description
Kernel module for Dallas/Maxim DS1374.
endef
$(eval $(call KernelPackage,rtc-ds1374))
define KernelPackage/rtc-ds1672
SUBMENU:=$(OTHER_MENU)
TITLE:=Dallas/Maxim DS1672 RTC support
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
DEPENDS:=+kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_DS1672 \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
endef
define KernelPackage/rtc-ds1672/description
Kernel module for Dallas/Maxim DS1672 RTC.
endef
$(eval $(call KernelPackage,rtc-ds1672))
define KernelPackage/rtc-isl1208
SUBMENU:=$(OTHER_MENU)
TITLE:=Intersil ISL1208 RTC support
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
DEPENDS:=+kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
endef
define KernelPackage/rtc-isl1208/description
Kernel module for Intersil ISL1208 RTC.
endef
$(eval $(call KernelPackage,rtc-isl1208))
define KernelPackage/rtc-pcf8563
SUBMENU:=$(OTHER_MENU)
TITLE:=Philips PCF8563/Epson RTC8564 RTC support
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
DEPENDS:=+kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
endef
define KernelPackage/rtc-pcf8563/description
Kernel module for Philips PCF8563 RTC chip.
The Epson RTC8564 should work as well.
endef
$(eval $(call KernelPackage,rtc-pcf8563))
define KernelPackage/rtc-pcf2123
SUBMENU:=$(OTHER_MENU)
TITLE:=Philips PCF2123 RTC support
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
endef
define KernelPackage/rtc-pcf2123/description
Kernel module for Philips PCF2123 RTC chip
endef
$(eval $(call KernelPackage,rtc-pcf2123))
define KernelPackage/rtc-pt7c4338
SUBMENU:=$(OTHER_MENU)
TITLE:=Pericom PT7C4338 RTC support
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
DEPENDS:=+kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
endef
define KernelPackage/rtc-pt7c4338/description
Kernel module for Pericom PT7C4338 i2c RTC chip
endef
$(eval $(call KernelPackage,rtc-pt7c4338))
define KernelPackage/rtc-rs5c372a
SUBMENU:=$(OTHER_MENU)
TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
DEPENDS:=+kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
CONFIG_RTC_CLASS=y
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
endef
define KernelPackage/rtc-rs5c372a/description
Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
endef
$(eval $(call KernelPackage,rtc-rs5c372a))
define KernelPackage/mtdtests
SUBMENU:=$(OTHER_MENU)
TITLE:=MTD subsystem tests
KCONFIG:=CONFIG_MTD_TESTS
FILES:=\
$(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
endef
define KernelPackage/mtdtests/description
Kernel modules for MTD subsystem/driver testing
endef
$(eval $(call KernelPackage,mtdtests))
define KernelPackage/mtdoops
SUBMENU:=$(OTHER_MENU)
TITLE:=Log panic/oops to an MTD buffer
KCONFIG:=CONFIG_MTD_OOPS
FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
endef
define KernelPackage/mtdoops/description
Kernel modules for Log panic/oops to an MTD buffer
endef
$(eval $(call KernelPackage,mtdoops))
define KernelPackage/mtdram
SUBMENU:=$(OTHER_MENU)
TITLE:=Test MTD driver using RAM
KCONFIG:=CONFIG_MTD_MTDRAM \
CONFIG_MTDRAM_TOTAL_SIZE=4096 \
CONFIG_MTDRAM_ERASE_SIZE=128
FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
endef
define KernelPackage/mtdram/description
Test MTD driver using RAM
endef
$(eval $(call KernelPackage,mtdram))
define KernelPackage/serial-8250
SUBMENU:=$(OTHER_MENU)
TITLE:=8250 UARTs
KCONFIG:= CONFIG_SERIAL_8250 \
CONFIG_SERIAL_8250_PCI \
CONFIG_SERIAL_8250_NR_UARTS=16 \
CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
CONFIG_SERIAL_8250_EXTENDED=y \
CONFIG_SERIAL_8250_MANY_PORTS=y \
CONFIG_SERIAL_8250_SHARE_IRQ=y \
CONFIG_SERIAL_8250_DETECT_IRQ=n \
CONFIG_SERIAL_8250_RSA=n
FILES:= \
$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
$(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
$(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
endef
define KernelPackage/serial-8250/description
Kernel module for 8250 UART based serial ports
endef
$(eval $(call KernelPackage,serial-8250))
define KernelPackage/serial-8250-exar
SUBMENU:=$(OTHER_MENU)
TITLE:=Exar 8250 UARTs
KCONFIG:= CONFIG_SERIAL_8250_EXAR
FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
DEPENDS:=+kmod-serial-8250
endef
define KernelPackage/serial-8250-exar/description
Kernel module for Exar serial ports
endef
$(eval $(call KernelPackage,serial-8250-exar))
define KernelPackage/regmap
SUBMENU:=$(OTHER_MENU)
TITLE:=Generic register map support
DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
KCONFIG:=CONFIG_REGMAP \
CONFIG_REGMAP_MMIO \
CONFIG_REGMAP_SPI \
CONFIG_REGMAP_I2C \
CONFIG_SPI=y
FILES:= \
$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
$(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
endif
endif
endef
define KernelPackage/regmap/description
Generic register map support
endef
$(eval $(call KernelPackage,regmap))
define KernelPackage/ikconfig
SUBMENU:=$(OTHER_MENU)
TITLE:=Kernel configuration via /proc/config.gz
KCONFIG:=CONFIG_IKCONFIG \
CONFIG_IKCONFIG_PROC=y
FILES:=$(LINUX_DIR)/kernel/configs.ko
AUTOLOAD:=$(call AutoLoad,70,configs)
endef
define KernelPackage/ikconfig/description
Kernel configuration via /proc/config.gz
endef
$(eval $(call KernelPackage,ikconfig))
define KernelPackage/zram
SUBMENU:=$(OTHER_MENU)
TITLE:=ZRAM
DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
KCONFIG:= \
CONFIG_ZSMALLOC \
CONFIG_ZRAM \
CONFIG_ZRAM_DEBUG=n \
CONFIG_PGTABLE_MAPPING=n \
CONFIG_ZRAM_WRITEBACK=n \
CONFIG_ZSMALLOC_STAT=n \
CONFIG_ZRAM_LZ4_COMPRESS=y
FILES:= \
$(LINUX_DIR)/mm/zsmalloc.ko \
$(LINUX_DIR)/drivers/block/zram/zram.ko
AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
endef
define KernelPackage/zram/description
Compressed RAM block device support
endef
$(eval $(call KernelPackage,zram))
define KernelPackage/pps
SUBMENU:=$(OTHER_MENU)
TITLE:=PPS support
KCONFIG:=CONFIG_PPS
FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
endef
define KernelPackage/pps/description
PPS (Pulse Per Second) is a special pulse provided by some GPS
antennae. Userland can use it to get a high-precision time
reference.
endef
$(eval $(call KernelPackage,pps))
define KernelPackage/pps-gpio
SUBMENU:=$(OTHER_MENU)
TITLE:=PPS client using GPIO
DEPENDS:=+kmod-pps
KCONFIG:=CONFIG_PPS_CLIENT_GPIO
FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
endef
define KernelPackage/pps-gpio/description
Support for a PPS source using GPIO. To be useful you must
also register a platform device specifying the GPIO pin and
other options, usually in your board setup.
endef
$(eval $(call KernelPackage,pps-gpio))
define KernelPackage/pps-ldisc
SUBMENU:=$(OTHER_MENU)
TITLE:=PPS line discipline
DEPENDS:=+kmod-pps
KCONFIG:=CONFIG_PPS_CLIENT_LDISC
FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
endef
define KernelPackage/pps-ldisc/description
Support for a PPS source connected with the CD (Carrier
Detect) pin of your serial port.
endef
$(eval $(call KernelPackage,pps-ldisc))
define KernelPackage/ptp
SUBMENU:=$(OTHER_MENU)
TITLE:=PTP clock support
DEPENDS:=+kmod-pps
KCONFIG:= \
CONFIG_PTP_1588_CLOCK \
CONFIG_NET_PTP_CLASSIFY=y
FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
AUTOLOAD:=$(call AutoLoad,18,ptp,1)
endef
define KernelPackage/ptp/description
The IEEE 1588 standard defines a method to precisely
synchronize distributed clocks over Ethernet networks.
endef
$(eval $(call KernelPackage,ptp))
define KernelPackage/ptp-gianfar
SUBMENU:=$(OTHER_MENU)
TITLE:=Freescale Gianfar PTP support
DEPENDS:=@TARGET_mpc85xx +kmod-ptp
KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
endef
define KernelPackage/ptp-gianfar/description
Kernel module for IEEE 1588 support for Freescale
Gianfar Ethernet drivers
endef
$(eval $(call KernelPackage,ptp-gianfar))
define KernelPackage/random-core
SUBMENU:=$(OTHER_MENU)
TITLE:=Hardware Random Number Generator Core support
KCONFIG:=CONFIG_HW_RANDOM
FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
endef
define KernelPackage/random-core/description
Kernel module for the HW random number generator core infrastructure
endef
$(eval $(call KernelPackage,random-core))
define KernelPackage/random-omap
SUBMENU:=$(OTHER_MENU)
TITLE:=Hardware Random Number Generator OMAP support
KCONFIG:=CONFIG_HW_RANDOM_OMAP
FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
DEPENDS:=@TARGET_omap24xx +kmod-random-core
AUTOLOAD:=$(call AutoProbe,random-omap)
endef
define KernelPackage/random-omap/description
Kernel module for the OMAP Random Number Generator
found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
endef
$(eval $(call KernelPackage,random-omap))
define KernelPackage/random-tpm
SUBMENU:=$(OTHER_MENU)
TITLE:=Hardware Random Number Generator TPM support
KCONFIG:=CONFIG_HW_RANDOM_TPM
FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
DEPENDS:= +kmod-random-core +kmod-tpm
AUTOLOAD:=$(call AutoProbe,tpm-rng)
endef
define KernelPackage/random-tpm/description
Kernel module for the Random Number Generator
in the Trusted Platform Module.
endef
$(eval $(call KernelPackage,random-tpm))
define KernelPackage/thermal
SUBMENU:=$(OTHER_MENU)
TITLE:=Generic Thermal sysfs driver
DEPENDS:=+kmod-hwmon-core
HIDDEN:=1
KCONFIG:= \
CONFIG_THERMAL \
CONFIG_THERMAL_OF=y \
CONFIG_CPU_THERMAL=y \
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
CONFIG_THERMAL_GOV_FAIR_SHARE=n \
CONFIG_THERMAL_GOV_STEP_WISE=y \
CONFIG_THERMAL_GOV_USER_SPACE=n \
CONFIG_THERMAL_HWMON=y \
CONFIG_THERMAL_EMULATION=n
FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
AUTOLOAD:=$(call AutoProbe,thermal_sys)
endef
define KernelPackage/thermal/description
Generic Thermal Sysfs driver offers a generic mechanism for thermal
management. Usually it's made up of one or more thermal zone and cooling
device.
endef
$(eval $(call KernelPackage,thermal))
define KernelPackage/gpio-beeper
SUBMENU:=$(OTHER_MENU)
TITLE:=GPIO beeper support
DEPENDS:=+kmod-input-core
KCONFIG:= \
CONFIG_INPUT_MISC=y \
CONFIG_INPUT_GPIO_BEEPER
FILES:= \
$(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
endef
define KernelPackage/gpio-beeper/description
This enables playing beeps through an GPIO-connected buzzer
endef
$(eval $(call KernelPackage,gpio-beeper))
define KernelPackage/echo
SUBMENU:=$(OTHER_MENU)
TITLE:=Line Echo Canceller
KCONFIG:=CONFIG_ECHO
FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
AUTOLOAD:=$(call AutoLoad,50,echo)
endef
define KernelPackage/echo/description
This driver provides line echo cancelling support for mISDN and
DAHDI drivers
endef
$(eval $(call KernelPackage,echo))
define KernelPackage/bmp085
SUBMENU:=$(OTHER_MENU)
TITLE:=BMP085/BMP18x pressure sensor
DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
KCONFIG:= CONFIG_BMP085
FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
endef
define KernelPackage/bmp085/description
This driver adds support for Bosch Sensortec's digital pressure
sensors BMP085 and BMP18x.
endef
$(eval $(call KernelPackage,bmp085))
define KernelPackage/bmp085-i2c
SUBMENU:=$(OTHER_MENU)
TITLE:=BMP085/BMP18x pressure sensor I2C
DEPENDS:= +kmod-bmp085
KCONFIG:= CONFIG_BMP085_I2C
FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
endef
define KernelPackage/bmp085-i2c/description
This driver adds support for Bosch Sensortec's digital pressure
sensor connected via I2C.
endef
$(eval $(call KernelPackage,bmp085-i2c))
define KernelPackage/bmp085-spi
SUBMENU:=$(OTHER_MENU)
TITLE:=BMP085/BMP18x pressure sensor SPI
DEPENDS:= +kmod-bmp085
KCONFIG:= CONFIG_BMP085_SPI
FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
AUTOLOAD:=$(call AutoProbe,bmp085-spi)
endef
define KernelPackage/bmp085-spi/description
This driver adds support for Bosch Sensortec's digital pressure
sensor connected via SPI.
endef
$(eval $(call KernelPackage,bmp085-spi))
define KernelPackage/tpm
SUBMENU:=$(OTHER_MENU)
TITLE:=TPM Hardware Support
KCONFIG:= CONFIG_TCG_TPM
FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
AUTOLOAD:=$(call AutoLoad,10,tpm,1)
endef
define KernelPackage/tpm/description
This enables TPM Hardware Support.
endef
$(eval $(call KernelPackage,tpm))
define KernelPackage/tpm-tis
SUBMENU:=$(OTHER_MENU)
TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
DEPENDS:= @TARGET_x86 +kmod-tpm
KCONFIG:= CONFIG_TCG_TIS
FILES:= \
$(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
$(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
endef
define KernelPackage/tpm-tis/description
If you have a TPM security chip that is compliant with the
TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
specification (TPM2.0) say Yes and it will be accessible from
within Linux.
endef
$(eval $(call KernelPackage,tpm-tis))
define KernelPackage/tpm-i2c-atmel
SUBMENU:=$(OTHER_MENU)
TITLE:=TPM I2C Atmel Support
DEPENDS:= +kmod-tpm +kmod-i2c-core
KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
endef
define KernelPackage/tpm-i2c-atmel/description
This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
endef
$(eval $(call KernelPackage,tpm-i2c-atmel))
define KernelPackage/tpm-i2c-infineon
SUBMENU:=$(OTHER_MENU)
TITLE:= TPM I2C Infineon driver
DEPENDS:= +kmod-tpm +kmod-i2c-core
KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
endef
define KernelPackage/tpm-i2c-infineon/description
This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
endef
$(eval $(call KernelPackage,tpm-i2c-infineon))
define KernelPackage/w83627hf-wdt
SUBMENU:=$(OTHER_MENU)
TITLE:=Winbond 83627HF Watchdog Timer
KCONFIG:=CONFIG_W83627HF_WDT
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
endef
define KernelPackage/w83627hf-wdt/description
Kernel module for Winbond 83627HF Watchdog Timer
endef
$(eval $(call KernelPackage,w83627hf-wdt))
define KernelPackage/itco-wdt
SUBMENU:=$(OTHER_MENU)
TITLE:=Intel iTCO Watchdog Timer
KCONFIG:=CONFIG_ITCO_WDT \
CONFIG_ITCO_VENDOR_SUPPORT=y
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
endef
define KernelPackage/itco-wdt/description
Kernel module for Intel iTCO Watchdog Timer
endef
$(eval $(call KernelPackage,itco-wdt))
define KernelPackage/it87-wdt
SUBMENU:=$(OTHER_MENU)
TITLE:=ITE IT87 Watchdog Timer
KCONFIG:=CONFIG_IT87_WDT
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
MODPARAMS.it87-wdt:= \
nogameport=1 \
nocir=1
endef
define KernelPackage/it87-wdt/description
Kernel module for ITE IT87 Watchdog Timer
endef
$(eval $(call KernelPackage,it87-wdt))