diff options
Diffstat (limited to 'package/kernel')
23 files changed, 34 insertions, 1083 deletions
diff --git a/package/kernel/i2c-gpio-custom/Makefile b/package/kernel/i2c-gpio-custom/Makefile deleted file mode 100644 index 0779107c18..0000000000 --- a/package/kernel/i2c-gpio-custom/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (C) 2008 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=i2c-gpio-custom -PKG_RELEASE:=3 - -include $(INCLUDE_DIR)/package.mk - -define KernelPackage/i2c-gpio-custom - SUBMENU:=I2C support - TITLE:=Custom GPIO-based I2C device - DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-i2c-gpio @LINUX_4_14 - FILES:=$(PKG_BUILD_DIR)/i2c-gpio-custom.ko - KCONFIG:= -endef - -define KernelPackage/i2c-gpio-custom/description - Kernel module for register a custom i2c-gpio platform device. -endef - -EXTRA_KCONFIG:= \ - CONFIG_I2C_GPIO_CUSTOM=m - -EXTRA_CFLAGS:= \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \ - -MAKE_OPTS:= \ - $(KERNEL_MAKE_FLAGS) \ - M="$(PKG_BUILD_DIR)" \ - EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ - $(EXTRA_KCONFIG) - -define Build/Compile - $(MAKE) -C "$(LINUX_DIR)" \ - $(MAKE_OPTS) \ - modules -endef - -$(eval $(call KernelPackage,i2c-gpio-custom)) diff --git a/package/kernel/i2c-gpio-custom/src/Kconfig b/package/kernel/i2c-gpio-custom/src/Kconfig deleted file mode 100644 index e2e3a68d92..0000000000 --- a/package/kernel/i2c-gpio-custom/src/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config I2C_GPIO_CUSTOM - tristate "Custom GPIO-based I2C driver" - depends on GENERIC_GPIO - select I2C_GPIO - help - This is an I2C driver to register 1 to 4 custom I2C buses using - GPIO lines. - - This support is also available as a module. If so, the module - will be called i2c-gpio-custom. diff --git a/package/kernel/i2c-gpio-custom/src/Makefile b/package/kernel/i2c-gpio-custom/src/Makefile deleted file mode 100644 index dcb2e2abe2..0000000000 --- a/package/kernel/i2c-gpio-custom/src/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-${CONFIG_I2C_GPIO_CUSTOM} += i2c-gpio-custom.o
\ No newline at end of file diff --git a/package/kernel/i2c-gpio-custom/src/i2c-gpio-custom.c b/package/kernel/i2c-gpio-custom/src/i2c-gpio-custom.c deleted file mode 100644 index 23dfa36d69..0000000000 --- a/package/kernel/i2c-gpio-custom/src/i2c-gpio-custom.c +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Custom GPIO-based I2C driver - * - * Copyright (C) 2007-2008 Gabor Juhos <juhosg@openwrt.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * --------------------------------------------------------------------------- - * - * The behaviour of this driver can be altered by setting some parameters - * from the insmod command line. - * - * The following parameters are adjustable: - * - * bus0 These four arguments can be arrays of - * bus1 1-8 unsigned integers as follows: - * bus2 - * bus3 <id>,<sda>,<scl>,<udelay>,<timeout>,<sda_od>,<scl_od>,<scl_oo> - * - * where: - * - * <id> ID to used as device_id for the corresponding bus (required) - * <sda> GPIO pin ID to used for SDA (required) - * <scl> GPIO pin ID to used for SCL (required) - * <udelay> signal toggle delay. - * <timeout> clock stretching timeout. - * <sda_od> SDA is configured as open drain. - * <scl_od> SCL is configured as open drain. - * <scl_oo> SCL output drivers cannot be turned off. - * - * See include/i2c-gpio.h for more information about the parameters. - * - * If this driver is built into the kernel, you can use the following kernel - * command line parameters, with the same values as the corresponding module - * parameters listed above: - * - * i2c-gpio-custom.bus0 - * i2c-gpio-custom.bus1 - * i2c-gpio-custom.bus2 - * i2c-gpio-custom.bus3 - */ - -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/init.h> -#include <linux/platform_device.h> - -#include <linux/version.h> -#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0) -#include <linux/i2c-gpio.h> -#else -#include <linux/platform_data/i2c-gpio.h> -#endif - -#define DRV_NAME "i2c-gpio-custom" -#define DRV_DESC "Custom GPIO-based I2C driver" -#define DRV_VERSION "0.1.2" - -#define PFX DRV_NAME ": " - -#define BUS_PARAM_ID 0 -#define BUS_PARAM_SDA 1 -#define BUS_PARAM_SCL 2 -#define BUS_PARAM_UDELAY 3 -#define BUS_PARAM_TIMEOUT 4 -#define BUS_PARAM_SDA_OD 5 -#define BUS_PARAM_SCL_OD 6 -#define BUS_PARAM_SCL_OO 7 - -#define BUS_PARAM_REQUIRED 3 -#define BUS_PARAM_COUNT 8 -#define BUS_COUNT_MAX 4 - -static unsigned int bus0[BUS_PARAM_COUNT] __initdata; -static unsigned int bus1[BUS_PARAM_COUNT] __initdata; -static unsigned int bus2[BUS_PARAM_COUNT] __initdata; -static unsigned int bus3[BUS_PARAM_COUNT] __initdata; - -static unsigned int bus_nump[BUS_COUNT_MAX] __initdata; - -#define BUS_PARM_DESC \ - " config -> id,sda,scl[,udelay,timeout,sda_od,scl_od,scl_oo]" - -module_param_array(bus0, uint, &bus_nump[0], 0); -MODULE_PARM_DESC(bus0, "bus0" BUS_PARM_DESC); -module_param_array(bus1, uint, &bus_nump[1], 0); -MODULE_PARM_DESC(bus1, "bus1" BUS_PARM_DESC); -module_param_array(bus2, uint, &bus_nump[2], 0); -MODULE_PARM_DESC(bus2, "bus2" BUS_PARM_DESC); -module_param_array(bus3, uint, &bus_nump[3], 0); -MODULE_PARM_DESC(bus3, "bus3" BUS_PARM_DESC); - -static struct platform_device *devices[BUS_COUNT_MAX]; -static unsigned int nr_devices; - -static void i2c_gpio_custom_cleanup(void) -{ - int i; - - for (i = 0; i < nr_devices; i++) - if (devices[i]) - platform_device_unregister(devices[i]); -} - -static int __init i2c_gpio_custom_add_one(unsigned int id, unsigned int *params) -{ - struct platform_device *pdev; - struct i2c_gpio_platform_data pdata; - int err; - - if (!bus_nump[id]) - return 0; - - if (bus_nump[id] < BUS_PARAM_REQUIRED) { - printk(KERN_ERR PFX "not enough parameters for bus%d\n", id); - err = -EINVAL; - goto err; - } - - pdev = platform_device_alloc("i2c-gpio", params[BUS_PARAM_ID]); - if (!pdev) { - err = -ENOMEM; - goto err; - } - - pdata.sda_pin = params[BUS_PARAM_SDA]; - pdata.scl_pin = params[BUS_PARAM_SCL]; - pdata.udelay = params[BUS_PARAM_UDELAY]; - pdata.timeout = params[BUS_PARAM_TIMEOUT]; - pdata.sda_is_open_drain = params[BUS_PARAM_SDA_OD] != 0; - pdata.scl_is_open_drain = params[BUS_PARAM_SCL_OD] != 0; - pdata.scl_is_output_only = params[BUS_PARAM_SCL_OO] != 0; - - err = platform_device_add_data(pdev, &pdata, sizeof(pdata)); - if (err) - goto err_put; - - err = platform_device_add(pdev); - if (err) - goto err_put; - - devices[nr_devices++] = pdev; - return 0; - -err_put: - platform_device_put(pdev); -err: - return err; -} - -static int __init i2c_gpio_custom_probe(void) -{ - int err; - - printk(KERN_INFO DRV_DESC " version " DRV_VERSION "\n"); - - err = i2c_gpio_custom_add_one(0, bus0); - if (err) - goto err; - - err = i2c_gpio_custom_add_one(1, bus1); - if (err) - goto err; - - err = i2c_gpio_custom_add_one(2, bus2); - if (err) - goto err; - - err = i2c_gpio_custom_add_one(3, bus3); - if (err) - goto err; - - if (!nr_devices) { - printk(KERN_ERR PFX "no bus parameter(s) specified\n"); - err = -ENODEV; - goto err; - } - - return 0; - -err: - i2c_gpio_custom_cleanup(); - return err; -} - -#ifdef MODULE -static int __init i2c_gpio_custom_init(void) -{ - return i2c_gpio_custom_probe(); -} -module_init(i2c_gpio_custom_init); - -static void __exit i2c_gpio_custom_exit(void) -{ - i2c_gpio_custom_cleanup(); -} -module_exit(i2c_gpio_custom_exit); -#else -subsys_initcall(i2c_gpio_custom_probe); -#endif /* MODULE*/ - -MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org >"); -MODULE_DESCRIPTION(DRV_DESC); -MODULE_VERSION(DRV_VERSION); diff --git a/package/kernel/kmod-sched-cake-oot/Makefile b/package/kernel/kmod-sched-cake-oot/Makefile deleted file mode 100644 index a6ab1eb4c6..0000000000 --- a/package/kernel/kmod-sched-cake-oot/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -# -# Copyright (C) 2016 LEDE -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=sched-cake-oot -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/dtaht/sch_cake.git -PKG_SOURCE_DATE:=2020-07-24 -PKG_SOURCE_VERSION:=48979385757f3408c3427b3ebbf5963efdada5aa -PKG_MIRROR_HASH:=0e8ed53f55e28ad0c30f20293c16988876bae8d6f70f5629a43cf2ce1e49fc51 -PKG_MAINTAINER:=Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> - -include $(INCLUDE_DIR)/package.mk - -define KernelPackage/sched-cake-oot - SUBMENU:=Network Support - TITLE:=OOT Cake fq_codel/blue derived shaper - URL:=https://github.com/dtaht/sch_cake - FILES:=$(PKG_BUILD_DIR)/sch_cake.ko - AUTOLOAD:=$(call AutoLoad,75,sch_cake) - DEPENDS:=@LINUX_4_14 +kmod-sched-core +kmod-ipt-conntrack -endef - -define KernelPackage/sched-cake-oot/description - O(ut) O(f) T(ree) Common Applications Kept Enhanced fq_codel/blue derived shaper -endef - -define KernelPackage/sched-cake-virtual - SUBMENU:=Network Support - TITLE:=Virtual package for sched-cake - URL:=https://github.com/dtaht/sch_cake - DEPENDS:=+!LINUX_4_14:kmod-sched-cake +LINUX_4_14:kmod-sched-cake-oot -endef - -define KernelPackage/sched-cake-virtual/description - Virtual package for resolving sch_cake dependencies -endef - -include $(INCLUDE_DIR)/kernel-defaults.mk - -define Build/Compile - $(KERNEL_MAKE) M="$(PKG_BUILD_DIR)" modules -endef - -$(eval $(call KernelPackage,sched-cake-oot)) -$(eval $(call KernelPackage,sched-cake-virtual)) diff --git a/package/kernel/linux/modules/can.mk b/package/kernel/linux/modules/can.mk index 3bf0359c11..58c257db5b 100644 --- a/package/kernel/linux/modules/can.mk +++ b/package/kernel/linux/modules/can.mk @@ -248,8 +248,7 @@ define KernelPackage/can-usb-kvaser TITLE:=Kvaser CAN/USB interface KCONFIG:=CONFIG_CAN_KVASER_USB FILES:= \ - $(LINUX_DIR)/drivers/net/can/usb/kvaser_usb.ko@lt4.19 \ - $(LINUX_DIR)/drivers/net/can/usb/kvaser_usb/kvaser_usb.ko@ge4.19 + $(LINUX_DIR)/drivers/net/can/usb/kvaser_usb/kvaser_usb.ko AUTOLOAD:=$(call AutoProbe,kvaser_usb) $(call AddDepends/can,+kmod-usb-core) endef diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index 48777764a8..e9f76a8816 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -377,7 +377,7 @@ $(eval $(call KernelPackage,crypto-hw-padlock)) define KernelPackage/crypto-hw-safexcel TITLE:= MVEBU SafeXcel Crypto Engine module - DEPENDS:=@!LINUX_4_14 @(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) +eip197-mini-firmware \ + DEPENDS:=@(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) +eip197-mini-firmware \ +kmod-crypto-authenc +kmod-crypto-md5 +kmod-crypto-hmac +kmod-crypto-sha256 +kmod-crypto-sha512 KCONFIG:= \ CONFIG_CRYPTO_HW=y \ @@ -549,10 +549,8 @@ ifndef CONFIG_TARGET_x86_64 $(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko \ $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-i586.ko \ $(LINUX_DIR)/arch/x86/crypto/glue_helper.ko \ - $(LINUX_DIR)/crypto/ablk_helper.ko@lt4.17 \ $(LINUX_DIR)/crypto/cryptd.ko \ - $(LINUX_DIR)/crypto/lrw.ko@lt4.17 \ - $(LINUX_DIR)/crypto/crypto_simd.ko@ge4.17 + $(LINUX_DIR)/crypto/crypto_simd.ko AUTOLOAD+= $(call AutoLoad,10,cryptd glue_helper \ serpent-sse2-i586 twofish-i586 blowfish_generic) endef @@ -571,8 +569,7 @@ define KernelPackage/crypto-misc/x86/64 $(LINUX_DIR)/arch/x86/crypto/twofish-avx-x86_64.ko \ $(LINUX_DIR)/arch/x86/crypto/serpent-avx-x86_64.ko \ $(LINUX_DIR)/arch/x86/crypto/camellia-aesni-avx2.ko \ - $(LINUX_DIR)/arch/x86/crypto/serpent-avx2.ko \ - $(LINUX_DIR)/crypto/ablk_helper.ko@lt4.17 + $(LINUX_DIR)/arch/x86/crypto/serpent-avx2.ko AUTOLOAD+= $(call AutoLoad,10,camellia-x86_64 \ camellia-aesni-avx-x86_64 camellia-aesni-avx2 cast5-avx-x86_64 \ cast6-avx-x86_64 twofish-x86_64 twofish-x86_64-3way \ diff --git a/package/kernel/linux/modules/fs.mk b/package/kernel/linux/modules/fs.mk index 84dc498365..9b3a6dce46 100644 --- a/package/kernel/linux/modules/fs.mk +++ b/package/kernel/linux/modules/fs.mk @@ -53,8 +53,7 @@ define KernelPackage/fs-autofs4 CONFIG_AUTOFS4_FS \ CONFIG_AUTOFS_FS FILES:= \ - $(LINUX_DIR)/fs/autofs4/autofs4.ko@lt4.18 \ - $(LINUX_DIR)/fs/autofs/autofs4.ko@ge4.18 + $(LINUX_DIR)/fs/autofs/autofs4.ko AUTOLOAD:=$(call AutoLoad,30,autofs4) endef @@ -206,7 +205,7 @@ $(eval $(call KernelPackage,fs-ext4)) define KernelPackage/fs-f2fs SUBMENU:=$(FS_MENU) TITLE:=F2FS filesystem support - DEPENDS:= +kmod-crypto-hash +kmod-crypto-crc32 +LINUX_5_4:kmod-nls-base + DEPENDS:= +kmod-crypto-hash +kmod-crypto-crc32 +!LINUX_4_19:kmod-nls-base KCONFIG:= \ CONFIG_F2FS_FS \ CONFIG_F2FS_STAT_FS=y \ diff --git a/package/kernel/linux/modules/iio.mk b/package/kernel/linux/modules/iio.mk index ab14e97a05..8edb099edd 100644 --- a/package/kernel/linux/modules/iio.mk +++ b/package/kernel/linux/modules/iio.mk @@ -159,7 +159,7 @@ $(eval $(call KernelPackage,iio-dht11)) define KernelPackage/iio-bme680 SUBMENU:=$(IIO_MENU) TITLE:=BME680 gas/humidity/pressure/temperature sensor - DEPENDS:=@!LINUX_4_14 +kmod-iio-core +kmod-regmap-core + DEPENDS:=+kmod-iio-core +kmod-regmap-core KCONFIG:=CONFIG_BME680 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko endef @@ -414,7 +414,7 @@ $(eval $(call KernelPackage,iio-lsm6dsx-spi)) define KernelPackage/iio-sps30 SUBMENU:=$(IIO_MENU) - DEPENDS:=@!LINUX_4_14 +kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8 + DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8 TITLE:=Sensirion SPS30 particulate matter sensor KCONFIG:=CONFIG_SPS30 FILES:=$(LINUX_DIR)/drivers/iio/chemical/sps30.ko diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index 56e242231a..0db3e3569c 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -557,7 +557,7 @@ $(eval $(call KernelPackage,8139cp)) define KernelPackage/r8169 SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support - DEPENDS:=@PCI_SUPPORT +kmod-mii +r8169-firmware +!LINUX_4_14:kmod-phy-realtek + DEPENDS:=@PCI_SUPPORT +kmod-mii +r8169-firmware +kmod-phy-realtek KCONFIG:=CONFIG_R8169 \ CONFIG_R8169_NAPI=y \ CONFIG_R8169_VLAN=n @@ -682,7 +682,7 @@ $(eval $(call KernelPackage,igbvf)) define KernelPackage/ixgbe SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet support - DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core +LINUX_5_4:kmod-libphy + DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core +!LINUX_4_19:kmod-libphy KCONFIG:=CONFIG_IXGBE \ CONFIG_IXGBE_VXLAN=n \ CONFIG_IXGBE_HWMON=y \ @@ -720,7 +720,7 @@ $(eval $(call KernelPackage,ixgbevf)) define KernelPackage/i40e SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Intel(R) Ethernet Controller XL710 Family support - DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core +LINUX_5_4:kmod-libphy + DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core +!LINUX_4_19:kmod-libphy KCONFIG:=CONFIG_I40E \ CONFIG_I40E_VXLAN=n \ CONFIG_I40E_HWMON=y \ @@ -867,7 +867,7 @@ $(eval $(call KernelPackage,hfcmulti)) define KernelPackage/gigaset SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Siemens Gigaset support for isdn4linux - DEPENDS:=@USB_SUPPORT +kmod-isdn4linux +kmod-lib-crc-ccitt +kmod-usb-core @!LINUX_5_4 + DEPENDS:=@USB_SUPPORT +kmod-isdn4linux +kmod-lib-crc-ccitt +kmod-usb-core @LINUX_4_19 URL:=http://gigaset307x.sourceforge.net/ KCONFIG:= \ CONFIG_ISDN_DRV_GIGASET \ diff --git a/package/kernel/linux/modules/netfilter.mk b/package/kernel/linux/modules/netfilter.mk index 5a3d490173..83bb59be83 100644 --- a/package/kernel/linux/modules/netfilter.mk +++ b/package/kernel/linux/modules/netfilter.mk @@ -368,7 +368,7 @@ IPVS_MODULES:= \ define KernelPackage/nf-ipvs SUBMENU:=Netfilter Extensions TITLE:=IP Virtual Server modules - DEPENDS:=@IPV6 +kmod-lib-crc32c +kmod-ipt-conntrack +kmod-nf-conntrack +LINUX_4_14:kmod-nf-conntrack6 + DEPENDS:=@IPV6 +kmod-lib-crc32c +kmod-ipt-conntrack +kmod-nf-conntrack KCONFIG:= \ CONFIG_IP_VS \ CONFIG_IP_VS_IPV6=y \ @@ -542,7 +542,7 @@ define KernelPackage/nf-nathelper-extra KCONFIG:=$(KCONFIG_NF_NATHELPER_EXTRA) FILES:=$(foreach mod,$(NF_NATHELPER_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER_EXTRA-m))) - DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch +kmod-ipt-raw +!LINUX_4_14:kmod-asn1-decoder + DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch +kmod-ipt-raw +kmod-asn1-decoder endef define KernelPackage/nf-nathelper-extra/description @@ -1052,7 +1052,7 @@ $(eval $(call KernelPackage,ipt-rpfilter)) define KernelPackage/nft-core SUBMENU:=$(NF_MENU) TITLE:=Netfilter nf_tables support - DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +IPV6:kmod-nf-reject6 +IPV6:kmod-nf-conntrack6 +LINUX_5_4:kmod-nf-nat + DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +IPV6:kmod-nf-reject6 +IPV6:kmod-nf-conntrack6 +!LINUX_4_19:kmod-nf-nat FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m))) KCONFIG:= \ @@ -1148,7 +1148,6 @@ define KernelPackage/nft-netdev CONFIG_NFT_DUP_NETDEV \ CONFIG_NFT_FWD_NETDEV FILES:= \ - $(LINUX_DIR)/net/netfilter/nf_tables_netdev.ko@lt4.17 \ $(LINUX_DIR)/net/netfilter/nf_dup_netdev.ko \ $(LINUX_DIR)/net/netfilter/nft_dup_netdev.ko \ $(LINUX_DIR)/net/netfilter/nft_fwd_netdev.ko diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index 73e480a549..75801114da 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -399,7 +399,7 @@ $(eval $(call KernelPackage,ip6-vti)) define KernelPackage/xfrm-interface SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=IPsec XFRM Interface - DEPENDS:=+kmod-ipsec4 +IPV6:kmod-ipsec6 @!LINUX_4_14 + DEPENDS:=+kmod-ipsec4 +IPV6:kmod-ipsec6 KCONFIG:=CONFIG_XFRM_INTERFACE FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko AUTOLOAD:=$(call AutoProbe,xfrm_interface) @@ -788,7 +788,7 @@ $(eval $(call KernelPackage,sched-core)) define KernelPackage/sched-cake SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=Cake fq_codel/blue derived shaper - DEPENDS:=@!LINUX_4_14 +kmod-sched-core + DEPENDS:=+kmod-sched-core KCONFIG:=CONFIG_NET_SCH_CAKE FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko AUTOLOAD:=$(call AutoProbe,sch_cake) @@ -1155,7 +1155,7 @@ $(eval $(call KernelPackage,rxrpc)) define KernelPackage/mpls SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=MPLS support - DEPENDS:=+!LINUX_4_14:kmod-iptunnel + DEPENDS:=+kmod-iptunnel KCONFIG:= \ CONFIG_MPLS=y \ CONFIG_LWTUNNEL=y \ diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 6eb9404837..ade5f13ee8 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -139,7 +139,7 @@ $(eval $(call KernelPackage,dma-buf)) define KernelPackage/nvmem SUBMENU:=$(OTHER_MENU) TITLE:=Non Volatile Memory support - DEPENDS:=@!LINUX_5_4 + DEPENDS:=@LINUX_4_19 KCONFIG:=CONFIG_NVMEM HIDDEN:=1 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko @@ -170,7 +170,7 @@ define KernelPackage/eeprom-at24 SUBMENU:=$(OTHER_MENU) TITLE:=EEPROM AT24 support KCONFIG:=CONFIG_EEPROM_AT24 - DEPENDS:=+kmod-i2c-core +!LINUX_5_4:kmod-nvmem +!LINUX_4_14:kmod-regmap-i2c + DEPENDS:=+kmod-i2c-core +LINUX_4_19:kmod-nvmem +kmod-regmap-i2c FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko AUTOLOAD:=$(call AutoProbe,at24) endef @@ -186,7 +186,7 @@ define KernelPackage/eeprom-at25 SUBMENU:=$(OTHER_MENU) TITLE:=EEPROM AT25 support KCONFIG:=CONFIG_EEPROM_AT25 - DEPENDS:=+!LINUX_5_4:kmod-nvmem + DEPENDS:=+LINUX_4_19:kmod-nvmem FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko AUTOLOAD:=$(call AutoProbe,at25) endef @@ -265,7 +265,7 @@ $(eval $(call KernelPackage,gpio-nxp-74hc164)) define KernelPackage/gpio-pca953x SUBMENU:=$(OTHER_MENU) - DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +LINUX_5_4:kmod-regmap-i2c + DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +!LINUX_4_19:kmod-regmap-i2c TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports KCONFIG:=CONFIG_GPIO_PCA953X FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko @@ -651,7 +651,7 @@ define KernelPackage/rtc-pcf2123 SUBMENU:=$(OTHER_MENU) TITLE:=Philips PCF2123 RTC support DEFAULT:=m if ALL_KMODS && RTC_SUPPORT - DEPENDS:=+LINUX_5_4:kmod-regmap-spi + DEPENDS:=+!LINUX_4_19:kmod-regmap-spi KCONFIG:=CONFIG_RTC_DRV_PCF2123 \ CONFIG_RTC_CLASS=y FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko @@ -1022,26 +1022,10 @@ endef $(eval $(call KernelPackage,ptp)) -define KernelPackage/ptp-gianfar - SUBMENU:=$(OTHER_MENU) - TITLE:=Freescale Gianfar PTP support - DEPENDS:=@TARGET_mpc85xx +kmod-ptp @LINUX_4_14 - 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/ptp-qoriq SUBMENU:=$(OTHER_MENU) TITLE:=Freescale QorIQ PTP support - DEPENDS:=@TARGET_mpc85xx +kmod-ptp @!LINUX_4_14 + DEPENDS:=@TARGET_mpc85xx +kmod-ptp KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko AUTOLOAD:=$(call AutoProbe,ptp-qoriq) @@ -1069,22 +1053,6 @@ endef $(eval $(call KernelPackage,random-core)) -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 @@ -1201,7 +1169,7 @@ $(eval $(call KernelPackage,bmp085-spi)) define KernelPackage/tpm SUBMENU:=$(OTHER_MENU) TITLE:=TPM Hardware Support - DEPENDS:= +!LINUX_4_14:kmod-random-core + DEPENDS:= +kmod-random-core KCONFIG:= CONFIG_TCG_TPM FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko AUTOLOAD:=$(call AutoLoad,10,tpm,1) diff --git a/package/kernel/linux/modules/usb.mk b/package/kernel/linux/modules/usb.mk index ff5d54daab..87ec0ae080 100644 --- a/package/kernel/linux/modules/usb.mk +++ b/package/kernel/linux/modules/usb.mk @@ -458,27 +458,9 @@ endef $(eval $(call KernelPackage,usb-dwc3)) -define KernelPackage/usb-dwc3-of-simple - TITLE:=DWC3 USB simple OF driver - DEPENDS:=@LINUX_4_14 @(TARGET_ipq40xx||TARGET_ipq806x) +kmod-usb-dwc3 - KCONFIG:= CONFIG_USB_DWC3_OF_SIMPLE - FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-of-simple.ko - AUTOLOAD:=$(call AutoLoad,53,dwc3-of-simple,1) - $(call AddDepends/usb) -endef - -define KernelPackage/usb-dwc3-of-simple/description - This driver provides generic platform glue for the integrated DesignWare - USB3 IP Core. -endef - - -$(eval $(call KernelPackage,usb-dwc3-of-simple)) - - define KernelPackage/usb-dwc3-qcom TITLE:=DWC3 Qualcomm USB driver - DEPENDS:=@(!LINUX_4_14) @(TARGET_ipq40xx||TARGET_ipq806x) +kmod-usb-dwc3 + DEPENDS:=@(TARGET_ipq40xx||TARGET_ipq806x) +kmod-usb-dwc3 KCONFIG:= CONFIG_USB_DWC3_QCOM FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-qcom.ko AUTOLOAD:=$(call AutoLoad,53,dwc3-qcom,1) @@ -1586,7 +1568,7 @@ define KernelPackage/usb-chipidea FILES:= \ $(LINUX_DIR)/drivers/extcon/extcon-core.ko \ $(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc.ko \ - $(LINUX_DIR)/drivers/usb/common/ulpi.ko@ge4.18 \ + $(LINUX_DIR)/drivers/usb/common/ulpi.ko \ $(LINUX_DIR)/drivers/usb/roles/roles.ko@ge5.0 AUTOLOAD:=$(call AutoLoad,39,ci_hdrc,1) $(call AddDepends/usb) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index c17aed7613..d613c6f66e 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -229,7 +229,7 @@ define KernelPackage/drm KCONFIG:=CONFIG_DRM FILES:= \ $(LINUX_DIR)/drivers/gpu/drm/drm.ko \ - $(LINUX_DIR)/drivers/gpu/drm/drm_panel_orientation_quirks.ko@ge4.15 + $(LINUX_DIR)/drivers/gpu/drm/drm_panel_orientation_quirks.ko AUTOLOAD:=$(call AutoLoad,05,drm) endef @@ -284,7 +284,7 @@ define KernelPackage/drm-amdgpu CONFIG_DRM_AMD_DC=y \ CONFIG_DEBUG_KERNEL_DC=n FILES:=$(LINUX_DIR)/drivers/gpu/drm/amd/amdgpu/amdgpu.ko \ - $(LINUX_DIR)/drivers/gpu/drm/scheduler/gpu-sched.ko@ge4.15 \ + $(LINUX_DIR)/drivers/gpu/drm/scheduler/gpu-sched.ko \ $(LINUX_DIR)/drivers/gpu/drm/amd/lib/chash.ko@lt5.3 AUTOLOAD:=$(call AutoProbe,amdgpu) endef @@ -439,14 +439,10 @@ define KernelPackage/video-videobuf2 CONFIG_VIDEOBUF2_MEMOPS \ CONFIG_VIDEOBUF2_VMALLOC FILES:= \ - $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-core.ko@lt4.16 \ - $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-v4l2.ko@lt4.16 \ - $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-memops.ko@lt4.16 \ - $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-vmalloc.ko@lt4.16 \ - $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-common.ko@ge4.16 \ - $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-v4l2.ko@ge4.16 \ - $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-memops.ko@ge4.16 \ - $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-vmalloc.ko@ge4.16 + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-common.ko \ + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-v4l2.ko \ + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-memops.ko \ + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-vmalloc.ko AUTOLOAD:=$(call AutoLoad,65,videobuf2-core videobuf-v4l2 videobuf2-memops videobuf2-vmalloc) $(call AddDepends/video) endef @@ -511,7 +507,7 @@ $(eval $(call KernelPackage,video-uvc)) define KernelPackage/video-gspca-core MENU:=1 TITLE:=GSPCA webcam core support framework - DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-input-core +!LINUX_4_14:kmod-video-videobuf2 + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-input-core +kmod-video-videobuf2 KCONFIG:=CONFIG_USB_GSPCA FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_main.ko AUTOLOAD:=$(call AutoProbe,gspca_main) diff --git a/package/kernel/spi-gpio-custom/Makefile b/package/kernel/spi-gpio-custom/Makefile deleted file mode 100644 index d658dc2630..0000000000 --- a/package/kernel/spi-gpio-custom/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (C) 2008 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=spi-gpio-custom -PKG_RELEASE:=1 - -include $(INCLUDE_DIR)/package.mk - -define KernelPackage/spi-gpio-custom - SUBMENU:=SPI Support - TITLE:=Custom GPIO-based SPI device - DEPENDS:=@GPIO_SUPPORT +kmod-spi-bitbang +kmod-spi-gpio +kmod-spi-dev @LINUX_4_14 - FILES:=$(PKG_BUILD_DIR)/spi-gpio-custom.ko - KCONFIG:= -endef - -define KernelPackage/spi-gpio-custom/description - Kernel module for register a custom spi-gpio platform device. -endef - -EXTRA_KCONFIG:= \ - CONFIG_SPI_GPIO_CUSTOM=m - -EXTRA_CFLAGS:= \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \ - -MAKE_OPTS:= \ - $(KERNEL_MAKE_FLAGS) \ - M="$(PKG_BUILD_DIR)" \ - EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ - $(EXTRA_KCONFIG) - -define Build/Compile - $(MAKE) -C "$(LINUX_DIR)" \ - $(MAKE_OPTS) \ - modules -endef - -$(eval $(call KernelPackage,spi-gpio-custom)) diff --git a/package/kernel/spi-gpio-custom/src/Kconfig b/package/kernel/spi-gpio-custom/src/Kconfig deleted file mode 100644 index 5e15f05a7b..0000000000 --- a/package/kernel/spi-gpio-custom/src/Kconfig +++ /dev/null @@ -1,14 +0,0 @@ -config SPI_GPIO_CUSTOM - tristate "Custom GPIO-based SPI driver" - depends on GENERIC_GPIO - select SPI_GPIO - help - This is an SPI driver to register 1 to 4 custom SPI buses using - GPIO lines. Each bus can have up to 8 slaves. - The devices will be exposed to userspace as /dev/spidevX.X - - This module is maily intended to interface microcontrollers - and other SPI devices without a specific kernel driver. - - This support is also available as a module. If so, the module - will be called spi-gpio-custom. diff --git a/package/kernel/spi-gpio-custom/src/Makefile b/package/kernel/spi-gpio-custom/src/Makefile deleted file mode 100644 index cf8c55f98c..0000000000 --- a/package/kernel/spi-gpio-custom/src/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-${CONFIG_SPI_GPIO_CUSTOM} += spi-gpio-custom.o
\ No newline at end of file diff --git a/package/kernel/spi-gpio-custom/src/spi-gpio-custom.c b/package/kernel/spi-gpio-custom/src/spi-gpio-custom.c deleted file mode 100644 index 4c13b56d79..0000000000 --- a/package/kernel/spi-gpio-custom/src/spi-gpio-custom.c +++ /dev/null @@ -1,365 +0,0 @@ -/* - * Custom GPIO-based SPI driver - * - * Copyright (C) 2013 Marco Burato <zmaster.adsl@gmail.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * Based on i2c-gpio-custom by: - * Copyright (C) 2007-2008 Gabor Juhos <juhosg@openwrt.org> - * --------------------------------------------------------------------------- - * - * The behaviour of this driver can be altered by setting some parameters - * from the insmod command line. - * - * The following parameters are adjustable: - * - * bus0 These four arguments can be arrays of - * bus1 1-8 unsigned integers as follows: - * bus2 - * bus3 <id>,<sck>,<mosi>,<miso>,<mode1>,<maxfreq1>,<cs1>,... - * - * where: - * - * <id> ID to used as device_id for the corresponding bus (required) - * <sck> GPIO pin ID to be used for bus SCK (required) - * <mosi> GPIO pin ID to be used for bus MOSI (required*) - * <miso> GPIO pin ID to be used for bus MISO (required*) - * <modeX> Mode configuration for slave X in the bus (required) - * (see /include/linux/spi/spi.h) - * <maxfreqX> Maximum clock frequency in Hz for slave X in the bus (required) - * <csX> GPIO pin ID to be used for slave X CS (required**) - * - * Notes: - * * If a signal is not used (for example there is no MISO) you need - * to set the GPIO pin ID for that signal to an invalid value. - * ** If you only have 1 slave in the bus with no CS, you can omit the - * <cs1> param or set it to an invalid GPIO id to disable it. When - * you have 2 or more slaves, they must all have a valid CS. - * - * If this driver is built into the kernel, you can use the following kernel - * command line parameters, with the same values as the corresponding module - * parameters listed above: - * - * spi-gpio-custom.bus0 - * spi-gpio-custom.bus1 - * spi-gpio-custom.bus2 - * spi-gpio-custom.bus3 - */ - -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/init.h> -#include <linux/platform_device.h> - -#include <linux/gpio.h> -#include <linux/spi/spi.h> -#include <linux/spi/spi_gpio.h> - -#define DRV_NAME "spi-gpio-custom" -#define DRV_DESC "Custom GPIO-based SPI driver" -#define DRV_VERSION "0.1" - -#define PFX DRV_NAME ": " - -#define BUS_PARAM_ID 0 -#define BUS_PARAM_SCK 1 -#define BUS_PARAM_MOSI 2 -#define BUS_PARAM_MISO 3 -#define BUS_PARAM_MODE1 4 -#define BUS_PARAM_MAXFREQ1 5 -#define BUS_PARAM_CS1 6 - -#define BUS_SLAVE_COUNT_MAX 8 -#define BUS_PARAM_REQUIRED 6 -#define BUS_PARAM_PER_SLAVE 3 -#define BUS_PARAM_COUNT (4+BUS_PARAM_PER_SLAVE*BUS_SLAVE_COUNT_MAX) -#define BUS_COUNT_MAX 4 - -static unsigned int bus0[BUS_PARAM_COUNT] __initdata; -static unsigned int bus1[BUS_PARAM_COUNT] __initdata; -static unsigned int bus2[BUS_PARAM_COUNT] __initdata; -static unsigned int bus3[BUS_PARAM_COUNT] __initdata; - -static unsigned int bus_nump[BUS_COUNT_MAX] __initdata; - -#define BUS_PARM_DESC \ - " config -> id,sck,mosi,miso,mode1,maxfreq1[,cs1,mode2,maxfreq2,cs2,...]" - -module_param_array(bus0, uint, &bus_nump[0], 0); -MODULE_PARM_DESC(bus0, "bus0" BUS_PARM_DESC); -module_param_array(bus1, uint, &bus_nump[1], 0); -MODULE_PARM_DESC(bus1, "bus1" BUS_PARM_DESC); -module_param_array(bus2, uint, &bus_nump[2], 0); -MODULE_PARM_DESC(bus2, "bus2" BUS_PARM_DESC); -module_param_array(bus3, uint, &bus_nump[3], 0); -MODULE_PARM_DESC(bus3, "bus3" BUS_PARM_DESC); - -static struct platform_device *devices[BUS_COUNT_MAX]; -static unsigned int nr_devices; - -static void spi_gpio_custom_cleanup(void) -{ - int i; - - for (i = 0; i < nr_devices; i++) - if (devices[i]) - platform_device_unregister(devices[i]); -} - -static int __init spi_gpio_custom_get_slave_mode(unsigned int id, - unsigned int *params, - int slave_index) -{ - int param_index; - - param_index = BUS_PARAM_MODE1+slave_index*BUS_PARAM_PER_SLAVE; - if (param_index >= bus_nump[id]) - return -1; - - return params[param_index]; -} -static int __init spi_gpio_custom_get_slave_maxfreq(unsigned int id, - unsigned int *params, - int slave_index) -{ - int param_index; - - param_index = BUS_PARAM_MAXFREQ1+slave_index*BUS_PARAM_PER_SLAVE; - if (param_index >= bus_nump[id]) - return -1; - - return params[param_index]; -} -static int __init spi_gpio_custom_get_slave_cs(unsigned int id, - unsigned int *params, - int slave_index) -{ - int param_index; - - param_index = BUS_PARAM_CS1+slave_index*BUS_PARAM_PER_SLAVE; - if (param_index >= bus_nump[id]) - return -1; - if (!gpio_is_valid(params[param_index])) - return -1; - - return params[param_index]; -} - -static int __init spi_gpio_custom_check_params(unsigned int id, unsigned int *params) -{ - int i; - struct spi_master *master; - - if (bus_nump[id] < BUS_PARAM_REQUIRED) { - printk(KERN_ERR PFX "not enough values for parameter bus%d\n", - id); - return -EINVAL; - } - - if (bus_nump[id] > (1+BUS_PARAM_CS1)) { - /* more than 1 device: check CS GPIOs */ - for (i = 0; i < BUS_SLAVE_COUNT_MAX; i++) { - /* no more slaves? */ - if (spi_gpio_custom_get_slave_mode(id, params, i) < 0) - break; - - if (spi_gpio_custom_get_slave_cs(id, params, i) < 0) { - printk(KERN_ERR PFX "invalid/missing CS gpio for slave %d on bus %d\n", - i, params[BUS_PARAM_ID]); - return -EINVAL; - } - } - } - - if (!gpio_is_valid(params[BUS_PARAM_SCK])) { - printk(KERN_ERR PFX "invalid SCK gpio for bus %d\n", - params[BUS_PARAM_ID]); - return -EINVAL; - } - - master = spi_busnum_to_master(params[BUS_PARAM_ID]); - if (master) { - spi_master_put(master); - printk(KERN_ERR PFX "bus %d already exists\n", - params[BUS_PARAM_ID]); - return -EEXIST; - } - - return 0; -} - -static int __init spi_gpio_custom_add_one(unsigned int id, unsigned int *params) -{ - struct platform_device *pdev; - struct spi_gpio_platform_data pdata; - int i; - int num_cs; - int err; - struct spi_master *master; - struct spi_device *slave; - struct spi_board_info slave_info; - int mode, maxfreq, cs; - - - if (!bus_nump[id]) - return 0; - - err = spi_gpio_custom_check_params(id, params); - if (err) - goto err; - - /* Create BUS device node */ - - pdev = platform_device_alloc("spi_gpio", params[BUS_PARAM_ID]); - if (!pdev) { - err = -ENOMEM; - goto err; - } - - num_cs = 0; - for (i = 0; i < BUS_SLAVE_COUNT_MAX; i++) { - /* no more slaves? */ - if (spi_gpio_custom_get_slave_mode(id, params, i) < 0) - break; - - if (spi_gpio_custom_get_slave_cs(id, params, i) >= 0) - num_cs++; - } - if (num_cs == 0) { - /* - * Even if no CS is used, spi modules expect - * at least 1 (unused) - */ - num_cs = 1; - } - - pdata.sck = params[BUS_PARAM_SCK]; - pdata.mosi = gpio_is_valid(params[BUS_PARAM_MOSI]) - ? params[BUS_PARAM_MOSI] - : SPI_GPIO_NO_MOSI; - pdata.miso = gpio_is_valid(params[BUS_PARAM_MISO]) - ? params[BUS_PARAM_MISO] - : SPI_GPIO_NO_MISO; - pdata.num_chipselect = num_cs; - - err = platform_device_add_data(pdev, &pdata, sizeof(pdata)); - if (err) { - platform_device_put(pdev); - goto err; - } - - err = platform_device_add(pdev); - if (err) { - printk(KERN_ERR PFX "platform_device_add failed with return code %d\n", - err); - platform_device_put(pdev); - goto err; - } - - /* Register SLAVE devices */ - - for (i = 0; i < BUS_SLAVE_COUNT_MAX; i++) { - mode = spi_gpio_custom_get_slave_mode(id, params, i); - maxfreq = spi_gpio_custom_get_slave_maxfreq(id, params, i); - cs = spi_gpio_custom_get_slave_cs(id, params, i); - - /* no more slaves? */ - if (mode < 0) - break; - - memset(&slave_info, 0, sizeof(slave_info)); - strcpy(slave_info.modalias, "spidev"); - slave_info.controller_data = (void *)((cs >= 0) - ? cs - : SPI_GPIO_NO_CHIPSELECT); - slave_info.max_speed_hz = maxfreq; - slave_info.bus_num = params[BUS_PARAM_ID]; - slave_info.chip_select = i; - slave_info.mode = mode; - - master = spi_busnum_to_master(params[BUS_PARAM_ID]); - if (!master) { - printk(KERN_ERR PFX "unable to get master for bus %d\n", - params[BUS_PARAM_ID]); - err = -EINVAL; - goto err_unregister; - } - slave = spi_new_device(master, &slave_info); - spi_master_put(master); - if (!slave) { - printk(KERN_ERR PFX "unable to create slave %d for bus %d\n", - i, params[BUS_PARAM_ID]); - /* Will most likely fail due to unsupported mode bits */ - err = -EINVAL; - goto err_unregister; - } - } - - devices[nr_devices++] = pdev; - - return 0; - -err_unregister: - platform_device_unregister(pdev); -err: - return err; -} - -static int __init spi_gpio_custom_probe(void) -{ - int err; - - printk(KERN_INFO DRV_DESC " version " DRV_VERSION "\n"); - - err = spi_gpio_custom_add_one(0, bus0); - if (err) - goto err; - - err = spi_gpio_custom_add_one(1, bus1); - if (err) - goto err; - - err = spi_gpio_custom_add_one(2, bus2); - if (err) - goto err; - - err = spi_gpio_custom_add_one(3, bus3); - if (err) - goto err; - - if (!nr_devices) { - printk(KERN_ERR PFX "no bus parameter(s) specified\n"); - err = -ENODEV; - goto err; - } - - return 0; - -err: - spi_gpio_custom_cleanup(); - return err; -} - -#ifdef MODULE -static int __init spi_gpio_custom_init(void) -{ - return spi_gpio_custom_probe(); -} -module_init(spi_gpio_custom_init); - -static void __exit spi_gpio_custom_exit(void) -{ - spi_gpio_custom_cleanup(); -} -module_exit(spi_gpio_custom_exit); -#else -subsys_initcall(spi_gpio_custom_probe); -#endif /* MODULE*/ - -MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Marco Burato <zmaster.adsl@gmail.com>"); -MODULE_DESCRIPTION(DRV_DESC); -MODULE_VERSION(DRV_VERSION); diff --git a/package/kernel/w1-gpio-custom/Makefile b/package/kernel/w1-gpio-custom/Makefile deleted file mode 100644 index 76581c101e..0000000000 --- a/package/kernel/w1-gpio-custom/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright (C) 2008-2012 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=w1-gpio-custom -PKG_RELEASE:=4 - -include $(INCLUDE_DIR)/package.mk - -define KernelPackage/w1-gpio-custom - SUBMENU:=W1 support - TITLE:=Custom GPIO-based 1-wire device - DEPENDS:=kmod-w1 +kmod-w1-master-gpio @LINUX_4_14 - FILES:=$(PKG_BUILD_DIR)/w1-gpio-custom.ko - KCONFIG:= -endef - -define KernelPackage/w1-gpio-custom/description - Kernel module to register a custom w1-gpio platform device. -endef - -EXTRA_KCONFIG:= \ - CONFIG_W1_MASTER_GPIO_CUSTOM=m - -EXTRA_CFLAGS:= \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) - -MAKE_OPTS:= \ - $(KERNEL_MAKE_FLAGS) \ - M="$(PKG_BUILD_DIR)" \ - EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ - $(EXTRA_KCONFIG) - -define Build/Compile - $(MAKE) -C "$(LINUX_DIR)" \ - $(MAKE_OPTS) \ - modules -endef - -$(eval $(call KernelPackage,w1-gpio-custom)) - diff --git a/package/kernel/w1-gpio-custom/src/Kconfig b/package/kernel/w1-gpio-custom/src/Kconfig deleted file mode 100644 index 74b9226c5c..0000000000 --- a/package/kernel/w1-gpio-custom/src/Kconfig +++ /dev/null @@ -1,4 +0,0 @@ -config W1_MASTER_GPIO_CUSTOM - tristate "Custom GPIO-based W1 driver" - depends on GENERIC_GPIO - select W1_GPIO
\ No newline at end of file diff --git a/package/kernel/w1-gpio-custom/src/Makefile b/package/kernel/w1-gpio-custom/src/Makefile deleted file mode 100644 index 6a527432c1..0000000000 --- a/package/kernel/w1-gpio-custom/src/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-${CONFIG_W1_MASTER_GPIO_CUSTOM} += w1-gpio-custom.o
\ No newline at end of file diff --git a/package/kernel/w1-gpio-custom/src/w1-gpio-custom.c b/package/kernel/w1-gpio-custom/src/w1-gpio-custom.c deleted file mode 100644 index 6928769975..0000000000 --- a/package/kernel/w1-gpio-custom/src/w1-gpio-custom.c +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Custom GPIO-based W1 driver - * - * Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org> - * Copyright (C) 2008 Bifferos <bifferos at yahoo.co.uk> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * --------------------------------------------------------------------------- - * - * The behaviour of this driver can be altered by setting some parameters - * from the insmod command line. - * - * The following parameters are adjustable: - * - * bus0 These four arguments must be arrays of - * bus1 3 unsigned integers as follows: - * bus2 - * bus3 <id>,<pin>,<od> - * - * where: - * - * <id> ID to used as device_id for the corresponding bus (required) - * <sda> GPIO pin ID of data pin (required) - * <od> Pin is configured as open drain. - * - * See include/w1-gpio.h for more information about the parameters. - * - * If this driver is built into the kernel, you can use the following kernel - * command line parameters, with the same values as the corresponding module - * parameters listed above: - * - * w1-gpio-custom.bus0 - * w1-gpio-custom.bus1 - * w1-gpio-custom.bus2 - * w1-gpio-custom.bus3 - */ - -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/init.h> -#include <linux/platform_device.h> - -#include <linux/w1-gpio.h> - -#define DRV_NAME "w1-gpio-custom" -#define DRV_DESC "Custom GPIO-based W1 driver" -#define DRV_VERSION "0.1.2" - -#define PFX DRV_NAME ": " - -#define BUS_PARAM_ID 0 -#define BUS_PARAM_PIN 1 -#define BUS_PARAM_OD 2 - -#define BUS_PARAM_REQUIRED 3 -#define BUS_PARAM_COUNT 3 -#define BUS_COUNT_MAX 4 - -static unsigned int bus0[BUS_PARAM_COUNT] __initdata; -static unsigned int bus1[BUS_PARAM_COUNT] __initdata; -static unsigned int bus2[BUS_PARAM_COUNT] __initdata; -static unsigned int bus3[BUS_PARAM_COUNT] __initdata; - -static unsigned int bus_nump[BUS_COUNT_MAX] __initdata; - -#define BUS_PARM_DESC " config -> id,pin,od" - -module_param_array(bus0, uint, &bus_nump[0], 0); -MODULE_PARM_DESC(bus0, "bus0" BUS_PARM_DESC); -module_param_array(bus1, uint, &bus_nump[1], 0); -MODULE_PARM_DESC(bus1, "bus1" BUS_PARM_DESC); -module_param_array(bus2, uint, &bus_nump[2], 0); -MODULE_PARM_DESC(bus2, "bus2" BUS_PARM_DESC); -module_param_array(bus3, uint, &bus_nump[3], 0); -MODULE_PARM_DESC(bus3, "bus3" BUS_PARM_DESC); - -static struct platform_device *devices[BUS_COUNT_MAX]; -static unsigned int nr_devices; - -static void w1_gpio_custom_cleanup(void) -{ - int i; - - for (i = 0; i < nr_devices; i++) - if (devices[i]) - platform_device_unregister(devices[i]); -} - -static int __init w1_gpio_custom_add_one(unsigned int id, unsigned int *params) -{ - struct platform_device *pdev; - struct w1_gpio_platform_data pdata; - int err; - - if (!bus_nump[id]) - return 0; - - if (bus_nump[id] < BUS_PARAM_REQUIRED) { - printk(KERN_ERR PFX "not enough parameters for bus%d\n", id); - err = -EINVAL; - goto err; - } - - pdev = platform_device_alloc("w1-gpio", params[BUS_PARAM_ID]); - if (!pdev) { - err = -ENOMEM; - goto err; - } - - pdata.pin = params[BUS_PARAM_PIN]; - pdata.is_open_drain = params[BUS_PARAM_OD] ? 1 : 0; - pdata.enable_external_pullup = NULL; - pdata.ext_pullup_enable_pin = -EINVAL; - - err = platform_device_add_data(pdev, &pdata, sizeof(pdata)); - if (err) - goto err_put; - - err = platform_device_add(pdev); - if (err) - goto err_put; - - devices[nr_devices++] = pdev; - return 0; - - err_put: - platform_device_put(pdev); - err: - return err; -} - -static int __init w1_gpio_custom_probe(void) -{ - int err; - - nr_devices = 0; - printk(KERN_INFO DRV_DESC " version " DRV_VERSION "\n"); - - err = w1_gpio_custom_add_one(0, bus0); - if (err) - goto err; - - err = w1_gpio_custom_add_one(1, bus1); - if (err) - goto err; - - err = w1_gpio_custom_add_one(2, bus2); - if (err) - goto err; - - err = w1_gpio_custom_add_one(3, bus3); - if (err) - goto err; - - if (!nr_devices) { - printk(KERN_ERR PFX "no bus parameter(s) specified\n"); - err = -ENODEV; - goto err; - } - - return 0; - -err: - w1_gpio_custom_cleanup(); - return err; -} - -#ifdef MODULE -static int __init w1_gpio_custom_init(void) -{ - return w1_gpio_custom_probe(); -} -module_init(w1_gpio_custom_init); - -static void __exit w1_gpio_custom_exit(void) -{ - w1_gpio_custom_cleanup(); -} -module_exit(w1_gpio_custom_exit); -#else -subsys_initcall(w1_gpio_custom_probe); -#endif /* MODULE*/ - -MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Bifferos <bifferos at yahoo.co.uk >"); -MODULE_DESCRIPTION(DRV_DESC); -MODULE_VERSION(DRV_VERSION); |