Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
8e8882a231
@ -69,8 +69,9 @@ menu "Global build settings"
|
|||||||
default y
|
default y
|
||||||
|
|
||||||
config USE_APK
|
config USE_APK
|
||||||
imply PACKAGE_apk-mbedtls
|
imply PACKAGE_apk-openssl
|
||||||
bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)"
|
bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)"
|
||||||
|
default y
|
||||||
|
|
||||||
comment "General build options"
|
comment "General build options"
|
||||||
|
|
||||||
@ -295,12 +296,22 @@ menu "Global build settings"
|
|||||||
Enable GCC Stack Smashing Protection (SSP) for userspace applications
|
Enable GCC Stack Smashing Protection (SSP) for userspace applications
|
||||||
config PKG_CC_STACKPROTECTOR_NONE
|
config PKG_CC_STACKPROTECTOR_NONE
|
||||||
bool "None"
|
bool "None"
|
||||||
|
help
|
||||||
|
No stack smashing protection.
|
||||||
config PKG_CC_STACKPROTECTOR_REGULAR
|
config PKG_CC_STACKPROTECTOR_REGULAR
|
||||||
bool "Regular"
|
bool "Regular"
|
||||||
|
help
|
||||||
|
Protects functions with vulnerable objects.
|
||||||
|
This includes functions with buffers larger than 8 bytes or calls to alloca.
|
||||||
config PKG_CC_STACKPROTECTOR_STRONG
|
config PKG_CC_STACKPROTECTOR_STRONG
|
||||||
bool "Strong"
|
bool "Strong"
|
||||||
|
help
|
||||||
|
Like Regular, but also protects functions with
|
||||||
|
local arrays or references to local frame addresses.
|
||||||
config PKG_CC_STACKPROTECTOR_ALL
|
config PKG_CC_STACKPROTECTOR_ALL
|
||||||
bool "All"
|
bool "All"
|
||||||
|
help
|
||||||
|
Protects all functions.
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
choice
|
choice
|
||||||
@ -310,10 +321,18 @@ menu "Global build settings"
|
|||||||
Enable GCC Stack-Smashing Protection (SSP) for the kernel
|
Enable GCC Stack-Smashing Protection (SSP) for the kernel
|
||||||
config KERNEL_CC_STACKPROTECTOR_NONE
|
config KERNEL_CC_STACKPROTECTOR_NONE
|
||||||
bool "None"
|
bool "None"
|
||||||
|
help
|
||||||
|
No stack smashing protection.
|
||||||
config KERNEL_CC_STACKPROTECTOR_REGULAR
|
config KERNEL_CC_STACKPROTECTOR_REGULAR
|
||||||
bool "Regular"
|
bool "Regular"
|
||||||
|
help
|
||||||
|
Protects functions with vulnerable objects.
|
||||||
|
This includes functions with buffers larger than 8 bytes or calls to alloca.
|
||||||
config KERNEL_CC_STACKPROTECTOR_STRONG
|
config KERNEL_CC_STACKPROTECTOR_STRONG
|
||||||
bool "Strong"
|
bool "Strong"
|
||||||
|
help
|
||||||
|
Like Regular, but also protects functions with
|
||||||
|
local arrays or references to local frame addresses.
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config KERNEL_STACKPROTECTOR
|
config KERNEL_STACKPROTECTOR
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-6.6 = .59
|
LINUX_VERSION-6.6 = .60
|
||||||
LINUX_KERNEL_HASH-6.6.59 = 23616808d8c08f12815ff898f4edb4c11397a2b2843d029ee62452d21833a76d
|
LINUX_KERNEL_HASH-6.6.60 = 52f9e32d5082ab94253447fd66670d0c3bb765cfcb99b0bf61d1b8eae25952ef
|
||||||
|
@ -48,7 +48,6 @@ apk = \
|
|||||||
$(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk \
|
$(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk \
|
||||||
--root $(1) \
|
--root $(1) \
|
||||||
--keys-dir $(if $(APK_KEYS),$(APK_KEYS),$(TOPDIR)) \
|
--keys-dir $(if $(APK_KEYS),$(APK_KEYS),$(TOPDIR)) \
|
||||||
--no-cache \
|
|
||||||
--no-logfile \
|
--no-logfile \
|
||||||
--preserve-env
|
--preserve-env
|
||||||
|
|
||||||
@ -84,7 +83,7 @@ define prepare_rootfs
|
|||||||
IPKG_POSTINST_PATH=./usr/lib/opkg/info/*.postinst; \
|
IPKG_POSTINST_PATH=./usr/lib/opkg/info/*.postinst; \
|
||||||
fi; \
|
fi; \
|
||||||
for script in $$IPKG_POSTINST_PATH; do \
|
for script in $$IPKG_POSTINST_PATH; do \
|
||||||
PATH="$(TARGET_PATH_PKG)" IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \
|
IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \
|
||||||
ret=$$?; \
|
ret=$$?; \
|
||||||
if [ $$ret -ne 0 ]; then \
|
if [ $$ret -ne 0 ]; then \
|
||||||
echo "postinst script $$script has failed with exit code $$ret" >&2; \
|
echo "postinst script $$script has failed with exit code $$ret" >&2; \
|
||||||
|
@ -98,7 +98,7 @@ $(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(curdir)/merge-index
|
|||||||
ifneq ($(CONFIG_USE_APK),)
|
ifneq ($(CONFIG_USE_APK),)
|
||||||
$(file >$(TMP_DIR)/apk_install_list,\
|
$(file >$(TMP_DIR)/apk_install_list,\
|
||||||
$(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg))))
|
$(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg))))
|
||||||
$(call apk,$(TARGET_DIR)) add --initdb --no-scripts --arch $(ARCH_PACKAGES) \
|
$(call apk,$(TARGET_DIR)) add --no-cache --initdb --no-scripts --arch $(ARCH_PACKAGES) \
|
||||||
--repositories-file /dev/zero --repository file://$(PACKAGE_DIR_ALL)/packages.adb \
|
--repositories-file /dev/zero --repository file://$(PACKAGE_DIR_ALL)/packages.adb \
|
||||||
$$(cat $(TMP_DIR)/apk_install_list)
|
$$(cat $(TMP_DIR)/apk_install_list)
|
||||||
else
|
else
|
||||||
@ -130,7 +130,7 @@ ifneq ($(CONFIG_USE_APK),)
|
|||||||
--keys-dir $(TOPDIR) \
|
--keys-dir $(TOPDIR) \
|
||||||
--sign $(BUILD_KEY_APK_SEC) \
|
--sign $(BUILD_KEY_APK_SEC) \
|
||||||
--output packages.adb \
|
--output packages.adb \
|
||||||
$$(ls *.apk | grep -v 'kernel\|libc'); \
|
$$(ls *.apk | grep -v 'base-files-\|kernel-\|libc-'); \
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
@for d in $(PACKAGE_SUBDIRS); do ( \
|
@for d in $(PACKAGE_SUBDIRS); do ( \
|
||||||
|
@ -251,6 +251,7 @@ ifneq ($(CONFIG_USE_APK),)
|
|||||||
$(VERSION_SED_SCRIPT) $(1)/etc/apk/repositories
|
$(VERSION_SED_SCRIPT) $(1)/etc/apk/repositories
|
||||||
|
|
||||||
rm -f $(1)/etc/uci-defaults/13_fix-group-user
|
rm -f $(1)/etc/uci-defaults/13_fix-group-user
|
||||||
|
rm -f $(1)/sbin/pkg_check
|
||||||
else
|
else
|
||||||
$(if $(CONFIG_CLEAN_IPKG),, \
|
$(if $(CONFIG_CLEAN_IPKG),, \
|
||||||
mkdir -p $(1)/etc/opkg; \
|
mkdir -p $(1)/etc/opkg; \
|
||||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=gdb
|
PKG_NAME:=gdb
|
||||||
PKG_VERSION:=15.2
|
PKG_VERSION:=15.2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=@GNU/gdb
|
PKG_SOURCE_URL:=@GNU/gdb
|
||||||
@ -37,7 +37,7 @@ $(call Package/gdb/Default)
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/gdb/description
|
define Package/gdb/description
|
||||||
GDB, the GNU Project debugger, allows you to see what is going on `inside'
|
GDB, the GNU Project debugger, allows you to see what is going on 'inside'
|
||||||
another program while it executes -- or what another program was doing at the
|
another program while it executes -- or what another program was doing at the
|
||||||
moment it crashed.
|
moment it crashed.
|
||||||
endef
|
endef
|
||||||
|
@ -693,7 +693,6 @@ static struct platform_driver gpio_keys_driver = {
|
|||||||
.remove = gpio_keys_remove,
|
.remove = gpio_keys_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "gpio-keys",
|
.name = "gpio-keys",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_match_ptr(gpio_keys_of_match),
|
.of_match_table = of_match_ptr(gpio_keys_of_match),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -703,7 +702,6 @@ static struct platform_driver gpio_keys_polled_driver = {
|
|||||||
.remove = gpio_keys_remove,
|
.remove = gpio_keys_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "gpio-keys-polled",
|
.name = "gpio-keys-polled",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_match_ptr(gpio_keys_polled_of_match),
|
.of_match_table = of_match_ptr(gpio_keys_polled_of_match),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -366,7 +366,6 @@ err:
|
|||||||
|
|
||||||
static struct platform_driver nct5104d_gpio_driver = {
|
static struct platform_driver nct5104d_gpio_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.name = DRVNAME,
|
.name = DRVNAME,
|
||||||
},
|
},
|
||||||
.probe = nct5104d_gpio_probe,
|
.probe = nct5104d_gpio_probe,
|
||||||
|
@ -2807,7 +2807,6 @@ static struct platform_driver ltq_mei_driver = {
|
|||||||
.remove = ltq_mei_remove,
|
.remove = ltq_mei_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "lantiq,mei-xway",
|
.name = "lantiq,mei-xway",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_mei_match,
|
.of_match_table = ltq_mei_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef _lint
|
#ifndef _lint
|
||||||
@@ -1159,8 +1159,30 @@ module_param(debug_level, byte, 0);
|
@@ -1159,8 +1159,29 @@ module_param(debug_level, byte, 0);
|
||||||
MODULE_PARM_DESC(debug_level, "set to get more (1) or fewer (4) debug outputs");
|
MODULE_PARM_DESC(debug_level, "set to get more (1) or fewer (4) debug outputs");
|
||||||
#endif /* #ifndef DSL_DEBUG_DISABLE*/
|
#endif /* #ifndef DSL_DEBUG_DISABLE*/
|
||||||
|
|
||||||
@ -59,7 +59,6 @@
|
|||||||
+ .remove = __devexit_p(ltq_adsl_remove),
|
+ .remove = __devexit_p(ltq_adsl_remove),
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "adsl",
|
+ .name = "adsl",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = ltq_adsl_match,
|
+ .of_match_table = ltq_adsl_match,
|
||||||
+ },
|
+ },
|
||||||
+};
|
+};
|
||||||
|
@ -1894,7 +1894,6 @@ static struct platform_driver ltq_atm_driver = {
|
|||||||
.remove = ltq_atm_remove,
|
.remove = ltq_atm_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "atm",
|
.name = "atm",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_atm_match,
|
.of_match_table = ltq_atm_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -196,7 +196,6 @@ static struct platform_driver ltq_deu_driver = {
|
|||||||
.remove = ltq_deu_remove,
|
.remove = ltq_deu_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "deu",
|
.name = "deu",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_deu_match,
|
.of_match_table = ltq_deu_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1600,7 +1600,6 @@ static struct platform_driver ltq_ptm_driver = {
|
|||||||
.remove = ltq_ptm_remove,
|
.remove = ltq_ptm_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ptm",
|
.name = "ptm",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_ptm_match,
|
.of_match_table = ltq_ptm_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1138,7 +1138,6 @@ static struct platform_driver ltq_ptm_driver = {
|
|||||||
.remove = ltq_ptm_remove,
|
.remove = ltq_ptm_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ptm",
|
.name = "ptm",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_ptm_match,
|
.of_match_table = ltq_ptm_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -146,7 +146,6 @@ static struct platform_driver ubootenv_driver = {
|
|||||||
.remove = ubootenv_remove,
|
.remove = ubootenv_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = NAME,
|
.name = NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_ubootenv_match,
|
.of_match_table = of_ubootenv_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=libnftnl
|
PKG_NAME:=libnftnl
|
||||||
PKG_CPE_ID:=cpe:/a:netfilter:libnftnl
|
PKG_CPE_ID:=cpe:/a:netfilter:libnftnl
|
||||||
PKG_VERSION:=1.2.6
|
PKG_VERSION:=1.2.8
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||||
PKG_HASH:=ceeaea2cd92147da19f13a35a7f1a4bc2767ff897e838e4b479cf54b59c777f4
|
PKG_HASH:=37fea5d6b5c9b08de7920d298de3cdc942e7ae64b1a3e8b880b2d390ae67ad95
|
||||||
|
|
||||||
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
||||||
PKG_LICENSE:=GPL-2.0-or-later
|
PKG_LICENSE:=GPL-2.0-or-later
|
||||||
|
@ -15,13 +15,14 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
|
|
||||||
--- a/include/libnftnl/expr.h
|
--- a/include/libnftnl/expr.h
|
||||||
+++ b/include/libnftnl/expr.h
|
+++ b/include/libnftnl/expr.h
|
||||||
@@ -245,6 +245,12 @@ enum {
|
@@ -272,6 +272,13 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
+ NFTNL_EXPR_FULLCONE_FLAGS = NFTNL_EXPR_BASE,
|
+ NFTNL_EXPR_FULLCONE_FLAGS = NFTNL_EXPR_BASE,
|
||||||
+ NFTNL_EXPR_FULLCONE_REG_PROTO_MIN,
|
+ NFTNL_EXPR_FULLCONE_REG_PROTO_MIN,
|
||||||
+ NFTNL_EXPR_FULLCONE_REG_PROTO_MAX,
|
+ NFTNL_EXPR_FULLCONE_REG_PROTO_MAX,
|
||||||
|
+ __NFTNL_EXPR_FULLCONE_MAX
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+enum {
|
+enum {
|
||||||
@ -65,7 +66,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
expr/socket.c \
|
expr/socket.c \
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/expr/fullcone.c
|
+++ b/src/expr/fullcone.c
|
||||||
@@ -0,0 +1,167 @@
|
@@ -0,0 +1,165 @@
|
||||||
+/*
|
+/*
|
||||||
+ * (C) 2022 wongsyrone
|
+ * (C) 2022 wongsyrone
|
||||||
+ *
|
+ *
|
||||||
@ -110,8 +111,6 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
+ case NFTNL_EXPR_FULLCONE_REG_PROTO_MAX:
|
+ case NFTNL_EXPR_FULLCONE_REG_PROTO_MAX:
|
||||||
+ memcpy(&fullcone->sreg_proto_max, data, sizeof(fullcone->sreg_proto_max));
|
+ memcpy(&fullcone->sreg_proto_max, data, sizeof(fullcone->sreg_proto_max));
|
||||||
+ break;
|
+ break;
|
||||||
+ default:
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
+ }
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
@ -226,7 +225,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
+struct expr_ops expr_ops_fullcone = {
|
+struct expr_ops expr_ops_fullcone = {
|
||||||
+ .name = "fullcone",
|
+ .name = "fullcone",
|
||||||
+ .alloc_len = sizeof(struct nftnl_expr_fullcone),
|
+ .alloc_len = sizeof(struct nftnl_expr_fullcone),
|
||||||
+ .max_attr = NFTA_FULLCONE_MAX,
|
+ .nftnl_max_attr = __NFTNL_EXPR_FULLCONE_MAX,
|
||||||
+ .set = nftnl_expr_fullcone_set,
|
+ .set = nftnl_expr_fullcone_set,
|
||||||
+ .get = nftnl_expr_fullcone_get,
|
+ .get = nftnl_expr_fullcone_get,
|
||||||
+ .parse = nftnl_expr_fullcone_parse,
|
+ .parse = nftnl_expr_fullcone_parse,
|
||||||
|
@ -8,13 +8,16 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=wolfssl
|
PKG_NAME:=wolfssl
|
||||||
PKG_VERSION:=5.7.2-stable
|
PKG_VERSION:=5.7.2
|
||||||
|
PKG_REAL_VERSION:=$(PKG_VERSION)-stable
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_REAL_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_REAL_VERSION)
|
||||||
PKG_HASH:=0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305
|
PKG_HASH:=0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_REAL_VERSION)
|
||||||
|
|
||||||
PKG_FIXUP:=libtool libtool-abiver
|
PKG_FIXUP:=libtool libtool-abiver
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
PKG_BUILD_FLAGS:=no-mips16 lto
|
PKG_BUILD_FLAGS:=no-mips16 lto
|
||||||
@ -40,7 +43,7 @@ PKG_CONFIG_DEPENDS:=\
|
|||||||
CONFIG_WOLFSSL_HAS_TLSV13 \
|
CONFIG_WOLFSSL_HAS_TLSV13 \
|
||||||
CONFIG_WOLFSSL_HAS_WPAS
|
CONFIG_WOLFSSL_HAS_WPAS
|
||||||
|
|
||||||
PKG_ABI_VERSION:=$(patsubst %-stable,%,$(PKG_VERSION)).$(call version_abbrev,$(call confvar,$(PKG_CONFIG_DEPENDS)))
|
PKG_ABI_VERSION:=$(PKG_VERSION).$(call version_abbrev,$(call confvar,$(PKG_CONFIG_DEPENDS)))
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS+=\
|
PKG_CONFIG_DEPENDS+=\
|
||||||
CONFIG_PACKAGE_libwolfssl-benchmark \
|
CONFIG_PACKAGE_libwolfssl-benchmark \
|
||||||
|
@ -84,7 +84,11 @@ ifneq ($(CONFIG_DRIVER_11BE_SUPPORT),)
|
|||||||
HOSTAPD_IEEE80211BE:=y
|
HOSTAPD_IEEE80211BE:=y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CORE_DEPENDS = +ucode +libubus +libucode +ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop +libblobmsg-json +libudebug
|
|
||||||
|
CORE_DEPENDS = +ucode +libucode \
|
||||||
|
+ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop \
|
||||||
|
+libubus +libblobmsg-json \
|
||||||
|
+libudebug
|
||||||
OPENSSL_DEPENDS = +PACKAGE_$(1):libopenssl +PACKAGE_$(1):libopenssl-legacy
|
OPENSSL_DEPENDS = +PACKAGE_$(1):libopenssl +PACKAGE_$(1):libopenssl-legacy
|
||||||
|
|
||||||
DRIVER_MAKEOPTS= \
|
DRIVER_MAKEOPTS= \
|
||||||
@ -716,7 +720,13 @@ define Install/supplicant
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/hostapd-common/install
|
define Package/hostapd-common/install
|
||||||
$(INSTALL_DIR) $(1)/etc/capabilities $(1)/etc/rc.button $(1)/etc/hotplug.d/ieee80211 $(1)/etc/init.d $(1)/lib/netifd $(1)/usr/share/acl.d $(1)/usr/share/hostap
|
$(INSTALL_DIR) \
|
||||||
|
$(1)/etc/capabilities \
|
||||||
|
$(1)/etc/rc.button \
|
||||||
|
$(1)/etc/hotplug.d/ieee80211 \
|
||||||
|
$(1)/etc/init.d $(1)/lib/netifd \
|
||||||
|
$(1)/usr/share/acl.d \
|
||||||
|
$(1)/usr/share/hostap
|
||||||
$(INSTALL_BIN) ./files/dhcp-get-server.sh $(1)/lib/netifd/dhcp-get-server.sh
|
$(INSTALL_BIN) ./files/dhcp-get-server.sh $(1)/lib/netifd/dhcp-get-server.sh
|
||||||
$(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad
|
$(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad
|
||||||
$(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps
|
$(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps
|
||||||
|
@ -6,12 +6,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=nftables
|
PKG_NAME:=nftables
|
||||||
PKG_VERSION:=1.0.9
|
PKG_VERSION:=1.1.1
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||||
PKG_HASH:=a3c304cd9ba061239ee0474f9afb938a9bb99d89b960246f66f0c3a0a85e14cd
|
PKG_HASH:=6358830f3a64f31e39b0ad421d7dadcd240b72343ded48d8ef13b8faf204865a
|
||||||
|
|
||||||
PKG_MAINTAINER:=
|
PKG_MAINTAINER:=
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
@ -51,7 +51,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
|
|
||||||
--- a/src/netlink_delinearize.c
|
--- a/src/netlink_delinearize.c
|
||||||
+++ b/src/netlink_delinearize.c
|
+++ b/src/netlink_delinearize.c
|
||||||
@@ -1473,6 +1473,53 @@ out_err:
|
@@ -1467,6 +1467,53 @@ out_err:
|
||||||
stmt_free(stmt);
|
stmt_free(stmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
static void netlink_parse_redir(struct netlink_parse_ctx *ctx,
|
static void netlink_parse_redir(struct netlink_parse_ctx *ctx,
|
||||||
const struct location *loc,
|
const struct location *loc,
|
||||||
const struct nftnl_expr *nle)
|
const struct nftnl_expr *nle)
|
||||||
@@ -1901,6 +1948,7 @@ static const struct expr_handler netlink
|
@@ -1897,6 +1944,7 @@ static const struct expr_handler netlink
|
||||||
{ .name = "tproxy", .parse = netlink_parse_tproxy },
|
{ .name = "tproxy", .parse = netlink_parse_tproxy },
|
||||||
{ .name = "notrack", .parse = netlink_parse_notrack },
|
{ .name = "notrack", .parse = netlink_parse_notrack },
|
||||||
{ .name = "masq", .parse = netlink_parse_masq },
|
{ .name = "masq", .parse = netlink_parse_masq },
|
||||||
@ -115,7 +115,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
{ .name = "queue", .parse = netlink_parse_queue },
|
{ .name = "queue", .parse = netlink_parse_queue },
|
||||||
--- a/src/netlink_linearize.c
|
--- a/src/netlink_linearize.c
|
||||||
+++ b/src/netlink_linearize.c
|
+++ b/src/netlink_linearize.c
|
||||||
@@ -1221,6 +1221,13 @@ static void netlink_gen_nat_stmt(struct
|
@@ -1226,6 +1226,13 @@ static void netlink_gen_nat_stmt(struct
|
||||||
nftnl_reg_pmin = NFTNL_EXPR_MASQ_REG_PROTO_MIN;
|
nftnl_reg_pmin = NFTNL_EXPR_MASQ_REG_PROTO_MIN;
|
||||||
nftnl_reg_pmax = NFTNL_EXPR_MASQ_REG_PROTO_MAX;
|
nftnl_reg_pmax = NFTNL_EXPR_MASQ_REG_PROTO_MAX;
|
||||||
break;
|
break;
|
||||||
@ -131,7 +131,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
|
|
||||||
--- a/src/parser_bison.y
|
--- a/src/parser_bison.y
|
||||||
+++ b/src/parser_bison.y
|
+++ b/src/parser_bison.y
|
||||||
@@ -621,6 +621,7 @@ int nft_lex(void *, void *, void *);
|
@@ -643,6 +643,7 @@ int nft_lex(void *, void *, void *);
|
||||||
%token SNAT "snat"
|
%token SNAT "snat"
|
||||||
%token DNAT "dnat"
|
%token DNAT "dnat"
|
||||||
%token MASQUERADE "masquerade"
|
%token MASQUERADE "masquerade"
|
||||||
@ -139,7 +139,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
%token REDIRECT "redirect"
|
%token REDIRECT "redirect"
|
||||||
%token RANDOM "random"
|
%token RANDOM "random"
|
||||||
%token FULLY_RANDOM "fully-random"
|
%token FULLY_RANDOM "fully-random"
|
||||||
@@ -755,8 +756,8 @@ int nft_lex(void *, void *, void *);
|
@@ -784,8 +785,8 @@ int nft_lex(void *, void *, void *);
|
||||||
%type <val> limit_burst_pkts limit_burst_bytes limit_mode limit_bytes time_unit quota_mode
|
%type <val> limit_burst_pkts limit_burst_bytes limit_mode limit_bytes time_unit quota_mode
|
||||||
%type <stmt> reject_stmt reject_stmt_alloc
|
%type <stmt> reject_stmt reject_stmt_alloc
|
||||||
%destructor { stmt_free($$); } reject_stmt reject_stmt_alloc
|
%destructor { stmt_free($$); } reject_stmt reject_stmt_alloc
|
||||||
@ -150,7 +150,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
%type <val> nf_nat_flags nf_nat_flag offset_opt
|
%type <val> nf_nat_flags nf_nat_flag offset_opt
|
||||||
%type <stmt> tproxy_stmt
|
%type <stmt> tproxy_stmt
|
||||||
%destructor { stmt_free($$); } tproxy_stmt
|
%destructor { stmt_free($$); } tproxy_stmt
|
||||||
@@ -3064,6 +3065,7 @@ stmt : verdict_stmt
|
@@ -3216,6 +3217,7 @@ stmt : verdict_stmt
|
||||||
| queue_stmt
|
| queue_stmt
|
||||||
| ct_stmt
|
| ct_stmt
|
||||||
| masq_stmt close_scope_nat
|
| masq_stmt close_scope_nat
|
||||||
@ -158,7 +158,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
| redir_stmt close_scope_nat
|
| redir_stmt close_scope_nat
|
||||||
| dup_stmt close_scope_dup
|
| dup_stmt close_scope_dup
|
||||||
| fwd_stmt close_scope_fwd
|
| fwd_stmt close_scope_fwd
|
||||||
@@ -3976,6 +3978,28 @@ masq_stmt_args : TO COLON stmt_expr
|
@@ -3999,6 +4001,28 @@ masq_stmt_args : TO COLON stmt_expr
|
||||||
{
|
{
|
||||||
$<stmt>0->nat.proto = $3;
|
$<stmt>0->nat.proto = $3;
|
||||||
}
|
}
|
||||||
@ -189,7 +189,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
$<stmt>0->nat.proto = $3;
|
$<stmt>0->nat.proto = $3;
|
||||||
--- a/src/scanner.l
|
--- a/src/scanner.l
|
||||||
+++ b/src/scanner.l
|
+++ b/src/scanner.l
|
||||||
@@ -460,6 +460,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr
|
@@ -462,6 +462,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr
|
||||||
"snat" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_NAT); return SNAT; }
|
"snat" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_NAT); return SNAT; }
|
||||||
"dnat" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_NAT); return DNAT; }
|
"dnat" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_NAT); return DNAT; }
|
||||||
"masquerade" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_NAT); return MASQUERADE; }
|
"masquerade" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_NAT); return MASQUERADE; }
|
||||||
@ -199,7 +199,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
|||||||
<SCANSTATE_STMT_NAT>{
|
<SCANSTATE_STMT_NAT>{
|
||||||
--- a/src/statement.c
|
--- a/src/statement.c
|
||||||
+++ b/src/statement.c
|
+++ b/src/statement.c
|
||||||
@@ -681,6 +681,7 @@ const char *nat_etype2str(enum nft_nat_e
|
@@ -674,6 +674,7 @@ const char *nat_etype2str(enum nft_nat_e
|
||||||
[NFT_NAT_SNAT] = "snat",
|
[NFT_NAT_SNAT] = "snat",
|
||||||
[NFT_NAT_DNAT] = "dnat",
|
[NFT_NAT_DNAT] = "dnat",
|
||||||
[NFT_NAT_MASQ] = "masquerade",
|
[NFT_NAT_MASQ] = "masquerade",
|
||||||
|
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
|||||||
|
|
||||||
PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git
|
PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2024-10-28
|
PKG_SOURCE_DATE:=2024-11-08
|
||||||
PKG_SOURCE_VERSION:=a1ad8568a1378d71c1f6354c428ebb1baa46fa05
|
PKG_SOURCE_VERSION:=d9c24813d983df9524fa7a2b78fc3132c159a20f
|
||||||
PKG_MIRROR_HASH:=68747e1253776dc00286c01e408f4c4e1eb61acf56009b7ecb3de4d49b34e567
|
PKG_MIRROR_HASH:=3d1a79c08ef8c8b9404f9287d9acda6468b8b1c2a99dd384287f522ed3b1a047
|
||||||
|
|
||||||
PKG_VERSION=3.0.0_pre$(subst -,,$(PKG_SOURCE_DATE))
|
PKG_VERSION=3.0.0_pre$(subst -,,$(PKG_SOURCE_DATE))
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Paul Spooren <mail@aparcar.org>
|
|||||||
|
|
||||||
--- a/src/database.c
|
--- a/src/database.c
|
||||||
+++ b/src/database.c
|
+++ b/src/database.c
|
||||||
@@ -1626,7 +1626,7 @@ const char *apk_db_layer_name(int layer)
|
@@ -1627,7 +1627,7 @@ const char *apk_db_layer_name(int layer)
|
||||||
{
|
{
|
||||||
switch (layer) {
|
switch (layer) {
|
||||||
case APK_DB_LAYER_ROOT: return "lib/apk/db";
|
case APK_DB_LAYER_ROOT: return "lib/apk/db";
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
From ffcda7769279e75993110766555eea6d3c6baae7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
|
||||||
Date: Fri, 25 Oct 2024 01:09:41 +0200
|
|
||||||
Subject: [PATCH] apk_defines: add default arch for ARM Big-Endian
|
|
||||||
|
|
||||||
Add default arch for ARM Big-Endiang named armeb. One example of such
|
|
||||||
target are devices based on the Intel XScale IXP4xx SoC.
|
|
||||||
|
|
||||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|
||||||
---
|
|
||||||
src/apk_defines.h | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/apk_defines.h b/src/apk_defines.h
|
|
||||||
index c92dacd..06351df 100644
|
|
||||||
--- a/src/apk_defines.h
|
|
||||||
+++ b/src/apk_defines.h
|
|
||||||
@@ -126,6 +126,8 @@ static inline int IS_ERR(const void *ptr) { return (unsigned long)ptr >= (unsign
|
|
||||||
#define APK_DEFAULT_BASE_ARCH "armhf"
|
|
||||||
#elif defined(__arm__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
||||||
#define APK_DEFAULT_BASE_ARCH "armel"
|
|
||||||
+#elif defined(__arm__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
|
||||||
+#define APK_DEFAULT_BASE_ARCH "armeb"
|
|
||||||
#elif defined(__aarch64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
||||||
#define APK_DEFAULT_BASE_ARCH "aarch64"
|
|
||||||
#elif defined(__s390x__)
|
|
||||||
--
|
|
||||||
2.45.2
|
|
||||||
|
|
@ -0,0 +1,91 @@
|
|||||||
|
From f74ca42e0fa5bf131644a46d8259edd493bf072c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
Date: Wed, 23 Oct 2024 01:11:01 +0200
|
||||||
|
Subject: [PATCH] app_list: add full print
|
||||||
|
|
||||||
|
Add full print variant to dump info about each package.
|
||||||
|
|
||||||
|
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
---
|
||||||
|
src/app_list.c | 42 +++++++++++++++++++++++++++++++++++++++++-
|
||||||
|
1 file changed, 41 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/src/app_list.c
|
||||||
|
+++ b/src/app_list.c
|
||||||
|
@@ -27,6 +27,7 @@ struct list_ctx {
|
||||||
|
unsigned int match_depends : 1;
|
||||||
|
unsigned int match_providers : 1;
|
||||||
|
unsigned int manifest : 1;
|
||||||
|
+ unsigned int full : 1;
|
||||||
|
|
||||||
|
struct apk_string_array *filters;
|
||||||
|
};
|
||||||
|
@@ -118,6 +119,40 @@ static void print_manifest(const struct
|
||||||
|
printf("%s " BLOB_FMT "\n", pkg->name->name, BLOB_PRINTF(*pkg->version));
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void print_full(const struct apk_package *pkg, const struct list_ctx *ctx)
|
||||||
|
+{
|
||||||
|
+ struct apk_dependency *d;
|
||||||
|
+
|
||||||
|
+ printf("Package: %s\n", pkg->name->name);
|
||||||
|
+ printf("Version: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->version));
|
||||||
|
+ if (apk_array_len(pkg->depends)) {
|
||||||
|
+ int i = 0;
|
||||||
|
+
|
||||||
|
+ printf("Depends: ");
|
||||||
|
+ foreach_array_item(d, pkg->depends) {
|
||||||
|
+ i++;
|
||||||
|
+ printf("%s%s", d->name->name, i < apk_array_len(pkg->depends) ? ", ": "\n");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (apk_array_len(pkg->provides)) {
|
||||||
|
+ int i = 0;
|
||||||
|
+
|
||||||
|
+ printf("Provides: ");
|
||||||
|
+ foreach_array_item(d, pkg->provides) {
|
||||||
|
+ i++;
|
||||||
|
+ printf("%s%s", d->name->name, i < apk_array_len(pkg->provides) ? ", ": "\n");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (pkg->ipkg && ctx->installed)
|
||||||
|
+ printf("Status: install ok %s\n", pkg->marked ? "hold" : "installed");
|
||||||
|
+ if (pkg->description)
|
||||||
|
+ printf("Description: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->description));
|
||||||
|
+ printf("License: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->license));
|
||||||
|
+ printf("Installed-Size: %zu\n", pkg->installed_size);
|
||||||
|
+ printf("Size: %zu\n", pkg->size);
|
||||||
|
+ printf("\n");
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void filter_package(const struct apk_database *db, const struct apk_package *pkg, const struct list_ctx *ctx, const struct apk_name *name)
|
||||||
|
{
|
||||||
|
if (ctx->match_origin && !origin_matches(ctx, pkg))
|
||||||
|
@@ -138,7 +173,9 @@ static void filter_package(const struct
|
||||||
|
if (ctx->match_providers)
|
||||||
|
printf("<%s> ", name->name);
|
||||||
|
|
||||||
|
- if (ctx->manifest)
|
||||||
|
+ if (ctx->full)
|
||||||
|
+ print_full(pkg, ctx);
|
||||||
|
+ else if (ctx->manifest)
|
||||||
|
print_manifest(pkg, ctx);
|
||||||
|
else
|
||||||
|
print_package(db, pkg, ctx);
|
||||||
|
@@ -178,6 +215,7 @@ static int print_result(struct apk_datab
|
||||||
|
OPT(OPT_LIST_depends, APK_OPT_SH("d") "depends") \
|
||||||
|
OPT(OPT_LIST_installed, APK_OPT_SH("I") "installed") \
|
||||||
|
OPT(OPT_LIST_manifest, "manifest") \
|
||||||
|
+ OPT(OPT_LIST_full, "full") \
|
||||||
|
OPT(OPT_LIST_origin, APK_OPT_SH("o") "origin") \
|
||||||
|
OPT(OPT_LIST_orphaned, APK_OPT_SH("O") "orphaned") \
|
||||||
|
OPT(OPT_LIST_providers, APK_OPT_SH("P") "providers") \
|
||||||
|
@@ -191,6 +229,8 @@ static int option_parse_applet(void *pct
|
||||||
|
struct list_ctx *ctx = pctx;
|
||||||
|
|
||||||
|
switch (opt) {
|
||||||
|
+ case OPT_LIST_full:
|
||||||
|
+ ctx->full = 1;
|
||||||
|
case OPT_LIST_available:
|
||||||
|
ctx->available = 1;
|
||||||
|
ctx->orphaned = 0;
|
@ -23,6 +23,7 @@ BUNDLER_PATH := $(subst $(space),:,$(filter-out $(TOPDIR)/%,$(subst :,$(space),$
|
|||||||
BUNDLER_COMMAND := PATH=$(BUNDLER_PATH) $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host
|
BUNDLER_COMMAND := PATH=$(BUNDLER_PATH) $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host
|
||||||
|
|
||||||
PACKAGE_SUFFIX:=$(if $(CONFIG_USE_APK),apk,ipk)
|
PACKAGE_SUFFIX:=$(if $(CONFIG_USE_APK),apk,ipk)
|
||||||
|
PACKAGE_VERSION_SEPARATOR:=$(if $(CONFIG_USE_APK),-,_)
|
||||||
|
|
||||||
all: compile
|
all: compile
|
||||||
|
|
||||||
@ -68,19 +69,16 @@ else
|
|||||||
echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf
|
echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_BUILDBOT),)
|
ifeq ($(CONFIG_IB_STANDALONE),)
|
||||||
ifeq ($(CONFIG_IB_STANDALONE),)
|
|
||||||
$(FIND) $(call FeedPackageDir,libc) -type f \
|
$(FIND) $(call FeedPackageDir,libc) -type f \
|
||||||
\( -name 'libc*.$(PACKAGE_SUFFIX)' -or -name 'kernel*.$(PACKAGE_SUFFIX)' -or -name 'kmod-*.$(PACKAGE_SUFFIX)' \) \
|
\( \
|
||||||
-exec $(CP) -t $(PKG_BUILD_DIR)/packages {} +
|
-name 'base-files$(PACKAGE_VERSION_SEPARATOR)*.$(PACKAGE_SUFFIX)' -or \
|
||||||
else
|
-name 'libc$(PACKAGE_VERSION_SEPARATOR)*.$(PACKAGE_SUFFIX)' -or \
|
||||||
|
-name 'kernel$(PACKAGE_VERSION_SEPARATOR)*.$(PACKAGE_SUFFIX)' \) \
|
||||||
|
-exec $(CP) -t $(PKG_BUILD_DIR)/packages {} +
|
||||||
|
else
|
||||||
$(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \
|
$(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \
|
||||||
-exec $(CP) -t $(PKG_BUILD_DIR)/packages/ {} +
|
-exec $(CP) -t $(PKG_BUILD_DIR)/packages/ {} +
|
||||||
endif
|
|
||||||
else
|
|
||||||
$(FIND) $(call FeedPackageDir,libc) -type f \
|
|
||||||
\( -name 'libc*.$(PACKAGE_SUFFIX)' -or -name 'kernel*.$(PACKAGE_SUFFIX)' \) \
|
|
||||||
-exec $(CP) -t $(IB_LDIR)/ {} +
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(CONFIG_SIGNATURE_CHECK),)
|
ifneq ($(CONFIG_SIGNATURE_CHECK),)
|
||||||
|
@ -181,11 +181,9 @@ ifeq ($(CONFIG_USE_APK),)
|
|||||||
) >/dev/null 2>/dev/null
|
) >/dev/null 2>/dev/null
|
||||||
$(OPKG) update >&2 || true
|
$(OPKG) update >&2 || true
|
||||||
else
|
else
|
||||||
$(APK) add --initdb
|
|
||||||
(cd $(PACKAGE_DIR); $(APK) mkndx \
|
(cd $(PACKAGE_DIR); $(APK) mkndx \
|
||||||
$(if $(CONFIG_SIGNATURE_CHECK), --keys-dir $(APK_KEYS) --sign $(BUILD_KEY_APK_SEC)) \
|
$(if $(CONFIG_SIGNATURE_CHECK), --keys-dir $(APK_KEYS) --sign $(BUILD_KEY_APK_SEC)) \
|
||||||
--allow-untrusted --output packages.adb *.apk) >/dev/null 2>/dev/null || true
|
--allow-untrusted --output packages.adb *.apk) >/dev/null 2>/dev/null || true
|
||||||
$(APK) update >&2 || true
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
package_reload:
|
package_reload:
|
||||||
@ -201,6 +199,7 @@ ifeq ($(CONFIG_USE_APK),)
|
|||||||
$(OPKG) update >&2 || true; \
|
$(OPKG) update >&2 || true; \
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
$(APK) add --initdb
|
||||||
if [ -d "$(PACKAGE_DIR)" ] && ( \
|
if [ -d "$(PACKAGE_DIR)" ] && ( \
|
||||||
[ ! -f "$(PACKAGE_DIR)/packages.adb" ] || \
|
[ ! -f "$(PACKAGE_DIR)/packages.adb" ] || \
|
||||||
[ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/packages.adb`" ] ); then \
|
[ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/packages.adb`" ] ); then \
|
||||||
@ -208,7 +207,6 @@ else
|
|||||||
$(MAKE) package_index; \
|
$(MAKE) package_index; \
|
||||||
else \
|
else \
|
||||||
mkdir -p $(TARGET_DIR)/tmp; \
|
mkdir -p $(TARGET_DIR)/tmp; \
|
||||||
$(APK) update >&2 || true; \
|
|
||||||
fi
|
fi
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -224,12 +222,10 @@ package_install: FORCE
|
|||||||
@echo
|
@echo
|
||||||
@echo Installing packages...
|
@echo Installing packages...
|
||||||
ifeq ($(CONFIG_USE_APK),)
|
ifeq ($(CONFIG_USE_APK),)
|
||||||
$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk))
|
$(OPKG) install $(wildcard $(PACKAGE_DIR)/libc_*.ipk)
|
||||||
$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk))
|
$(OPKG) install $(wildcard $(PACKAGE_DIR)/kernel_*.ipk)
|
||||||
$(OPKG) install $(BUILD_PACKAGES)
|
$(OPKG) install $(BUILD_PACKAGES)
|
||||||
else
|
else
|
||||||
$(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/libc-*.apk $(PACKAGE_DIR)/libc-*.apk))
|
|
||||||
$(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/kernel-*.apk $(PACKAGE_DIR)/kernel-*.apk))
|
|
||||||
$(APK) add --no-scripts $(BUILD_PACKAGES)
|
$(APK) add --no-scripts $(BUILD_PACKAGES)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -181,7 +181,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|||||||
* @dev: Device for which which resource was allocated.
|
* @dev: Device for which which resource was allocated.
|
||||||
--- a/include/linux/thermal.h
|
--- a/include/linux/thermal.h
|
||||||
+++ b/include/linux/thermal.h
|
+++ b/include/linux/thermal.h
|
||||||
@@ -261,6 +261,10 @@ struct thermal_zone_params {
|
@@ -263,6 +263,10 @@ struct thermal_zone_params {
|
||||||
#ifdef CONFIG_THERMAL_OF
|
#ifdef CONFIG_THERMAL_OF
|
||||||
struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, int id, void *data,
|
struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, int id, void *data,
|
||||||
const struct thermal_zone_device_ops *ops);
|
const struct thermal_zone_device_ops *ops);
|
||||||
@ -192,7 +192,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|||||||
|
|
||||||
void devm_thermal_of_zone_unregister(struct device *dev, struct thermal_zone_device *tz);
|
void devm_thermal_of_zone_unregister(struct device *dev, struct thermal_zone_device *tz);
|
||||||
|
|
||||||
@@ -272,6 +276,15 @@ struct thermal_zone_device *devm_thermal
|
@@ -274,6 +278,15 @@ struct thermal_zone_device *devm_thermal
|
||||||
{
|
{
|
||||||
return ERR_PTR(-ENOTSUPP);
|
return ERR_PTR(-ENOTSUPP);
|
||||||
}
|
}
|
||||||
|
@ -168,7 +168,6 @@ static struct platform_driver gpio_latch_driver = {
|
|||||||
.probe = gpio_latch_probe,
|
.probe = gpio_latch_probe,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = GPIO_LATCH_DRIVER_NAME,
|
.name = GPIO_LATCH_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = gpio_latch_match,
|
.of_match_table = gpio_latch_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -182,7 +182,6 @@ static struct platform_driver gpio_rb91x_key_driver = {
|
|||||||
.probe = gpio_rb91x_key_probe,
|
.probe = gpio_rb91x_key_probe,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = GPIO_RB91X_KEY_DRIVER_NAME,
|
.name = GPIO_RB91X_KEY_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = gpio_rb91x_key_match,
|
.of_match_table = gpio_rb91x_key_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1478,7 +1478,6 @@ static struct platform_driver ar934x_nfc_driver = {
|
|||||||
.remove = ar934x_nfc_remove,
|
.remove = ar934x_nfc_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = AR934X_NFC_DRIVER_NAME,
|
.name = AR934X_NFC_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ar934x_nfc_match,
|
.of_match_table = ar934x_nfc_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -356,7 +356,6 @@ static struct platform_driver rb91x_nand_driver = {
|
|||||||
.remove = rb91x_nand_remove,
|
.remove = rb91x_nand_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "rb91x-nand",
|
.name = "rb91x-nand",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = rb91x_nand_match,
|
.of_match_table = rb91x_nand_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -193,7 +193,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||||||
tsdata->tdata_offset + crclen;
|
tsdata->tdata_offset + crclen;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1317,17 +1374,27 @@ static int edt_ft5x06_ts_probe(struct i2
|
@@ -1335,17 +1392,27 @@ static int edt_ft5x06_ts_probe(struct i2
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||||||
|
|
||||||
--- a/drivers/input/touchscreen/edt-ft5x06.c
|
--- a/drivers/input/touchscreen/edt-ft5x06.c
|
||||||
+++ b/drivers/input/touchscreen/edt-ft5x06.c
|
+++ b/drivers/input/touchscreen/edt-ft5x06.c
|
||||||
@@ -1420,6 +1420,10 @@ static void edt_ft5x06_ts_remove(struct
|
@@ -1438,6 +1438,10 @@ static void edt_ft5x06_ts_remove(struct
|
||||||
{
|
{
|
||||||
struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client);
|
struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client);
|
||||||
|
|
||||||
@ -27,5 +27,5 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||||||
+ cancel_work_sync(&tsdata->work_i2c_poll);
|
+ cancel_work_sync(&tsdata->work_i2c_poll);
|
||||||
+ }
|
+ }
|
||||||
edt_ft5x06_ts_teardown_debugfs(tsdata);
|
edt_ft5x06_ts_teardown_debugfs(tsdata);
|
||||||
regmap_exit(tsdata->regmap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
|
|
||||||
--- a/net/bluetooth/hci_sync.c
|
--- a/net/bluetooth/hci_sync.c
|
||||||
+++ b/net/bluetooth/hci_sync.c
|
+++ b/net/bluetooth/hci_sync.c
|
||||||
@@ -4861,6 +4861,7 @@ static const struct {
|
@@ -4865,6 +4865,7 @@ static const struct {
|
||||||
*/
|
*/
|
||||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||||
{
|
{
|
||||||
@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
bool invalid_bdaddr;
|
bool invalid_bdaddr;
|
||||||
size_t i;
|
size_t i;
|
||||||
@@ -4889,7 +4890,8 @@ static int hci_dev_setup_sync(struct hci
|
@@ -4893,7 +4894,8 @@ static int hci_dev_setup_sync(struct hci
|
||||||
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
|
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
|
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
|
||||||
|
@ -58,7 +58,7 @@ Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
|
|||||||
if (!error && num_points)
|
if (!error && num_points)
|
||||||
error = regmap_bulk_read(tsdata->regmap,
|
error = regmap_bulk_read(tsdata->regmap,
|
||||||
tsdata->tdata_offset,
|
tsdata->tdata_offset,
|
||||||
@@ -1300,7 +1318,7 @@ static int edt_ft5x06_ts_probe(struct i2
|
@@ -1318,7 +1336,7 @@ static int edt_ft5x06_ts_probe(struct i2
|
||||||
if (tsdata->reset_gpio) {
|
if (tsdata->reset_gpio) {
|
||||||
usleep_range(5000, 6000);
|
usleep_range(5000, 6000);
|
||||||
gpiod_set_value_cansleep(tsdata->reset_gpio, 0);
|
gpiod_set_value_cansleep(tsdata->reset_gpio, 0);
|
||||||
@ -67,7 +67,7 @@ Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
|
|||||||
}
|
}
|
||||||
|
|
||||||
input = devm_input_allocate_device(&client->dev);
|
input = devm_input_allocate_device(&client->dev);
|
||||||
@@ -1389,11 +1407,12 @@ static int edt_ft5x06_ts_probe(struct i2
|
@@ -1407,11 +1425,12 @@ static int edt_ft5x06_ts_probe(struct i2
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
|
|
||||||
--- a/net/bluetooth/hci_sync.c
|
--- a/net/bluetooth/hci_sync.c
|
||||||
+++ b/net/bluetooth/hci_sync.c
|
+++ b/net/bluetooth/hci_sync.c
|
||||||
@@ -4861,7 +4861,8 @@ static const struct {
|
@@ -4865,7 +4865,8 @@ static const struct {
|
||||||
*/
|
*/
|
||||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||||
{
|
{
|
||||||
|
@ -32,7 +32,7 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
|
|||||||
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
|
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/watchdog/old_gpio_wdt.c
|
+++ b/drivers/watchdog/old_gpio_wdt.c
|
||||||
@@ -0,0 +1,301 @@
|
@@ -0,0 +1,300 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Driver for GPIO-controlled Hardware Watchdogs.
|
+ * Driver for GPIO-controlled Hardware Watchdogs.
|
||||||
+ *
|
+ *
|
||||||
@ -294,7 +294,6 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
|
|||||||
+ .probe = gpio_wdt_probe,
|
+ .probe = gpio_wdt_probe,
|
||||||
+ .remove = gpio_wdt_remove,
|
+ .remove = gpio_wdt_remove,
|
||||||
+ .driver.name = "gpio-wdt",
|
+ .driver.name = "gpio-wdt",
|
||||||
+ .driver.owner = THIS_MODULE,
|
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+static int __init gpio_wdt_init(void)
|
+static int __init gpio_wdt_init(void)
|
||||||
|
@ -1,59 +0,0 @@
|
|||||||
From 342672bbdf713654316a0ff73c7f2ecf7ea6693d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michael Walle <mwalle@kernel.org>
|
|
||||||
Date: Fri, 21 Jun 2024 14:09:29 +0200
|
|
||||||
Subject: [PATCH] mtd: spi-nor: winbond: fix w25q128 regression
|
|
||||||
|
|
||||||
Upstream commit d35df77707bf5ae1221b5ba1c8a88cf4fcdd4901
|
|
||||||
|
|
||||||
("mtd: spi-nor: winbond: fix w25q128 regression")
|
|
||||||
however the code has changed a lot after v6.6 so the patch did
|
|
||||||
not apply to v6.6 or v6.1 which still has the problem.
|
|
||||||
|
|
||||||
This patch fixes the issue in the way of the old API and has
|
|
||||||
been tested on hardware. Please apply it for v6.1 and v6.6.
|
|
||||||
|
|
||||||
Commit 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128")
|
|
||||||
removed the flags for non-SFDP devices. It was assumed that it wasn't in
|
|
||||||
use anymore. This wasn't true. Add the no_sfdp_flags as well as the size
|
|
||||||
again.
|
|
||||||
|
|
||||||
We add the additional flags for dual and quad read because they have
|
|
||||||
been reported to work properly by Hartmut using both older and newer
|
|
||||||
versions of this flash, the similar flashes with 64Mbit and 256Mbit
|
|
||||||
already have these flags and because it will (luckily) trigger our
|
|
||||||
legacy SFDP parsing, so newer versions with SFDP support will still get
|
|
||||||
the parameters from the SFDP tables.
|
|
||||||
|
|
||||||
Reported-by: Hartmut Birr <e9hack@gmail.com>
|
|
||||||
Closes: https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/
|
|
||||||
Fixes: 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128")
|
|
||||||
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
|
|
||||||
Signed-off-by: Michael Walle <mwalle@kernel.org>
|
|
||||||
Acked-by: Tudor Ambarus <tudor.ambarus@linaro.org>
|
|
||||||
Reviewed-by: Esben Haabendal <esben@geanix.com>
|
|
||||||
Reviewed-by: Pratyush Yadav <pratyush@kernel.org>
|
|
||||||
Signed-off-by: Pratyush Yadav <pratyush@kernel.org>
|
|
||||||
Link: https://lore.kernel.org/r/20240621120929.2670185-1-mwalle@kernel.org
|
|
||||||
[Backported to v6.6 - vastly different due to upstream changes]
|
|
||||||
Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
|
|
||||||
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|
||||||
---
|
|
||||||
drivers/mtd/spi-nor/winbond.c | 7 ++++---
|
|
||||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/winbond.c
|
|
||||||
+++ b/drivers/mtd/spi-nor/winbond.c
|
|
||||||
@@ -120,9 +120,10 @@ static const struct flash_info winbond_n
|
|
||||||
NO_SFDP_FLAGS(SECT_4K) },
|
|
||||||
{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024, 16)
|
|
||||||
NO_SFDP_FLAGS(SECT_4K) },
|
|
||||||
- { "w25q128", INFO(0xef4018, 0, 0, 0)
|
|
||||||
- PARSE_SFDP
|
|
||||||
- FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) },
|
|
||||||
+ { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256)
|
|
||||||
+ FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
|
||||||
+ NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
|
|
||||||
+ SPI_NOR_QUAD_READ) },
|
|
||||||
{ "w25q256", INFO(0xef4019, 0, 64 * 1024, 512)
|
|
||||||
NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
|
|
||||||
.fixups = &w25q256_fixups },
|
|
@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -4477,13 +4477,7 @@ static inline void ____napi_schedule(str
|
@@ -4481,13 +4481,7 @@ static inline void ____napi_schedule(str
|
||||||
*/
|
*/
|
||||||
thread = READ_ONCE(napi->thread);
|
thread = READ_ONCE(napi->thread);
|
||||||
if (thread) {
|
if (thread) {
|
||||||
@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
wake_up_process(thread);
|
wake_up_process(thread);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -6639,8 +6633,6 @@ static int napi_poll(struct napi_struct
|
@@ -6643,8 +6637,6 @@ static int napi_poll(struct napi_struct
|
||||||
|
|
||||||
static int napi_thread_wait(struct napi_struct *napi)
|
static int napi_thread_wait(struct napi_struct *napi)
|
||||||
{
|
{
|
||||||
@ -56,7 +56,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
set_current_state(TASK_INTERRUPTIBLE);
|
set_current_state(TASK_INTERRUPTIBLE);
|
||||||
|
|
||||||
while (!kthread_should_stop()) {
|
while (!kthread_should_stop()) {
|
||||||
@@ -6649,15 +6641,13 @@ static int napi_thread_wait(struct napi_
|
@@ -6653,15 +6645,13 @@ static int napi_thread_wait(struct napi_
|
||||||
* Testing SCHED bit is not enough because SCHED bit might be
|
* Testing SCHED bit is not enough because SCHED bit might be
|
||||||
* set by some other busy poll thread or by napi_disable().
|
* set by some other busy poll thread or by napi_disable().
|
||||||
*/
|
*/
|
||||||
|
@ -108,7 +108,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
static inline void rps_lock_irqsave(struct softnet_data *sd,
|
static inline void rps_lock_irqsave(struct softnet_data *sd,
|
||||||
unsigned long *flags)
|
unsigned long *flags)
|
||||||
{
|
{
|
||||||
@@ -4445,6 +4471,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
|
@@ -4449,6 +4475,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Receiver routines
|
* Receiver routines
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
@ -116,7 +116,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
int netdev_max_backlog __read_mostly = 1000;
|
int netdev_max_backlog __read_mostly = 1000;
|
||||||
EXPORT_SYMBOL(netdev_max_backlog);
|
EXPORT_SYMBOL(netdev_max_backlog);
|
||||||
@@ -4477,12 +4504,16 @@ static inline void ____napi_schedule(str
|
@@ -4481,12 +4508,16 @@ static inline void ____napi_schedule(str
|
||||||
*/
|
*/
|
||||||
thread = READ_ONCE(napi->thread);
|
thread = READ_ONCE(napi->thread);
|
||||||
if (thread) {
|
if (thread) {
|
||||||
@ -133,7 +133,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
list_add_tail(&napi->poll_list, &sd->poll_list);
|
list_add_tail(&napi->poll_list, &sd->poll_list);
|
||||||
WRITE_ONCE(napi->list_owner, smp_processor_id());
|
WRITE_ONCE(napi->list_owner, smp_processor_id());
|
||||||
/* If not called from net_rx_action()
|
/* If not called from net_rx_action()
|
||||||
@@ -4728,6 +4759,11 @@ static void napi_schedule_rps(struct sof
|
@@ -4732,6 +4763,11 @@ static void napi_schedule_rps(struct sof
|
||||||
|
|
||||||
#ifdef CONFIG_RPS
|
#ifdef CONFIG_RPS
|
||||||
if (sd != mysd) {
|
if (sd != mysd) {
|
||||||
@ -145,7 +145,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
sd->rps_ipi_next = mysd->rps_ipi_list;
|
sd->rps_ipi_next = mysd->rps_ipi_list;
|
||||||
mysd->rps_ipi_list = sd;
|
mysd->rps_ipi_list = sd;
|
||||||
|
|
||||||
@@ -5951,7 +5987,7 @@ static void net_rps_action_and_irq_enabl
|
@@ -5955,7 +5991,7 @@ static void net_rps_action_and_irq_enabl
|
||||||
#ifdef CONFIG_RPS
|
#ifdef CONFIG_RPS
|
||||||
struct softnet_data *remsd = sd->rps_ipi_list;
|
struct softnet_data *remsd = sd->rps_ipi_list;
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
sd->rps_ipi_list = NULL;
|
sd->rps_ipi_list = NULL;
|
||||||
|
|
||||||
local_irq_enable();
|
local_irq_enable();
|
||||||
@@ -5966,7 +6002,7 @@ static void net_rps_action_and_irq_enabl
|
@@ -5970,7 +6006,7 @@ static void net_rps_action_and_irq_enabl
|
||||||
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
|
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_RPS
|
#ifdef CONFIG_RPS
|
||||||
@ -163,7 +163,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
@@ -6010,7 +6046,7 @@ static int process_backlog(struct napi_s
|
@@ -6014,7 +6050,7 @@ static int process_backlog(struct napi_s
|
||||||
* We can use a plain write instead of clear_bit(),
|
* We can use a plain write instead of clear_bit(),
|
||||||
* and we dont need an smp_mb() memory barrier.
|
* and we dont need an smp_mb() memory barrier.
|
||||||
*/
|
*/
|
||||||
@ -172,7 +172,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
again = false;
|
again = false;
|
||||||
} else {
|
} else {
|
||||||
skb_queue_splice_tail_init(&sd->input_pkt_queue,
|
skb_queue_splice_tail_init(&sd->input_pkt_queue,
|
||||||
@@ -6676,43 +6712,48 @@ static void skb_defer_free_flush(struct
|
@@ -6680,43 +6716,48 @@ static void skb_defer_free_flush(struct
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,7 +250,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11293,7 +11334,7 @@ static int dev_cpu_dead(unsigned int old
|
@@ -11297,7 +11338,7 @@ static int dev_cpu_dead(unsigned int old
|
||||||
|
|
||||||
list_del_init(&napi->poll_list);
|
list_del_init(&napi->poll_list);
|
||||||
if (napi->poll == process_backlog)
|
if (napi->poll == process_backlog)
|
||||||
@ -259,7 +259,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
else
|
else
|
||||||
____napi_schedule(sd, napi);
|
____napi_schedule(sd, napi);
|
||||||
}
|
}
|
||||||
@@ -11301,12 +11342,14 @@ static int dev_cpu_dead(unsigned int old
|
@@ -11305,12 +11346,14 @@ static int dev_cpu_dead(unsigned int old
|
||||||
raise_softirq_irqoff(NET_TX_SOFTIRQ);
|
raise_softirq_irqoff(NET_TX_SOFTIRQ);
|
||||||
local_irq_enable();
|
local_irq_enable();
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
/* Process offline CPU's input_pkt_queue */
|
/* Process offline CPU's input_pkt_queue */
|
||||||
while ((skb = __skb_dequeue(&oldsd->process_queue))) {
|
while ((skb = __skb_dequeue(&oldsd->process_queue))) {
|
||||||
@@ -11569,6 +11612,38 @@ static struct pernet_operations __net_in
|
@@ -11573,6 +11616,38 @@ static struct pernet_operations __net_in
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -317,7 +317,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
/*
|
/*
|
||||||
* This is called single threaded during boot, so no need
|
* This is called single threaded during boot, so no need
|
||||||
* to take the rtnl semaphore.
|
* to take the rtnl semaphore.
|
||||||
@@ -11619,7 +11694,10 @@ static int __init net_dev_init(void)
|
@@ -11623,7 +11698,10 @@ static int __init net_dev_init(void)
|
||||||
init_gro_hash(&sd->backlog);
|
init_gro_hash(&sd->backlog);
|
||||||
sd->backlog.poll = process_backlog;
|
sd->backlog.poll = process_backlog;
|
||||||
sd->backlog.weight = weight_p;
|
sd->backlog.weight = weight_p;
|
||||||
|
@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
spin_unlock_irq(&sd->input_pkt_queue.lock);
|
spin_unlock_irq(&sd->input_pkt_queue.lock);
|
||||||
else if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
else if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||||
local_irq_enable();
|
local_irq_enable();
|
||||||
@@ -4778,6 +4778,23 @@ static void napi_schedule_rps(struct sof
|
@@ -4782,6 +4782,23 @@ static void napi_schedule_rps(struct sof
|
||||||
__napi_schedule_irqoff(&mysd->backlog);
|
__napi_schedule_irqoff(&mysd->backlog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
{
|
{
|
||||||
if (IS_ENABLED(CONFIG_RPS) || use_backlog_threads())
|
if (IS_ENABLED(CONFIG_RPS) || use_backlog_threads())
|
||||||
spin_unlock_irq(&sd->input_pkt_queue.lock);
|
spin_unlock_irq(&sd->input_pkt_queue.lock);
|
||||||
@@ -4783,12 +4783,12 @@ void kick_defer_list_purge(struct softne
|
@@ -4787,12 +4787,12 @@ void kick_defer_list_purge(struct softne
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
if (use_backlog_threads()) {
|
if (use_backlog_threads()) {
|
||||||
@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
} else if (!cmpxchg(&sd->defer_ipi_scheduled, 0, 1)) {
|
} else if (!cmpxchg(&sd->defer_ipi_scheduled, 0, 1)) {
|
||||||
smp_call_function_single_async(cpu, &sd->defer_csd);
|
smp_call_function_single_async(cpu, &sd->defer_csd);
|
||||||
@@ -4850,7 +4850,7 @@ static int enqueue_to_backlog(struct sk_
|
@@ -4854,7 +4854,7 @@ static int enqueue_to_backlog(struct sk_
|
||||||
reason = SKB_DROP_REASON_NOT_SPECIFIED;
|
reason = SKB_DROP_REASON_NOT_SPECIFIED;
|
||||||
sd = &per_cpu(softnet_data, cpu);
|
sd = &per_cpu(softnet_data, cpu);
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
if (!netif_running(skb->dev))
|
if (!netif_running(skb->dev))
|
||||||
goto drop;
|
goto drop;
|
||||||
qlen = skb_queue_len(&sd->input_pkt_queue);
|
qlen = skb_queue_len(&sd->input_pkt_queue);
|
||||||
@@ -4859,7 +4859,7 @@ static int enqueue_to_backlog(struct sk_
|
@@ -4863,7 +4863,7 @@ static int enqueue_to_backlog(struct sk_
|
||||||
enqueue:
|
enqueue:
|
||||||
__skb_queue_tail(&sd->input_pkt_queue, skb);
|
__skb_queue_tail(&sd->input_pkt_queue, skb);
|
||||||
input_queue_tail_incr_save(sd, qtail);
|
input_queue_tail_incr_save(sd, qtail);
|
||||||
@ -100,7 +100,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
return NET_RX_SUCCESS;
|
return NET_RX_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4874,7 +4874,7 @@ enqueue:
|
@@ -4878,7 +4878,7 @@ enqueue:
|
||||||
|
|
||||||
drop:
|
drop:
|
||||||
sd->dropped++;
|
sd->dropped++;
|
||||||
@ -109,7 +109,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
dev_core_stats_rx_dropped_inc(skb->dev);
|
dev_core_stats_rx_dropped_inc(skb->dev);
|
||||||
kfree_skb_reason(skb, reason);
|
kfree_skb_reason(skb, reason);
|
||||||
@@ -5905,7 +5905,7 @@ static void flush_backlog(struct work_st
|
@@ -5909,7 +5909,7 @@ static void flush_backlog(struct work_st
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
sd = this_cpu_ptr(&softnet_data);
|
sd = this_cpu_ptr(&softnet_data);
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) {
|
skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) {
|
||||||
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
|
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
|
||||||
__skb_unlink(skb, &sd->input_pkt_queue);
|
__skb_unlink(skb, &sd->input_pkt_queue);
|
||||||
@@ -5913,7 +5913,7 @@ static void flush_backlog(struct work_st
|
@@ -5917,7 +5917,7 @@ static void flush_backlog(struct work_st
|
||||||
input_queue_head_incr(sd);
|
input_queue_head_incr(sd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
|
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
|
||||||
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
|
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
|
||||||
@@ -5931,14 +5931,14 @@ static bool flush_required(int cpu)
|
@@ -5935,14 +5935,14 @@ static bool flush_required(int cpu)
|
||||||
struct softnet_data *sd = &per_cpu(softnet_data, cpu);
|
struct softnet_data *sd = &per_cpu(softnet_data, cpu);
|
||||||
bool do_flush;
|
bool do_flush;
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
return do_flush;
|
return do_flush;
|
||||||
#endif
|
#endif
|
||||||
@@ -6053,7 +6053,7 @@ static int process_backlog(struct napi_s
|
@@ -6057,7 +6057,7 @@ static int process_backlog(struct napi_s
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
if (skb_queue_empty(&sd->input_pkt_queue)) {
|
if (skb_queue_empty(&sd->input_pkt_queue)) {
|
||||||
/*
|
/*
|
||||||
* Inline a custom version of __napi_complete().
|
* Inline a custom version of __napi_complete().
|
||||||
@@ -6069,7 +6069,7 @@ static int process_backlog(struct napi_s
|
@@ -6073,7 +6073,7 @@ static int process_backlog(struct napi_s
|
||||||
skb_queue_splice_tail_init(&sd->input_pkt_queue,
|
skb_queue_splice_tail_init(&sd->input_pkt_queue,
|
||||||
&sd->process_queue);
|
&sd->process_queue);
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -9755,6 +9755,15 @@ static void netdev_sync_lower_features(s
|
@@ -9759,6 +9759,15 @@ static void netdev_sync_lower_features(s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
static netdev_features_t netdev_fix_features(struct net_device *dev,
|
static netdev_features_t netdev_fix_features(struct net_device *dev,
|
||||||
netdev_features_t features)
|
netdev_features_t features)
|
||||||
{
|
{
|
||||||
@@ -9836,15 +9845,9 @@ static netdev_features_t netdev_fix_feat
|
@@ -9840,15 +9849,9 @@ static netdev_features_t netdev_fix_feat
|
||||||
features &= ~NETIF_F_LRO;
|
features &= ~NETIF_F_LRO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) {
|
if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) {
|
||||||
@@ -9852,6 +9855,11 @@ static netdev_features_t netdev_fix_feat
|
@@ -9856,6 +9859,11 @@ static netdev_features_t netdev_fix_feat
|
||||||
features &= ~NETIF_F_HW_TLS_RX;
|
features &= ~NETIF_F_HW_TLS_RX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -10662,6 +10662,8 @@ struct rtnl_link_stats64 *dev_get_stats(
|
@@ -10666,6 +10666,8 @@ struct rtnl_link_stats64 *dev_get_stats(
|
||||||
ops->ndo_get_stats64(dev, storage);
|
ops->ndo_get_stats64(dev, storage);
|
||||||
} else if (ops->ndo_get_stats) {
|
} else if (ops->ndo_get_stats) {
|
||||||
netdev_stats_to_stats64(storage, ops->ndo_get_stats(dev));
|
netdev_stats_to_stats64(storage, ops->ndo_get_stats(dev));
|
||||||
|
@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
unsigned char name_assign_type,
|
unsigned char name_assign_type,
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -10349,25 +10349,12 @@ err_free_name:
|
@@ -10353,25 +10353,12 @@ err_free_name:
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(register_netdevice);
|
EXPORT_SYMBOL(register_netdevice);
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
/* make sure we BUG if trying to hit standard
|
/* make sure we BUG if trying to hit standard
|
||||||
* register/unregister code path
|
* register/unregister code path
|
||||||
*/
|
*/
|
||||||
@@ -10387,12 +10374,32 @@ int init_dummy_netdev(struct net_device
|
@@ -10391,12 +10378,32 @@ int init_dummy_netdev(struct net_device
|
||||||
* because users of this 'device' dont need to change
|
* because users of this 'device' dont need to change
|
||||||
* its refcount.
|
* its refcount.
|
||||||
*/
|
*/
|
||||||
@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
/**
|
/**
|
||||||
* register_netdev - register a network device
|
* register_netdev - register a network device
|
||||||
* @dev: device to register
|
* @dev: device to register
|
||||||
@@ -10986,6 +10993,19 @@ void free_netdev(struct net_device *dev)
|
@@ -10990,6 +10997,19 @@ void free_netdev(struct net_device *dev)
|
||||||
EXPORT_SYMBOL(free_netdev);
|
EXPORT_SYMBOL(free_netdev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
/**
|
/**
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -6606,7 +6606,7 @@ static int __napi_poll(struct napi_struc
|
@@ -6610,7 +6610,7 @@ static int __napi_poll(struct napi_struc
|
||||||
* accidentally calling ->poll() when NAPI is not scheduled.
|
* accidentally calling ->poll() when NAPI is not scheduled.
|
||||||
*/
|
*/
|
||||||
work = 0;
|
work = 0;
|
||||||
|
@ -42,7 +42,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
u64_stats_update_begin(&txq_stats->napi_syncp);
|
u64_stats_update_begin(&txq_stats->napi_syncp);
|
||||||
u64_stats_add(&txq_stats->napi.tx_packets, tx_packets);
|
u64_stats_add(&txq_stats->napi.tx_packets, tx_packets);
|
||||||
@@ -5590,6 +5594,7 @@ static int stmmac_napi_poll_tx(struct na
|
@@ -5602,6 +5606,7 @@ static int stmmac_napi_poll_tx(struct na
|
||||||
container_of(napi, struct stmmac_channel, tx_napi);
|
container_of(napi, struct stmmac_channel, tx_napi);
|
||||||
struct stmmac_priv *priv = ch->priv_data;
|
struct stmmac_priv *priv = ch->priv_data;
|
||||||
struct stmmac_txq_stats *txq_stats;
|
struct stmmac_txq_stats *txq_stats;
|
||||||
@ -50,7 +50,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
u32 chan = ch->index;
|
u32 chan = ch->index;
|
||||||
int work_done;
|
int work_done;
|
||||||
|
|
||||||
@@ -5598,7 +5603,7 @@ static int stmmac_napi_poll_tx(struct na
|
@@ -5610,7 +5615,7 @@ static int stmmac_napi_poll_tx(struct na
|
||||||
u64_stats_inc(&txq_stats->napi.poll);
|
u64_stats_inc(&txq_stats->napi.poll);
|
||||||
u64_stats_update_end(&txq_stats->napi_syncp);
|
u64_stats_update_end(&txq_stats->napi_syncp);
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
work_done = min(work_done, budget);
|
work_done = min(work_done, budget);
|
||||||
|
|
||||||
if (work_done < budget && napi_complete_done(napi, work_done)) {
|
if (work_done < budget && napi_complete_done(napi, work_done)) {
|
||||||
@@ -5609,6 +5614,10 @@ static int stmmac_napi_poll_tx(struct na
|
@@ -5621,6 +5626,10 @@ static int stmmac_napi_poll_tx(struct na
|
||||||
spin_unlock_irqrestore(&ch->lock, flags);
|
spin_unlock_irqrestore(&ch->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
return work_done;
|
return work_done;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5617,6 +5626,7 @@ static int stmmac_napi_poll_rxtx(struct
|
@@ -5629,6 +5638,7 @@ static int stmmac_napi_poll_rxtx(struct
|
||||||
struct stmmac_channel *ch =
|
struct stmmac_channel *ch =
|
||||||
container_of(napi, struct stmmac_channel, rxtx_napi);
|
container_of(napi, struct stmmac_channel, rxtx_napi);
|
||||||
struct stmmac_priv *priv = ch->priv_data;
|
struct stmmac_priv *priv = ch->priv_data;
|
||||||
@ -78,7 +78,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
int rx_done, tx_done, rxtx_done;
|
int rx_done, tx_done, rxtx_done;
|
||||||
struct stmmac_rxq_stats *rxq_stats;
|
struct stmmac_rxq_stats *rxq_stats;
|
||||||
struct stmmac_txq_stats *txq_stats;
|
struct stmmac_txq_stats *txq_stats;
|
||||||
@@ -5632,7 +5642,7 @@ static int stmmac_napi_poll_rxtx(struct
|
@@ -5644,7 +5654,7 @@ static int stmmac_napi_poll_rxtx(struct
|
||||||
u64_stats_inc(&txq_stats->napi.poll);
|
u64_stats_inc(&txq_stats->napi.poll);
|
||||||
u64_stats_update_end(&txq_stats->napi_syncp);
|
u64_stats_update_end(&txq_stats->napi_syncp);
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
tx_done = min(tx_done, budget);
|
tx_done = min(tx_done, budget);
|
||||||
|
|
||||||
rx_done = stmmac_rx_zc(priv, budget, chan);
|
rx_done = stmmac_rx_zc(priv, budget, chan);
|
||||||
@@ -5657,6 +5667,10 @@ static int stmmac_napi_poll_rxtx(struct
|
@@ -5669,6 +5679,10 @@ static int stmmac_napi_poll_rxtx(struct
|
||||||
spin_unlock_irqrestore(&ch->lock, flags);
|
spin_unlock_irqrestore(&ch->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -10979,7 +10979,8 @@ void free_netdev(struct net_device *dev)
|
@@ -10983,7 +10983,8 @@ void free_netdev(struct net_device *dev)
|
||||||
dev->xdp_bulkq = NULL;
|
dev->xdp_bulkq = NULL;
|
||||||
|
|
||||||
/* Compatibility with error handling in drivers */
|
/* Compatibility with error handling in drivers */
|
||||||
|
@ -1503,7 +1503,6 @@ MODULE_DEVICE_TABLE(of, rtl8366rb_match);
|
|||||||
static struct platform_driver rtl8366rb_driver = {
|
static struct platform_driver rtl8366rb_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = RTL8366RB_DRIVER_NAME,
|
.name = RTL8366RB_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_match_ptr(rtl8366rb_match),
|
.of_match_table = of_match_ptr(rtl8366rb_match),
|
||||||
},
|
},
|
||||||
.probe = rtl8366rb_probe,
|
.probe = rtl8366rb_probe,
|
||||||
|
@ -1291,7 +1291,6 @@ MODULE_DEVICE_TABLE(of, rtl8366s_match);
|
|||||||
static struct platform_driver rtl8366s_driver = {
|
static struct platform_driver rtl8366s_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = RTL8366S_DRIVER_NAME,
|
.name = RTL8366S_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
#ifdef CONFIG_OF
|
#ifdef CONFIG_OF
|
||||||
.of_match_table = of_match_ptr(rtl8366s_match),
|
.of_match_table = of_match_ptr(rtl8366s_match),
|
||||||
#endif
|
#endif
|
||||||
|
@ -1834,7 +1834,6 @@ MODULE_DEVICE_TABLE(of, rtl8367_match);
|
|||||||
static struct platform_driver rtl8367_driver = {
|
static struct platform_driver rtl8367_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = RTL8367_DRIVER_NAME,
|
.name = RTL8367_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
#ifdef CONFIG_OF
|
#ifdef CONFIG_OF
|
||||||
.of_match_table = of_match_ptr(rtl8367_match),
|
.of_match_table = of_match_ptr(rtl8367_match),
|
||||||
#endif
|
#endif
|
||||||
|
@ -1633,7 +1633,6 @@ MODULE_DEVICE_TABLE(of, rtl8367b_match);
|
|||||||
static struct platform_driver rtl8367b_driver = {
|
static struct platform_driver rtl8367b_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = RTL8367B_DRIVER_NAME,
|
.name = RTL8367B_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
#ifdef CONFIG_OF
|
#ifdef CONFIG_OF
|
||||||
.of_match_table = of_match_ptr(rtl8367b_match),
|
.of_match_table = of_match_ptr(rtl8367b_match),
|
||||||
#endif
|
#endif
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
#include "gpiolib.h"
|
#include "gpiolib.h"
|
||||||
#include "gpiolib-of.h"
|
#include "gpiolib-of.h"
|
||||||
@@ -1129,3 +1131,74 @@ void of_gpiochip_remove(struct gpio_chip
|
@@ -1129,3 +1131,73 @@ void of_gpiochip_remove(struct gpio_chip
|
||||||
{
|
{
|
||||||
of_node_put(dev_of_node(&chip->gpiodev->dev));
|
of_node_put(dev_of_node(&chip->gpiodev->dev));
|
||||||
}
|
}
|
||||||
@ -81,7 +81,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+static struct platform_driver gpio_export_driver = {
|
+static struct platform_driver gpio_export_driver = {
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "gpio-export",
|
+ .name = "gpio-export",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = of_match_ptr(gpio_export_ids),
|
+ .of_match_table = of_match_ptr(gpio_export_ids),
|
||||||
+ },
|
+ },
|
||||||
+ .probe = of_gpio_export_probe,
|
+ .probe = of_gpio_export_probe,
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
--- a/drivers/base/core.c
|
--- a/drivers/base/core.c
|
||||||
+++ b/drivers/base/core.c
|
+++ b/drivers/base/core.c
|
||||||
@@ -1658,7 +1658,7 @@ static void device_links_purge(struct de
|
@@ -1657,7 +1657,7 @@ static void device_links_purge(struct de
|
||||||
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
|
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
|
||||||
DL_FLAG_PM_RUNTIME)
|
DL_FLAG_PM_RUNTIME)
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
swim_mod-y := swim.o swim_asm.o
|
swim_mod-y := swim.o swim_asm.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/block/fitblk.c
|
+++ b/drivers/block/fitblk.c
|
||||||
@@ -0,0 +1,659 @@
|
@@ -0,0 +1,658 @@
|
||||||
+// SPDX-License-Identifier: GPL-2.0-only
|
+// SPDX-License-Identifier: GPL-2.0-only
|
||||||
+/*
|
+/*
|
||||||
+ * uImage.FIT virtual block device driver.
|
+ * uImage.FIT virtual block device driver.
|
||||||
@ -714,7 +714,6 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
+ .probe = fitblk_probe,
|
+ .probe = fitblk_probe,
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "fitblk",
|
+ .name = "fitblk",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ },
|
+ },
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
|
@ -23,7 +23,7 @@ Subject: SoC: add qualcomm syscon
|
|||||||
+obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o
|
+obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
||||||
@@ -0,0 +1,96 @@
|
@@ -0,0 +1,95 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
|
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
|
||||||
+ *
|
+ *
|
||||||
@ -109,7 +109,6 @@ Subject: SoC: add qualcomm syscon
|
|||||||
+static struct platform_driver tcsr_driver = {
|
+static struct platform_driver tcsr_driver = {
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "tcsr",
|
+ .name = "tcsr",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = tcsr_dt_match,
|
+ .of_match_table = tcsr_dt_match,
|
||||||
+ },
|
+ },
|
||||||
+ .probe = tcsr_probe,
|
+ .probe = tcsr_probe,
|
||||||
|
@ -28,7 +28,7 @@ Subject: SoC: add qualcomm syscon
|
|||||||
depends on ARCH_QCOM || COMPILE_TEST
|
depends on ARCH_QCOM || COMPILE_TEST
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
||||||
@@ -0,0 +1,62 @@
|
@@ -0,0 +1,61 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
|
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
|
||||||
+ *
|
+ *
|
||||||
@ -80,7 +80,6 @@ Subject: SoC: add qualcomm syscon
|
|||||||
+static struct platform_driver tcsr_driver = {
|
+static struct platform_driver tcsr_driver = {
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "tcsr",
|
+ .name = "tcsr",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = tcsr_dt_match,
|
+ .of_match_table = tcsr_dt_match,
|
||||||
+ },
|
+ },
|
||||||
+ .probe = tcsr_probe,
|
+ .probe = tcsr_probe,
|
||||||
|
@ -186,7 +186,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
obj-y += vmmc.o
|
obj-y += vmmc.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/mips/lantiq/xway/timer.c
|
+++ b/arch/mips/lantiq/xway/timer.c
|
||||||
@@ -0,0 +1,887 @@
|
@@ -0,0 +1,888 @@
|
||||||
+#ifndef CONFIG_SOC_AMAZON_SE
|
+#ifndef CONFIG_SOC_AMAZON_SE
|
||||||
+
|
+
|
||||||
+#include <linux/kernel.h>
|
+#include <linux/kernel.h>
|
||||||
@ -989,7 +989,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+ ltq_w32(0xfff, LQ_GPTU_IRNCR);
|
+ ltq_w32(0xfff, LQ_GPTU_IRNCR);
|
||||||
+
|
+
|
||||||
+ memset(&timer_dev, 0, sizeof(timer_dev));
|
+ memset(&timer_dev, 0, sizeof(timer_dev));
|
||||||
+ mutex_init(&timer_dev.gptu_mutex);
|
+ ret = devm_mutex_init(&pdev->dev, &timer_dev.gptu_mutex);
|
||||||
|
+ if (ret)
|
||||||
|
+ return ret;
|
||||||
+
|
+
|
||||||
+ lq_enable_gptu();
|
+ lq_enable_gptu();
|
||||||
+ timer_dev.number_of_timers = GPTU_ID_CFG * 2;
|
+ timer_dev.number_of_timers = GPTU_ID_CFG * 2;
|
||||||
@ -1043,7 +1045,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+ .probe = gptu_probe,
|
+ .probe = gptu_probe,
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "gptu-xway",
|
+ .name = "gptu-xway",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = gptu_match,
|
+ .of_match_table = gptu_match,
|
||||||
+ },
|
+ },
|
||||||
+};
|
+};
|
||||||
|
@ -47,7 +47,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
obj-$(CONFIG_I2C_MESON) += i2c-meson.o
|
obj-$(CONFIG_I2C_MESON) += i2c-meson.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/i2c/busses/i2c-lantiq.c
|
+++ b/drivers/i2c/busses/i2c-lantiq.c
|
||||||
@@ -0,0 +1,746 @@
|
@@ -0,0 +1,742 @@
|
||||||
+
|
+
|
||||||
+/*
|
+/*
|
||||||
+ * Lantiq I2C bus adapter
|
+ * Lantiq I2C bus adapter
|
||||||
@ -658,7 +658,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ init_completion(&priv->cmd_complete);
|
+ init_completion(&priv->cmd_complete);
|
||||||
+ mutex_init(&priv->mutex);
|
+ ret = devm_mutex_init(&pdev->dev, &priv->mutex);
|
||||||
|
+ if (ret)
|
||||||
|
+ return ret;
|
||||||
+
|
+
|
||||||
+ priv->membase = devm_platform_ioremap_resource(pdev, 0);
|
+ priv->membase = devm_platform_ioremap_resource(pdev, 0);
|
||||||
+ if (IS_ERR(priv->membase))
|
+ if (IS_ERR(priv->membase))
|
||||||
@ -719,7 +721,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+ clk_activate(priv->clk_gate);
|
+ clk_activate(priv->clk_gate);
|
||||||
+
|
+
|
||||||
+ /* add our adapter to the i2c stack */
|
+ /* add our adapter to the i2c stack */
|
||||||
+ ret = i2c_add_numbered_adapter(adap);
|
+ ret = devm_i2c_add_adapter(&pdev->dev, adap);
|
||||||
+ if (ret) {
|
+ if (ret) {
|
||||||
+ dev_err(&pdev->dev, "can't register I2C adapter\n");
|
+ dev_err(&pdev->dev, "can't register I2C adapter\n");
|
||||||
+ goto out;
|
+ goto out;
|
||||||
@ -737,7 +739,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+ ret = ltq_i2c_hw_init(adap);
|
+ ret = ltq_i2c_hw_init(adap);
|
||||||
+ if (ret) {
|
+ if (ret) {
|
||||||
+ dev_err(&pdev->dev, "can't configure adapter\n");
|
+ dev_err(&pdev->dev, "can't configure adapter\n");
|
||||||
+ i2c_del_adapter(adap);
|
|
||||||
+ platform_set_drvdata(pdev, NULL);
|
+ platform_set_drvdata(pdev, NULL);
|
||||||
+ goto out;
|
+ goto out;
|
||||||
+ } else {
|
+ } else {
|
||||||
@ -762,10 +763,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+ /* power down the core */
|
+ /* power down the core */
|
||||||
+ clk_deactivate(priv->clk_gate);
|
+ clk_deactivate(priv->clk_gate);
|
||||||
+
|
+
|
||||||
+ /* remove driver */
|
|
||||||
+ i2c_del_adapter(&priv->adap);
|
|
||||||
+ kfree(priv);
|
|
||||||
+
|
|
||||||
+ dev_dbg(&pdev->dev, "removed\n");
|
+ dev_dbg(&pdev->dev, "removed\n");
|
||||||
+ platform_set_drvdata(pdev, NULL);
|
+ platform_set_drvdata(pdev, NULL);
|
||||||
+
|
+
|
||||||
@ -782,7 +779,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+ .remove = ltq_i2c_remove,
|
+ .remove = ltq_i2c_remove,
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = DRV_NAME,
|
+ .name = DRV_NAME,
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = ltq_i2c_match,
|
+ .of_match_table = ltq_i2c_match,
|
||||||
+ },
|
+ },
|
||||||
+};
|
+};
|
||||||
|
@ -36,7 +36,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+obj-$(CONFIG_PCI) += ath5k_eep.o
|
+obj-$(CONFIG_PCI) += ath5k_eep.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/mips/lantiq/xway/ath5k_eep.c
|
+++ b/arch/mips/lantiq/xway/ath5k_eep.c
|
||||||
@@ -0,0 +1,136 @@
|
@@ -0,0 +1,135 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2011 Luca Olivetti <luca@ventoso.org>
|
+ * Copyright (C) 2011 Luca Olivetti <luca@ventoso.org>
|
||||||
+ * Copyright (C) 2011 John Crispin <blogic@openwrt.org>
|
+ * Copyright (C) 2011 John Crispin <blogic@openwrt.org>
|
||||||
@ -149,7 +149,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
+static struct platform_driver ath5k_eeprom_driver = {
|
+static struct platform_driver ath5k_eeprom_driver = {
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "ath5k,eeprom",
|
+ .name = "ath5k,eeprom",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = of_match_ptr(ath5k_eeprom_ids),
|
+ .of_match_table = of_match_ptr(ath5k_eeprom_ids),
|
||||||
+ },
|
+ },
|
||||||
+};
|
+};
|
||||||
|
@ -293,7 +293,7 @@ Signed-off-by: Eddi De Pieri <eddi@depieri.net>
|
|||||||
|
|
||||||
register_pci_controller(&ifx_pcie_controller[pcie_port].pcic);
|
register_pci_controller(&ifx_pcie_controller[pcie_port].pcic);
|
||||||
/* XXX, clear error status */
|
/* XXX, clear error status */
|
||||||
@@ -1083,6 +1185,30 @@ static int __init ifx_pcie_bios_init(voi
|
@@ -1083,6 +1185,29 @@ static int __init ifx_pcie_bios_init(voi
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -308,7 +308,6 @@ Signed-off-by: Eddi De Pieri <eddi@depieri.net>
|
|||||||
+ .probe = ifx_pcie_bios_probe,
|
+ .probe = ifx_pcie_bios_probe,
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "pcie-xrx200",
|
+ .name = "pcie-xrx200",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = ifxmips_pcie_match,
|
+ .of_match_table = ifxmips_pcie_match,
|
||||||
+ },
|
+ },
|
||||||
+};
|
+};
|
||||||
|
@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = {
|
|||||||
.remove = rtk_gsw_remove,
|
.remove = rtk_gsw_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "rtk-gsw",
|
.name = "rtk-gsw",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = rtk_gsw_match,
|
.of_match_table = rtk_gsw_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -47,7 +47,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||||||
static const struct qmp_phy_cfg ipq8074_usb3phy_cfg = {
|
static const struct qmp_phy_cfg ipq8074_usb3phy_cfg = {
|
||||||
.lanes = 1,
|
.lanes = 1,
|
||||||
|
|
||||||
@@ -2238,7 +2258,7 @@ err_node_put:
|
@@ -2239,7 +2259,7 @@ err_node_put:
|
||||||
static const struct of_device_id qmp_usb_of_match_table[] = {
|
static const struct of_device_id qmp_usb_of_match_table[] = {
|
||||||
{
|
{
|
||||||
.compatible = "qcom,ipq6018-qmp-usb3-phy",
|
.compatible = "qcom,ipq6018-qmp-usb3-phy",
|
||||||
|
@ -49,7 +49,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+obj-$(CONFIG_QCOM_APM) += apm.o
|
+obj-$(CONFIG_QCOM_APM) += apm.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/power/qcom/apm.c
|
+++ b/drivers/power/qcom/apm.c
|
||||||
@@ -0,0 +1,944 @@
|
@@ -0,0 +1,943 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
|
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
|
||||||
+ *
|
+ *
|
||||||
@ -971,7 +971,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = MSM_APM_DRIVER_NAME,
|
+ .name = MSM_APM_DRIVER_NAME,
|
||||||
+ .of_match_table = msm_apm_match_table,
|
+ .of_match_table = msm_apm_match_table,
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ },
|
+ },
|
||||||
+ .probe = msm_apm_probe,
|
+ .probe = msm_apm_probe,
|
||||||
+ .remove = msm_apm_remove,
|
+ .remove = msm_apm_remove,
|
||||||
|
@ -77,7 +77,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o
|
obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/regulator/cpr3-npu-regulator.c
|
+++ b/drivers/regulator/cpr3-npu-regulator.c
|
||||||
@@ -0,0 +1,695 @@
|
@@ -0,0 +1,694 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
+ * Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||||
+ *
|
+ *
|
||||||
@ -752,7 +752,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "qcom,cpr3-npu-regulator",
|
+ .name = "qcom,cpr3-npu-regulator",
|
||||||
+ .of_match_table = cpr3_regulator_match_table,
|
+ .of_match_table = cpr3_regulator_match_table,
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ },
|
+ },
|
||||||
+ .probe = cpr3_npu_regulator_probe,
|
+ .probe = cpr3_npu_regulator_probe,
|
||||||
+ .remove = cpr3_npu_regulator_remove,
|
+ .remove = cpr3_npu_regulator_remove,
|
||||||
@ -9866,7 +9865,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+}
|
+}
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/regulator/cpr4-apss-regulator.c
|
+++ b/drivers/regulator/cpr4-apss-regulator.c
|
||||||
@@ -0,0 +1,1819 @@
|
@@ -0,0 +1,1818 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
|
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
|
||||||
+ *
|
+ *
|
||||||
@ -11663,7 +11662,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "qcom,cpr4-apss-regulator",
|
+ .name = "qcom,cpr4-apss-regulator",
|
||||||
+ .of_match_table = cpr4_regulator_match_table,
|
+ .of_match_table = cpr4_regulator_match_table,
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ },
|
+ },
|
||||||
+ .probe = cpr4_apss_regulator_probe,
|
+ .probe = cpr4_apss_regulator_probe,
|
||||||
+ .remove = cpr4_apss_regulator_remove,
|
+ .remove = cpr4_apss_regulator_remove,
|
||||||
|
@ -87,6 +87,7 @@
|
|||||||
regulator-max-microvolt = <5000000>;
|
regulator-max-microvolt = <5000000>;
|
||||||
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
|
regulator-boot-on;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -63,6 +63,7 @@
|
|||||||
regulator-max-microvolt = <5000000>;
|
regulator-max-microvolt = <5000000>;
|
||||||
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
|
regulator-boot-on;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
regulator-max-microvolt = <5000000>;
|
regulator-max-microvolt = <5000000>;
|
||||||
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
|
regulator-boot-on;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,6 +103,7 @@
|
|||||||
regulator-max-microvolt = <5000000>;
|
regulator-max-microvolt = <5000000>;
|
||||||
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
|
regulator-boot-on;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -101,6 +101,7 @@
|
|||||||
regulator-max-microvolt = <5000000>;
|
regulator-max-microvolt = <5000000>;
|
||||||
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
|
regulator-boot-on;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1525,7 +1525,6 @@ static struct platform_driver esw_driver = {
|
|||||||
.remove = esw_remove,
|
.remove = esw_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "rt3050-esw",
|
.name = "rt3050-esw",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ralink_esw_match,
|
.of_match_table = ralink_esw_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = {
|
|||||||
.remove = mt7620_gsw_remove,
|
.remove = mt7620_gsw_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "mt7620-gsw",
|
.name = "mt7620-gsw",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = mediatek_gsw_match,
|
.of_match_table = mediatek_gsw_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1657,7 +1657,6 @@ static struct platform_driver fe_driver = {
|
|||||||
.remove = fe_remove,
|
.remove = fe_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "mtk_soc_eth",
|
.name = "mtk_soc_eth",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_fe_match,
|
.of_match_table = of_fe_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -333,7 +333,6 @@ static struct platform_driver sf_gpio_driver = {
|
|||||||
.remove = sf_gpio_remove,
|
.remove = sf_gpio_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "siflower_gpio",
|
.name = "siflower_gpio",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = sf_gpio_ids,
|
.of_match_table = sf_gpio_ids,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Matteo Croce <mcroce@microsoft.com>
|
|||||||
|
|
||||||
if (priv->dma_cap.host_dma_width <= 32)
|
if (priv->dma_cap.host_dma_width <= 32)
|
||||||
gfp |= GFP_DMA32;
|
gfp |= GFP_DMA32;
|
||||||
@@ -4673,7 +4673,7 @@ static inline void stmmac_rx_refill(stru
|
@@ -4685,7 +4685,7 @@ static inline void stmmac_rx_refill(stru
|
||||||
struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue];
|
struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue];
|
||||||
int dirty = stmmac_rx_dirty(priv, queue);
|
int dirty = stmmac_rx_dirty(priv, queue);
|
||||||
unsigned int entry = rx_q->dirty_rx;
|
unsigned int entry = rx_q->dirty_rx;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user