+
+
+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 @LINUX_4_14
+ 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-core
+ 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
+ DEPENDS:= +!LINUX_4_14:kmod-random-core
+ 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))
+
+
+define KernelPackage/f71808e-wdt
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Fintek F718xx/F818xx Watchdog Timer
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_F71808E_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/f71808e_wdt.ko
+ AUTOLOAD:=$(call AutoProbe,f71808e-wdt,1)
+endef
+
+define KernelPackage/f71808e-wdt/description
+ Kernel module for the watchdog timer found on many Fintek Super-IO chips.
+endef
+
+$(eval $(call KernelPackage,f71808e-wdt))