# # Copyright (C) 2008-2010 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # W1_MENU:=W1 support W1_MASTERS_DIR:=$(LINUX_DIR)/drivers/w1/masters W1_SLAVES_DIR:=$(LINUX_DIR)/drivers/w1/slaves define KernelPackage/w1 SUBMENU:=$(W1_MENU) TITLE:=Dallas's 1-wire support KCONFIG:=CONFIG_W1 FILES:=$(LINUX_DIR)/drivers/w1/wire.ko DEPENDS:=+kmod-hwmon-core endef define KernelPackage/w1/description Kernel module for Dallas's 1-wire support endef $(eval $(call KernelPackage,w1)) define AddDepends/w1 SUBMENU:=$(W1_MENU) DEPENDS+=kmod-w1 $(1) endef # # 1-wire masters # define KernelPackage/w1-master-gpio TITLE:=GPIO 1-wire bus master driver DEPENDS:=@GPIO_SUPPORT KCONFIG:=CONFIG_W1_MASTER_GPIO FILES:=$(W1_MASTERS_DIR)/w1-gpio.ko AUTOLOAD:=$(call AutoProbe,w1-gpio) $(call AddDepends/w1) endef define KernelPackage/w1-master-gpio/description Kernel module for the GPIO 1-wire bus master driver endef $(eval $(call KernelPackage,w1-master-gpio)) define KernelPackage/w1-master-ds2482 TITLE:=DS2482 1-wire i2c bus master driver KCONFIG:=CONFIG_W1_MASTER_DS2482 FILES:=$(W1_MASTERS_DIR)/ds2482.ko AUTOLOAD:=$(call AutoProbe,ds2482) $(call AddDepends/w1,+kmod-i2c-core) endef define KernelPackage/w1-master-ds2482/description Kernel module for the DS2482 i2c 1-wire bus master driver NOTE: Init with: echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-0/new_device or use owfs endef $(eval $(call KernelPackage,w1-master-ds2482)) define KernelPackage/w1-master-ds2490 TITLE:=DS2490 1-wire usb bus master driver DEPENDS:=@USB_SUPPORT +kmod-usb-core KCONFIG:=CONFIG_W1_MASTER_DS2490 FILES:=$(W1_MASTERS_DIR)/ds2490.ko AUTOLOAD:=$(call AutoProbe,ds2490) $(call AddDepends/w1) endef define KernelPackage/w1-master-ds2490/description Kernel module for the DS2490 usb 1-wire bus master driver endef $(eval $(call KernelPackage,w1-master-ds2490)) define KernelPackage/w1-master-mxc TITLE:=Freescale MXC 1-wire busmaster DEPENDS:=@TARGET_imx KCONFIG:=CONFIG_W1_MASTER_MXC FILES:=$(W1_MASTERS_DIR)/mxc_w1.ko AUTOLOAD:=$(call AutoProbe,mxc_w1) $(call AddDepends/w1) endef define KernelPackage/w1-master-mxc/description Kernel module for 1-wire Freescale MXC 1-wire busmaster endef $(eval $(call KernelPackage,w1-master-mxc)) # # 1-wire slaves # define KernelPackage/w1-slave-therm TITLE:=Thermal family implementation KCONFIG:=CONFIG_W1_SLAVE_THERM FILES:=$(W1_SLAVES_DIR)/w1_therm.ko AUTOLOAD:=$(call AutoProbe,w1_therm) $(call AddDepends/w1) endef define KernelPackage/w1-slave-therm/description Kernel module for 1-wire thermal sensors endef $(eval $(call KernelPackage,w1-slave-therm)) define KernelPackage/w1-slave-smem TITLE:=Simple 64bit memory family implementation KCONFIG:=CONFIG_W1_SLAVE_SMEM FILES:=$(W1_SLAVES_DIR)/w1_smem.ko AUTOLOAD:=$(call AutoProbe,w1_smem) $(call AddDepends/w1) endef define KernelPackage/w1-slave-smem/description Kernel module for 1-wire simple 64bit memory rom(ds2401/ds2411/ds1990*) endef $(eval $(call KernelPackage,w1-slave-smem)) define KernelPackage/w1-slave-ds2431 TITLE:=DS2431 1kb EEPROM driver KCONFIG:= CONFIG_W1_SLAVE_DS2431 FILES:=$(W1_SLAVES_DIR)/w1_ds2431.ko AUTOLOAD:=$(call AutoProbe,w1_ds2431) $(call AddDepends/w1) endef define KernelPackage/w1-slave-ds2431/description Kernel module for 1-wire 1kb EEPROM (DS2431) endef $(eval $(call KernelPackage,w1-slave-ds2431)) define KernelPackage/w1-slave-ds2433 TITLE:=DS2433 4kb EEPROM driver KCONFIG:= \ CONFIG_W1_SLAVE_DS2433 \ CONFIG_W1_SLAVE_DS2433_CRC=n FILES:=$(W1_SLAVES_DIR)/w1_ds2433.ko AUTOLOAD:=$(call AutoProbe,w1_ds2433) $(call AddDepends/w1) endef define KernelPackage/w1-slave-ds2433/description Kernel module for 1-wire 4kb EEPROM (DS2433) endef $(eval $(call KernelPackage,w1-slave-ds2433)) define KernelPackage/w1-slave-ds2413 TITLE:=DS2413 2 Ch. Addressable Switch KCONFIG:= \ CONFIG_W1_SLAVE_DS2413 FILES:=$(W1_SLAVES_DIR)/w1_ds2413.ko AUTOLOAD:=$(call AutoProbe,w1_ds2413) $(call AddDepends/w1) endef define KernelPackage/w1-slave-ds2413/description Kernel module for 1-wire DS2413 Dual Channel Addressable Switch support endef $(eval $(call KernelPackage,w1-slave-ds2413)) #n10'>10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
#
# Copyright (C) 2016 Yousong Zhou <yszhou4tech@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define KernelPackage/irqbypass
  SUBMENU:=Virtualization
  TITLE:=IRQ offload/bypass manager
  KCONFIG:=CONFIG_IRQ_BYPASS_MANAGER
  HIDDEN:=1
  FILES:= $(LINUX_DIR)/virt/lib/irqbypass.ko
  AUTOLOAD:=$(call AutoProbe,irqbypass.ko)
endef
$(eval $(call KernelPackage,irqbypass))


define KernelPackage/kvm-x86
  SUBMENU:=Virtualization
  TITLE:=Kernel-based Virtual Machine (KVM) support
  DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass
  KCONFIG:=\
	  CONFIG_VIRTUALIZATION=y \
	  CONFIG_KVM
  FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko
  AUTOLOAD:=$(call AutoProbe,kvm.ko)
endef

define KernelPackage/kvm-x86/description
  Support hosting fully virtualized guest machines using hardware
  virtualization extensions.  You will need a fairly recent
  processor equipped with virtualization extensions. You will also
  need to select one or more of the processor modules.

  This module provides access to the hardware capabilities through
  a character device node named /dev/kvm.
endef

$(eval $(call KernelPackage,kvm-x86))


define KernelPackage/kvm-intel
  SUBMENU:=Virtualization
  TITLE:=KVM for Intel processors support
  DEPENDS:=+kmod-kvm-x86
  KCONFIG:=CONFIG_KVM_INTEL
  FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-intel.ko
  AUTOLOAD:=$(call AutoProbe,kvm-intel.ko)
endef

define KernelPackage/kvm-intel/description
  Provides support for KVM on Intel processors equipped with the VT
  extensions.
endef

$(eval $(call KernelPackage,kvm-intel))


define KernelPackage/kvm-amd
  SUBMENU:=Virtualization
  TITLE:=KVM for AMD processors support
  DEPENDS:=+kmod-kvm-x86
  KCONFIG:=CONFIG_KVM_AMD
  FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-amd.ko
  AUTOLOAD:=$(call AutoProbe,kvm-amd.ko)
endef

define KernelPackage/kvm-amd/description
  Provides support for KVM on AMD processors equipped with the AMD-V
  (SVM) extensions.
endef

$(eval $(call KernelPackage,kvm-amd))