From f4065485d3d9c6efa06c323fd5f61099a390c4c3 Mon Sep 17 00:00:00 2001 From: Sander Vanheule Date: Fri, 26 Nov 2021 22:10:24 +0100 Subject: [PATCH 01/45] realtek: add missing gpio0 pinctrl properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not all devices using the gpio0/sys-led pin as a GPIO, configure the pinmux. Add the necessary pinctrl properties to these devices to ensure the pin is set up for use as GPIO. Co-developed-by: INAGAKI Hiroshi Signed-off-by: INAGAKI Hiroshi Signed-off-by: Sander Vanheule Tested-by: Bjørn Mork --- target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi | 3 +++ target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210.dtsi | 3 +++ target/linux/realtek/dts-5.10/rtl8382_inaba_aml2-17gp.dts | 3 +++ 3 files changed, 9 insertions(+) diff --git a/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi b/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi index 078f8ff228..5e587f278d 100644 --- a/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi +++ b/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi @@ -14,6 +14,9 @@ }; keys { + pinctrl-names = "default"; + pinctrl-0 = <&pinmux_disable_sys_led>; + compatible = "gpio-keys"; mode { diff --git a/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210.dtsi b/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210.dtsi index aaaa872162..09f5555307 100644 --- a/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210.dtsi +++ b/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210.dtsi @@ -19,6 +19,9 @@ }; leds { + pinctrl-names = "default"; + pinctrl-0 = <&pinmux_disable_sys_led>; + compatible = "gpio-leds"; led_power: power { diff --git a/target/linux/realtek/dts-5.10/rtl8382_inaba_aml2-17gp.dts b/target/linux/realtek/dts-5.10/rtl8382_inaba_aml2-17gp.dts index 30960afff4..4808141494 100644 --- a/target/linux/realtek/dts-5.10/rtl8382_inaba_aml2-17gp.dts +++ b/target/linux/realtek/dts-5.10/rtl8382_inaba_aml2-17gp.dts @@ -15,6 +15,9 @@ }; keys { + pinctrl-names = "default"; + pinctrl-0 = <&pinmux_disable_sys_led>; + compatible = "gpio-keys"; reset { From cd7a225d28494478c2d588d23b0021167bba1bad Mon Sep 17 00:00:00 2001 From: Sander Vanheule Date: Fri, 26 Nov 2021 22:16:02 +0100 Subject: [PATCH 02/45] realtek: add sys-led disable pinctrl for rtl930x Like for RTL838x devices, add a pinctrl-single node to manage the sys-led/gpio0 mux, and allow using the pin as GPIO. Co-developed-by: INAGAKI Hiroshi Signed-off-by: INAGAKI Hiroshi Signed-off-by: Sander Vanheule --- target/linux/realtek/dts-5.10/rtl930x.dtsi | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/target/linux/realtek/dts-5.10/rtl930x.dtsi b/target/linux/realtek/dts-5.10/rtl930x.dtsi index bfde5e6ff6..c2a992a174 100644 --- a/target/linux/realtek/dts-5.10/rtl930x.dtsi +++ b/target/linux/realtek/dts-5.10/rtl930x.dtsi @@ -135,6 +135,21 @@ }; + pinmux_led: pinmux@1b00cc00 { + compatible = "pinctrl-single"; + reg = <0x1b00cc00 0x4>; + + pinctrl-single,bit-per-mux; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0x1>; + #pinctrl-cells = <2>; + + /* enable GPIO 0 */ + pinmux_disable_sys_led: disable_sys_led { + pinctrl-single,bits = <0x0 0x0 0x1000>; + }; + }; + ethernet0: ethernet@1b00a300 { compatible = "realtek,rtl838x-eth"; reg = <0x1b00a300 0x100>; From 3edb5e841c1ab9fe6a1768610103ffa363dbc279 Mon Sep 17 00:00:00 2001 From: Sander Vanheule Date: Tue, 7 Jun 2022 09:21:51 +0200 Subject: [PATCH 03/45] realtek: add system LED for ZyXEL XGS1250-12 The devicetree for the ZyXEL XGS1250-12 was missing the description of the front panel LED labeled "PWR SYS". Let's add it so it can be controlled by the user. Signed-off-by: Sander Vanheule --- .../dts-5.10/rtl9302_zyxel_xgs1250-12.dts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/target/linux/realtek/dts-5.10/rtl9302_zyxel_xgs1250-12.dts b/target/linux/realtek/dts-5.10/rtl9302_zyxel_xgs1250-12.dts index d8164fd5c2..a57fc00c6e 100644 --- a/target/linux/realtek/dts-5.10/rtl9302_zyxel_xgs1250-12.dts +++ b/target/linux/realtek/dts-5.10/rtl9302_zyxel_xgs1250-12.dts @@ -5,11 +5,19 @@ #include #include +#include / { compatible = "zyxel,xgs1250-12", "realtek,rtl838x-soc"; model = "Zyxel XGS1250-12 Switch"; + aliases { + led-boot = &led_pwr_sys; + led-failsafe = &led_pwr_sys; + led-running = &led_pwr_sys; + led-upgrade = &led_pwr_sys; + }; + keys { compatible = "gpio-keys"; @@ -31,6 +39,19 @@ clock-frequency = <100000>; }; + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinmux_disable_sys_led>; + + led_pwr_sys: led-0 { + label = "green:power"; + color = ; + function = LED_FUNCTION_POWER; + gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; + }; + }; sfp0: sfp-p12 { compatible = "sff,sfp"; From b03109c094e63911ee913afc91f715895c5917d8 Mon Sep 17 00:00:00 2001 From: Sander Vanheule Date: Tue, 7 Jun 2022 08:42:05 +0200 Subject: [PATCH 04/45] realtek: add mux pinctrl for rtl931x Add a pinctrl-single node to manage the sys-led mux and JTAG mux. This allows using the associated pins as GPIOs: - sys-led: GPIO0 - JTAG: GPIO6, GPIO7, others unknown (TDO, TDI, TMS, TCK /TRST) Suggested-by: Birger Koblitz Signed-off-by: Sander Vanheule --- target/linux/realtek/dts-5.10/rtl931x.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/target/linux/realtek/dts-5.10/rtl931x.dtsi b/target/linux/realtek/dts-5.10/rtl931x.dtsi index 29aee1f7b2..a5166141e6 100644 --- a/target/linux/realtek/dts-5.10/rtl931x.dtsi +++ b/target/linux/realtek/dts-5.10/rtl931x.dtsi @@ -155,6 +155,25 @@ }; }; + pinmux: pinmux@1b001358 { + compatible = "pinctrl-single"; + reg = <0x1b001358 0x4>; + + pinctrl-single,bit-per-mux; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0x1>; + #pinctrl-cells = <2>; + + /* Enable GPIO6 and GPIO7, possibly unknown others */ + pinmux_disable_jtag: disable_jtag { + pinctrl-single,bits = <0x0 0x0 0x8000>; + }; + + /* Controls GPIO0 */ + pinmux_disable_sys_led: disable_sys_led { + pinctrl-single,bits = <0x0 0x0 0x100>; + }; + }; ethernet0: ethernet@1b00a300 { status = "okay"; From eae5e55a7938504691f8be27665c6fa3935a01d9 Mon Sep 17 00:00:00 2001 From: Sander Vanheule Date: Fri, 26 Nov 2021 22:16:47 +0100 Subject: [PATCH 05/45] realtek: remove hardcoded sys-led configurations setup.c unconditionally sets the sys-led mode (blinking rate) to a permanent high output. This may cause issues when a board expects this pin to toggle periodically, e.g. when hooked up to an external watchdog. If the sys-led peripheral is used to control an LED, the mux should be configured to use the pin as GPIO0, allowing for better control as a GPIO LED. Signed-off-by: Sander Vanheule --- .../files-5.10/arch/mips/rtl838x/setup.c | 40 ------------------- 1 file changed, 40 deletions(-) diff --git a/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c b/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c index 18c477eb0f..e0adbf87e9 100644 --- a/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c +++ b/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c @@ -28,31 +28,6 @@ extern struct rtl83xx_soc_info soc_info; -static void __init rtl838x_setup(void) -{ - /* Setup System LED. Bit 15 then allows to toggle it */ - sw_w32_mask(0, 3 << 16, RTL838X_LED_GLB_CTRL); -} - -static void __init rtl839x_setup(void) -{ - /* Setup System LED. Bit 14 of RTL839X_LED_GLB_CTRL then allows to toggle it */ - sw_w32_mask(0, 3 << 15, RTL839X_LED_GLB_CTRL); -} - -static void __init rtl930x_setup(void) -{ - if (soc_info.id == 0x9302) - sw_w32_mask(0, 3 << 13, RTL9302_LED_GLB_CTRL); - else - sw_w32_mask(0, 3 << 13, RTL930X_LED_GLB_CTRL); -} - -static void __init rtl931x_setup(void) -{ - sw_w32_mask(0, 3 << 12, RTL931X_LED_GLB_CTRL); -} - void __init plat_mem_setup(void) { void *dtb; @@ -71,21 +46,6 @@ void __init plat_mem_setup(void) * parsed resulting in our memory appearing */ __dt_setup_arch(dtb); - - switch (soc_info.family) { - case RTL8380_FAMILY_ID: - rtl838x_setup(); - break; - case RTL8390_FAMILY_ID: - rtl839x_setup(); - break; - case RTL9300_FAMILY_ID: - rtl930x_setup(); - break; - case RTL9310_FAMILY_ID: - rtl931x_setup(); - break; - } } void __init plat_time_init(void) From 0af4a269186e1a9e5fada5fdad9389453c7b390a Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 9 Jul 2022 17:27:17 +0200 Subject: [PATCH 06/45] libnl: update to 3.7.0 Changes: 1bb4162 libnl-3.7.0 release 897ec9c route: act: Allow full set of actions on gact,skbedit,mirred 00e46f1 Use print() function in both Python 2 and Python 3 083c1b6 sriov: fix setting ce_mask when parsing VF stat counter 2e9a4f7 Fix typos and errors cc87ad2 changelog: update URL to git history bde0b4c changelog: fix typos in ChangeLog 44988e6 route: format recently added code with clang-format df6e38b route/act: add NAT action 7304c42 route: format recently added code with clang-format f8eb218 cls: flower: extend flower API e5dc111 flower: use correct attribute when filling out flags df6058c tests: merge branch 'th/test-link' 9772c1d tests: add unit tests for creating links 4713b76 github: run unit tests several times and directly 8025547 github: export NLTST_SEED_RAND= to randomize unit tests 7efeca2 tests: add test utils f6f4d36 tests: reformat unit test files with clang-format 135a706 utils: add _NL_AUTO_DEFINE_FCN_STRUCT() macro 0ea11be utils: add _nl_thread_local macro 9b04936 route: fix crash caused by parse_multipath() by wrong free() 2effffe route/link: Set the cache ops when cloning a link 5ecd56c route/link: add lock around rtnl_link_af_ops_put() e1a077a route/link: avoid accessing af_ops after af_free() in rtnl_link_set_family() 3f4f1dd xfrm/sa: fix reference counters of sa selector addresses d3c783f all: merge branch 'th/coverity-fixes' 23a75c5 xfrm: fix uninitalized variables in build_xfrm_ae_message() d52dbcb route: fix check for NULL in nh_encap_dump() 1f61096 route/qdisc/mqprio: fix bufferoverflow and argument checking in rtnl_qdisc_mqprio_set_*() f918c3a route/sriov: fix buffer overflow in rtnl_link_sriov_parse_vflist() d4c7972 all: fix "-Wformat" warnings for nl_dump*() 6b2f238 netlink/utils.h: mark nl_dump() with __attribute__((format(printf,a,b))) d3bd278 netlink/utils.h: add internal _nl_attribute_printf macro for public headers a30b26d socket: workaround undefined behavior coverity warning in generate_local_port() 8acf6d5 nl-pktloc-lookup: fix buffer overflow when printing alignment bf3585f route/link/sriov: fix initializing vlans in rtnl_link_sriov_clone() dd06d22 route/qdisc/netem: fix bogus "%" in format string netem_dump_details() f50a802 route/u32: fix u32_dump_details() to print data fa79ee3 link/vrf: avoid coverity warning in rtnl_link_vrf_set_tableid() about CONSTANT_EXPRESSION_RESULT 31380f8 utils: suppress coverity warning in nl_cli_load_module() about leaked handle aa398b5 route/ip6vti,ip6gre: fix printing invalid data in ip6{vti,gre}_dump_details() 40683cc netlink/private: add internal helper utils 6615dc0 route/link: workaround coverity warning about leak in rtnl_link_set_type() ff5ef61 all: avoid coverity warnings about assigning variable but not using it f58a3c0 route/mdb: check parser error in mdb_msg_parser() for nested MDBA_MDB attribute 46506d3 route/mdb: add and use rtnl_mdb_entry_free() internal helper method 46e85d2 route/mdb: fix leak in mdb_msg_parser() b0641dd route/mdb: add _nl_auto_rtnl_mdb cleanup macro d544105 route/mdb: fix buffer overflow in mdb_msg_parser() 4d12b63 tests: silently ignore EACCES for setting uid_map for test namespace ec712a4 tests: cleanup unshare_user() and use _nltst_fclose() 85e3c5d tests: add _assert_nltst_netns() helper 39e4d8d github: test out-of-tree build and "--disable-static" d63e473 github: build documentation in CI test fa7f97f build: avoid building check-direct with --disable-static 8c741a7 tools: fix aborting on failure in "tools/build_release.sh" script e2aa409 doc: fix markup error in "doc/route.txt" 4f3b4f9 doc: fix python2-ism in "doc/resolve-asciidoc-refs.py" Signed-off-by: Nick Hainke --- package/libs/libnl/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libs/libnl/Makefile b/package/libs/libnl/Makefile index b6eae82651..bb7a1e7fb1 100644 --- a/package/libs/libnl/Makefile +++ b/package/libs/libnl/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libnl -PKG_VERSION:=3.6.0 +PKG_VERSION:=3.7.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(PKG_VERSION)) -PKG_HASH:=532155fd011e5a805bd67121b87a01c757e2bb24112ac17e69cb86013b970009 +PKG_HASH:=9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939 PKG_LICENSE:=LGPL-2.1 PKG_LICENSE_FILES:=COPYING From 6902af4f3075154b5d1de207452a8a5668f95203 Mon Sep 17 00:00:00 2001 From: Jianhui Zhao Date: Wed, 6 Jul 2022 14:23:31 +0800 Subject: [PATCH 07/45] libpcap: fix PKG_CONFIG_DEPENDS for rpcapd This fix allows trigger a rerun of Build/Configure when rpcapd was selected. Signed-off-by: Jianhui Zhao --- package/libs/libpcap/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/libs/libpcap/Makefile b/package/libs/libpcap/Makefile index 2e5fc07831..d5d9436994 100644 --- a/package/libs/libpcap/Makefile +++ b/package/libs/libpcap/Makefile @@ -21,6 +21,8 @@ PKG_LICENSE_FILES:=LICENSE PKG_ASLR_PIE_REGULAR:=1 +PKG_CONFIG_DEPENDS := CONFIG_PACKAGE_rpcapd + include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk From 3707e5cbe33b6d00c3405fb6fead6cc1677b01ca Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 3 Jul 2022 23:29:21 +0200 Subject: [PATCH 08/45] wpan-tools: cleanup Makefile - Use SPDX - Add PKG_RELEASE - Change wpan.cakelab.org to linux-wpan.org/wpan-tools.html - Switch to github.com as PKG_SOURCE_URL Signed-off-by: Nick Hainke --- package/network/utils/wpan-tools/Makefile | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/package/network/utils/wpan-tools/Makefile b/package/network/utils/wpan-tools/Makefile index 060aaf5046..309a819cd4 100644 --- a/package/network/utils/wpan-tools/Makefile +++ b/package/network/utils/wpan-tools/Makefile @@ -1,18 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) 2015 OpenWrt.org # -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# include $(TOPDIR)/rules.mk PKG_NAME:=wpan-tools PKG_VERSION:=0.7 +PKG_RELEASE=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=http://wpan.cakelab.org/releases/ -PKG_HASH:=c16de9d7861c2d9b6a4436a0fac730f9f545ee290b92bc770c538ec6a3f22309 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://github.com/linux-wpan/wpan-tools/releases/download/$(PKG_NAME)-$(PKG_VERSION)/$(PKG_NAME)-$(PKG_VERSION).tar.gz? +PKG_HASH:=8b690ff0e71e08bece5ec541223fda7abd2d5552d97d3d25b4967609b58fef00 include $(INCLUDE_DIR)/package.mk @@ -20,7 +19,7 @@ define Package/wpan-tools SECTION:=net CATEGORY:=Network TITLE:=cfg802154 interface configuration utility - URL:=http://wpan.cakelab.org/ + URL:=https://linux-wpan.org/wpan-tools.html DEPENDS:= +libnl endef From 9194cee55360b832cae70ec2716cb7ba9c40b55a Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Mon, 4 Jul 2022 11:58:59 +0200 Subject: [PATCH 09/45] wpan-tools: update to 0.8 Remove upstreamed patches: - 001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch Changes: - examples: add README with details to the various examples - examples: af_ieee802154_tx example - examples: af_ieee802154_rx example - examples: add af_packet_rx example - examples: af_inet6_rx example - examples: af_packet_tx example - examples: af_inet6_tx example - examples: add .gitignore file for examples directory - src/nl_extras.h: fix compatibility with libnl 3.3.0 - wpan-ping: add the support to set wpan-ping interval - wpan-ping: Add the filtering function for frame receiving Signed-off-by: Nick Hainke --- package/network/utils/wpan-tools/Makefile | 4 +- ...h-fix-compatibility-with-libnl-3.3.0.patch | 44 ------------------- 2 files changed, 2 insertions(+), 46 deletions(-) delete mode 100644 package/network/utils/wpan-tools/patches/001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch diff --git a/package/network/utils/wpan-tools/Makefile b/package/network/utils/wpan-tools/Makefile index 309a819cd4..3491d82b44 100644 --- a/package/network/utils/wpan-tools/Makefile +++ b/package/network/utils/wpan-tools/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wpan-tools -PKG_VERSION:=0.7 +PKG_VERSION:=0.8 PKG_RELEASE=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/linux-wpan/wpan-tools/releases/download/$(PKG_NAME)-$(PKG_VERSION)/$(PKG_NAME)-$(PKG_VERSION).tar.gz? -PKG_HASH:=8b690ff0e71e08bece5ec541223fda7abd2d5552d97d3d25b4967609b58fef00 +PKG_HASH:=0e22cadbc40d4c12d0a66e8175bda12046f03237ce6da23d4fd26fd3ab557d8b include $(INCLUDE_DIR)/package.mk diff --git a/package/network/utils/wpan-tools/patches/001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch b/package/network/utils/wpan-tools/patches/001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch deleted file mode 100644 index 1370854b6b..0000000000 --- a/package/network/utils/wpan-tools/patches/001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch +++ /dev/null @@ -1,44 +0,0 @@ -From bb522bd584f05e6658d5dba97f48ca018f46394c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 6 May 2017 14:36:08 +0200 -Subject: [PATCH] src/nl_extras.h: fix compatibility with libnl 3.3.0 - -nl_extras.h defines a set of nla_set_s*() functions if not provided by -libnl. They are provided by libnl since version 3.2.26. The test -(LIBNL_VER_MIC <= 26) was working fine while libnl was in the 3.2.x -series, but now that they have incremented the minor version, the -micro version was reset to 0, with the latest libnl version being -3.3.0. - -Due to this, the condition (LIBNL_VER_MIC <= 26) is true, and we get -redefinition errors because nl_extras.h redefines functions already -provided by libnl. - -This commit improves the condition so that nl_extras.h provides the -missing functions only if the minor version is < 2, or if minor is 2 -and micro is < 26. - -Signed-off-by: Thomas Petazzoni ---- - src/nl_extras.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/src/nl_extras.h -+++ b/src/nl_extras.h -@@ -1,7 +1,7 @@ - #ifndef __NL_EXTRAS_H - #define __NL_EXTRAS_H - --#if LIBNL_VER_MIC <= 26 -+#if (LIBNL_VER_MIN < 2) || (LIBNL_VER_MIN == 2) && (LIBNL_VER_MIC <= 26) - - #ifndef NLA_S8 - -@@ -45,6 +45,6 @@ static inline int32_t nla_get_s32(struct - - #endif /* NLA_S64 */ - --#endif /* LIBNL_VER_MIC */ -+#endif /* LIBNL_VER_* */ - - #endif /* __NL_EXTRAS_H */ From 202ecc9f4b6b59f13153e2fa13c8a70b6fe565f6 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Mon, 4 Jul 2022 12:00:23 +0200 Subject: [PATCH 10/45] wpan-tools: update to 0.9 Changes: - wpan-ping: fix ifname setting - wpan-hwsim: hardware simulator configuration utility - wpan-hwsim: fix long option argument option for dot - Don't install examples - hwsim: make sure lqi is always initialized - iwpan: fix clang compiler warning on absolute-value - examples: fix wrongly used unsigned attribute - build: hwsim: fix list of files needed for dist build Signed-off-by: Nick Hainke --- package/network/utils/wpan-tools/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/utils/wpan-tools/Makefile b/package/network/utils/wpan-tools/Makefile index 3491d82b44..7b2cfe7a60 100644 --- a/package/network/utils/wpan-tools/Makefile +++ b/package/network/utils/wpan-tools/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wpan-tools -PKG_VERSION:=0.8 +PKG_VERSION:=0.9 PKG_RELEASE=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/linux-wpan/wpan-tools/releases/download/$(PKG_NAME)-$(PKG_VERSION)/$(PKG_NAME)-$(PKG_VERSION).tar.gz? -PKG_HASH:=0e22cadbc40d4c12d0a66e8175bda12046f03237ce6da23d4fd26fd3ab557d8b +PKG_HASH:=fa76d9c1874220e4b1f91c226f42baf1e372ea8ccf4b892effaf0d164448f608 include $(INCLUDE_DIR)/package.mk From 59610c214b7a7ddfc700d87cc3f063f7f2fe6a3e Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 3 Jul 2022 21:04:23 +0200 Subject: [PATCH 11/45] jansson: cleanup and switch to codeload.github.com - Rearrange Makefile. - Switch to codeload.github.com because it looks like new version are not longer deployed at www.digip.org Signed-off-by: Nick Hainke --- package/libs/jansson/Makefile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/package/libs/jansson/Makefile b/package/libs/jansson/Makefile index 5799a362dd..07bab58a54 100644 --- a/package/libs/jansson/Makefile +++ b/package/libs/jansson/Makefile @@ -10,13 +10,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=jansson PKG_VERSION:=2.13.1 PKG_RELEASE:=2 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/akheron/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=f22901582138e3203959c9257cf83eba9929ac41d7be4a42557213a22ebcc7a0 + PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=http://www.digip.org/jansson/releases/ -PKG_HASH:=ee90a0f879d2b7b7159124ff22b937a2a9a8c36d3bb65d1da7dd3f04370a10bd - include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk From 5ab22c8b992fc4dbaa522baa5d31cb6d797a145e Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 3 Jul 2022 21:08:55 +0200 Subject: [PATCH 12/45] jansson: update to 2.14 Changes (2021-09-09): * New Features: - Add `json_object_getn`, `json_object_setn`, `json_object_deln`, and the corresponding `nocheck` functions. * Fixes: - Handle `sprintf` corner cases * Build: - Symbol versioning for all exported symbols - Fix compiler warnings * Documentation: - Small fixes - Sphinx 3 compatibility Signed-off-by: Nick Hainke --- package/libs/jansson/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libs/jansson/Makefile b/package/libs/jansson/Makefile index 07bab58a54..4b0b7601c9 100644 --- a/package/libs/jansson/Makefile +++ b/package/libs/jansson/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=jansson -PKG_VERSION:=2.13.1 +PKG_VERSION:=2.14 PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/akheron/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=f22901582138e3203959c9257cf83eba9929ac41d7be4a42557213a22ebcc7a0 +PKG_HASH:=c739578bf6b764aa0752db9a2fdadcfe921c78f1228c7ec0bb47fa804c55d17b PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE @@ -33,7 +33,7 @@ define Package/jansson CATEGORY:=Libraries TITLE:=Jansson library URL:=http://www.digip.org/jansson/ - ABI_VERSION:=4 + ABI_VERSION:=5 endef define Package/jansson/description From d858511723b6791b357e6285a2cddeece9701dc7 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 3 Jul 2022 13:46:12 +0200 Subject: [PATCH 13/45] libusb: update to 1.0.25 Remove upstreamed patche: - 001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch - 002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch Changelog: 2022-01-31: v1.0.25 * Linux: Fix regression with some particular devices * Linux: Fix regression with libusb_handle_events_timeout_completed() * Linux: Fix regression with cpu usage in libusb_bulk_transfer * Darwin (macOS): Add support for detaching kernel drivers with authorization. * Darwin (macOS): Do not drop partial data on timeout. * Darwin (macOS): Silence pipe error in set_interface_alt_setting(). * Windows: Fix HID backend missing byte * Windows: Fix segfault with libusbk driver * Windows: Fix regression when using libusb0 driver * Windows: Support LIBUSB_TRANSFER_ADD_ZERO_PACKET on winusb * New NO_DEVICE_DISCOVERY option replaces WEAK_AUTHORITY option * Various other bug fixes and improvements Signed-off-by: Nick Hainke --- package/libs/libusb/Makefile | 4 +- ...n-the-Changelog-and-clean-up-a-stray.patch | 29 --------- ...parsing-of-descriptors-for-multi-con.patch | 61 ------------------- 3 files changed, 2 insertions(+), 92 deletions(-) delete mode 100644 package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch delete mode 100644 package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch diff --git a/package/libs/libusb/Makefile b/package/libs/libusb/Makefile index fc26468c49..5abd4c676b 100644 --- a/package/libs/libusb/Makefile +++ b/package/libs/libusb/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libusb -PKG_VERSION:=1.0.24 +PKG_VERSION:=1.0.25 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=\ https://github.com/libusb/libusb/releases/download/v$(PKG_VERSION) \ @SF/$(PKG_NAME) -PKG_HASH:=7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a +PKG_HASH:=8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849 PKG_MAINTAINER:= Felix Fietkau PKG_LICENSE:=LGPL-2.1-or-later diff --git a/package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch b/package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch deleted file mode 100644 index b17d6178d3..0000000000 --- a/package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 369af149e3ad92514a2d24f112cedfeb7acaf558 Mon Sep 17 00:00:00 2001 -From: Chris Dickens -Date: Sun, 13 Dec 2020 15:46:27 -0800 -Subject: [PATCH] Correct a typo in the Changelog and clean up a stray file - -Signed-off-by: Chris Dickens ---- - ChangeLog | 2 +- - libusb/version_nano.h | 2 +- - test | 0 - 3 files changed, 2 insertions(+), 2 deletions(-) - delete mode 100644 test - ---- a/ChangeLog -+++ b/ChangeLog -@@ -12,7 +12,7 @@ visit: http://log.libusb.info - * Darwin (macOS): use IOUSBDevice as darwin_device_class explicitly (#693) - * Linux: Drop support for kernel older than 2.6.32 - * Linux: Provide an event thread name (#689) --* Linux: Wait until all USBs have been reaped before freeing them (#607) -+* Linux: Wait until all URBs have been reaped before freeing them (#607) - * NetBSD: Recognize device timeouts (#710) - * OpenBSD: Allow opening ugen devices multiple times (#763) - * OpenBSD: Support libusb_get_port_number() (#764) ---- a/libusb/version_nano.h -+++ b/libusb/version_nano.h -@@ -1 +1 @@ --#define LIBUSB_NANO 11584 -+#define LIBUSB_NANO 11585 diff --git a/package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch b/package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch deleted file mode 100644 index a53a8900de..0000000000 --- a/package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch +++ /dev/null @@ -1,61 +0,0 @@ -From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Mon Sep 17 00:00:00 2001 -From: Chris Dickens -Date: Sun, 13 Dec 2020 15:49:19 -0800 -Subject: [PATCH] linux_usbfs: Fix parsing of descriptors for - multi-configuration devices - -Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device -initialization") introduced a regression for devices with multiple -configurations. The logic that verifies the reported length of the -configuration descriptors failed to count the length of the -configuration descriptor itself and would truncate the actual length by -9 bytes, leading to a parsing error for subsequent descriptors. - -Closes #825 - -Signed-off-by: Chris Dickens ---- - libusb/os/linux_usbfs.c | 12 ++++++++---- - libusb/version_nano.h | 2 +- - 2 files changed, 9 insertions(+), 5 deletions(-) - ---- a/libusb/os/linux_usbfs.c -+++ b/libusb/os/linux_usbfs.c -@@ -641,7 +641,12 @@ static int seek_to_next_config(struct li - uint8_t *buffer, size_t len) - { - struct usbi_descriptor_header *header; -- int offset = 0; -+ int offset; -+ -+ /* Start seeking past the config descriptor */ -+ offset = LIBUSB_DT_CONFIG_SIZE; -+ buffer += LIBUSB_DT_CONFIG_SIZE; -+ len -= LIBUSB_DT_CONFIG_SIZE; - - while (len > 0) { - if (len < 2) { -@@ -718,7 +723,7 @@ static int parse_config_descriptors(stru - } - - if (priv->sysfs_dir) { -- /* -+ /* - * In sysfs wTotalLength is ignored, instead the kernel returns a - * config descriptor with verified bLength fields, with descriptors - * with an invalid bLength removed. -@@ -727,8 +732,7 @@ static int parse_config_descriptors(stru - int offset; - - if (num_configs > 1 && idx < num_configs - 1) { -- offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE, -- remaining - LIBUSB_DT_CONFIG_SIZE); -+ offset = seek_to_next_config(ctx, buffer, remaining); - if (offset < 0) - return offset; - sysfs_config_len = (uint16_t)offset; ---- a/libusb/version_nano.h -+++ b/libusb/version_nano.h -@@ -1 +1 @@ --#define LIBUSB_NANO 11585 -+#define LIBUSB_NANO 11586 From ccfb736c2315f6c4644066f9ef95080455a273e2 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 3 Jul 2022 13:52:11 +0200 Subject: [PATCH 14/45] libusb: update to 1.0.26 Add libatomic as dependency. Changelog: 2022-04-10: v1.0.26 * Fix regression with transfer free's after closing device * Fix regression with destroyed context if API is misused * Workaround for applications using missing default context * Fix hotplog enumeration regression * Fix Windows isochronous transfer regression since 1.0.24 * Fix macOS exit crash in some multi-context cases * Build fixes for various platforms and configurations * Fix Windows HID multi-interface product string retrieval * Update isochronous OUT packet actual lengths on Windows * Add interface bound checking for broken devices * Add umockdev tests on Linux Signed-off-by: Nick Hainke --- package/libs/libusb/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libs/libusb/Makefile b/package/libs/libusb/Makefile index 5abd4c676b..5e4046813a 100644 --- a/package/libs/libusb/Makefile +++ b/package/libs/libusb/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libusb -PKG_VERSION:=1.0.25 +PKG_VERSION:=1.0.26 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=\ https://github.com/libusb/libusb/releases/download/v$(PKG_VERSION) \ @SF/$(PKG_NAME) -PKG_HASH:=8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849 +PKG_HASH:=12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5 PKG_MAINTAINER:= Felix Fietkau PKG_LICENSE:=LGPL-2.1-or-later @@ -30,7 +30,7 @@ define Package/libusb-1.0 SECTION:=libs CATEGORY:=Libraries TITLE:=A library for accessing Linux USB devices - DEPENDS:=+libpthread +librt + DEPENDS:=+libpthread +librt +libatomic URL:=http://libusb.info/ ABI_VERSION:=0 endef From 820093d5a66352ba594b2b41e66512c714b92301 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 2 Jul 2022 18:39:55 +0200 Subject: [PATCH 15/45] binutils: update to 2.38 Changelog: Assembler: General: * Add support for the LoongArch architecture. * Add an option to control how multibyte characters are handled in the assembler. Using the option warnings can be generated when such characters are encountered in symbol names, or anywhere in the input source file(s). AArch64 and ARM: * Add support for more system registers. * Add support for Scalable Matrix Extension. * Add support for Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710 cores. * Add support for 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a', 'armv9.2-a' and 'armv9.3-a' architecture extensions. X86: * Add a command-line option to encode aligned vector move as unaligned vector move. * Add support for Intel AVX512_FP16 instructions. * The outputs of .ds.x directive and .tfloat directive with hex input have been reduced from 12 bytes to 10 bytes to match the output of .tfloat directive. Linker: * Add support for the LoongArch architecture. * Add -z pack-relative-relocs/-z no pack-relative-relocs to x86 ELF linker to pack relative relocations in the DT_RELR section. * Add -z indirect-extern-access/-z noindirect-extern-access to x86 ELF linker to control canonical function pointers and copy relocation. Other Binary Tools: * elfedit: Add --output-abiversion option to update ABIVERSION. * Tools which display symbols or strings (readelf, strings, nm, objdump) have a new command line option which controls how unicode characters are handled. By default they are treated as normal for the tool. Using --unicode=locale will display them according to the current locale. Using --unicode=hex will display them as hex byte values, whilst --unicode=escape will display them as escape sequences. In addition using --unicode=highlight will display them as unicode escape sequences highlighted in red (if supported by the output device). * readelf -r dumps RELR relative relocations now. * Support for efi-app-aarch64, efi-rtdrv-aarch64 and efi-bsdrv-aarch64 has been added to objcopy in order to enable UEFI development using binutils. * ar: Add --thin for creating thin archives. -T is a deprecated alias without diagnostics. In many ar implementations -T has a different meaning, as specified by X/Open System Interface. Signed-off-by: Nick Hainke --- package/devel/binutils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/devel/binutils/Makefile b/package/devel/binutils/Makefile index 522a971051..75fdd320cd 100644 --- a/package/devel/binutils/Makefile +++ b/package/devel/binutils/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=binutils -PKG_VERSION:=2.37 -PKG_RELEASE:=2 +PKG_VERSION:=2.38 +PKG_RELEASE:=1 PKG_SOURCE_URL:=@GNU/binutils PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_VERSION:=$(PKG_VERSION) -PKG_HASH:=820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c +PKG_HASH:=e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024 PKG_FIXUP:=patch-libtool PKG_LIBTOOL_PATHS:=. gas bfd opcodes gprof binutils ld libiberty gold intl From 2c7101360f2f7f7a703cd1b5b6da632ef0b7d8f1 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 2 Jul 2022 16:52:25 +0200 Subject: [PATCH 16/45] lldpd: switch to codeload.github.com The mirror does not seem to work well anymore. Switch to codeload.github.com. Signed-off-by: Nick Hainke --- package/network/services/lldpd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/services/lldpd/Makefile b/package/network/services/lldpd/Makefile index 8eb7e35716..d4633414dc 100644 --- a/package/network/services/lldpd/Makefile +++ b/package/network/services/lldpd/Makefile @@ -9,11 +9,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lldpd PKG_VERSION:=1.0.13 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://media.luffy.cx/files/lldpd -PKG_HASH:=d639827fd8a27720d1bfd94bc52eca24af63ddcc3c9d2da60788778889d84701 +PKG_SOURCE_URL:=https://codeload.github.com/lldpd/lldpd/tar.gz/$(PKG_VERSION)? +PKG_HASH:=4a167b2f197554185262f0e0da9f89810e2ab4598439493e176b85c74c328d8c PKG_MAINTAINER:=Stijn Tintel PKG_LICENSE:=ISC From ce6e034c52d0edbc1cf96d2b918a0a2186a66106 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 2 Jul 2022 16:22:09 +0200 Subject: [PATCH 17/45] lldpd: update to 1.0.14 Changes - Add configure commands to alter inventory TLVs Fixes - Update seccomp rules for newer kernel/libc - Correctly handle an interface whose index has changed - Don't send VLANs when there are too many Signed-off-by: Nick Hainke --- package/network/services/lldpd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/services/lldpd/Makefile b/package/network/services/lldpd/Makefile index d4633414dc..c9c66e8d93 100644 --- a/package/network/services/lldpd/Makefile +++ b/package/network/services/lldpd/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lldpd -PKG_VERSION:=1.0.13 -PKG_RELEASE:=4 +PKG_VERSION:=1.0.14 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/lldpd/lldpd/tar.gz/$(PKG_VERSION)? -PKG_HASH:=4a167b2f197554185262f0e0da9f89810e2ab4598439493e176b85c74c328d8c +PKG_HASH:=0cb77fd7634401347b8311db1bf64d4fc3890acba90915e2cc2c5f79045ddbf0 PKG_MAINTAINER:=Stijn Tintel PKG_LICENSE:=ISC From ad0733a7f0aa7c00c621fd7d85978f7204188cef Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Mon, 27 Jun 2022 15:24:04 +0200 Subject: [PATCH 18/45] libtool: update to 2.4.7 Changes: 6d7ce133 version 2.4.7 b4a37606 NEWS: roll-back manually filled NEWS versioning 33615a45 NEWS: fill entries for past commits f5eb6f11 libltdl: bump libltdl.la version-info. 28fbcb6a libtool: correct linter syntax complaints in M4 7e69e441 gnulib: update submodule to new repository. 2dc7dad7 maint: update copyrights across project. b55b1cc8 libtool: Do not pass '-pthread' to Solaris linker. 960a33e4 docs: manually recording dependencies in Automake 78652682 tests: remove deprecated old-ltdl-iface.at test. f51eddf0 * libtool: Bump M4 serial versions and add missing AC_PROG_SED to ltdl.m4 ccc878dd libtool: replace raw invocations of sed with $SED 5df7dd49 libtool: add support for MidnightBSD 8f4bdbda libtool: powerpc 10.5 detection without a deployment target 9e8c8825 libtool: support macOS 11 0904164d libtool: correct m4 quoting in sed expression da2e3527 libtool: replace some references to /usr/bin/file and /bin/sh 1b74d784 libtool: Add -Wa,* link-mode flag for assembler pass-thru 86d71e86 libtool: Pass -Xassembler flag and arguments to compiler fc7779d7 maint: update Bootstrap git module 0c1bc69d maint: update copyrights across project. 28fb394f maint: update AUTHORS, copyright date. b9b44533 bootstrap: use $gnulib_clone_since 544fc0e2 maint: update bootstrap, gnulib, copyright dates b88cebd5 maint: update bootstrap, gnulib, copyright dates 99bd0948 libtool: add icl.exe support 6ca5e224 docs: typo in 'win32-dll' description 1bfb11a4 libtool: quote 'cd' command in shipped relink_command 722b6af0 doc: fix typos in --mode=install invocations 350082b6 libtool: exit verbosely for fatal configure problems 792b6807 maint: update copyright years f003a1f9 libltdl: handle ENOMEM in lt_dlloader_remove() 08c5524f bootstrap: use the upstream repo as git module a938703c libtool: set file_list_spec to '@' on OS/2 f10e22c2 tests: fix $objdir hardcoding check with CFLAGS=-g3 f9970d99 libtool: pass through -fuse-ld flags d7c8d3b4 m4/libtool.m4: FreeBSD elftoolchain strip support 807cbd63 libtoolize: exec automake and autoconf only with --help 40bc0628 edit-readme-alpha: generate the "stable" README properly b89a47ea maint: fix for 'make sc_immutable_NEWS' hints bb8e7b4a maint: update copyright years b5d44b84 libltdl: handle ENOMEM sooner 5944fdcc gl: minor typo fixes 49856679 gl-tests: dash && option-parser test fix a5c64665 libtool: fix GCC/clang linking with -fsanitize=* ae816ace gl-tests: make the failure more readable d15b3214 m4/libtool.m4: export AIX TLS symbols aabc46ac gl/tests: new tests for options-parser dc8bd92d gl/funclib.sh: func_quotefast_eval & tilde fix a3c6e99c syntax-check: fix sed syntax errors f323f10d gl/tests: new tests for func_quote* family ed4f739f check: enable gnulib's testsuite 9187e9a2 funclib: refactor quoting methods a bit 16dbc070 libtool: optimizing options-parser hooks 32f0df98 libtool: mitigate the $sed_quote_subst slowdown b7b6ec33 gnulib: sync with upstream 5859cc50 maint: relax 'sc_prohibit_test_dollar' check 418129bc ARFLAGS: use 'cr' instead of 'cru' by default 4335de1d libool.m4: add ARFLAGS variable 0f842177 maint: put newline after 'Subject' in ChangeLog 03ec5f49 gnulib: sync with upstream 351a88fe libtoolize: fix infinite recursion in m4 de7b2cb2 bootstrap: fix race in temporary Makefile 702a97fb libtool: fix GCC linking with -specs=* 4ff16210 maint: demote myself from maintainer to former maintainer. c12d38e4 maint: post-release administrivia Signed-off-by: Nick Hainke --- package/libs/libtool/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libs/libtool/Makefile b/package/libs/libtool/Makefile index 4b54ac495d..f897f98c16 100644 --- a/package/libs/libtool/Makefile +++ b/package/libs/libtool/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libtool -PKG_VERSION:=2.4.6 -PKG_RELEASE:=2 +PKG_VERSION:=2.4.7 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/libtool -PKG_HASH:=7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f +PKG_HASH:=4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d PKG_LICENSE:=GPL-2.0+ PKG_LICENSE_FILES:=COPYING From 436fad7a3edaf071b45d8201e839acd914be4d10 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 14 May 2022 07:04:12 +0200 Subject: [PATCH 19/45] iptables: update to 1.8.8 Remove upstreamed patches: - 001-xtables-Call-init_extensions6-for-static-builds.patch - 002-xtables-Call-init_extensions_a_b.patch Fix patches: - 102-iptables-disable-modprobe.patch Fix warnings in the form of: xtables.c:475:14: warning: 'get_modprobe' defined but not used [-Wunused-function] 475 | static char *get_modprobe(void) | ^~~~~~~~~~~~ Backport patches: - 020-treewide-use-uint-instead-of-u_int.patch - 030-revert-fix-build-for-missing-ETH_ALEN-definition.patch - 040-xshared-Fix-build-for-Werror-format-security.patch - 050-build-fix-error-during-out-of-tree-build.patch - 060-libxtables-unexport-init_extensions-declarations.patch Refresh patches: - 101-remove-check-already.patch - 102-iptables-disable-modprobe.patch - 200-configurable_builtin.patch - 600-shared-libext.patch - 700-disable-legacy-revisions.patch Remove from Makefile: $(CP) $(PKG_BUILD_DIR)/include/libipulog $(1)/usr/include/ Changelog: fa0ccdbd configure: bump version for 1.8.8 release 8468fd4f nft: Fix EPERM handling for extensions without rev 0 ce9195c6 extensions: LOG: Document --log-macdecode in man page 404f304d man: *NAT: Review --random* option descriptions 0a538259 extensions: DNAT: Merge core printing functions a7c2b728 libxtables: Revert change to struct xtables_pprot fd64a587 libxtables: Drop xtables_globals 'optstring' field 3b8a6a6f xshared: Extend xtables_printhelp() for arptables 8ff84eaf xshared: Move arp_opcodes into shared space adbfec0b extensions: MARK: Drop extra newline at end of help 1dcfb81e nft: split gen_payload() to allocate register and initialize expression 7e38890c nft: prepare for dynamic register allocation 165cafec nft: pass handle to helper functions to build netlink payload 94309632 nft: native mark matching support aa92ec96 nft: pass struct nft_xt_ctx to parse_meta() 4c70c42f nft-shared: update context register for bitwise expression 18c96821 extensions: man: Document service name support in DNAT and REDIRECT 72d542b6 extensions: Merge REDIRECT into DNAT 14d77c8a extensions: Merge IPv4 and IPv6 DNAT targets 9621318b extensions: DNAT: Rename from libipt to libxt 2e0c9a40 extensions: ipt_DNAT: Combine xlate functions also 7adef314 extensions: ipt_DNAT: Merge v1/v2 print/save code 3f4f1cf0 extensions: ipt_DNAT: Merge v1 and v2 parsers 070a8626 Revert "libipt_[SD]NAT: avoid false error about multiple destinations specified" 08c14fa6 man: DNAT: Describe shifted port range feature 24fff5d7 xlate-test: Fix for empty source line on failure ac4c84cc libxtables: Boost rule target checks by announcing chain names f58b0d74 libxtables: Implement notargets hash table b1aee6b2 nft: Reject standard targets as chain names when restoring b555bfed tests: shell: Fix 0004-return-codes_0 for static builds c293e116 nft: Review static extension loading 0836524f xtables: Call init_extensions{,a,b}() for static builds 6c689b63 Simplify static build extension loading 0c8e2535 libxtables: Fix for warning in xtables_ipmask_to_numeric 0c0cd434 nft: Don't pass command state opaque to family ops callbacks b6196c75 xshared: Prefer xtables_chain_protos lookup over getprotoent 07ee529f nft: Speed up immediate parsing b5f2faea nft: Simplify immediate parsing 17534cb1 Improve error messages for unsupported extensions 2dbb49d1 libxtables: Register only the highest revision extension 07e2107e xshared: Implement xtables lock timeout using signals a3980769 tests: NFLOG: enable `--nflog-range` tests b8e8ac27 tests: support explicit variant test result adb03c3f tests: add `NOMATCH` test result 7a006c7d tests: iptables-test: rename variable b7f15b42 iptables.8: Describe the effect of multiple -v flags 1407a9c4 tests: iptables-test: Support variant deviation fc8f7289 nft: cache: Dump rules if debugging 73b91292 nft: Add debug output to table creation 51d9d9e0 ebtables: Support verbose mode ad1ed75f nft: Set NFTNL_CHAIN_FAMILY in new chains 17ed253f iptables-restore: Support for extra debug output a761a026 nft: Use verbose flag to toggle debug output 98e69b7e nft: add support for native tcp flag matching 92808bd5 nft-shared: add tcp flag dissection 6aba94ef nft: prefer native expressions instead of tcp match c034cf31 nft: prefer native expressions instead of udp match 5489493e nft-shared: support native udp port delinearize 5795a1b5 nft-shared: support native tcp port range delinearize 250dce87 nft-shared: support native tcp port delinearize ea5d45dc extensions: libxt_NFLOG: fix typo 26ecdf53 xshared: Fix response to unprivileged users b32ae771 build: replace `AM_PROG_LIBTOOL` and `AC_DISABLE_STATIC` with `LT_INIT` 05286bab extensions: libxt_NFLOG: remove extra space when saving targets with prefixes f0d02998 extensions: libxt_NFLOG: fix `--nflog-prefix` Python test-cases f9df828a extensions: libxt_NFLOG: disable `--nflog-range` Python test-cases 62ad29e9 extensions: libxt_NFLOG: don't truncate log prefix on print/save db99f601 extensions: libxt_NFLOG: use nft built-in logging instead of xt_NFLOG 30b178b9 extensions: *NAT: Kill multiple IPv4 range support 7ee5b970 tests: iptables-test: correct misspelt variable 223f02ca nft: fix indentation error. 5c2c2eea ip6tables: Use the shared do_parse, too 9baf3bf0 iptables: Use xtables' do_parse() function e4f5185d nft: Move proto_parse and post_parse callbacks to xshared ded7b579 xshared: Store parsed wait and wait_interval in xtables_args 62c3c93d xshared: Move do_parse to shared space 3039a52c xtables: Do not pass nft_handle to do_parse() ece001c2 xtables: Pass xtables_args to check_inverse() 17abaeb1 xtables: Pass xtables_args to check_empty_interface() dc8d8fce xtables: Move struct nft_xt_cmd_parse to xshared.h 98a4462f xtables: Pull table validity check out of do_parse() d83371c7 xtables: Drop xtables' family on demand feature 49aa44ba nft-shared: set correct register value b129b1cf iptables-*-restore: Drop pointless line reference 316d8efb libxtables: Extend basic_exit_err() 4bff5aef xtables_globals: Embed variant name in .program_version 51e5d293 xshared: Share exit_tryhelp() 56ac0452 xshared: Share a common printhelp function 4149b5d8 xshared: Share print_match_save() between legacy ip*tables 273d88a7 extensions: tcpmss: add iptables-translate support 7213561d xshared: Make load_proto() static cf14b92b nft-shared: Drop unused function print_proto() 24f30842 xshared: Share print_header() with legacy iptables a323c283 xshared: Share print_fragment() with legacy 1d73cec0 xshared: Share print_rule_details() with legacy e5fb9f8e xshared: Share save_ipv{4,6}_addr() with legacy 22f2e1fc xshared: Share save_rule_details() with legacy 766e4872 xshared: Share print_iface() function b5881e7f nft: Change whitespace printing in save_rule callback 1189d830 xshared: Merge and share parse_chain() 1eab8e83 extensions: hashlimit: Fix tests with HZ=1000 afa525ee xlate-test: Print full path if testing all files b8d5271d Unbreak xtables-translate 0af80a91 nft: Merge xtables-arp-standalone.c into xtables-standalone.c 142cf724 xtables: arptables accepts empty interface names ab0a785a xtables: Derive xtables_globals from family 6cf3976e nft-shared: Make nft_check_xt_legacy() family agnostic 832a0e2b nft-arp: Introduce post_parse callback 0aea399d arptables: Use standard data structures when parsing fe83b12f libxtables: Introduce xtables_globals print_help callback 0687852d xtables-standalone: Drop version number from init errors dded8ff3 nft: Add family ops callbacks wrapping different nft_cmd_* functions 38e1fe58 xtables: Simplify addr_mask freeing cfdda180 nft-shared: Introduce init_cs family ops callback 65b150ae xshared: Store optstring in xtables_globals 2e6014c7 nft: Introduce builtin_tables_lookup() db90ff64 tests: shell: fix bashism 45d8f769 nft: Delete builtin chains compatibly e865a853 nft-chain: Introduce base_slot field f9b33967 nft: Check base-chain compatibility when adding to cache 43189612 nft: cache: Avoid double free of unrecognized base-chains 040a15f2 xtables-translate: add missing argument and option to usage 2ed6dc75 tests: iptables-test: Fix conditional colors on stderr 63ab4fe3 ebtables: Avoid dropping policy when flushing b714d45d iptables-test.py: print with color escapes only when stdout isatty 481626bb tests: shell: Return non-zero on error 7559af83 tests: iptables-test: Exit non-zero on error c057939d tests: xlate-test: Exit non-zero on error a8da7186 tests: iptables-test: Print errors to stderr 5166c445 tests: xlate-test: Print errors to stderr fa78ff15 tests: xlate-test: Don't skip any input after the first empty line fcbe454b tests: iptables-test: Fix missing chain case 61e85e31 iptables-nft: allow removal of empty builtin chains 544e7dc1 Fix a few doc typos e438b976 nft: Use xtables_{m,c}alloc() everywhere ca11c7b7 nft: Use xtables_malloc() in mnl_err_list_node_add() cf410aa6 extensions: libxt_mac: Fix for missing space in listing 7ae14dc1 iptables-test: Make netns spawning more robust bef9dc57 extensions: hashlimit: Fix tests with HZ=100 943fbf3e ip6tables: masquerade: use fully-random so that nft can understand the rule ef7781eb libxtables: exit if called by setuid executeable 8629c53f tests/shell: Assert non-verbose mode is silent 57d1422d nft: Fix for non-verbose check command 26318637 ebtables: Dump atomic waste 765bf04e doc: ebtables-nft.8: Adjust for missing atomic-options e727ccad xtables: Call init_extensions6() for static builds 9e1fffdf extensions: libxt_multiport: add translation for -m multiport --ports c8145139 extensions: libxt_conntrack: simplify translation using negation 1c934617 extensions: libxt_tcp: rework translation to use flags match representation bb01e33d extensions: libxt_connlimit: add translation 62828a6a tests: xlate-test: support multiline expectation ba863c4b libxtables: extend xlate infrastructure 68ed965b extensions: libxt_string: Avoid buffer size warning for strncpy() 9b85e1ab libxtables: Introduce xtables_strdup() and use it everywhere ca840c20 extensions: libebt_ip6: Use xtables_ip6parse_any() 084671d5 iptables-apply: Drop unused variable 0729ab37 nft: Avoid buffer size warnings copying iface names eab75ed3 nft: Avoid memleak in error path of nft_cmd_new() ffe88f8f libxtables: Fix memleak in xtopt_parse_hostmask() 8bb5bcae extensions: libebt_ip6: Drop unused variables 97fabae7 libxtables: Drop leftover variable in xtables_numeric_to_ip6addr() 5818be17 extensions: sctp: Translate --chunk-types option a61282ec extensions: sctp: Fix nftables translation 556f7044 Use proto_to_name() from xshared in more places eea68ca8 ebtables-translate: Use shared ebt_get_current_chain() function 9dc50b5b xshared: Merge invflags handling code 3664249f xshared: Eliminate iptables_command_state->invert f647f61f xtables: Make invflags 16bit wide 616800af extensions: SECMARK: Implement revision 1 1e984079 nft-arp: Make use of ipv4_addr_to_string() acac2dbe Eliminate inet_aton() and inet_ntoa() 9084ef29 extensions: sctp: Explain match types in man page a3e81c62 nft: Increase BATCH_PAGE_SIZE to support huge rulesets fdf64dcd nft: cache: Sort chains on demand only c5d9a723 fix build for missing ETH_ALEN definition 18d7535d extensions: libxt_conntrack: use bitops for status negation 18e334da extensions: libxt_conntrack: use bitops for state negation 831f57c7 libxtables: Simplify xtables_ipmask_to_cidr() a bit 46f9d3a9 xtables-translate: Fix translation of odd netmasks 330f5df0 nft: Fix bitwise expression avoidance detection 5f1fcace iptables-nft: fix -Z option c9441657 include: Drop libipulog.h 30c1d443 ebtables: Exit gracefully on invalid table names Signed-off-by: Nick Hainke --- package/network/utils/iptables/Makefile | 7 +- ...l-init_extensions6-for-static-builds.patch | 68 --------- ...002-xtables-Call-init_extensions_a_b.patch | 107 ------------- ...0-treewide-use-uint-instead-of-u_int.patch | 144 ++++++++++++++++++ ...uild-for-missing-ETH_ALEN-definition.patch | 60 ++++++++ ...Fix-build-for-Werror-format-security.patch | 23 +++ ...d-fix-error-during-out-of-tree-build.patch | 28 ++++ ...nexport-init_extensions-declarations.patch | 82 ++++++++++ .../patches/101-remove-check-already.patch | 4 +- .../102-iptables-disable-modprobe.patch | 13 +- .../patches/200-configurable_builtin.patch | 2 +- .../iptables/patches/600-shared-libext.patch | 2 +- .../700-disable-legacy-revisions.patch | 14 +- 13 files changed, 362 insertions(+), 192 deletions(-) delete mode 100644 package/network/utils/iptables/patches/001-xtables-Call-init_extensions6-for-static-builds.patch delete mode 100644 package/network/utils/iptables/patches/002-xtables-Call-init_extensions_a_b.patch create mode 100644 package/network/utils/iptables/patches/020-treewide-use-uint-instead-of-u_int.patch create mode 100644 package/network/utils/iptables/patches/030-revert-fix-build-for-missing-ETH_ALEN-definition.patch create mode 100644 package/network/utils/iptables/patches/040-xshared-Fix-build-for-Werror-format-security.patch create mode 100644 package/network/utils/iptables/patches/050-build-fix-error-during-out-of-tree-build.patch create mode 100644 package/network/utils/iptables/patches/060-libxtables-unexport-init_extensions-declarations.patch diff --git a/package/network/utils/iptables/Makefile b/package/network/utils/iptables/Makefile index 6546067553..fdb1aa916b 100644 --- a/package/network/utils/iptables/Makefile +++ b/package/network/utils/iptables/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=iptables -PKG_VERSION:=1.8.7 -PKG_RELEASE:=7 +PKG_VERSION:=1.8.8 +PKG_RELEASE:=1 PKG_SOURCE_URL:=https://netfilter.org/projects/iptables/files PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_HASH:=c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0 +PKG_HASH:=71c75889dc710676631553eb1511da0177bbaaf1b551265b912d236c3f51859f PKG_FIXUP:=autoreconf PKG_FLAGS:=nonshared @@ -650,7 +650,6 @@ define Build/InstallDev $(CP) $(PKG_BUILD_DIR)/include/iptables/*.h $(1)/usr/include/iptables/ $(CP) $(PKG_BUILD_DIR)/include/iptables.h $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/include/ip6tables.h $(1)/usr/include/ - $(CP) $(PKG_BUILD_DIR)/include/libipulog $(1)/usr/include/ $(CP) $(PKG_BUILD_DIR)/include/libiptc $(1)/usr/include/ $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ diff --git a/package/network/utils/iptables/patches/001-xtables-Call-init_extensions6-for-static-builds.patch b/package/network/utils/iptables/patches/001-xtables-Call-init_extensions6-for-static-builds.patch deleted file mode 100644 index 22ccfa533a..0000000000 --- a/package/network/utils/iptables/patches/001-xtables-Call-init_extensions6-for-static-builds.patch +++ /dev/null @@ -1,68 +0,0 @@ -From e727ccad036e2cdba3339536c65c7ceef43c0740 Mon Sep 17 00:00:00 2001 -From: Erik Wilson -Date: Tue, 13 Jul 2021 16:48:23 -0700 -Subject: [PATCH] xtables: Call init_extensions6() for static builds - -Initialize extensions from libext6 for cases where xtables is built statically. - -Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1550 -Signed-off-by: Erik Wilson -Signed-off-by: Florian Westphal ---- - iptables/xtables-monitor.c | 1 + - iptables/xtables-restore.c | 1 + - iptables/xtables-save.c | 1 + - iptables/xtables-standalone.c | 1 + - iptables/xtables-translate.c | 1 + - 5 files changed, 5 insertions(+) - ---- a/iptables/xtables-monitor.c -+++ b/iptables/xtables-monitor.c -@@ -628,6 +628,7 @@ int xtables_monitor_main(int argc, char - #if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) - init_extensions(); - init_extensions4(); -+ init_extensions6(); - #endif - - if (nft_init(&h, AF_INET, xtables_ipv4)) { ---- a/iptables/xtables-restore.c -+++ b/iptables/xtables-restore.c -@@ -364,6 +364,7 @@ xtables_restore_main(int family, const c - #if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) - init_extensions(); - init_extensions4(); -+ init_extensions6(); - #endif - break; - case NFPROTO_ARP: ---- a/iptables/xtables-save.c -+++ b/iptables/xtables-save.c -@@ -202,6 +202,7 @@ xtables_save_main(int family, int argc, - #if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) - init_extensions(); - init_extensions4(); -+ init_extensions6(); - #endif - tables = xtables_ipv4; - d.commit = true; ---- a/iptables/xtables-standalone.c -+++ b/iptables/xtables-standalone.c -@@ -57,6 +57,7 @@ xtables_main(int family, const char *pro - #if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) - init_extensions(); - init_extensions4(); -+ init_extensions6(); - #endif - - if (nft_init(&h, family, xtables_ipv4) < 0) { ---- a/iptables/xtables-translate.c -+++ b/iptables/xtables-translate.c -@@ -469,6 +469,7 @@ static int xtables_xlate_main_common(str - #if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) - init_extensions(); - init_extensions4(); -+ init_extensions6(); - #endif - tables = xtables_ipv4; - break; diff --git a/package/network/utils/iptables/patches/002-xtables-Call-init_extensions_a_b.patch b/package/network/utils/iptables/patches/002-xtables-Call-init_extensions_a_b.patch deleted file mode 100644 index 0d7226ccd5..0000000000 --- a/package/network/utils/iptables/patches/002-xtables-Call-init_extensions_a_b.patch +++ /dev/null @@ -1,107 +0,0 @@ -A modified version of this patch was commited upstream -as part of a fixup series -https://bugzilla.netfilter.org/show_bug.cgi?id=1593 -https://git.netfilter.org/iptables/commit/?id=0836524f093c0fd9c39604a46a949e43d9b47ef2 - ---- a/iptables/xtables-monitor.c -+++ b/iptables/xtables-monitor.c -@@ -629,6 +629,8 @@ int xtables_monitor_main(int argc, char - init_extensions(); - init_extensions4(); - init_extensions6(); -+ init_extensionsa(); -+ init_extensionsb(); - #endif - - if (nft_init(&h, AF_INET, xtables_ipv4)) { ---- a/iptables/xtables-restore.c -+++ b/iptables/xtables-restore.c -@@ -368,9 +368,17 @@ xtables_restore_main(int family, const c - #endif - break; - case NFPROTO_ARP: -+#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); -+ init_extensionsa(); -+#endif - tables = xtables_arp; - break; - case NFPROTO_BRIDGE: -+#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); -+ init_extensionsb(); -+#endif - tables = xtables_bridge; - break; - default: ---- a/iptables/xtables-save.c -+++ b/iptables/xtables-save.c -@@ -208,9 +208,17 @@ xtables_save_main(int family, int argc, - d.commit = true; - break; - case NFPROTO_ARP: -+#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); -+ init_extensionsa(); -+#endif - tables = xtables_arp; - break; - case NFPROTO_BRIDGE: { -+#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); -+ init_extensionsb(); -+#endif - const char *ctr = getenv("EBTABLES_SAVE_COUNTER"); - - if (!(d.format & FMT_NOCOUNTS)) { ---- a/iptables/xtables-standalone.c -+++ b/iptables/xtables-standalone.c -@@ -58,6 +58,8 @@ xtables_main(int family, const char *pro - init_extensions(); - init_extensions4(); - init_extensions6(); -+ init_extensionsa(); -+ init_extensionsb(); - #endif - - if (nft_init(&h, family, xtables_ipv4) < 0) { ---- a/iptables/xtables-translate.c -+++ b/iptables/xtables-translate.c -@@ -474,9 +474,17 @@ static int xtables_xlate_main_common(str - tables = xtables_ipv4; - break; - case NFPROTO_ARP: -+#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); -+ init_extensionsa(); -+#endif - tables = xtables_arp; - break; - case NFPROTO_BRIDGE: -+#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); -+ init_extensionsb(); -+#endif - tables = xtables_bridge; - break; - default: ---- a/iptables/xtables-arp.c -+++ b/iptables/xtables-arp.c -@@ -438,6 +438,7 @@ int nft_init_arp(struct nft_handle *h, c - } - - #if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); - init_extensionsa(); - #endif - ---- a/iptables/xtables-eb.c -+++ b/iptables/xtables-eb.c -@@ -685,6 +685,7 @@ int nft_init_eb(struct nft_handle *h, co - } - - #if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) -+ init_extensions(); - init_extensionsb(); - #endif - diff --git a/package/network/utils/iptables/patches/020-treewide-use-uint-instead-of-u_int.patch b/package/network/utils/iptables/patches/020-treewide-use-uint-instead-of-u_int.patch new file mode 100644 index 0000000000..e4b0cd92de --- /dev/null +++ b/package/network/utils/iptables/patches/020-treewide-use-uint-instead-of-u_int.patch @@ -0,0 +1,144 @@ +From f319389525b066b7dc6d389c88f16a0df3b8f189 Mon Sep 17 00:00:00 2001 +From: Nick Hainke +Date: Mon, 16 May 2022 18:16:41 +0200 +Subject: treewide: use uint* instead of u_int* + +Gcc complains about missing types. Some commits introduced u_int* instead +of uint*. Use uint treewide. + +Fixes errors in the form of: +In file included from xtables-legacy-multi.c:5: +xshared.h:83:56: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'? + 83 | set_option(unsigned int *options, unsigned int option, u_int16_t *invflg, + | ^~~~~~~~~ + | uint16_t +make[6]: *** [Makefile:712: xtables_legacy_multi-xtables-legacy-multi.o] Error 1 + +Avoid libipq API breakage by adjusting libipq.h include accordingly. For +arpt_mangle.h kernel uAPI header, apply same change as in kernel commit +e91ded8db5747 ("uapi: netfilter_arp: use __u8 instead of u_int8_t"). + +Signed-off-by: Nick Hainke +Signed-off-by: Phil Sutter +--- + extensions/libxt_conntrack.c | 2 +- + include/libipq/libipq.h | 8 ++++---- + include/libiptc/libxtc.h | 2 +- + include/linux/netfilter_arp/arpt_mangle.h | 2 +- + iptables/xshared.c | 2 +- + iptables/xshared.h | 2 +- + libipq/ipq_create_handle.3 | 2 +- + libipq/ipq_set_mode.3 | 2 +- + 8 files changed, 11 insertions(+), 11 deletions(-) + +--- a/extensions/libxt_conntrack.c ++++ b/extensions/libxt_conntrack.c +@@ -778,7 +778,7 @@ matchinfo_print(const void *ip, const st + + static void + conntrack_dump_ports(const char *prefix, const char *opt, +- u_int16_t port_low, u_int16_t port_high) ++ uint16_t port_low, uint16_t port_high) + { + if (port_high == 0 || port_low == port_high) + printf(" %s%s %u", prefix, opt, port_low); +--- a/include/libipq/libipq.h ++++ b/include/libipq/libipq.h +@@ -24,7 +24,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -48,19 +48,19 @@ typedef unsigned long ipq_id_t; + struct ipq_handle + { + int fd; +- u_int8_t blocking; ++ uint8_t blocking; + struct sockaddr_nl local; + struct sockaddr_nl peer; + }; + +-struct ipq_handle *ipq_create_handle(u_int32_t flags, u_int32_t protocol); ++struct ipq_handle *ipq_create_handle(uint32_t flags, uint32_t protocol); + + int ipq_destroy_handle(struct ipq_handle *h); + + ssize_t ipq_read(const struct ipq_handle *h, + unsigned char *buf, size_t len, int timeout); + +-int ipq_set_mode(const struct ipq_handle *h, u_int8_t mode, size_t len); ++int ipq_set_mode(const struct ipq_handle *h, uint8_t mode, size_t len); + + ipq_packet_msg_t *ipq_get_packet(const unsigned char *buf); + +--- a/include/libiptc/libxtc.h ++++ b/include/libiptc/libxtc.h +@@ -10,7 +10,7 @@ extern "C" { + #endif + + #ifndef XT_MIN_ALIGN +-/* xt_entry has pointers and u_int64_t's in it, so if you align to ++/* xt_entry has pointers and uint64_t's in it, so if you align to + it, you'll also align to any crazy matches and targets someone + might write */ + #define XT_MIN_ALIGN (__alignof__(struct xt_entry)) +--- a/include/linux/netfilter_arp/arpt_mangle.h ++++ b/include/linux/netfilter_arp/arpt_mangle.h +@@ -13,7 +13,7 @@ struct arpt_mangle + union { + struct in_addr tgt_ip; + } u_t; +- u_int8_t flags; ++ __u8 flags; + int target; + }; + +--- a/iptables/xshared.c ++++ b/iptables/xshared.c +@@ -1025,7 +1025,7 @@ static const int inverse_for_options[NUM + }; + + void +-set_option(unsigned int *options, unsigned int option, u_int16_t *invflg, ++set_option(unsigned int *options, unsigned int option, uint16_t *invflg, + bool invert) + { + if (*options & option) +--- a/iptables/xshared.h ++++ b/iptables/xshared.h +@@ -80,7 +80,7 @@ struct xtables_target; + #define IPT_INV_ARPHRD 0x0800 + + void +-set_option(unsigned int *options, unsigned int option, u_int16_t *invflg, ++set_option(unsigned int *options, unsigned int option, uint16_t *invflg, + bool invert); + + /** +--- a/libipq/ipq_create_handle.3 ++++ b/libipq/ipq_create_handle.3 +@@ -24,7 +24,7 @@ ipq_create_handle, ipq_destroy_handle \( + .br + .B #include + .sp +-.BI "struct ipq_handle *ipq_create_handle(u_int32_t " flags ", u_int32_t " protocol ");" ++.BI "struct ipq_handle *ipq_create_handle(uint32_t " flags ", uint32_t " protocol ");" + .br + .BI "int ipq_destroy_handle(struct ipq_handle *" h ); + .SH DESCRIPTION +--- a/libipq/ipq_set_mode.3 ++++ b/libipq/ipq_set_mode.3 +@@ -24,7 +24,7 @@ ipq_set_mode \(em set the ip_queue queui + .br + .B #include + .sp +-.BI "int ipq_set_mode(const struct ipq_handle *" h ", u_int8_t " mode ", size_t " range ); ++.BI "int ipq_set_mode(const struct ipq_handle *" h ", uint8_t " mode ", size_t " range ); + .SH DESCRIPTION + The + .B ipq_set_mode diff --git a/package/network/utils/iptables/patches/030-revert-fix-build-for-missing-ETH_ALEN-definition.patch b/package/network/utils/iptables/patches/030-revert-fix-build-for-missing-ETH_ALEN-definition.patch new file mode 100644 index 0000000000..6c8e3deb5c --- /dev/null +++ b/package/network/utils/iptables/patches/030-revert-fix-build-for-missing-ETH_ALEN-definition.patch @@ -0,0 +1,60 @@ +From 0e7cf0ad306cdf95dc3c28d15a254532206a888e Mon Sep 17 00:00:00 2001 +From: Phil Sutter +Date: Wed, 18 May 2022 16:04:09 +0200 +Subject: Revert "fix build for missing ETH_ALEN definition" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit c5d9a723b5159a28f547b577711787295a14fd84 as it broke +compiling against musl libc. Might be a bug in the latter, but for the +time being try to please both by avoiding the include and instead +defining ETH_ALEN if unset. + +While being at it, move netinet/ether.h include up. + +Fixes: 1bdb5535f561a ("libxtables: Extend MAC address printing/parsing support") +Signed-off-by: Phil Sutter +Reviewed-by: Maciej Żenczykowski +--- + libxtables/xtables.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/libxtables/xtables.c ++++ b/libxtables/xtables.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -45,7 +46,6 @@ + + #include + #include /* INT_MAX in ip_tables.h/ip6_tables.h */ +-#include /* ETH_ALEN */ + #include + #include + #include +@@ -72,6 +72,10 @@ + #define PROC_SYS_MODPROBE "/proc/sys/kernel/modprobe" + #endif + ++#ifndef ETH_ALEN ++#define ETH_ALEN 6 ++#endif ++ + /* we need this for ip6?tables-restore. ip6?tables-restore.c sets line to the + * current line of the input file, in order to give a more precise error + * message. ip6?tables itself doesn't need this, so it is initialized to the +@@ -2245,8 +2249,6 @@ void xtables_print_num(uint64_t number, + printf(FMT("%4lluT ","%lluT "), (unsigned long long)number); + } + +-#include +- + static const unsigned char mac_type_unicast[ETH_ALEN] = {}; + static const unsigned char msk_type_unicast[ETH_ALEN] = {1}; + static const unsigned char mac_type_multicast[ETH_ALEN] = {1}; diff --git a/package/network/utils/iptables/patches/040-xshared-Fix-build-for-Werror-format-security.patch b/package/network/utils/iptables/patches/040-xshared-Fix-build-for-Werror-format-security.patch new file mode 100644 index 0000000000..f7e5e34c73 --- /dev/null +++ b/package/network/utils/iptables/patches/040-xshared-Fix-build-for-Werror-format-security.patch @@ -0,0 +1,23 @@ +From b72eb12ea5a61df0655ad99d5048994e916be83a Mon Sep 17 00:00:00 2001 +From: Phil Sutter +Date: Fri, 13 May 2022 16:51:58 +0200 +Subject: [PATCH] xshared: Fix build for -Werror=format-security + +Gcc complains about the omitted format string. + +Signed-off-by: Phil Sutter +--- + iptables/xshared.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/iptables/xshared.c ++++ b/iptables/xshared.c +@@ -1307,7 +1307,7 @@ static void check_empty_interface(struct + return; + + if (args->family != NFPROTO_ARP) +- xtables_error(PARAMETER_PROBLEM, msg); ++ xtables_error(PARAMETER_PROBLEM, "%s", msg); + + fprintf(stderr, "%s", msg); + } diff --git a/package/network/utils/iptables/patches/050-build-fix-error-during-out-of-tree-build.patch b/package/network/utils/iptables/patches/050-build-fix-error-during-out-of-tree-build.patch new file mode 100644 index 0000000000..acfca96e0f --- /dev/null +++ b/package/network/utils/iptables/patches/050-build-fix-error-during-out-of-tree-build.patch @@ -0,0 +1,28 @@ +From 0ebf52fc951b2a4d98a166afb34af4f364bbeece Mon Sep 17 00:00:00 2001 +From: Ben Brown +Date: Wed, 25 May 2022 16:26:13 +0100 +Subject: build: Fix error during out of tree build + +Fixes the following error: + + ../../libxtables/xtables.c:52:10: fatal error: libiptc/linux_list.h: No such file or directory + 52 | #include + +Fixes: f58b0d7406451 ("libxtables: Implement notargets hash table") +Signed-off-by: Ben Brown +Signed-off-by: Phil Sutter +--- + libxtables/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libxtables/Makefile.am ++++ b/libxtables/Makefile.am +@@ -1,7 +1,7 @@ + # -*- Makefile -*- + + AM_CFLAGS = ${regular_CFLAGS} +-AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_srcdir}/include -I${top_srcdir}/iptables ${kinclude_CPPFLAGS} ++AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_srcdir}/include -I${top_srcdir}/iptables -I${top_srcdir} ${kinclude_CPPFLAGS} + + lib_LTLIBRARIES = libxtables.la + libxtables_la_SOURCES = xtables.c xtoptions.c getethertype.c diff --git a/package/network/utils/iptables/patches/060-libxtables-unexport-init_extensions-declarations.patch b/package/network/utils/iptables/patches/060-libxtables-unexport-init_extensions-declarations.patch new file mode 100644 index 0000000000..559b93eea4 --- /dev/null +++ b/package/network/utils/iptables/patches/060-libxtables-unexport-init_extensions-declarations.patch @@ -0,0 +1,82 @@ +From ef108943f69a6e20533d58823740d3f0534ea8ec Mon Sep 17 00:00:00 2001 +From: Phil Sutter +Date: Wed, 1 Jun 2022 19:15:06 +0200 +Subject: libxtables: Unexport init_extensions*() declarations + +The functions are used for static builds to initialize extensions after +libxtables init. Regular library users should not need them, but the +empty declarations introduced in #else case (and therefore present in +user's env) may clash with existing symbol names. + +Avoid problems and guard the whole block declaring the function +prototypes and mangling extensions' _init functions by XTABLES_INTERNAL. + +Reported-by: Nick Hainke +Fixes: 6c689b639cf8e ("Simplify static build extension loading") +Signed-off-by: Phil Sutter +--- + include/xtables.h | 44 ++++++++++++++++++++++---------------------- + 1 file changed, 22 insertions(+), 22 deletions(-) + +--- a/include/xtables.h ++++ b/include/xtables.h +@@ -585,27 +585,6 @@ static inline void xtables_print_mark_ma + xtables_print_val_mask(mark, mask, NULL); + } + +-#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) +-# ifdef _INIT +-# undef _init +-# define _init _INIT +-# endif +- extern void init_extensions(void); +- extern void init_extensions4(void); +- extern void init_extensions6(void); +- extern void init_extensionsa(void); +- extern void init_extensionsb(void); +-#else +-# define _init __attribute__((constructor)) _INIT +-# define EMPTY_FUNC_DEF(x) static inline void x(void) {} +- EMPTY_FUNC_DEF(init_extensions) +- EMPTY_FUNC_DEF(init_extensions4) +- EMPTY_FUNC_DEF(init_extensions6) +- EMPTY_FUNC_DEF(init_extensionsa) +- EMPTY_FUNC_DEF(init_extensionsb) +-# undef EMPTY_FUNC_DEF +-#endif +- + extern const struct xtables_pprot xtables_chain_protos[]; + extern uint16_t xtables_parse_protocol(const char *s); + +@@ -663,9 +642,30 @@ void xtables_announce_chain(const char * + # define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x))) + # endif + ++#if defined(ALL_INCLUSIVE) || defined(NO_SHARED_LIBS) ++# ifdef _INIT ++# undef _init ++# define _init _INIT ++# endif ++ extern void init_extensions(void); ++ extern void init_extensions4(void); ++ extern void init_extensions6(void); ++ extern void init_extensionsa(void); ++ extern void init_extensionsb(void); ++#else ++# define _init __attribute__((constructor)) _INIT ++# define EMPTY_FUNC_DEF(x) static inline void x(void) {} ++ EMPTY_FUNC_DEF(init_extensions) ++ EMPTY_FUNC_DEF(init_extensions4) ++ EMPTY_FUNC_DEF(init_extensions6) ++ EMPTY_FUNC_DEF(init_extensionsa) ++ EMPTY_FUNC_DEF(init_extensionsb) ++# undef EMPTY_FUNC_DEF ++#endif ++ + extern void _init(void); + +-#endif ++#endif /* XTABLES_INTERNAL */ + + #ifdef __cplusplus + } /* extern "C" */ diff --git a/package/network/utils/iptables/patches/101-remove-check-already.patch b/package/network/utils/iptables/patches/101-remove-check-already.patch index 16afafec2d..bd49224c70 100644 --- a/package/network/utils/iptables/patches/101-remove-check-already.patch +++ b/package/network/utils/iptables/patches/101-remove-check-already.patch @@ -1,6 +1,6 @@ --- a/libxtables/xtables.c +++ b/libxtables/xtables.c -@@ -968,12 +968,6 @@ void xtables_register_match(struct xtabl +@@ -1093,12 +1093,6 @@ void xtables_register_match(struct xtabl struct xtables_match **pos; bool seen_myself = false; @@ -13,7 +13,7 @@ if (me->version == NULL) { fprintf(stderr, "%s: match %s<%u> is missing a version\n", xt_params->program_name, me->name, me->revision); -@@ -1152,12 +1146,6 @@ void xtables_register_target(struct xtab +@@ -1277,12 +1271,6 @@ void xtables_register_target(struct xtab struct xtables_target **pos; bool seen_myself = false; diff --git a/package/network/utils/iptables/patches/102-iptables-disable-modprobe.patch b/package/network/utils/iptables/patches/102-iptables-disable-modprobe.patch index b8e19c781a..710f481cac 100644 --- a/package/network/utils/iptables/patches/102-iptables-disable-modprobe.patch +++ b/package/network/utils/iptables/patches/102-iptables-disable-modprobe.patch @@ -1,6 +1,15 @@ --- a/libxtables/xtables.c +++ b/libxtables/xtables.c -@@ -403,6 +403,7 @@ static char *get_modprobe(void) +@@ -476,7 +476,7 @@ char *xtables_strdup(const char *s) + return dup; + } + +-static char *get_modprobe(void) ++__attribute__((unused)) static char *get_modprobe(void) + { + int procfile; + char *ret; +@@ -511,6 +511,7 @@ static char *get_modprobe(void) int xtables_insmod(const char *modname, const char *modprobe, bool quiet) { @@ -8,7 +17,7 @@ char *buf = NULL; char *argv[4]; int status; -@@ -437,6 +438,7 @@ int xtables_insmod(const char *modname, +@@ -545,6 +546,7 @@ int xtables_insmod(const char *modname, free(buf); if (WIFEXITED(status) && WEXITSTATUS(status) == 0) return 0; diff --git a/package/network/utils/iptables/patches/200-configurable_builtin.patch b/package/network/utils/iptables/patches/200-configurable_builtin.patch index 6d7b5b5822..75c29e1e9c 100644 --- a/package/network/utils/iptables/patches/200-configurable_builtin.patch +++ b/package/network/utils/iptables/patches/200-configurable_builtin.patch @@ -60,7 +60,7 @@ .SECONDARY: -@@ -161,11 +181,11 @@ libext4.a: initext4.o ${libext4_objs} +@@ -163,11 +183,11 @@ libext4.a: initext4.o ${libext4_objs} libext6.a: initext6.o ${libext6_objs} ${AM_VERBOSE_AR} ${AR} crs $@ $^; diff --git a/package/network/utils/iptables/patches/600-shared-libext.patch b/package/network/utils/iptables/patches/600-shared-libext.patch index 819f628f9e..838b1ffa66 100644 --- a/package/network/utils/iptables/patches/600-shared-libext.patch +++ b/package/network/utils/iptables/patches/600-shared-libext.patch @@ -18,7 +18,7 @@ -include .*.d -@@ -164,22 +164,22 @@ xt_connlabel_LIBADD = @libnetfilter_conn +@@ -166,22 +166,22 @@ xt_connlabel_LIBADD = @libnetfilter_conn # handling code in the Makefiles. # lib%.o: ${srcdir}/lib%.c diff --git a/package/network/utils/iptables/patches/700-disable-legacy-revisions.patch b/package/network/utils/iptables/patches/700-disable-legacy-revisions.patch index cc451ef959..09db390006 100644 --- a/package/network/utils/iptables/patches/700-disable-legacy-revisions.patch +++ b/package/network/utils/iptables/patches/700-disable-legacy-revisions.patch @@ -1,6 +1,6 @@ --- a/extensions/libxt_conntrack.c +++ b/extensions/libxt_conntrack.c -@@ -1395,6 +1395,7 @@ static int conntrack3_mt6_xlate(struct x +@@ -1399,6 +1399,7 @@ static int conntrack3_mt6_xlate(struct x } static struct xtables_match conntrack_mt_reg[] = { @@ -8,7 +8,7 @@ { .version = XTABLES_VERSION, .name = "conntrack", -@@ -1470,6 +1471,7 @@ static struct xtables_match conntrack_mt +@@ -1474,6 +1475,7 @@ static struct xtables_match conntrack_mt .alias = conntrack_print_name_alias, .x6_options = conntrack2_mt_opts, }, @@ -16,7 +16,7 @@ { .version = XTABLES_VERSION, .name = "conntrack", -@@ -1502,6 +1504,7 @@ static struct xtables_match conntrack_mt +@@ -1506,6 +1508,7 @@ static struct xtables_match conntrack_mt .x6_options = conntrack3_mt_opts, .xlate = conntrack3_mt6_xlate, }, @@ -24,7 +24,7 @@ { .family = NFPROTO_UNSPEC, .name = "state", -@@ -1532,6 +1535,8 @@ static struct xtables_match conntrack_mt +@@ -1536,6 +1539,8 @@ static struct xtables_match conntrack_mt .x6_parse = state_ct23_parse, .x6_options = state_opts, }, @@ -33,7 +33,7 @@ { .family = NFPROTO_UNSPEC, .name = "state", -@@ -1561,6 +1566,7 @@ static struct xtables_match conntrack_mt +@@ -1565,6 +1570,7 @@ static struct xtables_match conntrack_mt .x6_parse = state_parse, .x6_options = state_opts, }, @@ -77,7 +77,7 @@ void _init(void) --- a/extensions/libxt_multiport.c +++ b/extensions/libxt_multiport.c -@@ -571,6 +571,7 @@ static int multiport_xlate6_v1(struct xt +@@ -591,6 +591,7 @@ static int multiport_xlate6_v1(struct xt } static struct xtables_match multiport_mt_reg[] = { @@ -85,7 +85,7 @@ { .family = NFPROTO_IPV4, .name = "multiport", -@@ -601,6 +602,7 @@ static struct xtables_match multiport_mt +@@ -621,6 +622,7 @@ static struct xtables_match multiport_mt .x6_options = multiport_opts, .xlate = multiport_xlate6, }, From 552d76f2bebe182ce9352aed357268f97d2c626f Mon Sep 17 00:00:00 2001 From: John Audia Date: Mon, 4 Jul 2022 07:41:15 -0400 Subject: [PATCH 20/45] kernel: bump 5.15 to 5.15.51 Manual rebase by Marty Jones: bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch All other patches automatically rebased. Signed-off-by: John Audia Signed-off-by: Marty Jones [Apply same changes to new dts entry in modified file] Signed-off-by: Hauke Mehrtens --- include/kernel-5.15 | 4 ++-- ...950-0078-BCM2708-Add-core-Device-Tree-support.patch | 10 +++++----- ...INTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch | 2 +- ...plement-xhci_fixup_endpoint-for-interval-adju.patch | 4 ++-- ...t-bindings-media-Add-binding-for-the-Raspberr.patch | 2 +- ...cm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch | 2 +- ...cm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch | 2 +- ...1-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch | 2 +- ...-vc04_services-ISP-Add-a-more-complex-ISP-pro.patch | 2 +- ...tation-devicetree-Add-documentation-for-imx37.patch | 2 +- ...ings-media-i2c-Add-IMX519-CMOS-sensor-binding.patch | 2 +- ...0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch | 2 +- ...factor-out-TRBS_PER_SEGMENT-define-in-runtime.patch | 4 ++-- ...950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch | 2 +- ...i-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch | 2 +- ...5-drm-tiny-Add-MIPI-DBI-compatible-SPI-driver.patch | 2 +- ...t-bindings-media-i2c-Add-Arducam-Pivariety-Se.patch | 2 +- .../050-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch | 2 +- ...ernet-mtk_eth_soc-implement-flow-offloading-t.patch | 2 +- .../generic/hack-5.15/720-net-phy-add-aqr-phys.patch | 10 +++++----- .../hack-5.15/721-net-add-packet-mangeling.patch | 2 +- ...722-net-phy-aquantia-enable-AQR112-and-AQR412.patch | 8 ++++---- ...-net-phy-aquantia-fix-system-side-protocol-mi.patch | 2 +- ...24-net-phy-aquantia-Add-AQR113-driver-support.patch | 4 ++-- ...-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch | 4 ++-- .../hack-5.15/780-usb-net-MeigLink_modem_support.patch | 2 +- .../680-NET-skip-GRO-for-foreign-MAC-addresses.patch | 10 +++++----- 27 files changed, 47 insertions(+), 47 deletions(-) diff --git a/include/kernel-5.15 b/include/kernel-5.15 index 1319666eb8..dcce93d66b 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .50 -LINUX_KERNEL_HASH-5.15.50 = 554d507d37a23810fe8c83912761e4a4f73c40794bc685ff7ca98042fe1bd70f +LINUX_VERSION-5.15 = .51 +LINUX_KERNEL_HASH-5.15.51 = 1fba4878b27ef4fd9005e0870cb7aa7c4a051b66575cab102d36184b32a94988 diff --git a/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch b/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch index 55ff91028f..424252db05 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch @@ -3488,9 +3488,9 @@ index f4d2fc20397c..bed192b085df 100644 + "PWR_LED_OFF", + "GLOBAL_RESET", + "VDD_SD_IO_SEL", -+ "CAM_GPIO", ++ "GLOBAL_SHUTDOWN", + "SD_PWR_ON", -+ "SD_OC_N"; ++ "SHUTDOWN_REQUEST"; + status = "okay"; + }; + @@ -4003,12 +4003,12 @@ index f4d2fc20397c..bed192b085df 100644 -&expgpio { - gpio-line-names = "BT_ON", - "WL_ON", -- "", +- "PWR_LED_OFF", - "GLOBAL_RESET", - "VDD_SD_IO_SEL", -- "CAM_GPIO", +- "GLOBAL_SHUTDOWN", - "SD_PWR_ON", -- "SD_OC_N"; +- "SHUTDOWN_REQUEST"; +&pwm1 { + status = "disabled"; +}; diff --git a/target/linux/bcm27xx/patches-5.15/950-0127-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch b/target/linux/bcm27xx/patches-5.15/950-0127-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch index 4c1bbed2a4..f030bb33ed 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0127-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0127-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch @@ -12,7 +12,7 @@ Signed-off-by: Dave Stevenson --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3552,6 +3552,13 @@ N: bcm113* +@@ -3554,6 +3554,13 @@ N: bcm113* N: bcm216* N: kona diff --git a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index b8f925fc97..aa12dae1fc 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1607,6 +1607,109 @@ command_cleanup: +@@ -1618,6 +1618,109 @@ command_cleanup: } /* @@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5432,6 +5535,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5443,6 +5546,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-5.15/950-0202-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch b/target/linux/bcm27xx/patches-5.15/950-0202-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch index 5e296be8bb..9833d5312d 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0202-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0202-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch @@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson +... --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3552,6 +3552,13 @@ N: bcm113* +@@ -3554,6 +3554,13 @@ N: bcm113* N: bcm216* N: kona diff --git a/target/linux/bcm27xx/patches-5.15/950-0210-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch b/target/linux/bcm27xx/patches-5.15/950-0210-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch index ae1354b5b6..d1f115d9be 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0210-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0210-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch @@ -28,7 +28,7 @@ Signed-off-by: Naushir Patuck --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3560,7 +3560,7 @@ F: Documentation/devicetree/bindings/med +@@ -3562,7 +3562,7 @@ F: Documentation/devicetree/bindings/med F: drivers/staging/media/rpivid BROADCOM BCM2835 CAMERA DRIVER diff --git a/target/linux/bcm27xx/patches-5.15/950-0246-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch b/target/linux/bcm27xx/patches-5.15/950-0246-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch index 694e2e4b86..aece1d6229 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0246-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0246-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch @@ -31,7 +31,7 @@ Reported-by: kbuild test robot --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3564,7 +3564,7 @@ M: Raspberry Pi Kernel Maintenance --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17516,6 +17516,14 @@ T: git git://linuxtv.org/media_tree.git +@@ -17525,6 +17525,14 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/sony,imx412.yaml F: drivers/media/i2c/imx412.c diff --git a/target/linux/bcm27xx/patches-5.15/950-0303-staging-vc04_services-ISP-Add-a-more-complex-ISP-pro.patch b/target/linux/bcm27xx/patches-5.15/950-0303-staging-vc04_services-ISP-Add-a-more-complex-ISP-pro.patch index 0e268430ac..3f9149ed15 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0303-staging-vc04_services-ISP-Add-a-more-complex-ISP-pro.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0303-staging-vc04_services-ISP-Add-a-more-complex-ISP-pro.patch @@ -35,7 +35,7 @@ Signed-off-by: Naushir Patuck --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3566,6 +3566,15 @@ S: Maintained +@@ -3568,6 +3568,15 @@ S: Maintained F: drivers/media/platform/bcm2835/ F: Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml diff --git a/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch b/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch index 2848cb87c5..a62b97f70d 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch @@ -132,7 +132,7 @@ Signed-off-by: David Plowman +... --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17530,6 +17530,7 @@ M: Raspberry Pi Kernel Maintenance +... --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17534,6 +17534,14 @@ F: Documentation/devicetree/bindings/med +@@ -17543,6 +17543,14 @@ F: Documentation/devicetree/bindings/med F: Documentation/devicetree/bindings/media/i2c/imx477.yaml F: drivers/media/i2c/imx477.c diff --git a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch index 34dcc1aeec..87de92c62a 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch @@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -300,6 +300,7 @@ static void xhci_pci_quirks(struct devic +@@ -304,6 +304,7 @@ static void xhci_pci_quirks(struct devic if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) { xhci->quirks |= XHCI_LPM_SUPPORT; xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; diff --git a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch index 3f8e6d3f25..a18a9525e2 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch @@ -226,7 +226,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -866,8 +866,8 @@ static void xhci_clear_command_ring(stru +@@ -877,8 +877,8 @@ static void xhci_clear_command_ring(stru seg = ring->deq_seg; do { memset(seg->trbs, 0, @@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell cpu_to_le32(~TRB_CYCLE); seg = seg->next; } while (seg != ring->deq_seg); -@@ -878,7 +878,7 @@ static void xhci_clear_command_ring(stru +@@ -889,7 +889,7 @@ static void xhci_clear_command_ring(stru ring->enq_seg = ring->deq_seg; ring->enqueue = ring->dequeue; diff --git a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch index 21ccf8a840..5c64c9881d 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch @@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell cycle_state, type, max_packet, flags); --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -301,6 +301,7 @@ static void xhci_pci_quirks(struct devic +@@ -305,6 +305,7 @@ static void xhci_pci_quirks(struct devic xhci->quirks |= XHCI_LPM_SUPPORT; xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; diff --git a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch index b7a41689e2..74c8a4db98 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch @@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -302,6 +302,7 @@ static void xhci_pci_quirks(struct devic +@@ -306,6 +306,7 @@ static void xhci_pci_quirks(struct devic xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG; diff --git a/target/linux/bcm27xx/patches-5.15/950-0795-drm-tiny-Add-MIPI-DBI-compatible-SPI-driver.patch b/target/linux/bcm27xx/patches-5.15/950-0795-drm-tiny-Add-MIPI-DBI-compatible-SPI-driver.patch index 6133070d1e..442e10add2 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0795-drm-tiny-Add-MIPI-DBI-compatible-SPI-driver.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0795-drm-tiny-Add-MIPI-DBI-compatible-SPI-driver.patch @@ -63,7 +63,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20220227124713.39766-6-noral --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -5976,6 +5976,14 @@ T: git git://anongit.freedesktop.org/drm +@@ -5980,6 +5980,14 @@ T: git git://anongit.freedesktop.org/drm F: Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt F: drivers/gpu/drm/tiny/mi0283qt.c diff --git a/target/linux/bcm27xx/patches-5.15/950-0884-media-dt-bindings-media-i2c-Add-Arducam-Pivariety-Se.patch b/target/linux/bcm27xx/patches-5.15/950-0884-media-dt-bindings-media-i2c-Add-Arducam-Pivariety-Se.patch index 1c1dbb3dde..3dd2f49f71 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0884-media-dt-bindings-media-i2c-Add-Arducam-Pivariety-Se.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0884-media-dt-bindings-media-i2c-Add-Arducam-Pivariety-Se.patch @@ -131,7 +131,7 @@ Signed-off-by: Lee Jackson +... --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -1386,6 +1386,14 @@ S: Maintained +@@ -1388,6 +1388,14 @@ S: Maintained F: drivers/net/arcnet/ F: include/uapi/linux/if_arcnet.h diff --git a/target/linux/generic/backport-5.15/050-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch b/target/linux/generic/backport-5.15/050-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch index 00b3536b6d..41b3d8139f 100644 --- a/target/linux/generic/backport-5.15/050-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch +++ b/target/linux/generic/backport-5.15/050-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch @@ -14,7 +14,7 @@ Signed-off-by: Johan Almbladh --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3428,6 +3428,7 @@ S: Supported +@@ -3430,6 +3430,7 @@ S: Supported F: arch/arm64/net/ BPF JIT for MIPS (32-BIT AND 64-BIT) diff --git a/target/linux/generic/backport-5.15/702-v5.19-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch b/target/linux/generic/backport-5.15/702-v5.19-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch index 6ceca9306a..28b3252104 100644 --- a/target/linux/generic/backport-5.15/702-v5.19-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch +++ b/target/linux/generic/backport-5.15/702-v5.19-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch @@ -256,7 +256,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -761,6 +761,10 @@ int dev_fill_forward_path(const struct n +@@ -763,6 +763,10 @@ int dev_fill_forward_path(const struct n if (WARN_ON_ONCE(last_dev == ctx.dev)) return -1; } diff --git a/target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch b/target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch index 59124990c3..65d8f47521 100644 --- a/target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch +++ b/target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch @@ -20,7 +20,7 @@ Signed-off-by: Birger Koblitz #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -359,6 +361,49 @@ static int aqr107_read_rate(struct phy_d +@@ -372,6 +374,49 @@ static int aqr107_read_rate(struct phy_d return 0; } @@ -70,7 +70,7 @@ Signed-off-by: Birger Koblitz static int aqr107_read_status(struct phy_device *phydev) { int val, ret; -@@ -489,7 +534,7 @@ static void aqr107_chip_info(struct phy_ +@@ -502,7 +547,7 @@ static void aqr107_chip_info(struct phy_ build_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_FW_BUILD_ID, val); prov_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_PROV_ID, val); @@ -79,7 +79,7 @@ Signed-off-by: Birger Koblitz fw_major, fw_minor, build_id, prov_id); } -@@ -661,6 +706,24 @@ static struct phy_driver aqr_driver[] = +@@ -674,6 +719,24 @@ static struct phy_driver aqr_driver[] = .link_change_notify = aqr107_link_change_notify, }, { @@ -104,7 +104,7 @@ Signed-off-by: Birger Koblitz PHY_ID_MATCH_MODEL(PHY_ID_AQCS109), .name = "Aquantia AQCS109", .probe = aqr107_probe, -@@ -686,6 +749,24 @@ static struct phy_driver aqr_driver[] = +@@ -699,6 +762,24 @@ static struct phy_driver aqr_driver[] = .handle_interrupt = aqr_handle_interrupt, .read_status = aqr_read_status, }, @@ -129,7 +129,7 @@ Signed-off-by: Birger Koblitz }; module_phy_driver(aqr_driver); -@@ -696,8 +777,10 @@ static struct mdio_device_id __maybe_unu +@@ -709,8 +790,10 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR105) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, diff --git a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch index 92b27e76d8..3885514860 100644 --- a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch @@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3586,6 +3586,11 @@ static int xmit_one(struct sk_buff *skb, +@@ -3588,6 +3588,11 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch b/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch index 37724f6895..f1901853e1 100644 --- a/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch +++ b/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch @@ -27,7 +27,7 @@ Signed-off-by: Alex Marginean #define PHY_ID_AQR813 0x31c31cb2 #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 -@@ -124,6 +126,29 @@ +@@ -126,6 +128,29 @@ #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL2 BIT(1) #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3 BIT(0) @@ -57,7 +57,7 @@ Signed-off-by: Alex Marginean struct aqr107_hw_stat { const char *name; int reg; -@@ -244,6 +269,51 @@ static int aqr_config_aneg(struct phy_de +@@ -257,6 +282,51 @@ static int aqr_config_aneg(struct phy_de return genphy_c45_check_and_restart_aneg(phydev, changed); } @@ -109,7 +109,7 @@ Signed-off-by: Alex Marginean static int aqr_config_intr(struct phy_device *phydev) { bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED; -@@ -767,6 +837,30 @@ static struct phy_driver aqr_driver[] = +@@ -780,6 +850,30 @@ static struct phy_driver aqr_driver[] = .get_stats = aqr107_get_stats, .link_change_notify = aqr107_link_change_notify, }, @@ -140,7 +140,7 @@ Signed-off-by: Alex Marginean }; module_phy_driver(aqr_driver); -@@ -777,9 +871,11 @@ static struct mdio_device_id __maybe_unu +@@ -790,9 +884,11 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR105) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, diff --git a/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch b/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch index 30ee41d122..d99b4951b8 100644 --- a/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch +++ b/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch @@ -14,7 +14,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia_main.c +++ b/drivers/net/phy/aquantia_main.c -@@ -302,10 +302,16 @@ static int aqr_config_aneg_set_prot(stru +@@ -315,10 +315,16 @@ static int aqr_config_aneg_set_prot(stru phy_write_mmd(phydev, MDIO_MMD_VEND1, AQUANTIA_VND1_GSTART_RATE, aquantia_syscfg[if_type].start_rate); diff --git a/target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch b/target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch index 27b09c5fbd..634288c780 100644 --- a/target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch +++ b/target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch @@ -18,7 +18,7 @@ Add a new entry for AQR113 PHY_ID #define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQCS109 0x03a1b5c2 #define PHY_ID_AQR405 0x03a1b4b0 -@@ -856,6 +857,14 @@ static struct phy_driver aqr_driver[] = +@@ -869,6 +870,14 @@ static struct phy_driver aqr_driver[] = .get_stats = aqr107_get_stats, }, { @@ -33,7 +33,7 @@ Add a new entry for AQR113 PHY_ID PHY_ID_MATCH_MODEL(PHY_ID_AQR412), .name = "Aquantia AQR412", .probe = aqr107_probe, -@@ -878,6 +887,7 @@ static struct mdio_device_id __maybe_unu +@@ -891,6 +900,7 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, diff --git a/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch b/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch index e27178f8a1..f7ccc454e9 100644 --- a/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch +++ b/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch @@ -21,7 +21,7 @@ Signed-off-by: Daniel Golle #define PHY_ID_AQR113 0x31c31c40 #define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQCS109 0x03a1b5c2 -@@ -857,6 +859,30 @@ static struct phy_driver aqr_driver[] = +@@ -870,6 +872,30 @@ static struct phy_driver aqr_driver[] = .get_stats = aqr107_get_stats, }, { @@ -52,7 +52,7 @@ Signed-off-by: Daniel Golle PHY_ID_MATCH_MODEL(PHY_ID_AQR113), .name = "Aquantia AQR113", .config_aneg = aqr_config_aneg, -@@ -887,6 +913,8 @@ static struct mdio_device_id __maybe_unu +@@ -900,6 +926,8 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, diff --git a/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch index a4094248cd..d067ef973e 100644 --- a/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch @@ -19,7 +19,7 @@ #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1131,6 +1133,11 @@ static const struct usb_device_id option +@@ -1133,6 +1135,11 @@ static const struct usb_device_id option { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 5ea0dae608..8b4cd10488 100644 --- a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u8 inner_protocol_type:1; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6059,6 +6059,9 @@ static enum gro_result dev_gro_receive(s +@@ -6061,6 +6061,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -8073,6 +8076,48 @@ static void __netdev_adjacent_dev_unlink +@@ -8075,6 +8078,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -8124,6 +8169,7 @@ static int __netdev_upper_dev_link(struc +@@ -8126,6 +8171,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -8220,6 +8266,7 @@ static void __netdev_upper_dev_unlink(st +@@ -8222,6 +8268,7 @@ static void __netdev_upper_dev_unlink(st __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -9039,6 +9086,7 @@ int dev_set_mac_address(struct net_devic +@@ -9041,6 +9088,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; From 2fc6d9912a3ee4adfb86443d9dcbcc8ff23c2a23 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Sun, 3 Jul 2022 11:46:02 +0100 Subject: [PATCH 21/45] kernel: bump 5.15 to 5.15.52 Patches automatically rebased. Signed-off-by: Rui Salvaterra --- include/kernel-5.15 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/kernel-5.15 b/include/kernel-5.15 index dcce93d66b..64523f0f02 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .51 -LINUX_KERNEL_HASH-5.15.51 = 1fba4878b27ef4fd9005e0870cb7aa7c4a051b66575cab102d36184b32a94988 +LINUX_VERSION-5.15 = .52 +LINUX_KERNEL_HASH-5.15.52 = f4680a5da9f25a908ead5956935e7c05124d5f37f6e75a1e07d58641d7ab6d05 From 3e9ad2cdce569e7272d2f34ea5feaef7cd531219 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Thu, 7 Jul 2022 17:41:40 +0100 Subject: [PATCH 22/45] kernel: bump 5.15 to 5.15.53 Patches automatically rebased. Signed-off-by: Rui Salvaterra --- include/kernel-5.15 | 4 ++-- .../hack-5.15/721-net-add-packet-mangeling.patch | 2 +- ...cting-with-source-address-failed-policy.patch | 16 ++++++++-------- ...dd-detach-callback-to-struct-phy_driver.patch | 4 ++-- ...-phy-simplify-phy_link_change-arguments.patch | 14 +++++++------- .../721-NET-no-auto-carrier-off-support.patch | 6 +++--- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/include/kernel-5.15 b/include/kernel-5.15 index 64523f0f02..6f4d3057fb 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .52 -LINUX_KERNEL_HASH-5.15.52 = f4680a5da9f25a908ead5956935e7c05124d5f37f6e75a1e07d58641d7ab6d05 +LINUX_VERSION-5.15 = .53 +LINUX_KERNEL_HASH-5.15.53 = f3aa717243051f3fcca90ebfe26fe5c3a596c2f6047846e8d1724ea90df77b07 diff --git a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch index 3885514860..256fdf5757 100644 --- a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1655,6 +1655,10 @@ enum netdev_priv_flags { - IFF_TX_SKB_NO_LINEAR = 1<<31, + IFF_TX_SKB_NO_LINEAR = BIT_ULL(31), }; +enum netdev_extra_priv_flags { diff --git a/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 3a00359b73..68960765bb 100644 --- a/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -5040,7 +5070,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -5047,7 +5077,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6293,6 +6324,8 @@ static int ip6_route_dev_notify(struct n +@@ -6300,6 +6331,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6304,6 +6337,7 @@ static int ip6_route_dev_notify(struct n +@@ -6311,6 +6344,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6495,6 +6529,8 @@ static int __net_init ip6_route_net_init +@@ -6502,6 +6536,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6505,11 +6541,21 @@ static int __net_init ip6_route_net_init +@@ -6512,11 +6548,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6536,6 +6582,8 @@ out: +@@ -6543,6 +6589,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6555,6 +6603,7 @@ static void __net_exit ip6_route_net_exi +@@ -6562,6 +6610,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6632,6 +6681,9 @@ void __init ip6_route_init_special_entri +@@ -6639,6 +6688,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-5.15/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-5.15/703-phy-add-detach-callback-to-struct-phy_driver.patch index 723dbacdd8..21c322b4f1 100644 --- a/target/linux/generic/pending-5.15/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-5.15/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1715,6 +1715,9 @@ void phy_detach(struct phy_device *phyde +@@ -1738,6 +1738,9 @@ void phy_detach(struct phy_device *phyde struct module *ndev_owner = NULL; struct mii_bus *bus; @@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos sysfs_remove_link(&dev->dev.kobj, "phydev"); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -783,6 +783,12 @@ struct phy_driver { +@@ -789,6 +789,12 @@ struct phy_driver { /** @handle_interrupt: Override default interrupt handling */ irqreturn_t (*handle_interrupt)(struct phy_device *phydev); diff --git a/target/linux/ramips/patches-5.15/720-Revert-net-phy-simplify-phy_link_change-arguments.patch b/target/linux/ramips/patches-5.15/720-Revert-net-phy-simplify-phy_link_change-arguments.patch index 131371b794..6db8296743 100644 --- a/target/linux/ramips/patches-5.15/720-Revert-net-phy-simplify-phy_link_change-arguments.patch +++ b/target/linux/ramips/patches-5.15/720-Revert-net-phy-simplify-phy_link_change-arguments.patch @@ -16,7 +16,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -58,13 +58,13 @@ static const char *phy_state_to_str(enum +@@ -59,13 +59,13 @@ static const char *phy_state_to_str(enum static void phy_link_up(struct phy_device *phydev) { @@ -33,7 +33,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c phy_led_trigger_change_speed(phydev); } -@@ -550,7 +550,7 @@ int phy_start_cable_test(struct phy_devi +@@ -551,7 +551,7 @@ int phy_start_cable_test(struct phy_devi goto out; /* Mark the carrier down until the test is complete */ @@ -42,7 +42,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c netif_testing_on(dev); err = phydev->drv->cable_test_start(phydev); -@@ -621,7 +621,7 @@ int phy_start_cable_test_tdr(struct phy_ +@@ -622,7 +622,7 @@ int phy_start_cable_test_tdr(struct phy_ goto out; /* Mark the carrier down until the test is complete */ @@ -51,7 +51,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c netif_testing_on(dev); err = phydev->drv->cable_test_tdr_start(phydev, config); -@@ -693,7 +693,7 @@ static int phy_check_link_status(struct +@@ -694,7 +694,7 @@ static int phy_check_link_status(struct phy_link_up(phydev); } else if (!phydev->link && phydev->state != PHY_NOLINK) { phydev->state = PHY_NOLINK; @@ -60,7 +60,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c } return 0; -@@ -1154,7 +1154,7 @@ void phy_state_machine(struct work_struc +@@ -1177,7 +1177,7 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; @@ -71,7 +71,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c break; --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1000,14 +1000,16 @@ struct phy_device *phy_find_first(struct +@@ -1023,14 +1023,16 @@ struct phy_device *phy_find_first(struct } EXPORT_SYMBOL(phy_find_first); @@ -107,7 +107,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c bool tx_pause, rx_pause; --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -663,7 +663,7 @@ struct phy_device { +@@ -669,7 +669,7 @@ struct phy_device { u8 mdix; u8 mdix_ctrl; diff --git a/target/linux/ramips/patches-5.15/721-NET-no-auto-carrier-off-support.patch b/target/linux/ramips/patches-5.15/721-NET-no-auto-carrier-off-support.patch index cbd94e3e92..97086fa950 100644 --- a/target/linux/ramips/patches-5.15/721-NET-no-auto-carrier-off-support.patch +++ b/target/linux/ramips/patches-5.15/721-NET-no-auto-carrier-off-support.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -693,7 +693,10 @@ static int phy_check_link_status(struct +@@ -694,7 +694,10 @@ static int phy_check_link_status(struct phy_link_up(phydev); } else if (!phydev->link && phydev->state != PHY_NOLINK) { phydev->state = PHY_NOLINK; @@ -23,7 +23,7 @@ Signed-off-by: John Crispin } return 0; -@@ -1154,7 +1157,10 @@ void phy_state_machine(struct work_struc +@@ -1177,7 +1180,10 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; @@ -37,7 +37,7 @@ Signed-off-by: John Crispin break; --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -582,6 +582,7 @@ struct phy_device { +@@ -586,6 +586,7 @@ struct phy_device { unsigned downshifted_rate:1; unsigned is_on_sfp_module:1; unsigned mac_managed_pm:1; From 859f5f9aec23c96ec3151175c349ffdbe6b108ef Mon Sep 17 00:00:00 2001 From: Claudiu Beznea Date: Wed, 29 Jun 2022 14:13:27 +0300 Subject: [PATCH 23/45] at91bootstrap: update at91bootstrap v4 targets to v4.0.3 Update AT91Bootstrap v4 capable targets to v4.0.3. Signed-off-by: Claudiu Beznea --- package/boot/at91bootstrap/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/boot/at91bootstrap/Makefile b/package/boot/at91bootstrap/Makefile index 72afefdfff..1dd0f38fc2 100644 --- a/package/boot/at91bootstrap/Makefile +++ b/package/boot/at91bootstrap/Makefile @@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=at91bootstrap -PKG_VERSION:=v4.0.1 -PKG_MIRROR_HASH:=3d45a4bcb52162097d4cdf042b8fe1ccf53e88b512e7541f42a23f2a73692a69 -PKG_SOURCE_VERSION:=4d41296e9ae12379555fb46a941897e7264600a2 +PKG_VERSION:=v4.0.3 +PKG_MIRROR_HASH:=1ecdc31a13350fcdcaa3f77ed8ad73906f79fc668dbb2f337e1d5dd877bf9882 +PKG_SOURCE_VERSION:=1d9e673698d9db4a4f2301559f481274de2e75ae BINARIES_DIR:=build/binaries AT91BOOTSTRAP_V4=y From 6d5611af2813e5f06fbf9b400ef0fe642f16c566 Mon Sep 17 00:00:00 2001 From: Claudiu Beznea Date: Wed, 29 Jun 2022 14:17:17 +0300 Subject: [PATCH 24/45] uboot-at91: update to linux4sam-2022.04 Update uboot-at91 to linux4sam-2022.04. As linux4sam-2022.04 is based on U-Boot v2022.01 which contains commit 93b196532254 ("Makefile: Only build dtc if needed") removed also the DTC variable passed to MAKE to force the compilation of DTC. Signed-off-by: Claudiu Beznea --- package/boot/uboot-at91/Makefile | 7 +++---- .../patches/001-fix-Wformat-security.patch | 15 +++------------ 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/package/boot/uboot-at91/Makefile b/package/boot/uboot-at91/Makefile index ed69b8b06c..394cd7a42a 100644 --- a/package/boot/uboot-at91/Makefile +++ b/package/boot/uboot-at91/Makefile @@ -7,13 +7,13 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=linux4sam-2021.10 +PKG_VERSION:=linux4sam-2022.04 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/linux4sam/u-boot-at91.git -PKG_MIRROR_HASH:=f1190062f2012b182b45b78263a4cce4ada9b7b8d6f5a66d68fa51437105fc8c -PKG_SOURCE_VERSION:=39854ce82232cdc05c20158d0439bdbc40991e4a +PKG_MIRROR_HASH:=56bbac45f71aaf39b365661db2a76c6c8415e27f7147b27bb58312b12756c8f3 +PKG_SOURCE_VERSION:=7b59654a486d39dc8e0343e2554699b8a79c7a54 include $(INCLUDE_DIR)/u-boot.mk include $(INCLUDE_DIR)/package.mk @@ -174,7 +174,6 @@ UBOOT_TARGETS := \ define Build/Compile +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ CROSS_COMPILE=$(TARGET_CROSS) \ - DTC=$(PKG_BUILD_DIR)/scripts/dtc/dtc \ KCFLAGS="$(filter-out -fstack-protector \ -mfloat-abi=hard, $(TARGET_CFLAGS)) -mfloat-abi=soft" endef diff --git a/package/boot/uboot-at91/patches/001-fix-Wformat-security.patch b/package/boot/uboot-at91/patches/001-fix-Wformat-security.patch index d39a91aaf0..de92dd4167 100644 --- a/package/boot/uboot-at91/patches/001-fix-Wformat-security.patch +++ b/package/boot/uboot-at91/patches/001-fix-Wformat-security.patch @@ -10,11 +10,9 @@ Signed-off-by: Claudiu Beznea drivers/pinctrl/pinctrl-uclass.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/cmd/panic.c b/cmd/panic.c -index f13b3f094fab..197e2d0870ff 100644 --- a/cmd/panic.c +++ b/cmd/panic.c -@@ -11,7 +11,7 @@ static int do_panic(struct cmd_tbl *cmdtp, int flag, int argc, +@@ -11,7 +11,7 @@ static int do_panic(struct cmd_tbl *cmdt { char *text = (argc < 2) ? "" : argv[1]; @@ -23,11 +21,9 @@ index f13b3f094fab..197e2d0870ff 100644 return CMD_RET_SUCCESS; } -diff --git a/cmd/version.c b/cmd/version.c -index 3686b8733249..35b52c48171d 100644 --- a/cmd/version.c +++ b/cmd/version.c -@@ -19,7 +19,7 @@ static int do_version(struct cmd_tbl *cmdtp, int flag, int argc, +@@ -24,7 +24,7 @@ static int do_version(struct cmd_tbl *cm { char buf[DISPLAY_OPTIONS_BANNER_LENGTH]; @@ -36,11 +32,9 @@ index 3686b8733249..35b52c48171d 100644 #ifdef CC_VERSION_STRING puts(CC_VERSION_STRING "\n"); #endif -diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c -index b0f30aa1f758..aa62a890609a 100644 --- a/drivers/pinctrl/pinctrl-uclass.c +++ b/drivers/pinctrl/pinctrl-uclass.c -@@ -371,7 +371,7 @@ int pinctrl_get_pin_name(struct udevice *dev, int selector, char *buf, +@@ -375,7 +375,7 @@ int pinctrl_get_pin_name(struct udevice if (!ops->get_pin_name) return -ENOSYS; @@ -49,6 +43,3 @@ index b0f30aa1f758..aa62a890609a 100644 return 0; } --- -2.33.0 - From 4a1dcaf8485e9d8f707692deada7c6a98ea1fae7 Mon Sep 17 00:00:00 2001 From: Paul Blazejowski Date: Mon, 4 Jul 2022 11:24:43 -0400 Subject: [PATCH 25/45] hostapd: apply patch to fix building openssl variant Add patch from: https://patchwork.ozlabs.org/project/hostap/patch/20220622121355.1337612-1-a.heider@gmail.com/ Fixes: dab9103 ("hostapd: update to 2022-06-02") Signed-off-by: Paul Blazejowski --- .../patches/992-openssl-include-rsa.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 package/network/services/hostapd/patches/992-openssl-include-rsa.patch diff --git a/package/network/services/hostapd/patches/992-openssl-include-rsa.patch b/package/network/services/hostapd/patches/992-openssl-include-rsa.patch new file mode 100644 index 0000000000..581ae9f67a --- /dev/null +++ b/package/network/services/hostapd/patches/992-openssl-include-rsa.patch @@ -0,0 +1,32 @@ +From f374d52079111a4340acb6df835f45ac6b5f3f60 Mon Sep 17 00:00:00 2001 +From: Andre Heider +Date: Wed, 22 Jun 2022 14:13:55 +0200 +Subject: OpenSSL: Include rsa.h for all OpenSSL versions + +This fixes the build with OpenSSL 1.1.1: +../src/crypto/crypto_openssl.c: In function 'crypto_rsa_oaep_sha256_decrypt': +../src/crypto/crypto_openssl.c:4404:49: error: 'RSA_PKCS1_OAEP_PADDING' undeclared (first use in this function) + +Signed-off-by: Andre Heider +--- + src/crypto/crypto_openssl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/crypto/crypto_openssl.c ++++ b/src/crypto/crypto_openssl.c +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + #include + #ifdef CONFIG_ECC + #include +@@ -25,7 +26,6 @@ + #include + #include + #include +-#include + #include + #include + #else /* OpenSSL version >= 3.0 */ From cb27179e62ed25f2dd98ffc53c4aaefcd861b6c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 11 Jul 2022 11:10:52 +0200 Subject: [PATCH 26/45] uboot-envtools: support NVMEM based access MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This will allow using fw_printenv without /etc/fw_env.config. Once there is Linux NVMEM driver available for U-Boot env data. Signed-off-by: Rafał Miłecki --- ...-flash_io-take-buffer-as-an-argument.patch | 144 +++++++++++++++ ...-logic-code-paths-in-the-fw_env_open.patch | 173 ++++++++++++++++++ ...llback-to-Linux-s-NVMEM-based-access.patch | 110 +++++++++++ 3 files changed, 427 insertions(+) create mode 100644 package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch create mode 100644 package/boot/uboot-envtools/patches/101-fw_env-simplify-logic-code-paths-in-the-fw_env_open.patch create mode 100644 package/boot/uboot-envtools/patches/102-fw_env-add-fallback-to-Linux-s-NVMEM-based-access.patch diff --git a/package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch b/package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch new file mode 100644 index 0000000000..c3b20edbdd --- /dev/null +++ b/package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch @@ -0,0 +1,144 @@ +From f178f7c9550c4fd9c644f79a1eb2dafa5bcdce25 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Wed, 12 Jan 2022 12:47:05 +0100 +Subject: [PATCH] fw_env: make flash_io() take buffer as an argument +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It's usually easier to understand code & follow it if all arguments are +passed explicitly. Many coding styles also discourage using global +variables. + +Behaviour of flash_io() was a bit unintuitive as it was writing to a +buffer referenced in a global struct. That required developers to +remember how it works and sometimes required hacking "environment" +global struct variable to read data into a proper buffer. + +Signed-off-by: Rafał Miłecki +--- + tools/env/fw_env.c | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +--- a/tools/env/fw_env.c ++++ b/tools/env/fw_env.c +@@ -346,7 +346,7 @@ static int ubi_write(int fd, const void + return 0; + } + +-static int flash_io(int mode); ++static int flash_io(int mode, void *buf, size_t count); + static int parse_config(struct env_opts *opts); + + #if defined(CONFIG_FILE) +@@ -516,7 +516,7 @@ int fw_env_flush(struct env_opts *opts) + *environment.crc = crc32(0, (uint8_t *) environment.data, ENV_SIZE); + + /* write environment back to flash */ +- if (flash_io(O_RDWR)) { ++ if (flash_io(O_RDWR, environment.image, CUR_ENVSIZE)) { + fprintf(stderr, "Error: can't write fw_env to flash\n"); + return -1; + } +@@ -1185,7 +1185,8 @@ static int flash_flag_obsolete(int dev, + return rc; + } + +-static int flash_write(int fd_current, int fd_target, int dev_target) ++static int flash_write(int fd_current, int fd_target, int dev_target, void *buf, ++ size_t count) + { + int rc; + +@@ -1212,11 +1213,10 @@ static int flash_write(int fd_current, i + if (IS_UBI(dev_target)) { + if (ubi_update_start(fd_target, CUR_ENVSIZE) < 0) + return -1; +- return ubi_write(fd_target, environment.image, CUR_ENVSIZE); ++ return ubi_write(fd_target, buf, count); + } + +- rc = flash_write_buf(dev_target, fd_target, environment.image, +- CUR_ENVSIZE); ++ rc = flash_write_buf(dev_target, fd_target, buf, count); + if (rc < 0) + return rc; + +@@ -1235,17 +1235,17 @@ static int flash_write(int fd_current, i + return 0; + } + +-static int flash_read(int fd) ++static int flash_read(int fd, void *buf, size_t count) + { + int rc; + + if (IS_UBI(dev_current)) { + DEVTYPE(dev_current) = MTD_ABSENT; + +- return ubi_read(fd, environment.image, CUR_ENVSIZE); ++ return ubi_read(fd, buf, count); + } + +- rc = flash_read_buf(dev_current, fd, environment.image, CUR_ENVSIZE, ++ rc = flash_read_buf(dev_current, fd, buf, count, + DEVOFFSET(dev_current)); + if (rc != CUR_ENVSIZE) + return -1; +@@ -1291,7 +1291,7 @@ err: + return rc; + } + +-static int flash_io_write(int fd_current) ++static int flash_io_write(int fd_current, void *buf, size_t count) + { + int fd_target = -1, rc, dev_target; + const char *dname, *target_temp = NULL; +@@ -1322,7 +1322,7 @@ static int flash_io_write(int fd_current + fd_target = fd_current; + } + +- rc = flash_write(fd_current, fd_target, dev_target); ++ rc = flash_write(fd_current, fd_target, dev_target, buf, count); + + if (fsync(fd_current) && !(errno == EINVAL || errno == EROFS)) { + fprintf(stderr, +@@ -1377,7 +1377,7 @@ static int flash_io_write(int fd_current + return rc; + } + +-static int flash_io(int mode) ++static int flash_io(int mode, void *buf, size_t count) + { + int fd_current, rc; + +@@ -1391,9 +1391,9 @@ static int flash_io(int mode) + } + + if (mode == O_RDWR) { +- rc = flash_io_write(fd_current); ++ rc = flash_io_write(fd_current, buf, count); + } else { +- rc = flash_read(fd_current); ++ rc = flash_read(fd_current, buf, count); + } + + if (close(fd_current)) { +@@ -1455,7 +1455,7 @@ int fw_env_open(struct env_opts *opts) + } + + dev_current = 0; +- if (flash_io(O_RDONLY)) { ++ if (flash_io(O_RDONLY, environment.image, CUR_ENVSIZE)) { + ret = -EIO; + goto open_cleanup; + } +@@ -1490,7 +1490,7 @@ int fw_env_open(struct env_opts *opts) + * other pointers in environment still point inside addr0 + */ + environment.image = addr1; +- if (flash_io(O_RDONLY)) { ++ if (flash_io(O_RDONLY, environment.image, CUR_ENVSIZE)) { + ret = -EIO; + goto open_cleanup; + } diff --git a/package/boot/uboot-envtools/patches/101-fw_env-simplify-logic-code-paths-in-the-fw_env_open.patch b/package/boot/uboot-envtools/patches/101-fw_env-simplify-logic-code-paths-in-the-fw_env_open.patch new file mode 100644 index 0000000000..dbb71bd433 --- /dev/null +++ b/package/boot/uboot-envtools/patches/101-fw_env-simplify-logic-code-paths-in-the-fw_env_open.patch @@ -0,0 +1,173 @@ +From 07c79dd5fdeaefb39c9e7a97f3b66de63109a18d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Wed, 12 Jan 2022 12:47:06 +0100 +Subject: [PATCH] fw_env: simplify logic & code paths in the fw_env_open() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Environment variables can be stored in two formats: +1. Single entry with header containing CRC32 +2. Two entries with extra flags field in each entry header + +For that reason fw_env_open() has two main code paths and there are +pointers for CRC32/flags/data. + +Previous implementation was a bit hard to follow: +1. It was checking for used format twice (in reversed order each time) +2. It was setting "environment" global struct fields to some temporary + values that required extra comments explaining it + +This change simplifies that code: +1. It introduces two clear code paths +2. It sets "environment" global struct fields values only once it really + knows them + +To be fair there are *two* crc32() calls now and an extra pointer +variable but that should be cheap enough and worth it. + +Signed-off-by: Rafał Miłecki +--- + tools/env/fw_env.c | 77 +++++++++++++++++++--------------------------- + 1 file changed, 31 insertions(+), 46 deletions(-) + +--- a/tools/env/fw_env.c ++++ b/tools/env/fw_env.c +@@ -1421,9 +1421,6 @@ int fw_env_open(struct env_opts *opts) + + int ret; + +- struct env_image_single *single; +- struct env_image_redundant *redundant; +- + if (!opts) + opts = &default_opts; + +@@ -1439,40 +1436,37 @@ int fw_env_open(struct env_opts *opts) + goto open_cleanup; + } + +- /* read environment from FLASH to local buffer */ +- environment.image = addr0; +- +- if (have_redund_env) { +- redundant = addr0; +- environment.crc = &redundant->crc; +- environment.flags = &redundant->flags; +- environment.data = redundant->data; +- } else { +- single = addr0; +- environment.crc = &single->crc; +- environment.flags = NULL; +- environment.data = single->data; +- } +- + dev_current = 0; +- if (flash_io(O_RDONLY, environment.image, CUR_ENVSIZE)) { ++ if (flash_io(O_RDONLY, addr0, CUR_ENVSIZE)) { + ret = -EIO; + goto open_cleanup; + } + +- crc0 = crc32(0, (uint8_t *)environment.data, ENV_SIZE); +- +- crc0_ok = (crc0 == *environment.crc); + if (!have_redund_env) { ++ struct env_image_single *single = addr0; ++ ++ crc0 = crc32(0, (uint8_t *)single->data, ENV_SIZE); ++ crc0_ok = (crc0 == single->crc); + if (!crc0_ok) { + fprintf(stderr, + "Warning: Bad CRC, using default environment\n"); +- memcpy(environment.data, default_environment, ++ memcpy(single->data, default_environment, + sizeof(default_environment)); + environment.dirty = 1; + } ++ ++ environment.image = addr0; ++ environment.crc = &single->crc; ++ environment.flags = NULL; ++ environment.data = single->data; + } else { +- flag0 = *environment.flags; ++ struct env_image_redundant *redundant0 = addr0; ++ struct env_image_redundant *redundant1; ++ ++ crc0 = crc32(0, (uint8_t *)redundant0->data, ENV_SIZE); ++ crc0_ok = (crc0 == redundant0->crc); ++ ++ flag0 = redundant0->flags; + + dev_current = 1; + addr1 = calloc(1, CUR_ENVSIZE); +@@ -1483,14 +1477,9 @@ int fw_env_open(struct env_opts *opts) + ret = -ENOMEM; + goto open_cleanup; + } +- redundant = addr1; ++ redundant1 = addr1; + +- /* +- * have to set environment.image for flash_read(), careful - +- * other pointers in environment still point inside addr0 +- */ +- environment.image = addr1; +- if (flash_io(O_RDONLY, environment.image, CUR_ENVSIZE)) { ++ if (flash_io(O_RDONLY, addr1, CUR_ENVSIZE)) { + ret = -EIO; + goto open_cleanup; + } +@@ -1518,18 +1507,12 @@ int fw_env_open(struct env_opts *opts) + goto open_cleanup; + } + +- crc1 = crc32(0, (uint8_t *)redundant->data, ENV_SIZE); ++ crc1 = crc32(0, (uint8_t *)redundant1->data, ENV_SIZE); + +- crc1_ok = (crc1 == redundant->crc); +- flag1 = redundant->flags; ++ crc1_ok = (crc1 == redundant1->crc); ++ flag1 = redundant1->flags; + +- /* +- * environment.data still points to ((struct +- * env_image_redundant *)addr0)->data. If the two +- * environments differ, or one has bad crc, force a +- * write-out by marking the environment dirty. +- */ +- if (memcmp(environment.data, redundant->data, ENV_SIZE) || ++ if (memcmp(redundant0->data, redundant1->data, ENV_SIZE) || + !crc0_ok || !crc1_ok) + environment.dirty = 1; + +@@ -1540,7 +1523,7 @@ int fw_env_open(struct env_opts *opts) + } else if (!crc0_ok && !crc1_ok) { + fprintf(stderr, + "Warning: Bad CRC, using default environment\n"); +- memcpy(environment.data, default_environment, ++ memcpy(redundant0->data, default_environment, + sizeof(default_environment)); + environment.dirty = 1; + dev_current = 0; +@@ -1586,13 +1569,15 @@ int fw_env_open(struct env_opts *opts) + */ + if (dev_current) { + environment.image = addr1; +- environment.crc = &redundant->crc; +- environment.flags = &redundant->flags; +- environment.data = redundant->data; ++ environment.crc = &redundant1->crc; ++ environment.flags = &redundant1->flags; ++ environment.data = redundant1->data; + free(addr0); + } else { + environment.image = addr0; +- /* Other pointers are already set */ ++ environment.crc = &redundant0->crc; ++ environment.flags = &redundant0->flags; ++ environment.data = redundant0->data; + free(addr1); + } + #ifdef DEBUG diff --git a/package/boot/uboot-envtools/patches/102-fw_env-add-fallback-to-Linux-s-NVMEM-based-access.patch b/package/boot/uboot-envtools/patches/102-fw_env-add-fallback-to-Linux-s-NVMEM-based-access.patch new file mode 100644 index 0000000000..da17350b40 --- /dev/null +++ b/package/boot/uboot-envtools/patches/102-fw_env-add-fallback-to-Linux-s-NVMEM-based-access.patch @@ -0,0 +1,110 @@ +From 8142c4554ffaa927529f24427a35f7ee2861793a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Thu, 16 Jun 2022 20:59:03 +0200 +Subject: [PATCH] fw_env: add fallback to Linux's NVMEM based access +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +A new DT binding for describing environment data block has been added in +Linux's commit 5db1c2dbc04c ("dt-bindings: nvmem: add U-Boot environment +variables binding"). Once we get a proper Linux NVMEM driver it'll be +possible to use Linux's binary interface for user-space as documented +in the: +https://www.kernel.org/doc/html/latest/driver-api/nvmem.html + +This commits makes fw_env fallback to looking for a compatible NVMEM +device in case config file isn't present. In a long term this may make +config files redundant and avoid code (info) duplication. + +Signed-off-by: Rafał Miłecki +--- + tools/env/fw_env.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 67 insertions(+), 3 deletions(-) + +--- a/tools/env/fw_env.c ++++ b/tools/env/fw_env.c +@@ -1713,6 +1713,67 @@ static int check_device_config(int dev) + return rc; + } + ++static int find_nvmem_device(void) ++{ ++ const char *path = "/sys/bus/nvmem/devices"; ++ struct dirent *dent; ++ char *nvmem = NULL; ++ char comp[256]; ++ char buf[32]; ++ int bytes; ++ DIR *dir; ++ ++ dir = opendir(path); ++ if (!dir) { ++ return -EIO; ++ } ++ ++ while (!nvmem && (dent = readdir(dir))) { ++ FILE *fp; ++ ++ if (!strcmp(dent->d_name, ".") || !strcmp(dent->d_name, "..")) { ++ continue; ++ } ++ ++ bytes = snprintf(comp, sizeof(comp), "%s/%s/of_node/compatible", path, dent->d_name); ++ if (bytes < 0 || bytes == sizeof(comp)) { ++ continue; ++ } ++ ++ fp = fopen(comp, "r"); ++ if (!fp) { ++ continue; ++ } ++ ++ fread(buf, sizeof(buf), 1, fp); ++ ++ if (!strcmp(buf, "u-boot,env")) { ++ bytes = asprintf(&nvmem, "%s/%s/nvmem", path, dent->d_name); ++ if (bytes < 0) { ++ nvmem = NULL; ++ } ++ } ++ ++ fclose(fp); ++ } ++ ++ closedir(dir); ++ ++ if (nvmem) { ++ struct stat s; ++ ++ stat(nvmem, &s); ++ ++ DEVNAME(0) = nvmem; ++ DEVOFFSET(0) = 0; ++ ENVSIZE(0) = s.st_size; ++ ++ return 0; ++ } ++ ++ return -ENOENT; ++} ++ + static int parse_config(struct env_opts *opts) + { + int rc; +@@ -1723,9 +1784,12 @@ static int parse_config(struct env_opts + #if defined(CONFIG_FILE) + /* Fills in DEVNAME(), ENVSIZE(), DEVESIZE(). Or don't. */ + if (get_config(opts->config_file)) { +- fprintf(stderr, "Cannot parse config file '%s': %m\n", +- opts->config_file); +- return -1; ++ if (find_nvmem_device()) { ++ fprintf(stderr, "Cannot parse config file '%s': %m\n", ++ opts->config_file); ++ fprintf(stderr, "Failed to find NVMEM device\n"); ++ return -1; ++ } + } + #else + DEVNAME(0) = DEVICE1_NAME; From baa753ab8bba4af67044e1dfe63ca9f853d8e2fb Mon Sep 17 00:00:00 2001 From: Piotr Dymacz Date: Mon, 23 May 2022 14:56:02 +0200 Subject: [PATCH 27/45] imx: refresh (sub)target kernel configs Signed-off-by: Piotr Dymacz --- target/linux/imx/config-5.15 | 8 +++----- target/linux/imx/cortexa7/config-default | 2 -- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/target/linux/imx/config-5.15 b/target/linux/imx/config-5.15 index 1a3c83274c..3c3691b649 100644 --- a/target/linux/imx/config-5.15 +++ b/target/linux/imx/config-5.15 @@ -15,6 +15,7 @@ CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARM=y +CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_CRYPTO=y CONFIG_ARM_ERRATA_754322=y @@ -83,6 +84,7 @@ CONFIG_CPU_V7=y CONFIG_CRC16=y CONFIG_CRYPTO_AES_ARM=y CONFIG_CRYPTO_AES_ARM_BS=y +CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y CONFIG_CRYPTO_AUTHENC=y CONFIG_CRYPTO_BLAKE2S_ARM=y @@ -116,7 +118,6 @@ CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_JITTERENTROPY=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y CONFIG_CRYPTO_LIB_DES=y CONFIG_CRYPTO_LIB_SHA256=y @@ -164,8 +165,6 @@ CONFIG_F2FS_FS=y CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y # CONFIG_FSL_DPAA2_SWITCH is not set -# CONFIG_FSL_ENETC_IERB is not set -# CONFIG_FSL_IMX8_DDR_PMU is not set CONFIG_FS_ENCRYPTION=y CONFIG_FS_ENCRYPTION_ALGS=y CONFIG_FS_IOMAP=y @@ -364,8 +363,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SG_POOL=y CONFIG_SMP=y CONFIG_SMP_ON_UP=y -# CONFIG_SND_SOC_IMX_CARD is not set -# CONFIG_SND_SOC_IMX_HDMI is not set CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_SOC_BUS=y # CONFIG_SOC_IMX50 is not set @@ -430,6 +427,7 @@ CONFIG_VFPv3=y CONFIG_VMSPLIT_2G=y # CONFIG_VMSPLIT_3G is not set CONFIG_WATCHDOG_CORE=y +CONFIG_XOR_BLOCKS=y CONFIG_XPS=y CONFIG_XXHASH=y CONFIG_XZ_DEC_ARM=y diff --git a/target/linux/imx/cortexa7/config-default b/target/linux/imx/cortexa7/config-default index 480e98867f..68437aeca3 100644 --- a/target/linux/imx/cortexa7/config-default +++ b/target/linux/imx/cortexa7/config-default @@ -24,5 +24,3 @@ CONFIG_SOC_IMX6=y CONFIG_SOC_IMX6UL=y CONFIG_SPI_FSL_QUADSPI=y CONFIG_SPI_MEM=y -CONFIG_USB_CHIPIDEA_IMX=y -CONFIG_USB_EHCI_MXC=y From 345e98170787cbe0452ba0c1e02310e2bd0a940f Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Mon, 18 Apr 2022 02:09:59 +0200 Subject: [PATCH 28/45] imx: cortexa7: adjust kernel config defaults for i.MX 7 Add initial symbols required for i.MX 7 boards, based on devices available on TechNexion PICO-PI-IMX7D board. Signed-off-by: Lech Perczak [pepe2k@gmail.com: refreshed subtarget kernel config] Signed-off-by: Piotr Dymacz --- target/linux/imx/cortexa7/config-default | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/target/linux/imx/cortexa7/config-default b/target/linux/imx/cortexa7/config-default index 68437aeca3..6b1493fe19 100644 --- a/target/linux/imx/cortexa7/config-default +++ b/target/linux/imx/cortexa7/config-default @@ -1,6 +1,12 @@ CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_GIC=y +# CONFIG_ARM_IMX6Q_CPUFREQ is not set +CONFIG_ARM_IMX_CPUFREQ_DT=y +CONFIG_ARM_PSCI=y +CONFIG_ARM_PSCI_FW=y +CONFIG_AT803X_PHY=y CONFIG_CLK_IMX6UL=y +CONFIG_CLK_IMX7D=y CONFIG_CMA=y CONFIG_CMA_AREAS=7 # CONFIG_CMA_DEBUG is not set @@ -8,19 +14,32 @@ CONFIG_CMA_AREAS=7 # CONFIG_CMA_SYSFS is not set CONFIG_CONTIG_ALLOC=y # CONFIG_DMA_CMA is not set +CONFIG_FEC=y +CONFIG_FSL_GUTS=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_HW_RANDOM_IMX_RNGC=y +CONFIG_IMX_GPCV2=y +CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_JFFS2_FS=y CONFIG_LEDS_GPIO=y CONFIG_MEMORY_ISOLATION=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_ESDHC=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPLIT_FIRMWARE=y CONFIG_MTD_SPLIT_FIT_FW=y +CONFIG_NOP_USB_XCEIV=y CONFIG_PINCTRL_IMX=y CONFIG_PINCTRL_IMX6UL=y +CONFIG_PINCTRL_IMX7D=y CONFIG_PM_GENERIC_DOMAINS=y CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_REGULATOR_ANATOP=y +CONFIG_RESET_IMX7=y CONFIG_SOC_IMX6=y CONFIG_SOC_IMX6UL=y +CONFIG_SOC_IMX7D=y +CONFIG_SOC_IMX7D_CA7=y CONFIG_SPI_FSL_QUADSPI=y CONFIG_SPI_MEM=y From f430600d735d603b93b839a9a97a85d057a71172 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Sun, 24 Apr 2022 15:53:25 +0200 Subject: [PATCH 29/45] imx: bundle correct SDMA firmware for i.MX 7 boards Import sdma-imx7d.bin from linux-firmware repository at commit: 55edf5202154: ("imx: sdma: update firmware to v3.5/v4.5") Cortex-A7 boards (i.MX 7 based) use different SDMA firmware than i.MX 6 boards - bundle the correct files in per-subtarget kernel options. Signed-off-by: Lech Perczak --- target/linux/imx/config-5.15 | 2 -- target/linux/imx/cortexa7/config-default | 2 ++ target/linux/imx/cortexa9/config-default | 2 ++ .../imx/files/firmware/imx/sdma/sdma-imx7d.bin | Bin 0 -> 2862 bytes 4 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 target/linux/imx/files/firmware/imx/sdma/sdma-imx7d.bin diff --git a/target/linux/imx/config-5.15 b/target/linux/imx/config-5.15 index 3c3691b649..3ca915ae9a 100644 --- a/target/linux/imx/config-5.15 +++ b/target/linux/imx/config-5.15 @@ -158,8 +158,6 @@ CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_EXTCON=y -CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx6q.bin" -CONFIG_EXTRA_FIRMWARE_DIR="firmware" CONFIG_F2FS_FS=y # CONFIG_FEC is not set CONFIG_FIXED_PHY=y diff --git a/target/linux/imx/cortexa7/config-default b/target/linux/imx/cortexa7/config-default index 6b1493fe19..08829c3c77 100644 --- a/target/linux/imx/cortexa7/config-default +++ b/target/linux/imx/cortexa7/config-default @@ -14,6 +14,8 @@ CONFIG_CMA_AREAS=7 # CONFIG_CMA_SYSFS is not set CONFIG_CONTIG_ALLOC=y # CONFIG_DMA_CMA is not set +CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx7d.bin" +CONFIG_EXTRA_FIRMWARE_DIR="firmware" CONFIG_FEC=y CONFIG_FSL_GUTS=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y diff --git a/target/linux/imx/cortexa9/config-default b/target/linux/imx/cortexa9/config-default index d829bc7741..9319381590 100644 --- a/target/linux/imx/cortexa9/config-default +++ b/target/linux/imx/cortexa9/config-default @@ -10,6 +10,8 @@ CONFIG_CLK_IMX6SX=y CONFIG_CMDLINE="pci=nomsi" CONFIG_CMDLINE_EXTEND=y CONFIG_E1000E=y +CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx6q.bin" +CONFIG_EXTRA_FIRMWARE_DIR="firmware" CONFIG_FEC=y CONFIG_FSL_GUTS=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y diff --git a/target/linux/imx/files/firmware/imx/sdma/sdma-imx7d.bin b/target/linux/imx/files/firmware/imx/sdma/sdma-imx7d.bin new file mode 100644 index 0000000000000000000000000000000000000000..148f4fe87bed695d16a610d91000feaa8317107e GIT binary patch literal 2862 zcmb7GU2GiH6+UzK&dkp2ChIj`Hcjo=O~TqSO#+QdDWnNheegp!RAaB#*?660ASIq8 zwks9Yk?zc>5)Vn!#%i61{j+LSeW_3$K;@xnO0eCEk(x+FTOefPBC#!k8Us=g6t-wN zcV@?HnxK+h-Pv=`+`acZ-}$?P-%CDB0YJpjiDMUzzvIZL08bHs#+Uru@l|i_D*ore zuXyrgQ@0rS{66QK`xsdn{GI*V>U+^<9>7@d;iIv|@S>1^ZNbMK2}Yr@ z=@QgNTR7{(9@3rW{fM-iUAa0HiUw8&a{-R`F~s|*^;5(DQ7FmPP?;L)A35_fFT|T)sYBP0!G%{Qmx!?0ws4lt%UnopBnc63F1O zk!`Y3J6uCge$AL!=P{p&e)C>rqQ|vsWe_4B6W>B6zG+DXRsRMuaZi(poJ^RM*;q(q zdTpVb`|zzMAG-@Npy*2}qv(muE}Zc>XF*+?a}BpXgc_N79+c3cTKaADpojR)yvOfx zSzxa%)W?1%9do4{W7UI|kr|;)h|MCqd?Di;IiK$3+<@DkW^ z%sfR~aWg~O@!NRdnn>6_xmfruSti8f(ijfz8^ZFK2RF3(kRc~b#BaV@I3}mrxJ=EX zc&f1RnZoSIE0{57VKy}{&SvK&GEGu6+r{8O5Z47vl8Rf;7ihM_J}u4u00so}cZIFR z7)b8AM`V)Pp52XnY%RuN5`TrB+0-0*d&jjW3zg%olis}LNzRGLx|0;^M!`8Dt)27_ zJgKv|WVCisiZ|nRj?ipt7w3p#-C3mB)-FPEYth5hIL=Y=*yZd9?8!p5z~zRDHDt4m zku)#fSDb^Nix9%cTX-3(eUDTiY*>mS?k-s!?k}Gt7WG!?pITowHRTNRxKv9JyuTi znb_%a(Cd2Y+nL}kL!1@yLKoJ-_!?&$f%(nO9#OmB9a1Wc~cN^Q6b zR~vk$mmGaxNijCr!d;N;HWQ`V#0*>&d8cu7#R#Kb==lU|CM4U;K7%4I-UZ?%8K@pM z4ww3jPi(5Q#Sx6BhT8)!!W9shhHqBgH{r#OQj1>?Inl;R7vh$*0U~8MVoCcxN_khx z5tZc=k~TrMnTpZnV%u&$g*(RG9iJ=t80SU4sts4Ew$Sr2GAAKINN#X>`*9QHv!6rR zXMA9X7k^axw8}fKXuLSy^10txV;J#Uu(LXPpOuq*4{vpS+wDF(-LCo`d&l)9nRfJ$ zv4S#}RFwGdnlG_;Rx}|S0x`jGTe`*xrR$v))Fr-oBsp zt1Tp{*-;M4eB~Kf(*BAy^c}3BVp*67J-XWp={v2^V|QEO4ZJVK=^PDqT^0ov-tdwE zk?+dR|Y(W6pUzVYP zT^~q)xp>{_& Date: Sun, 24 Apr 2022 21:29:53 +0200 Subject: [PATCH 30/45] imx: cortexa7: enable framebuffer console + DRM The PICO-PI-IMX7D board is equipped with external LCD display with touchscreen. To allow displaying console on it, enable framebuffer, fbcon and DRM support at early boot. Signed-off-by: Lech Perczak [pepe2k@gmail.com: refreshed subtarget kernel config] Signed-off-by: Piotr Dymacz --- target/linux/imx/cortexa7/config-default | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/target/linux/imx/cortexa7/config-default b/target/linux/imx/cortexa7/config-default index 08829c3c77..988b01dfa6 100644 --- a/target/linux/imx/cortexa7/config-default +++ b/target/linux/imx/cortexa7/config-default @@ -5,6 +5,8 @@ CONFIG_ARM_IMX_CPUFREQ_DT=y CONFIG_ARM_PSCI=y CONFIG_ARM_PSCI_FW=y CONFIG_AT803X_PHY=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_PWM=y CONFIG_CLK_IMX6UL=y CONFIG_CLK_IMX7D=y CONFIG_CMA=y @@ -12,17 +14,57 @@ CONFIG_CMA_AREAS=7 # CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set # CONFIG_CMA_SYSFS is not set +CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_CONTIG_ALLOC=y # CONFIG_DMA_CMA is not set +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DRM=y +CONFIG_DRM_BRIDGE=y +CONFIG_DRM_DISPLAY_CONNECTOR=y +CONFIG_DRM_DP_AUX_BUS=y +CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GEM_CMA_HELPER=y +CONFIG_DRM_KMS_CMA_HELPER=y +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_MXS=y +CONFIG_DRM_MXSFB=y +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_BRIDGE=y +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_PANEL_SIMPLE=y +CONFIG_DRM_SIMPLE_BRIDGE=y +CONFIG_DUMMY_CONSOLE=y CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx7d.bin" CONFIG_EXTRA_FIRMWARE_DIR="firmware" +CONFIG_FB=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CMDLINE=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y CONFIG_FEC=y +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FONT_SUPPORT=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_FSL_GUTS=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_HDMI=y +CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM_IMX_RNGC=y +CONFIG_I2C_ALGOBIT=y CONFIG_IMX_GPCV2=y CONFIG_IMX_GPCV2_PM_DOMAINS=y +CONFIG_INPUT=y CONFIG_JFFS2_FS=y +CONFIG_KCMP=y CONFIG_LEDS_GPIO=y CONFIG_MEMORY_ISOLATION=y CONFIG_MMC_SDHCI_ESDHC_IMX=y @@ -45,3 +87,8 @@ CONFIG_SOC_IMX7D=y CONFIG_SOC_IMX7D_CA7=y CONFIG_SPI_FSL_QUADSPI=y CONFIG_SPI_MEM=y +CONFIG_SYNC_FILE=y +CONFIG_VIDEOMODE_HELPERS=y +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y From 3750acb28a5961d97415a7ccf9fd694f5fd60030 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 23:34:23 +0200 Subject: [PATCH 31/45] kernel: add kmod-touchscreen-edt-ft5x06 package This module contains driver for touchscreen used in TechNexion PICO-PI-IMX7D board. Signed-off-by: Lech Perczak --- package/kernel/linux/modules/input.mk | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/package/kernel/linux/modules/input.mk b/package/kernel/linux/modules/input.mk index e052a7afac..7f042e8535 100644 --- a/package/kernel/linux/modules/input.mk +++ b/package/kernel/linux/modules/input.mk @@ -193,6 +193,27 @@ endef $(eval $(call KernelPackage,input-touchscreen-ads7846)) +define KernelPackage/input-touchscreen-edt-ft5x06 + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=EDT FT5x06 and Focaltech FT6236 based touchscreens + DEPENDS:=+kmod-i2c-core +kmod-input-core + KCONFIG:= \ + CONFIG_INPUT_TOUCHSCREEN=y \ + CONFIG_TOUCHSCREEN_PROPERTIES=y@lt5.13 \ + CONFIG_TOUCHSCREEN_EDT_FT5X06 + FILES:=$(LINUX_DIR)/drivers/input/touchscreen/edt-ft5x06.ko \ + $(LINUX_DIR)/drivers/input/touchscreen/of_touchscreen.ko@lt5.13 + AUTOLOAD:=$(call AutoProbe,edt-ft5x06) +endef + +define KernelPackage/input-touchscreen-edt-ft5x06/description + Kernel module for EDT FT5206, FT5306, FT5406, FT5506, Evervision FT5726 \ + and Focaltech FT6236 based touchscreens +endef + +$(eval $(call KernelPackage,input-touchscreen-edt-ft5x06)) + + define KernelPackage/keyboard-imx SUBMENU:=$(INPUT_MODULES_MENU) TITLE:=IMX keypad support From fb7547684538e5501c4b91ed62e5f66832e4d9bc Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Mon, 25 Apr 2022 01:51:54 +0200 Subject: [PATCH 32/45] kernel: add kmod-btsdio package Add package supporting Bluetooth HCI interfaces connected over SDIO. Signed-off-by: Lech Perczak [pepe2k@gmail.com: dropped rfkill dependency, other minor text fixes] Signed-off-by: Piotr Dymacz --- package/kernel/linux/modules/other.mk | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index f5d524e703..d47c7dcaa2 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -119,6 +119,24 @@ endef $(eval $(call KernelPackage,btmrvl)) +define KernelPackage/btsdio + SUBMENU:=$(OTHER_MENU) + TITLE:=Bluetooth HCI SDIO driver + DEPENDS:=+kmod-bluetooth +kmod-mmc + KCONFIG:= \ + CONFIG_BT_HCIBTSDIO + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/btsdio.ko + AUTOLOAD:=$(call AutoProbe,btsdio) +endef + +define KernelPackage/btsdio/description + Kernel support for Bluetooth device with SDIO interface +endef + +$(eval $(call KernelPackage,btsdio)) + + define KernelPackage/dma-buf SUBMENU:=$(OTHER_MENU) TITLE:=DMA shared buffer support From 489d792c85c3b4737bf8810a56b7a5e301f79fd8 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 22:58:53 +0200 Subject: [PATCH 33/45] mac80211: enable CONFIG_BRCMFMAC_SDIO for imx/cortexa7 TechNexion PICO-PI-IMX7D uses BCM4339 Wi-Fi interface in SDIO mode. Enable SDIO support for imx/cortexa7 to fully support it in images. Signed-off-by: Lech Perczak --- package/kernel/mac80211/broadcom.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/kernel/mac80211/broadcom.mk b/package/kernel/mac80211/broadcom.mk index 473bbf597c..5548f6e661 100644 --- a/package/kernel/mac80211/broadcom.mk +++ b/package/kernel/mac80211/broadcom.mk @@ -450,6 +450,7 @@ define KernelPackage/brcmfmac/config config BRCMFMAC_SDIO bool "Enable SDIO bus interface support" default y if TARGET_bcm27xx + default y if TARGET_imx_cortexa7 default y if TARGET_sunxi default n help From 6f6c2fb32176b538a8d13d896e7842ae27950925 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 22:59:03 +0200 Subject: [PATCH 34/45] linux-firmware: use upstream firmware for cypress-firmware-4339-sdio Old firmware provided by 'cypress-firmware' suite is not sufficient for AP6335 module used in PICO-PI-IMX7D board to probe successfully. Use the upstream version from linux-firmware instead. At the same time, drop the old firmware from 'cypress-firmware' package. Signed-off-by: Lech Perczak --- package/firmware/cypress-firmware/Makefile | 15 --------------- package/firmware/linux-firmware/cypress.mk | 8 ++++++++ 2 files changed, 8 insertions(+), 15 deletions(-) create mode 100644 package/firmware/linux-firmware/cypress.mk diff --git a/package/firmware/cypress-firmware/Makefile b/package/firmware/cypress-firmware/Makefile index c5f41e0cb4..769e69a973 100644 --- a/package/firmware/cypress-firmware/Makefile +++ b/package/firmware/cypress-firmware/Makefile @@ -81,21 +81,6 @@ endef $(eval $(call BuildPackage,cypress-firmware-43362-sdio)) -# Cypress 4339 SDIO Firmware -define Package/cypress-firmware-4339-sdio - $(Package/cypress-firmware-default) - TITLE:=CYW4339 FullMac SDIO firmware -endef - -define Package/cypress-firmware-4339-sdio/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/firmware/cyfmac4339-sdio.bin \ - $(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin -endef - -$(eval $(call BuildPackage,cypress-firmware-4339-sdio)) - # Cypress 43430 SDIO Firmware define Package/cypress-firmware-43430-sdio $(Package/cypress-firmware-default) diff --git a/package/firmware/linux-firmware/cypress.mk b/package/firmware/linux-firmware/cypress.mk new file mode 100644 index 0000000000..2f5b66fecf --- /dev/null +++ b/package/firmware/linux-firmware/cypress.mk @@ -0,0 +1,8 @@ +Package/cypress-firmware-4339-sdio = $(call Package/firmware-default,Broadcom BCM4339 FullMac SDIO firmware) +define Package/cypress-firmware-4339-sdio/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/cypress/cyfmac4339-sdio.bin \ + $(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin +endef +$(eval $(call BuildPackage,cypress-firmware-4339-sdio)) From 2e297377bf77f6051e5fed8c4fb684fd17d41987 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 22:59:07 +0200 Subject: [PATCH 35/45] cypress-nvram: support BCM4339 on TechNexion PICO-PI-IMX7D This board features an AP6335 system-in-package combination of Wi-Fi and Bluetooth module based on BCM4339. Support is borrowed directly from the following Buildroot commit: 095420e05ae5: ("configs/imx7dpico: Add Wifi support"). Signed-off-by: Lech Perczak --- package/firmware/cypress-nvram/Makefile | 18 ++++ ...fmac4339-sdio.technexion,imx7d-pico-pi.txt | 99 +++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 package/firmware/cypress-nvram/files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt diff --git a/package/firmware/cypress-nvram/Makefile b/package/firmware/cypress-nvram/Makefile index 806bfa2d92..f8b45fbef2 100644 --- a/package/firmware/cypress-nvram/Makefile +++ b/package/firmware/cypress-nvram/Makefile @@ -106,3 +106,21 @@ define Package/cypress-nvram-43455-sdio-rpi-4b/install endef $(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-4b)) + +# Cypress 4339 SDIO PICO-PI-IMX7D +define Package/cypress-nvram-4339-pico-pi-imx7d + $(Package/cypress-nvram-default) + TITLE:=BCM4339 NVRAM for TechNexion PICO-PI-IMX7D + DEPENDS:=@TARGET_imx_cortexa7 + PROVIDES:=brcmfmac-firmware-4339-pico-pi-imx7d + CONFLICTS:=brcmfmac-firmware-4339-pico-pi-imx7d +endef + +define Package/cypress-nvram-4339-pico-pi-imx7d/install + $(INSTALL_DIR) $(1)/lib/firmware/brcm + $(INSTALL_DATA) \ + ./files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt \ + $(1)/lib/firmware/brcm/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt +endef + +$(eval $(call BuildPackage,cypress-nvram-4339-pico-pi-imx7d)) diff --git a/package/firmware/cypress-nvram/files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt b/package/firmware/cypress-nvram/files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt new file mode 100644 index 0000000000..1ddd929504 --- /dev/null +++ b/package/firmware/cypress-nvram/files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt @@ -0,0 +1,99 @@ +#AP6335_NVRAM_V1.5_03112014 +NVRAMRev=$Rev: 410316 $ +sromrev=11 +boardrev=0x1203 +boardtype=0x06c5 +boardflags=0x00000c01 +boardflags2=0x00002000 +boardflags3=0x101188 +macaddr=00:90:4c:c5:12:38 +ccode=0 +regrev=0 +antswitch=0 +pdgain2g=7 +pdgain5g=7 +tworangetssi2g=0 +tworangetssi5g=0 +femctrl=7 +pcieingress_war=15 +vendid=0x14e4 +devid=0x43ae +manfid=0x2d0 +nocrc=1 +otpimagesize=502 +xtalfreq=37400 +extpagain2g=2 +pdetrange2g=2 +extpagain5g=2 +pdetrange5g=2 +rxgains2gelnagaina0=0 +rxgains2gtrisoa0=7 +rxgains2gtrelnabypa0=0 +rxgains5gelnagaina0=0 +rxgains5gtrisoa0=11 +rxgains5gtrelnabypa0=0 +rxchain=1 +txchain=1 +aa2g=1 +aa5g=1 +tssipos5g=0 +tssipos2g=0 +pa2ga0=-161,6269,-723 +pa2gccka0=-116,7568,-852 +pa5ga0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D +pa5gbw40a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D +pa5gbw80a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D +pdoffset40ma0=0 +pdoffset80ma0=0 +pdoffsetcckma0=0 +maxp2ga0=75 +maxp5ga0=64,64,72,72 +cckbw202gpo=0x0000 +cckbw20ul2gpo=0x0 +mcsbw202gpo=0x99445533 +mcsbw402gpo=0x99775533 +dot11agofdmhrbw202gpo=0x2233 +ofdmlrbw202gpo=0x0000 +tssifloor2g=500 +mcsbw205glpo=0x66333330 +mcsbw405glpo=0x66665530 +mcsbw805glpo=0xAA555530 +mcsbw1605glpo=0x99555530 +mcsbw205gmpo=0x99BB5530 +mcsbw405gmpo=0x99BB5530 +mcsbw805gmpo=0xEE555530 +mcsbw1605gmpo=0x99555530 +mcsbw205ghpo=0x99995530 +mcsbw405ghpo=0x99BB5530 +mcsbw805ghpo=0xEE555530 +mcsbw1605ghpo=0x99555530 +mcslr5glpo=0x0000 +mcslr5gmpo=0x0000 +mcslr5ghpo=0x0000 +sb20in40hrrpo=0x0 +sb20in80and160hr5glpo=0x0 +sb40and80hr5glpo=0x0 +sb20in80and160hr5gmpo=0x0 +sb40and80hr5gmpo=0x0 +sb20in80and160hr5ghpo=0x0 +sb40and80hr5ghpo=0x0 +sb20in40lrpo=0x0 +sb20in80and160lr5glpo=0x0 +sb40and80lr5glpo=0x0 +sb20in80and160lr5gmpo=0x0 +sb40and80lr5gmpo=0x0 +sb20in80and160lr5ghpo=0x0 +sb40and80lr5ghpo=0x0 +dot11agduphrpo=0x0 +dot11agduplrpo=0x0 +phycal_tempdelta=25 +cckdigfilttype=2 +pacalidx2g=65 +dacrate2g=160 +swctrlmap_5g=0x00000008,0x00000010,0x00000008,0x000000,0x038 +swctrlmap_2g=0x00000001,0x00000002,0x00000001,0x040002,0x0ff +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +rssicorrnorm_c0=3,3 +rssicorrnorm5g_c0=2,3,4,2,3,3,0,1,2,0,1,2 +muxenab=0x10 From d545825cb36bb119d7941386c017ffa8b24c810d Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 23:31:34 +0200 Subject: [PATCH 36/45] imx: extract common combined image operations between subtargets The same combined image format can be used to boot both i.MX 6 and i.MX 7 platforms - extract the common part. Signed-off-by: Lech Perczak --- target/linux/imx/image/common.mk | 51 ++++++++++++++++++++++++ target/linux/imx/image/cortexa7.mk | 2 + target/linux/imx/image/cortexa9.mk | 62 +++--------------------------- 3 files changed, 59 insertions(+), 56 deletions(-) create mode 100644 target/linux/imx/image/common.mk diff --git a/target/linux/imx/image/common.mk b/target/linux/imx/image/common.mk new file mode 100644 index 0000000000..8a9b260584 --- /dev/null +++ b/target/linux/imx/image/common.mk @@ -0,0 +1,51 @@ +define Build/imx-combined-image-prepare + rm -rf $@.boot + mkdir -p $@.boot +endef + +define Build/imx-combined-image-clean + rm -rf $@.boot $@.fs +endef + +define Build/imx-combined-image + $(CP) $(IMAGE_KERNEL) $@.boot/uImage + + $(foreach dts,$(DEVICE_DTS), \ + $(CP) \ + $(DTS_DIR)/$(dts).dtb \ + $@.boot/; + ) + + mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ + -n '$(DEVICE_ID) OpenWrt bootscript' \ + -d bootscript-$(DEVICE_NAME) \ + $@.boot/boot.scr + + cp $@ $@.fs + + $(SCRIPT_DIR)/gen_image_generic.sh $@ \ + $(CONFIG_TARGET_KERNEL_PARTSIZE) \ + $@.boot \ + $(CONFIG_TARGET_ROOTFS_PARTSIZE) \ + $@.fs \ + 1024 +endef + +define Build/imx-sdcard + $(Build/imx-combined-image-prepare) + + if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img ]; then \ + $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img \ + $@.boot/u-boot.img; \ + fi + + if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img ]; then \ + $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img \ + $@.boot/u-boot-dtb.img; \ + fi + + $(Build/imx-combined-image) + dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc + + $(Build/imx-combined-image-clean) +endef diff --git a/target/linux/imx/image/cortexa7.mk b/target/linux/imx/image/cortexa7.mk index 063b89fdd6..9b2159c540 100644 --- a/target/linux/imx/image/cortexa7.mk +++ b/target/linux/imx/image/cortexa7.mk @@ -1,3 +1,5 @@ +include common.mk + define Device/Default PROFILES := Default FILESYSTEMS := squashfs ext4 diff --git a/target/linux/imx/image/cortexa9.mk b/target/linux/imx/image/cortexa9.mk index 17a507b8da..78079aa746 100644 --- a/target/linux/imx/image/cortexa9.mk +++ b/target/linux/imx/image/cortexa9.mk @@ -1,5 +1,7 @@ DEVICE_VARS += MKUBIFS_OPTS UBOOT +include common.mk + define Build/boot-overlay rm -rf $@.boot mkdir -p $@.boot @@ -44,62 +46,10 @@ define Build/recovery-scr -d ./recovery-$(DEVICE_NAME) $@ endef -define Build/imx6-combined-image-prepare - rm -rf $@.boot - mkdir -p $@.boot -endef - -define Build/imx6-combined-image-clean - rm -rf $@.boot $@.fs -endef - -define Build/imx6-combined-image - $(CP) $(IMAGE_KERNEL) $@.boot/uImage - - $(foreach dts,$(DEVICE_DTS), \ - $(CP) \ - $(DTS_DIR)/$(dts).dtb \ - $@.boot/; - ) - - mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n '$(DEVICE_ID) OpenWrt bootscript' \ - -d bootscript-$(DEVICE_NAME) \ - $@.boot/boot.scr - - cp $@ $@.fs - - $(SCRIPT_DIR)/gen_image_generic.sh $@ \ - $(CONFIG_TARGET_KERNEL_PARTSIZE) \ - $@.boot \ - $(CONFIG_TARGET_ROOTFS_PARTSIZE) \ - $@.fs \ - 1024 -endef - -define Build/imx6-sdcard - $(Build/imx6-combined-image-prepare) - - if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img ]; then \ - $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img \ - $@.boot/u-boot.img; \ - fi - - if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img ]; then \ - $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img \ - $@.boot/u-boot-dtb.img; \ - fi - - $(Build/imx6-combined-image) - dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc - - $(Build/imx6-combined-image-clean) -endef - define Build/apalis-emmc - $(Build/imx6-combined-image-prepare) - $(Build/imx6-combined-image) - $(Build/imx6-combined-image-clean) + $(Build/imx-combined-image-prepare) + $(Build/imx-combined-image) + $(Build/imx-combined-image-clean) endef @@ -184,7 +134,7 @@ define Device/solidrun_cubox-i KERNEL_SUFFIX := -zImage FILESYSTEMS := squashfs IMAGES := combined.bin dtb - IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx6-sdcard + IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx-sdcard IMAGE/dtb := install-dtb endef TARGET_DEVICES += solidrun_cubox-i From f987887e14702ef0fe63b1721f498946669e3b79 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 23:31:58 +0200 Subject: [PATCH 37/45] imx: create sdcard image recipe with raw U-Boot Most i.MX boards booting off eMMC or SD cards use raw U-Boot located at 69 kB offset from beginning of the device - create a recipe for such image. Signed-off-by: Lech Perczak --- target/linux/imx/image/common.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/target/linux/imx/image/common.mk b/target/linux/imx/image/common.mk index 8a9b260584..3b528a02b1 100644 --- a/target/linux/imx/image/common.mk +++ b/target/linux/imx/image/common.mk @@ -49,3 +49,13 @@ define Build/imx-sdcard $(Build/imx-combined-image-clean) endef + +define Build/imx-sdcard-raw-uboot + $(Build/imx-combined-image-prepare) + + $(Build/imx-combined-image) + dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc + dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img of=$@ bs=1024 seek=69 conv=notrunc + + $(Build/imx-combined-image-clean) +endef From 70a9c75ef3ff3866b0cf9b80323ba756a3850b59 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 23:32:06 +0200 Subject: [PATCH 38/45] imx: decouple sdcard sysupgrade from Apalis boards Sysupgrade procedure for i.MX 6 Apalis boards is suitable for most other i.MX boards booting from eMMC or SD card. Extract the common parts and decouple the procedure from "apalis" board name in sysupgrade TAR contents, so the procedure is reusable for i.MX 7 boards. Signed-off-by: Lech Perczak --- target/linux/imx/base-files/lib/imx.sh | 63 +++++++++++++++++++ .../linux/imx/cortexa9/base-files/lib/imx.sh | 30 --------- .../base-files/lib/preinit/79_move_config | 6 +- .../base-files/lib/upgrade/platform.sh | 24 +------ 4 files changed, 67 insertions(+), 56 deletions(-) create mode 100644 target/linux/imx/base-files/lib/imx.sh delete mode 100644 target/linux/imx/cortexa9/base-files/lib/imx.sh diff --git a/target/linux/imx/base-files/lib/imx.sh b/target/linux/imx/base-files/lib/imx.sh new file mode 100644 index 0000000000..a451de3779 --- /dev/null +++ b/target/linux/imx/base-files/lib/imx.sh @@ -0,0 +1,63 @@ +# +# Copyright (C) 2010-2013 OpenWrt.org +# + +rootpartuuid() { + local cmdline=$(cat /proc/cmdline) + local bootpart=${cmdline##*root=} + bootpart=${bootpart%% *} + local uuid=${bootpart#PARTUUID=} + echo ${uuid%-02} +} + +bootdev_from_uuid() { + blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1 +} + +bootpart_from_uuid() { + blkid | grep $(rootpartuuid)-01 | cut -d : -f1 +} + +rootpart_from_uuid() { + blkid | grep $(rootpartuuid)-02 | cut -d : -f1 +} + +imx_sdcard_mount_boot() { + mkdir -p /boot + [ -f /boot/uImage ] || { + mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null + } +} + +imx_sdcard_copy_config() { + imx_sdcard_mount_boot + cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE" + sync + umount /boot +} + +imx_sdcard_do_upgrade() { + local board_dir="$(tar tf "${1}" | grep -m 1 '^sysupgrade-.*/$')" + board_dir="${board_dir%/}" + + imx_sdcard_mount_boot + get_image "$1" | tar Oxf - ${board_dir}/kernel > /boot/uImage + get_image "$1" | tar Oxf - ${board_dir}/root > $(rootpart_from_uuid) + sync + umount /boot +} + +imx_sdcard_pre_upgrade() { + [ -z "$UPGRADE_BACKUP" ] && { + jffs2reset -y + umount /overlay + } +} + +imx_sdcard_move_config() { + if [ -b $(bootpart_from_uuid) ]; then + imx_sdcard_mount_boot + [ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" / + umount /boot + fi +} diff --git a/target/linux/imx/cortexa9/base-files/lib/imx.sh b/target/linux/imx/cortexa9/base-files/lib/imx.sh deleted file mode 100644 index 46d2eeb006..0000000000 --- a/target/linux/imx/cortexa9/base-files/lib/imx.sh +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (C) 2010-2013 OpenWrt.org -# - -rootpartuuid() { - local cmdline=$(cat /proc/cmdline) - local bootpart=${cmdline##*root=} - bootpart=${bootpart%% *} - local uuid=${bootpart#PARTUUID=} - echo ${uuid%-02} -} - -bootdev_from_uuid() { - blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1 -} - -bootpart_from_uuid() { - blkid | grep $(rootpartuuid)-01 | cut -d : -f1 -} - -rootpart_from_uuid() { - blkid | grep $(rootpartuuid)-02 | cut -d : -f1 -} - -apalis_mount_boot() { - mkdir -p /boot - [ -f /boot/uImage ] || { - mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null - } -} diff --git a/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config b/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config index 7188c2d8f4..a2e3aa3b86 100644 --- a/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config +++ b/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config @@ -9,11 +9,7 @@ move_config() { toradex,apalis_imx6q-eval|\ toradex,apalis_imx6q-ixora|\ toradex,apalis_imx6q-ixora-v1.1) - if [ -b $(bootpart_from_uuid) ]; then - apalis_mount_boot - [ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" / - umount /boot - fi + imx_sdcard_move_config ;; esac } diff --git a/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh b/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh index d6f8fb82a6..dc2bf9cf49 100755 --- a/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh +++ b/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh @@ -17,21 +17,6 @@ enable_image_metadata_check() { } enable_image_metadata_check -apalis_copy_config() { - apalis_mount_boot - cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE" - sync - umount /boot -} - -apalis_do_upgrade() { - apalis_mount_boot - get_image "$1" | tar Oxf - sysupgrade-apalis/kernel > /boot/uImage - get_image "$1" | tar Oxf - sysupgrade-apalis/root > $(rootpart_from_uuid) - sync - umount /boot -} - platform_check_image() { local board=$(board_name) @@ -109,7 +94,7 @@ platform_do_upgrade() { toradex,apalis_imx6q-eval|\ toradex,apalis_imx6q-ixora|\ toradex,apalis_imx6q-ixora-v1.1) - apalis_do_upgrade "$1" + imx_sdcard_do_upgrade "$1" ;; esac } @@ -121,7 +106,7 @@ platform_copy_config() { toradex,apalis_imx6q-eval|\ toradex,apalis_imx6q-ixora|\ toradex,apalis_imx6q-ixora-v1.1) - apalis_copy_config + imx_sdcard_copy_config ;; esac } @@ -133,10 +118,7 @@ platform_pre_upgrade() { toradex,apalis_imx6q-eval|\ toradex,apalis_imx6q-ixora|\ toradex,apalis_imx6q-ixora-v1.1) - [ -z "$UPGRADE_BACKUP" ] && { - jffs2reset -y - umount /overlay - } + imx_sdcard_pre_upgrade ;; esac } From 4436d7bae8c38eda1cb159e3b1ffd2fd1a553bed Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 23:32:12 +0200 Subject: [PATCH 39/45] imx: make sdcard/eMMC sysupgrade more resilient Ensure, that kernel update is performed atomically on filesystem, to reduce likelihood of failure if power-cut occurs during sysupgrade. If kernel update fails for whatever reason, skip updating rootfs as well. Signed-off-by: Lech Perczak --- target/linux/imx/base-files/lib/imx.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/target/linux/imx/base-files/lib/imx.sh b/target/linux/imx/base-files/lib/imx.sh index a451de3779..9c69235758 100644 --- a/target/linux/imx/base-files/lib/imx.sh +++ b/target/linux/imx/base-files/lib/imx.sh @@ -41,9 +41,12 @@ imx_sdcard_do_upgrade() { board_dir="${board_dir%/}" imx_sdcard_mount_boot - get_image "$1" | tar Oxf - ${board_dir}/kernel > /boot/uImage - get_image "$1" | tar Oxf - ${board_dir}/root > $(rootpart_from_uuid) - sync + get_image "$1" | tar Oxf - ${board_dir}/kernel > /boot/uImage-new && \ + mv /boot/uImage-new /boot/uImage && \ + sync && \ + get_image "$1" | tar Oxf - ${board_dir}/root > $(rootpart_from_uuid) && \ + sync + umount /boot } From 703a1cafe0d0bc1bb8e7beb3267dff44235d9a68 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Mon, 18 Apr 2022 00:52:32 +0200 Subject: [PATCH 40/45] imx: add DT aliases for imx7d-pico-pi Add OpenWrt specific aliases for system LED and label MAC device, also set default serial console. Signed-off-by: Lech Perczak --- ...10-ARM-dts-imx7d-pico-pi-set-aliases.patch | 24 +++++++++++++++++++ ...-pico-pi.dts-add-default-stdout-path.patch | 23 ++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 target/linux/imx/patches-5.15/310-ARM-dts-imx7d-pico-pi-set-aliases.patch create mode 100644 target/linux/imx/patches-5.15/311-ARM-imx7d-pico-pi.dts-add-default-stdout-path.patch diff --git a/target/linux/imx/patches-5.15/310-ARM-dts-imx7d-pico-pi-set-aliases.patch b/target/linux/imx/patches-5.15/310-ARM-dts-imx7d-pico-pi-set-aliases.patch new file mode 100644 index 0000000000..f50199cdfc --- /dev/null +++ b/target/linux/imx/patches-5.15/310-ARM-dts-imx7d-pico-pi-set-aliases.patch @@ -0,0 +1,24 @@ +--- a/arch/arm/boot/dts/imx7d-pico-pi.dts ++++ b/arch/arm/boot/dts/imx7d-pico-pi.dts +@@ -8,12 +8,20 @@ + model = "TechNexion PICO-IMX7D Board and PI baseboard"; + compatible = "technexion,imx7d-pico-pi", "fsl,imx7d"; + ++ aliases { ++ led-boot = &led_system; ++ led-failsafe = &led_system; ++ led-running = &led_system; ++ led-upgrade = &led_system; ++ label-mac-device = &fec1; ++ }; ++ + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_leds>; + +- led { ++ led_system: led { + label = "gpio-led"; + gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; + }; diff --git a/target/linux/imx/patches-5.15/311-ARM-imx7d-pico-pi.dts-add-default-stdout-path.patch b/target/linux/imx/patches-5.15/311-ARM-imx7d-pico-pi.dts-add-default-stdout-path.patch new file mode 100644 index 0000000000..5248e8c74c --- /dev/null +++ b/target/linux/imx/patches-5.15/311-ARM-imx7d-pico-pi.dts-add-default-stdout-path.patch @@ -0,0 +1,23 @@ +From 6e8e5ccfbee7a531b035ffce3f95f3901946fa9d Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 9 Jan 2019 14:33:24 -0600 +Subject: [PATCH] ARM: imx7d-pico-pi.dts: add default stdout-path + +Signed-off-by: Robert Nelson +--- + arch/arm/boot/dts/imx7d-pico-pi.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/arch/arm/boot/dts/imx7d-pico-pi.dts ++++ b/arch/arm/boot/dts/imx7d-pico-pi.dts +@@ -16,6 +16,10 @@ + label-mac-device = &fec1; + }; + ++ chosen { ++ stdout-path = "serial4:115200n8"; ++ }; ++ + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; From 7094e65503366387e630d973d55e305ccebbc33a Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Mon, 18 Apr 2022 01:21:59 +0200 Subject: [PATCH 41/45] uboot-imx: add support for TechNexion PICO-PI-IMX7D Add mainline U-Boot flavour for TechNexion PICO-PI-IMX7D board, using DM and upstream default configuration, storing payload in sector 138 of eMMC. Signed-off-by: Lech Perczak [pepe2k@gmail.com: fixed BUILD_DEVICES value] Signed-off-by: Piotr Dymacz --- package/boot/uboot-imx/Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/package/boot/uboot-imx/Makefile b/package/boot/uboot-imx/Makefile index 305d127557..c23e48732b 100644 --- a/package/boot/uboot-imx/Makefile +++ b/package/boot/uboot-imx/Makefile @@ -36,6 +36,14 @@ define U-Boot/mx6cuboxi BUILD_DEVICES:=solidrun_cubox-i endef +define U-Boot/pico-pi-imx7d + NAME:=TechNexion PICO-PI-IMX7D + UBOOT_IMAGE:=SPL u-boot-dtb.img + UBOOT_MAKE_FLAGS:=SPL u-boot-dtb.img + BUILD_SUBTARGET:=cortexa7 + BUILD_DEVICES:=technexion_imx7d-pico-pi +endef + define U-Boot/wandboard NAME:=Wandboard Dual Lite/Quad/Solo BUILD_SUBTARGET:=cortexa9 @@ -45,6 +53,7 @@ endef UBOOT_TARGETS := \ apalis_imx6 \ mx6cuboxi \ + pico-pi-imx7d \ wandboard UBOOT_MAKE_FLAGS += u-boot.imx From fa26cdacc2eb7924f71ea62c0dfbeec7763b465f Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Mon, 25 Apr 2022 00:42:03 +0200 Subject: [PATCH 42/45] imx: cortexa7: add support for TechNexion PICO-PI-IMX7D TechNexion PICO-PI-IMX7D is a NXP i.MX 7Dual based development board in the well-known "Raspberry Pi" form factor, comprising of PICO-IMX7 SoM and the PICO-PI-IMX7D carrier board. Usually bundled with a 5" 800x480 LVDS display with I2C touchscreen and an Omnivision OV5645 camera on a MIPI CSI bus, on a daughterboard. The board was previously used primarily with "Android Things" ecosystem, but the project was killed by Google. This would not be possible, if not for the great tutorial of setting up Debian on this board, by Robert C. Nelson [1]. Hardware highlights: CPU: NXP i.MX 7Dual SoC, dual-core Cortex-A7 at 1000 MHz RAM: 512 MiB DDR3 SDRAM Storage: 4 GB eMMC Networking: - built-in Gigabit Ethernet with Atheros AR8035 PHY, - Broadcom BCM4339 1x1 802.11ac Wi-Fi (over SDIO) + Bluetooth 4.1 (over SDIO + UART + IS2) combo, with Hirose u.FL connector on the board, - dual CAN interfaces on the 40-pin connector, Interfaces: - USB-C power input plus USB 2.0 OTG host/device port, - single USB-A host port, - serial console over built-in FT232BL USB-UART converter with micro-USB connector (configuration: 115200-8-N-1), - analog audio interface with TRRS connector in CTIA standard, - SPI, I2C and UART interfaces available on the 40-pin, - mikroBUS connector, - I2C connector for the optional touch panel, - parallel LCD output for the optional display, - MIPI CSI connector for the optional camera Installation: 1. Connect the serial console to debug USB connector and the terminal of choice in another window, at 115200-8-N-1. Ensure you can switch to it quickly after next step. 2. Power-on the board from your PC. Ensure your PC can supply required current, the board can take more than 1 A in the peak load during booting and brownout will result in power-on reset loop. Preferably, use charging-capable USB port or connect through self-powered USB hub. If U-Boot is present already on the eMMC, interrupt the booting sequence by pressing any key and skip to point 7. 3. Ensure the boot mode jumpers J1 and J2 are in correct position for USB recovery: 2 6 2 6 -------------- |o o-o||o-o o| |o o-o||o-o o| J1 -------------- J2 1 5 1 5 The jumpers are located just underneath the 40-pin expansion header and are of the smaller 2 mm pitch. 4. Download and build 'imx_usb_loader' from: https://github.com/boundarydevices/imx_usb_loader. 5. Power-on the board again from your PC through USB OTG connector. 6. Use 'imx_usb_loader' to load 'SPL' and 'u-boot-dtb.img' to the board: $ sudo imx_usb u-boot-pico-pi-imx7d/SPL $ sudo imx_usb u-boot-pico-pi-imx7d/u-boot-dtb.img 7. Switch to the terminal from step 2 and interrupt boot sequence by pressing any key within 2 seconds. 8. Configure mmc 0 to boot from the data partition and disable access to boot partitions: => mmc partconf 0 0 7 0 This only needs to be set once. If you were running Debian previously, this is probably already set. 9. Enable USB mass storage passthrough for eMMC from U-boot => ums 0 mmc 0 10. Optionally, backup previous eMMC contents by reading out its image. 11. Copy over the factory image to the USB device, for example: $ sudo dd if=openwrt-imx-cortexa7-pico-pi-imx7d-squashfs.combined.bin \ of=/dev/disk/by-id/usb-Linux_UMS_disk_0-0:0 \ bs=8M status=progress oflag=direct 12. Detach USB MSC interface from your PC and U-Boot by pressing Ctrl+C. 13. Ensure that boot mode jumpers are at the default settings for eMMC boot: 2 6 2 6 -------------- |o-o o||o o-o| |o-o o||o-o o| J1 -------------- J2 1 5 1 5 If they are not, power-off the board, restore them and power-on the board again. Otherwise, if jumpers are set, just reset the board from U-Boot CLI: => reset 14. The installation is now complete and board should boot successfully. Upgrading: just use sysupgrade image, as usual in OpenWrt. Known issues/current limitations: - OV5645 camera - not described in upstream device tree as of kernel 5.15. There are staging drivers present in upstream Linux tree for i.MX 7 CSI, MIPI-CSI and video mux, and the configuration is there in imx7s.dtsi - so this is expected to get supported eventually, - on-chip ADCs are disabled in upstream device tree, so the kernel driver remains disabled as well. [1] https://forum.digikey.com/t/debian-getting-started-with-the-pico-pi-imx7/12429 Signed-off-by: Lech Perczak [pepe2k@gmail.com: commit description reworded] Signed-off-by: Piotr Dymacz --- .../base-files/etc/board.d/02_network | 3 ++ .../base-files/lib/preinit/79_move_config | 15 ++++++ .../base-files/lib/upgrade/platform.sh | 49 +++++++++++++++++-- .../image/bootscript-technexion_imx7d-pico-pi | 18 +++++++ target/linux/imx/image/cortexa7.mk | 18 +++++++ 5 files changed, 98 insertions(+), 5 deletions(-) create mode 100644 target/linux/imx/cortexa7/base-files/lib/preinit/79_move_config create mode 100644 target/linux/imx/image/bootscript-technexion_imx7d-pico-pi diff --git a/target/linux/imx/cortexa7/base-files/etc/board.d/02_network b/target/linux/imx/cortexa7/base-files/etc/board.d/02_network index 75d1c7d1d8..8ada58e6c1 100644 --- a/target/linux/imx/cortexa7/base-files/etc/board.d/02_network +++ b/target/linux/imx/cortexa7/base-files/etc/board.d/02_network @@ -5,6 +5,9 @@ board=$(board_name) board_config_update case "$board" in +technexion,imx7d-pico-pi) + ucidef_set_interface_lan "eth0" + ;; *) ucidef_set_interfaces_lan_wan "eth0" "eth1" ;; diff --git a/target/linux/imx/cortexa7/base-files/lib/preinit/79_move_config b/target/linux/imx/cortexa7/base-files/lib/preinit/79_move_config new file mode 100644 index 0000000000..7bdb2d5499 --- /dev/null +++ b/target/linux/imx/cortexa7/base-files/lib/preinit/79_move_config @@ -0,0 +1,15 @@ +. /lib/imx.sh +. /lib/functions.sh +. /lib/upgrade/common.sh + +move_config() { + local board=$(board_name) + + case "$board" in + technexion,imx7d-pico-pi) + imx_sdcard_move_config + ;; + esac +} + +boot_hook_add preinit_mount_root move_config diff --git a/target/linux/imx/cortexa7/base-files/lib/upgrade/platform.sh b/target/linux/imx/cortexa7/base-files/lib/upgrade/platform.sh index 9a613c43b1..1bdc2aa4b9 100644 --- a/target/linux/imx/cortexa7/base-files/lib/upgrade/platform.sh +++ b/target/linux/imx/cortexa7/base-files/lib/upgrade/platform.sh @@ -1,16 +1,55 @@ -PART_NAME=firmware -REQUIRE_IMAGE_METADATA=1 +. /lib/imx.sh + +RAMFS_COPY_BIN='blkid jffs2reset' + +enable_image_metadata_check() { + case "$(board_name)" in + technexion,imx7d-pico-pi) + REQUIRE_IMAGE_METADATA=1 + ;; + esac +} +enable_image_metadata_check platform_check_image() { - return 0 + local board=$(board_name) + + case "$board" in + technexion,imx7d-pico-pi) + return 0 + ;; + esac + + echo "Sysupgrade is not yet supported on $board." + return 1 } platform_do_upgrade() { local board=$(board_name) case "$board" in - *) - default_do_upgrade "$1" + technexion,imx7d-pico-pi) + imx_sdcard_do_upgrade "$1" + ;; + esac +} + +platform_copy_config() { + local board=$(board_name) + + case "$board" in + technexion,imx7d-pico-pi) + imx_sdcard_copy_config + ;; + esac +} + +platform_pre_upgrade() { + local board=$(board_name) + + case "$board" in + technexion,imx7d-pico-pi) + imx_sdcard_pre_upgrade ;; esac } diff --git a/target/linux/imx/image/bootscript-technexion_imx7d-pico-pi b/target/linux/imx/image/bootscript-technexion_imx7d-pico-pi new file mode 100644 index 0000000000..7521cce7f1 --- /dev/null +++ b/target/linux/imx/image/bootscript-technexion_imx7d-pico-pi @@ -0,0 +1,18 @@ +echo "PICO-PI-IMX7 OpenWrt boot script" + +# Initial setup, avoid overwriting environment every boot +if test ${bootm_boot_mode} != nonsec; then setenv bootm_boot_mode nonsec; setenv bootcmd run bootcmd_mmc0; saveenv; fi + +# Set console variable for both UART and HDMI +setenv console "console=ttymxc4,115200 console=tty0 video=DPI-1:800x480-32" +setenv fdt_name imx7d-pico-pi.dtb +setenv mmcdev 0 +setenv mmcrootpart 2 +part uuid mmc ${mmcdev}:${mmcrootpart} uuid + +# Boot from eMMC is the only supported option +setenv bootargs "${console} root=PARTUUID=${uuid} rw rootwait" +mmc dev ${mmcdev} +load ${devtype} ${mmcdev}:${devplist} ${kernel_addr_r} /uImage +load ${devtype} ${mmcdev}:${devplist} ${fdt_addr_r} /${fdt_name} +bootm ${kernel_addr_r} - ${fdt_addr_r} diff --git a/target/linux/imx/image/cortexa7.mk b/target/linux/imx/image/cortexa7.mk index 9b2159c540..b4ac1b6904 100644 --- a/target/linux/imx/image/cortexa7.mk +++ b/target/linux/imx/image/cortexa7.mk @@ -1,3 +1,5 @@ +DEVICE_VARS += UBOOT + include common.mk define Device/Default @@ -10,3 +12,19 @@ define Device/Default KERNEL_LOADADDR := 0x80008000 IMAGES := endef + +define Device/technexion_imx7d-pico-pi + DEVICE_VENDOR := TechNexion + DEVICE_MODEL := PICO-PI-IMX7D + UBOOT := pico-pi-imx7d + DEVICE_DTS := imx7d-pico-pi + DEVICE_PACKAGES := kmod-sound-core kmod-sound-soc-imx kmod-sound-soc-imx-sgtl5000 \ + kmod-can kmod-can-flexcan kmod-can-raw kmod-leds-gpio \ + kmod-input-touchscreen-edt-ft5x06 kmod-usb-hid kmod-btsdio \ + kmod-brcmfmac cypress-firmware-4339-sdio cypress-nvram-4339-pico-pi-imx7d + FILESYSTEMS := squashfs + IMAGES := combined.bin sysupgrade.bin + IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx-sdcard-raw-uboot + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata +endef +TARGET_DEVICES += technexion_imx7d-pico-pi From e62f1388c30efbe697c108064942ccb29b0805b3 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Sun, 24 Apr 2022 14:16:19 +0200 Subject: [PATCH 43/45] uboot-envtools: imx: cortexa7: add TechNexion PICO-PI-IMX7D Add configuration for upstream U-Boot environment for booting from eMMC. Signed-off-by: Lech Perczak --- .../boot/uboot-envtools/files/imx_cortexa7 | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 package/boot/uboot-envtools/files/imx_cortexa7 diff --git a/package/boot/uboot-envtools/files/imx_cortexa7 b/package/boot/uboot-envtools/files/imx_cortexa7 new file mode 100644 index 0000000000..df6a436260 --- /dev/null +++ b/package/boot/uboot-envtools/files/imx_cortexa7 @@ -0,0 +1,19 @@ +[ -e /etc/config/ubootenv ] && exit 0 + +touch /etc/config/ubootenv + +. /lib/uboot-envtools.sh +. /lib/functions.sh + +board=$(board_name) + +case "$board" in +technexion,imx7d-pico-pi) + ubootenv_add_uci_config "/dev/mmcblk2" "0xc0000" "0x2000" "0x2000" + ;; +esac + +config_load ubootenv +config_foreach ubootenv_add_app_config ubootenv + +exit 0 From 28e476191b97d268c8719cef3e8115825b952cf1 Mon Sep 17 00:00:00 2001 From: Piotr Dymacz Date: Tue, 21 Jun 2022 17:23:28 +0200 Subject: [PATCH 44/45] imx: keep common kernel symbols in target's config Move common kernel symbols from subtargets to target config. Signed-off-by: Piotr Dymacz --- target/linux/imx/config-5.15 | 9 +++++++-- target/linux/imx/cortexa7/config-default | 7 ------- target/linux/imx/cortexa9/config-default | 6 ------ 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/target/linux/imx/config-5.15 b/target/linux/imx/config-5.15 index 3ca915ae9a..7d3ae30817 100644 --- a/target/linux/imx/config-5.15 +++ b/target/linux/imx/config-5.15 @@ -24,6 +24,7 @@ CONFIG_ARM_ERRATA_775420=y CONFIG_ARM_ERRATA_814220=y CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_ARM_HEAVY_MB=y +# CONFIG_ARM_IMX6Q_CPUFREQ is not set # CONFIG_ARM_IMX_CPUFREQ_DT is not set CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y @@ -159,10 +160,11 @@ CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_EXTCON=y CONFIG_F2FS_FS=y -# CONFIG_FEC is not set +CONFIG_FEC=y CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y # CONFIG_FSL_DPAA2_SWITCH is not set +CONFIG_FSL_GUTS=y CONFIG_FS_ENCRYPTION=y CONFIG_FS_ENCRYPTION_ALGS=y CONFIG_FS_IOMAP=y @@ -258,7 +260,9 @@ CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y # CONFIG_MMC_MXC is not set CONFIG_MMC_SDHCI=y -# CONFIG_MMC_SDHCI_ESDHC_IMX is not set +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_ESDHC=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_REL=y CONFIG_MPILIB=y @@ -339,6 +343,7 @@ CONFIG_RD_XZ=y CONFIG_REGMAP=y CONFIG_REGMAP_MMIO=y CONFIG_REGULATOR=y +CONFIG_REGULATOR_ANATOP=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_RESET_CONTROLLER=y CONFIG_RFS_ACCEL=y diff --git a/target/linux/imx/cortexa7/config-default b/target/linux/imx/cortexa7/config-default index 988b01dfa6..10f23be435 100644 --- a/target/linux/imx/cortexa7/config-default +++ b/target/linux/imx/cortexa7/config-default @@ -1,6 +1,5 @@ CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_GIC=y -# CONFIG_ARM_IMX6Q_CPUFREQ is not set CONFIG_ARM_IMX_CPUFREQ_DT=y CONFIG_ARM_PSCI=y CONFIG_ARM_PSCI_FW=y @@ -47,14 +46,12 @@ CONFIG_FB_SYS_COPYAREA=y CONFIG_FB_SYS_FILLRECT=y CONFIG_FB_SYS_FOPS=y CONFIG_FB_SYS_IMAGEBLIT=y -CONFIG_FEC=y CONFIG_FONT_8x16=y CONFIG_FONT_8x8=y CONFIG_FONT_SUPPORT=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -CONFIG_FSL_GUTS=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_HDMI=y CONFIG_HW_CONSOLE=y @@ -67,9 +64,6 @@ CONFIG_JFFS2_FS=y CONFIG_KCMP=y CONFIG_LEDS_GPIO=y CONFIG_MEMORY_ISOLATION=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_OF_ESDHC=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPLIT_FIRMWARE=y CONFIG_MTD_SPLIT_FIT_FW=y @@ -79,7 +73,6 @@ CONFIG_PINCTRL_IMX6UL=y CONFIG_PINCTRL_IMX7D=y CONFIG_PM_GENERIC_DOMAINS=y CONFIG_PM_GENERIC_DOMAINS_OF=y -CONFIG_REGULATOR_ANATOP=y CONFIG_RESET_IMX7=y CONFIG_SOC_IMX6=y CONFIG_SOC_IMX6UL=y diff --git a/target/linux/imx/cortexa9/config-default b/target/linux/imx/cortexa9/config-default index 9319381590..7bd02264b2 100644 --- a/target/linux/imx/cortexa9/config-default +++ b/target/linux/imx/cortexa9/config-default @@ -12,8 +12,6 @@ CONFIG_CMDLINE_EXTEND=y CONFIG_E1000E=y CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx6q.bin" CONFIG_EXTRA_FIRMWARE_DIR="firmware" -CONFIG_FEC=y -CONFIG_FSL_GUTS=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y @@ -24,9 +22,6 @@ CONFIG_HW_RANDOM_IMX_RNGC=y # CONFIG_INITRAMFS_FORCE is not set CONFIG_MARVELL_PHY=y CONFIG_MICREL_PHY=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_OF_ESDHC=y # CONFIG_MMC_SDHCI_PCI is not set CONFIG_NET_DSA_MV88E6XXX=y CONFIG_PCI=y @@ -47,7 +42,6 @@ CONFIG_PINCTRL_IMX6SX=y CONFIG_PM_GENERIC_DOMAINS=y CONFIG_PM_GENERIC_DOMAINS_OF=y CONFIG_REGMAP_I2C=y -CONFIG_REGULATOR_ANATOP=y CONFIG_REGULATOR_LTC3676=y CONFIG_REGULATOR_PFUZE100=y CONFIG_RTC_DRV_DS1307=y From b68e9f2e19a4cc7be4dd13b76a690ef04daac190 Mon Sep 17 00:00:00 2001 From: Piotr Dymacz Date: Wed, 22 Jun 2022 10:18:16 +0200 Subject: [PATCH 45/45] generic: 5.15: add missing symbols These were found during work on new device support under the imx/cortexa7 target. Signed-off-by: Piotr Dymacz --- target/linux/generic/config-5.15 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/linux/generic/config-5.15 b/target/linux/generic/config-5.15 index cb71d9642b..ce1af10369 100644 --- a/target/linux/generic/config-5.15 +++ b/target/linux/generic/config-5.15 @@ -5954,7 +5954,9 @@ CONFIG_SND_PROC_FS=y # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set +# CONFIG_SND_SOC_IMX_CARD is not set # CONFIG_SND_SOC_IMX_ES8328 is not set +# CONFIG_SND_SOC_IMX_HDMI is not set # CONFIG_SND_SOC_IMX_SPDIF is not set # CONFIG_SND_SOC_IMX_WM8962 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set