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
|
||||
|
||||
config USE_APK
|
||||
imply PACKAGE_apk-mbedtls
|
||||
imply PACKAGE_apk-openssl
|
||||
bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)"
|
||||
default y
|
||||
|
||||
comment "General build options"
|
||||
|
||||
@ -295,12 +296,22 @@ menu "Global build settings"
|
||||
Enable GCC Stack Smashing Protection (SSP) for userspace applications
|
||||
config PKG_CC_STACKPROTECTOR_NONE
|
||||
bool "None"
|
||||
help
|
||||
No stack smashing protection.
|
||||
config PKG_CC_STACKPROTECTOR_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
|
||||
bool "Strong"
|
||||
help
|
||||
Like Regular, but also protects functions with
|
||||
local arrays or references to local frame addresses.
|
||||
config PKG_CC_STACKPROTECTOR_ALL
|
||||
bool "All"
|
||||
help
|
||||
Protects all functions.
|
||||
endchoice
|
||||
|
||||
choice
|
||||
@ -310,10 +321,18 @@ menu "Global build settings"
|
||||
Enable GCC Stack-Smashing Protection (SSP) for the kernel
|
||||
config KERNEL_CC_STACKPROTECTOR_NONE
|
||||
bool "None"
|
||||
help
|
||||
No stack smashing protection.
|
||||
config KERNEL_CC_STACKPROTECTOR_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
|
||||
bool "Strong"
|
||||
help
|
||||
Like Regular, but also protects functions with
|
||||
local arrays or references to local frame addresses.
|
||||
endchoice
|
||||
|
||||
config KERNEL_STACKPROTECTOR
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .59
|
||||
LINUX_KERNEL_HASH-6.6.59 = 23616808d8c08f12815ff898f4edb4c11397a2b2843d029ee62452d21833a76d
|
||||
LINUX_VERSION-6.6 = .60
|
||||
LINUX_KERNEL_HASH-6.6.60 = 52f9e32d5082ab94253447fd66670d0c3bb765cfcb99b0bf61d1b8eae25952ef
|
||||
|
@ -48,7 +48,6 @@ apk = \
|
||||
$(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk \
|
||||
--root $(1) \
|
||||
--keys-dir $(if $(APK_KEYS),$(APK_KEYS),$(TOPDIR)) \
|
||||
--no-cache \
|
||||
--no-logfile \
|
||||
--preserve-env
|
||||
|
||||
@ -84,7 +83,7 @@ define prepare_rootfs
|
||||
IPKG_POSTINST_PATH=./usr/lib/opkg/info/*.postinst; \
|
||||
fi; \
|
||||
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=$$?; \
|
||||
if [ $$ret -ne 0 ]; then \
|
||||
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),)
|
||||
$(file >$(TMP_DIR)/apk_install_list,\
|
||||
$(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 \
|
||||
$$(cat $(TMP_DIR)/apk_install_list)
|
||||
else
|
||||
@ -130,7 +130,7 @@ ifneq ($(CONFIG_USE_APK),)
|
||||
--keys-dir $(TOPDIR) \
|
||||
--sign $(BUILD_KEY_APK_SEC) \
|
||||
--output packages.adb \
|
||||
$$(ls *.apk | grep -v 'kernel\|libc'); \
|
||||
$$(ls *.apk | grep -v 'base-files-\|kernel-\|libc-'); \
|
||||
done
|
||||
else
|
||||
@for d in $(PACKAGE_SUBDIRS); do ( \
|
||||
|
@ -251,6 +251,7 @@ ifneq ($(CONFIG_USE_APK),)
|
||||
$(VERSION_SED_SCRIPT) $(1)/etc/apk/repositories
|
||||
|
||||
rm -f $(1)/etc/uci-defaults/13_fix-group-user
|
||||
rm -f $(1)/sbin/pkg_check
|
||||
else
|
||||
$(if $(CONFIG_CLEAN_IPKG),, \
|
||||
mkdir -p $(1)/etc/opkg; \
|
||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=gdb
|
||||
PKG_VERSION:=15.2
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@GNU/gdb
|
||||
@ -37,7 +37,7 @@ $(call Package/gdb/Default)
|
||||
endef
|
||||
|
||||
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
|
||||
moment it crashed.
|
||||
endef
|
||||
|
@ -693,7 +693,6 @@ static struct platform_driver gpio_keys_driver = {
|
||||
.remove = gpio_keys_remove,
|
||||
.driver = {
|
||||
.name = "gpio-keys",
|
||||
.owner = THIS_MODULE,
|
||||
.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,
|
||||
.driver = {
|
||||
.name = "gpio-keys-polled",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = of_match_ptr(gpio_keys_polled_of_match),
|
||||
},
|
||||
};
|
||||
|
@ -366,7 +366,6 @@ err:
|
||||
|
||||
static struct platform_driver nct5104d_gpio_driver = {
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = DRVNAME,
|
||||
},
|
||||
.probe = nct5104d_gpio_probe,
|
||||
|
@ -2807,7 +2807,6 @@ static struct platform_driver ltq_mei_driver = {
|
||||
.remove = ltq_mei_remove,
|
||||
.driver = {
|
||||
.name = "lantiq,mei-xway",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_mei_match,
|
||||
},
|
||||
};
|
||||
|
@ -36,7 +36,7 @@
|
||||
}
|
||||
|
||||
#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");
|
||||
#endif /* #ifndef DSL_DEBUG_DISABLE*/
|
||||
|
||||
@ -59,7 +59,6 @@
|
||||
+ .remove = __devexit_p(ltq_adsl_remove),
|
||||
+ .driver = {
|
||||
+ .name = "adsl",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = ltq_adsl_match,
|
||||
+ },
|
||||
+};
|
||||
|
@ -1894,7 +1894,6 @@ static struct platform_driver ltq_atm_driver = {
|
||||
.remove = ltq_atm_remove,
|
||||
.driver = {
|
||||
.name = "atm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_atm_match,
|
||||
},
|
||||
};
|
||||
|
@ -196,7 +196,6 @@ static struct platform_driver ltq_deu_driver = {
|
||||
.remove = ltq_deu_remove,
|
||||
.driver = {
|
||||
.name = "deu",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_deu_match,
|
||||
},
|
||||
};
|
||||
|
@ -1600,7 +1600,6 @@ static struct platform_driver ltq_ptm_driver = {
|
||||
.remove = ltq_ptm_remove,
|
||||
.driver = {
|
||||
.name = "ptm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_ptm_match,
|
||||
},
|
||||
};
|
||||
|
@ -1138,7 +1138,6 @@ static struct platform_driver ltq_ptm_driver = {
|
||||
.remove = ltq_ptm_remove,
|
||||
.driver = {
|
||||
.name = "ptm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_ptm_match,
|
||||
},
|
||||
};
|
||||
|
@ -146,7 +146,6 @@ static struct platform_driver ubootenv_driver = {
|
||||
.remove = ubootenv_remove,
|
||||
.driver = {
|
||||
.name = NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = of_ubootenv_match,
|
||||
},
|
||||
};
|
||||
|
@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnftnl
|
||||
PKG_CPE_ID:=cpe:/a:netfilter:libnftnl
|
||||
PKG_VERSION:=1.2.6
|
||||
PKG_VERSION:=1.2.8
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||
PKG_HASH:=ceeaea2cd92147da19f13a35a7f1a4bc2767ff897e838e4b479cf54b59c777f4
|
||||
PKG_HASH:=37fea5d6b5c9b08de7920d298de3cdc942e7ae64b1a3e8b880b2d390ae67ad95
|
||||
|
||||
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
||||
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
|
||||
+++ b/include/libnftnl/expr.h
|
||||
@@ -245,6 +245,12 @@ enum {
|
||||
@@ -272,6 +272,13 @@ enum {
|
||||
};
|
||||
|
||||
enum {
|
||||
+ NFTNL_EXPR_FULLCONE_FLAGS = NFTNL_EXPR_BASE,
|
||||
+ NFTNL_EXPR_FULLCONE_REG_PROTO_MIN,
|
||||
+ NFTNL_EXPR_FULLCONE_REG_PROTO_MAX,
|
||||
+ __NFTNL_EXPR_FULLCONE_MAX
|
||||
+};
|
||||
+
|
||||
+enum {
|
||||
@ -65,7 +66,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
expr/socket.c \
|
||||
--- /dev/null
|
||||
+++ b/src/expr/fullcone.c
|
||||
@@ -0,0 +1,167 @@
|
||||
@@ -0,0 +1,165 @@
|
||||
+/*
|
||||
+ * (C) 2022 wongsyrone
|
||||
+ *
|
||||
@ -110,8 +111,6 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
+ case NFTNL_EXPR_FULLCONE_REG_PROTO_MAX:
|
||||
+ memcpy(&fullcone->sreg_proto_max, data, sizeof(fullcone->sreg_proto_max));
|
||||
+ break;
|
||||
+ default:
|
||||
+ return -1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
@ -226,7 +225,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
+struct expr_ops expr_ops_fullcone = {
|
||||
+ .name = "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,
|
||||
+ .get = nftnl_expr_fullcone_get,
|
||||
+ .parse = nftnl_expr_fullcone_parse,
|
||||
|
@ -8,13 +8,16 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wolfssl
|
||||
PKG_VERSION:=5.7.2-stable
|
||||
PKG_VERSION:=5.7.2
|
||||
PKG_REAL_VERSION:=$(PKG_VERSION)-stable
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_REAL_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_REAL_VERSION)
|
||||
PKG_HASH:=0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_REAL_VERSION)
|
||||
|
||||
PKG_FIXUP:=libtool libtool-abiver
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_FLAGS:=no-mips16 lto
|
||||
@ -40,7 +43,7 @@ PKG_CONFIG_DEPENDS:=\
|
||||
CONFIG_WOLFSSL_HAS_TLSV13 \
|
||||
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+=\
|
||||
CONFIG_PACKAGE_libwolfssl-benchmark \
|
||||
|
@ -84,7 +84,11 @@ ifneq ($(CONFIG_DRIVER_11BE_SUPPORT),)
|
||||
HOSTAPD_IEEE80211BE:=y
|
||||
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
|
||||
|
||||
DRIVER_MAKEOPTS= \
|
||||
@ -716,7 +720,13 @@ define Install/supplicant
|
||||
endef
|
||||
|
||||
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/wpad.init $(1)/etc/init.d/wpad
|
||||
$(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps
|
||||
|
@ -6,12 +6,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nftables
|
||||
PKG_VERSION:=1.0.9
|
||||
PKG_VERSION:=1.1.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||
PKG_HASH:=a3c304cd9ba061239ee0474f9afb938a9bb99d89b960246f66f0c3a0a85e14cd
|
||||
PKG_HASH:=6358830f3a64f31e39b0ad421d7dadcd240b72343ded48d8ef13b8faf204865a
|
||||
|
||||
PKG_MAINTAINER:=
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
@ -51,7 +51,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
|
||||
--- a/src/netlink_delinearize.c
|
||||
+++ b/src/netlink_delinearize.c
|
||||
@@ -1473,6 +1473,53 @@ out_err:
|
||||
@@ -1467,6 +1467,53 @@ out_err:
|
||||
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,
|
||||
const struct location *loc,
|
||||
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 = "notrack", .parse = netlink_parse_notrack },
|
||||
{ .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 },
|
||||
--- a/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_pmax = NFTNL_EXPR_MASQ_REG_PROTO_MAX;
|
||||
break;
|
||||
@ -131,7 +131,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
|
||||
--- a/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 DNAT "dnat"
|
||||
%token MASQUERADE "masquerade"
|
||||
@ -139,7 +139,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
%token REDIRECT "redirect"
|
||||
%token RANDOM "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 <stmt> 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 <stmt> tproxy_stmt
|
||||
%destructor { stmt_free($$); } tproxy_stmt
|
||||
@@ -3064,6 +3065,7 @@ stmt : verdict_stmt
|
||||
@@ -3216,6 +3217,7 @@ stmt : verdict_stmt
|
||||
| queue_stmt
|
||||
| ct_stmt
|
||||
| masq_stmt close_scope_nat
|
||||
@ -158,7 +158,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
| redir_stmt close_scope_nat
|
||||
| dup_stmt close_scope_dup
|
||||
| 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;
|
||||
}
|
||||
@ -189,7 +189,7 @@ Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
|
||||
$<stmt>0->nat.proto = $3;
|
||||
--- a/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; }
|
||||
"dnat" { scanner_push_start_cond(yyscanner, SCANSTATE_STMT_NAT); return DNAT; }
|
||||
"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>{
|
||||
--- a/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_DNAT] = "dnat",
|
||||
[NFT_NAT_MASQ] = "masquerade",
|
||||
|
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2024-10-28
|
||||
PKG_SOURCE_VERSION:=a1ad8568a1378d71c1f6354c428ebb1baa46fa05
|
||||
PKG_MIRROR_HASH:=68747e1253776dc00286c01e408f4c4e1eb61acf56009b7ecb3de4d49b34e567
|
||||
PKG_SOURCE_DATE:=2024-11-08
|
||||
PKG_SOURCE_VERSION:=d9c24813d983df9524fa7a2b78fc3132c159a20f
|
||||
PKG_MIRROR_HASH:=3d1a79c08ef8c8b9404f9287d9acda6468b8b1c2a99dd384287f522ed3b1a047
|
||||
|
||||
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
|
||||
+++ 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) {
|
||||
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
|
||||
|
||||
PACKAGE_SUFFIX:=$(if $(CONFIG_USE_APK),apk,ipk)
|
||||
PACKAGE_VERSION_SEPARATOR:=$(if $(CONFIG_USE_APK),-,_)
|
||||
|
||||
all: compile
|
||||
|
||||
@ -68,19 +69,16 @@ else
|
||||
echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_BUILDBOT),)
|
||||
ifeq ($(CONFIG_IB_STANDALONE),)
|
||||
ifeq ($(CONFIG_IB_STANDALONE),)
|
||||
$(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 {} +
|
||||
else
|
||||
\( \
|
||||
-name 'base-files$(PACKAGE_VERSION_SEPARATOR)*.$(PACKAGE_SUFFIX)' -or \
|
||||
-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)' \
|
||||
-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
|
||||
|
||||
ifneq ($(CONFIG_SIGNATURE_CHECK),)
|
||||
|
@ -181,11 +181,9 @@ ifeq ($(CONFIG_USE_APK),)
|
||||
) >/dev/null 2>/dev/null
|
||||
$(OPKG) update >&2 || true
|
||||
else
|
||||
$(APK) add --initdb
|
||||
(cd $(PACKAGE_DIR); $(APK) mkndx \
|
||||
$(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
|
||||
$(APK) update >&2 || true
|
||||
endif
|
||||
|
||||
package_reload:
|
||||
@ -201,6 +199,7 @@ ifeq ($(CONFIG_USE_APK),)
|
||||
$(OPKG) update >&2 || true; \
|
||||
fi
|
||||
else
|
||||
$(APK) add --initdb
|
||||
if [ -d "$(PACKAGE_DIR)" ] && ( \
|
||||
[ ! -f "$(PACKAGE_DIR)/packages.adb" ] || \
|
||||
[ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/packages.adb`" ] ); then \
|
||||
@ -208,7 +207,6 @@ else
|
||||
$(MAKE) package_index; \
|
||||
else \
|
||||
mkdir -p $(TARGET_DIR)/tmp; \
|
||||
$(APK) update >&2 || true; \
|
||||
fi
|
||||
endif
|
||||
|
||||
@ -224,12 +222,10 @@ package_install: FORCE
|
||||
@echo
|
||||
@echo Installing packages...
|
||||
ifeq ($(CONFIG_USE_APK),)
|
||||
$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk))
|
||||
$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk))
|
||||
$(OPKG) install $(wildcard $(PACKAGE_DIR)/libc_*.ipk)
|
||||
$(OPKG) install $(wildcard $(PACKAGE_DIR)/kernel_*.ipk)
|
||||
$(OPKG) install $(BUILD_PACKAGES)
|
||||
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)
|
||||
endif
|
||||
|
||||
|
@ -181,7 +181,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
* @dev: Device for which which resource was allocated.
|
||||
--- a/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
|
||||
struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, int id, void *data,
|
||||
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);
|
||||
|
||||
@@ -272,6 +276,15 @@ struct thermal_zone_device *devm_thermal
|
||||
@@ -274,6 +278,15 @@ struct thermal_zone_device *devm_thermal
|
||||
{
|
||||
return ERR_PTR(-ENOTSUPP);
|
||||
}
|
||||
|
@ -168,7 +168,6 @@ static struct platform_driver gpio_latch_driver = {
|
||||
.probe = gpio_latch_probe,
|
||||
.driver = {
|
||||
.name = GPIO_LATCH_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = gpio_latch_match,
|
||||
},
|
||||
};
|
||||
|
@ -182,7 +182,6 @@ static struct platform_driver gpio_rb91x_key_driver = {
|
||||
.probe = gpio_rb91x_key_probe,
|
||||
.driver = {
|
||||
.name = GPIO_RB91X_KEY_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = gpio_rb91x_key_match,
|
||||
},
|
||||
};
|
||||
|
@ -1478,7 +1478,6 @@ static struct platform_driver ar934x_nfc_driver = {
|
||||
.remove = ar934x_nfc_remove,
|
||||
.driver = {
|
||||
.name = AR934X_NFC_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ar934x_nfc_match,
|
||||
},
|
||||
};
|
||||
|
@ -356,7 +356,6 @@ static struct platform_driver rb91x_nand_driver = {
|
||||
.remove = rb91x_nand_remove,
|
||||
.driver = {
|
||||
.name = "rb91x-nand",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = rb91x_nand_match,
|
||||
},
|
||||
};
|
||||
|
@ -193,7 +193,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/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);
|
||||
|
||||
@ -27,5 +27,5 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
+ cancel_work_sync(&tsdata->work_i2c_poll);
|
||||
+ }
|
||||
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
|
||||
+++ 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)
|
||||
{
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret = 0;
|
||||
bool invalid_bdaddr;
|
||||
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);
|
||||
if (!ret) {
|
||||
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)
|
||||
error = regmap_bulk_read(tsdata->regmap,
|
||||
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) {
|
||||
usleep_range(5000, 6000);
|
||||
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);
|
||||
@@ -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;
|
||||
}
|
||||
} else {
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/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)
|
||||
{
|
||||
|
@ -32,7 +32,7 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
|
||||
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
|
||||
--- /dev/null
|
||||
+++ b/drivers/watchdog/old_gpio_wdt.c
|
||||
@@ -0,0 +1,301 @@
|
||||
@@ -0,0 +1,300 @@
|
||||
+/*
|
||||
+ * Driver for GPIO-controlled Hardware Watchdogs.
|
||||
+ *
|
||||
@ -294,7 +294,6 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
|
||||
+ .probe = gpio_wdt_probe,
|
||||
+ .remove = gpio_wdt_remove,
|
||||
+ .driver.name = "gpio-wdt",
|
||||
+ .driver.owner = THIS_MODULE,
|
||||
+};
|
||||
+
|
||||
+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
|
||||
+++ 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);
|
||||
if (thread) {
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
wake_up_process(thread);
|
||||
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)
|
||||
{
|
||||
@ -56,7 +56,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
|
||||
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
|
||||
* 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,
|
||||
unsigned long *flags)
|
||||
{
|
||||
@@ -4445,6 +4471,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
|
||||
@@ -4449,6 +4475,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
|
||||
/*************************************************************************
|
||||
* Receiver routines
|
||||
*************************************************************************/
|
||||
@ -116,7 +116,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
int netdev_max_backlog __read_mostly = 1000;
|
||||
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);
|
||||
if (thread) {
|
||||
@ -133,7 +133,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
list_add_tail(&napi->poll_list, &sd->poll_list);
|
||||
WRITE_ONCE(napi->list_owner, smp_processor_id());
|
||||
/* 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
|
||||
if (sd != mysd) {
|
||||
@ -145,7 +145,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
sd->rps_ipi_next = mysd->rps_ipi_list;
|
||||
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
|
||||
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;
|
||||
|
||||
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)
|
||||
{
|
||||
#ifdef CONFIG_RPS
|
||||
@ -163,7 +163,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
#else
|
||||
return false;
|
||||
#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(),
|
||||
* and we dont need an smp_mb() memory barrier.
|
||||
*/
|
||||
@ -172,7 +172,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
again = false;
|
||||
} else {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
if (napi->poll == process_backlog)
|
||||
@ -259,7 +259,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
else
|
||||
____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);
|
||||
local_irq_enable();
|
||||
|
||||
@ -278,7 +278,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
/* Process offline CPU's input_pkt_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
|
||||
* 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);
|
||||
sd->backlog.poll = process_backlog;
|
||||
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);
|
||||
else if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -67,7 +67,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_RPS) || use_backlog_threads())
|
||||
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;
|
||||
|
||||
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)) {
|
||||
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;
|
||||
sd = &per_cpu(softnet_data, cpu);
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
if (!netif_running(skb->dev))
|
||||
goto drop;
|
||||
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:
|
||||
__skb_queue_tail(&sd->input_pkt_queue, skb);
|
||||
input_queue_tail_incr_save(sd, qtail);
|
||||
@ -100,7 +100,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
return NET_RX_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -4874,7 +4874,7 @@ enqueue:
|
||||
@@ -4878,7 +4878,7 @@ enqueue:
|
||||
|
||||
drop:
|
||||
sd->dropped++;
|
||||
@ -109,7 +109,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
dev_core_stats_rx_dropped_inc(skb->dev);
|
||||
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();
|
||||
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) {
|
||||
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
|
||||
__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);
|
||||
}
|
||||
}
|
||||
@ -127,7 +127,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
|
||||
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);
|
||||
bool do_flush;
|
||||
|
||||
@ -144,7 +144,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
return do_flush;
|
||||
#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)) {
|
||||
/*
|
||||
* 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,
|
||||
&sd->process_queue);
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/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,
|
||||
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;
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/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);
|
||||
} else if (ops->ndo_get_stats) {
|
||||
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,
|
||||
--- a/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);
|
||||
|
||||
@ -79,7 +79,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/* make sure we BUG if trying to hit standard
|
||||
* 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
|
||||
* its refcount.
|
||||
*/
|
||||
@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/**
|
||||
* register_netdev - register a network device
|
||||
* @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);
|
||||
|
||||
/**
|
||||
|
@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
/**
|
||||
--- a/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.
|
||||
*/
|
||||
work = 0;
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
u64_stats_update_begin(&txq_stats->napi_syncp);
|
||||
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);
|
||||
struct stmmac_priv *priv = ch->priv_data;
|
||||
struct stmmac_txq_stats *txq_stats;
|
||||
@ -50,7 +50,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
u32 chan = ch->index;
|
||||
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_update_end(&txq_stats->napi_syncp);
|
||||
|
||||
@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
work_done = min(work_done, budget);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
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 =
|
||||
container_of(napi, struct stmmac_channel, rxtx_napi);
|
||||
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;
|
||||
struct stmmac_rxq_stats *rxq_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_update_end(&txq_stats->napi_syncp);
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
tx_done = min(tx_done, budget);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/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;
|
||||
|
||||
/* Compatibility with error handling in drivers */
|
||||
|
@ -1503,7 +1503,6 @@ MODULE_DEVICE_TABLE(of, rtl8366rb_match);
|
||||
static struct platform_driver rtl8366rb_driver = {
|
||||
.driver = {
|
||||
.name = RTL8366RB_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = of_match_ptr(rtl8366rb_match),
|
||||
},
|
||||
.probe = rtl8366rb_probe,
|
||||
|
@ -1291,7 +1291,6 @@ MODULE_DEVICE_TABLE(of, rtl8366s_match);
|
||||
static struct platform_driver rtl8366s_driver = {
|
||||
.driver = {
|
||||
.name = RTL8366S_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
#ifdef CONFIG_OF
|
||||
.of_match_table = of_match_ptr(rtl8366s_match),
|
||||
#endif
|
||||
|
@ -1834,7 +1834,6 @@ MODULE_DEVICE_TABLE(of, rtl8367_match);
|
||||
static struct platform_driver rtl8367_driver = {
|
||||
.driver = {
|
||||
.name = RTL8367_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
#ifdef CONFIG_OF
|
||||
.of_match_table = of_match_ptr(rtl8367_match),
|
||||
#endif
|
||||
|
@ -1633,7 +1633,6 @@ MODULE_DEVICE_TABLE(of, rtl8367b_match);
|
||||
static struct platform_driver rtl8367b_driver = {
|
||||
.driver = {
|
||||
.name = RTL8367B_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
#ifdef CONFIG_OF
|
||||
.of_match_table = of_match_ptr(rtl8367b_match),
|
||||
#endif
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
#include "gpiolib.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));
|
||||
}
|
||||
@ -81,7 +81,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+static struct platform_driver gpio_export_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "gpio-export",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = of_match_ptr(gpio_export_ids),
|
||||
+ },
|
||||
+ .probe = of_gpio_export_probe,
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
--- a/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 | \
|
||||
DL_FLAG_PM_RUNTIME)
|
||||
|
||||
|
@ -81,7 +81,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
swim_mod-y := swim.o swim_asm.o
|
||||
--- /dev/null
|
||||
+++ b/drivers/block/fitblk.c
|
||||
@@ -0,0 +1,659 @@
|
||||
@@ -0,0 +1,658 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-only
|
||||
+/*
|
||||
+ * uImage.FIT virtual block device driver.
|
||||
@ -714,7 +714,6 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
+ .probe = fitblk_probe,
|
||||
+ .driver = {
|
||||
+ .name = "fitblk",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
|
@ -23,7 +23,7 @@ Subject: SoC: add qualcomm syscon
|
||||
+obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
||||
@@ -0,0 +1,96 @@
|
||||
@@ -0,0 +1,95 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
|
||||
+ *
|
||||
@ -109,7 +109,6 @@ Subject: SoC: add qualcomm syscon
|
||||
+static struct platform_driver tcsr_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "tcsr",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = tcsr_dt_match,
|
||||
+ },
|
||||
+ .probe = tcsr_probe,
|
||||
|
@ -28,7 +28,7 @@ Subject: SoC: add qualcomm syscon
|
||||
depends on ARCH_QCOM || COMPILE_TEST
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
||||
@@ -0,0 +1,62 @@
|
||||
@@ -0,0 +1,61 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
|
||||
+ *
|
||||
@ -80,7 +80,6 @@ Subject: SoC: add qualcomm syscon
|
||||
+static struct platform_driver tcsr_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "tcsr",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = tcsr_dt_match,
|
||||
+ },
|
||||
+ .probe = tcsr_probe,
|
||||
|
@ -186,7 +186,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
obj-y += vmmc.o
|
||||
--- /dev/null
|
||||
+++ b/arch/mips/lantiq/xway/timer.c
|
||||
@@ -0,0 +1,887 @@
|
||||
@@ -0,0 +1,888 @@
|
||||
+#ifndef CONFIG_SOC_AMAZON_SE
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
@ -989,7 +989,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+ ltq_w32(0xfff, LQ_GPTU_IRNCR);
|
||||
+
|
||||
+ 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();
|
||||
+ timer_dev.number_of_timers = GPTU_ID_CFG * 2;
|
||||
@ -1043,7 +1045,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+ .probe = gptu_probe,
|
||||
+ .driver = {
|
||||
+ .name = "gptu-xway",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = gptu_match,
|
||||
+ },
|
||||
+};
|
||||
|
@ -47,7 +47,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
obj-$(CONFIG_I2C_MESON) += i2c-meson.o
|
||||
--- /dev/null
|
||||
+++ b/drivers/i2c/busses/i2c-lantiq.c
|
||||
@@ -0,0 +1,746 @@
|
||||
@@ -0,0 +1,742 @@
|
||||
+
|
||||
+/*
|
||||
+ * Lantiq I2C bus adapter
|
||||
@ -658,7 +658,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+ }
|
||||
+
|
||||
+ 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);
|
||||
+ if (IS_ERR(priv->membase))
|
||||
@ -719,7 +721,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+ clk_activate(priv->clk_gate);
|
||||
+
|
||||
+ /* add our adapter to the i2c stack */
|
||||
+ ret = i2c_add_numbered_adapter(adap);
|
||||
+ ret = devm_i2c_add_adapter(&pdev->dev, adap);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "can't register I2C adapter\n");
|
||||
+ goto out;
|
||||
@ -737,7 +739,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+ ret = ltq_i2c_hw_init(adap);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "can't configure adapter\n");
|
||||
+ i2c_del_adapter(adap);
|
||||
+ platform_set_drvdata(pdev, NULL);
|
||||
+ goto out;
|
||||
+ } else {
|
||||
@ -762,10 +763,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+ /* power down the core */
|
||||
+ clk_deactivate(priv->clk_gate);
|
||||
+
|
||||
+ /* remove driver */
|
||||
+ i2c_del_adapter(&priv->adap);
|
||||
+ kfree(priv);
|
||||
+
|
||||
+ dev_dbg(&pdev->dev, "removed\n");
|
||||
+ platform_set_drvdata(pdev, NULL);
|
||||
+
|
||||
@ -782,7 +779,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+ .remove = ltq_i2c_remove,
|
||||
+ .driver = {
|
||||
+ .name = DRV_NAME,
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = ltq_i2c_match,
|
||||
+ },
|
||||
+};
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+obj-$(CONFIG_PCI) += ath5k_eep.o
|
||||
--- /dev/null
|
||||
+++ 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 John Crispin <blogic@openwrt.org>
|
||||
@ -149,7 +149,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+static struct platform_driver ath5k_eeprom_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "ath5k,eeprom",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .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);
|
||||
/* 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;
|
||||
}
|
||||
@ -308,7 +308,6 @@ Signed-off-by: Eddi De Pieri <eddi@depieri.net>
|
||||
+ .probe = ifx_pcie_bios_probe,
|
||||
+ .driver = {
|
||||
+ .name = "pcie-xrx200",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = ifxmips_pcie_match,
|
||||
+ },
|
||||
+};
|
||||
|
@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = {
|
||||
.remove = rtk_gsw_remove,
|
||||
.driver = {
|
||||
.name = "rtk-gsw",
|
||||
.owner = THIS_MODULE,
|
||||
.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 = {
|
||||
.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[] = {
|
||||
{
|
||||
.compatible = "qcom,ipq6018-qmp-usb3-phy",
|
||||
|
@ -49,7 +49,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
+obj-$(CONFIG_QCOM_APM) += apm.o
|
||||
--- /dev/null
|
||||
+++ b/drivers/power/qcom/apm.c
|
||||
@@ -0,0 +1,944 @@
|
||||
@@ -0,0 +1,943 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
|
||||
+ *
|
||||
@ -971,7 +971,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
+ .driver = {
|
||||
+ .name = MSM_APM_DRIVER_NAME,
|
||||
+ .of_match_table = msm_apm_match_table,
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
+ .probe = msm_apm_probe,
|
||||
+ .remove = msm_apm_remove,
|
||||
|
@ -77,7 +77,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o
|
||||
--- /dev/null
|
||||
+++ b/drivers/regulator/cpr3-npu-regulator.c
|
||||
@@ -0,0 +1,695 @@
|
||||
@@ -0,0 +1,694 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
+ *
|
||||
@ -752,7 +752,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
+ .driver = {
|
||||
+ .name = "qcom,cpr3-npu-regulator",
|
||||
+ .of_match_table = cpr3_regulator_match_table,
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
+ .probe = cpr3_npu_regulator_probe,
|
||||
+ .remove = cpr3_npu_regulator_remove,
|
||||
@ -9866,7 +9865,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
+}
|
||||
--- /dev/null
|
||||
+++ 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.
|
||||
+ *
|
||||
@ -11663,7 +11662,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
+ .driver = {
|
||||
+ .name = "qcom,cpr4-apss-regulator",
|
||||
+ .of_match_table = cpr4_regulator_match_table,
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
+ .probe = cpr4_apss_regulator_probe,
|
||||
+ .remove = cpr4_apss_regulator_remove,
|
||||
|
@ -87,6 +87,7 @@
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -63,6 +63,7 @@
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -103,6 +103,7 @@
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -101,6 +101,7 @@
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1525,7 +1525,6 @@ static struct platform_driver esw_driver = {
|
||||
.remove = esw_remove,
|
||||
.driver = {
|
||||
.name = "rt3050-esw",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ralink_esw_match,
|
||||
},
|
||||
};
|
||||
|
@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = {
|
||||
.remove = mt7620_gsw_remove,
|
||||
.driver = {
|
||||
.name = "mt7620-gsw",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = mediatek_gsw_match,
|
||||
},
|
||||
};
|
||||
|
@ -1657,7 +1657,6 @@ static struct platform_driver fe_driver = {
|
||||
.remove = fe_remove,
|
||||
.driver = {
|
||||
.name = "mtk_soc_eth",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = of_fe_match,
|
||||
},
|
||||
};
|
||||
|
@ -333,7 +333,6 @@ static struct platform_driver sf_gpio_driver = {
|
||||
.remove = sf_gpio_remove,
|
||||
.driver = {
|
||||
.name = "siflower_gpio",
|
||||
.owner = THIS_MODULE,
|
||||
.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)
|
||||
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];
|
||||
int dirty = stmmac_rx_dirty(priv, queue);
|
||||
unsigned int entry = rx_q->dirty_rx;
|
||||
|
Loading…
x
Reference in New Issue
Block a user