From a065cd29bf2dfd1ce1f07becd65aef96cec658e7 Mon Sep 17 00:00:00 2001 From: Walter Sonius Date: Wed, 4 Dec 2019 21:07:58 +0100 Subject: [PATCH 01/48] ramips: fix switch port order for TP-Link Archer C20i Physical port order watched from the backside of the C20i (from left to right) is: Internet / 1 / 2 / 3 / 4 Physical Port Switch port WAN 0 LAN 3 1 LAN 4 2 LAN 1 3 LAN 2 4 (not used) 5 CPU 6 Signed-off-by: Walter Sonius [commit message/title improvements] Signed-off-by: Adrian Schmutzler --- target/linux/ramips/mt7620/base-files/etc/board.d/02_network | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index 12820f3a36..ef241ff801 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -67,7 +67,6 @@ ramips_setup_interfaces() glinet,gl-mt300n|\ glinet,gl-mt750|\ hiwifi,hc5661|\ - tplink,archer-c20i|\ wrtnode,wrtnode|\ zbtlink,zbt-wa05) ucidef_add_switch "switch0" \ @@ -177,6 +176,7 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0" ;; + tplink,archer-c20i|\ tplink,archer-c20-v1|\ tplink,archer-c50-v1) ucidef_add_switch "switch0" \ From 3a55c7935d4efdc86575601cb4aa7bc94e3c5e44 Mon Sep 17 00:00:00 2001 From: Martin Schiller Date: Wed, 4 Dec 2019 10:43:02 +0100 Subject: [PATCH 02/48] ramips: fix number of LAN Ports for Mikrotik RBM33G The Mikrotik RBM33G has only 2 LAN ports. Signed-off-by: Martin Schiller [moved node in 02_network to maintain alphabetic sorting] Signed-off-by: Adrian Schmutzler --- target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 420780a101..bb6e41e06f 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -57,7 +57,6 @@ ramips_setup_interfaces() ;; asus,rt-ac57u|\ mikrotik,rb750gr3|\ - mikrotik,rbm33g|\ ubiquiti,edgerouterx|\ ubiquiti,edgerouterx-sfp|\ youhua,wr1200js) @@ -112,6 +111,10 @@ ramips_setup_interfaces() ucidef_add_switch_attr "switch0" "enable" "false" ucidef_set_interface_lan "eth0" ;; + mikrotik,rbm33g) + ucidef_add_switch "switch0" \ + "1:lan" "2:lan" "0:wan" "6@eth0" + ;; netgear,ex6150|\ tplink,re350-v1|\ tplink,re650-v1) From 34abfb6e91d1375f9c0a890d91f8e0c3fef579e9 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 00:09:25 +0100 Subject: [PATCH 03/48] ramips: convert mediatek,mtd-eeprom from decimal to hex notation A small subset of devices uses decimal notation for mediatek,mtd-eeprom in DTS files. Convert to hexadecimal notation to be consistent with all the rest. Also change "0" to "0x0" in the same files for consistency. Signed-off-by: Adrian Schmutzler --- target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts | 4 ++-- target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts | 4 ++-- target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts index 1da2f483dc..e085162531 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts @@ -149,7 +149,7 @@ }; &wmac { - ralink,mtd-eeprom = <&radio 0>; + ralink,mtd-eeprom = <&radio 0x0>; }; &pcie { @@ -159,7 +159,7 @@ &pcie0 { mt76@0,0 { reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 32768>; + mediatek,mtd-eeprom = <&radio 0x8000>; ieee80211-freq-limit = <5000000 6000000>; }; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts index c23538ca52..e53e98e32b 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts @@ -176,7 +176,7 @@ }; &wmac { - ralink,mtd-eeprom = <&radio 0>; + ralink,mtd-eeprom = <&radio 0x0>; mtd-mac-address = <&rom 0xf100>; mtd-mac-address-increment = <(-2)>; pinctrl-names = "default"; @@ -190,7 +190,7 @@ &pcie0 { mt76@0,0 { reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 32768>; + mediatek,mtd-eeprom = <&radio 0x8000>; ieee80211-freq-limit = <5000000 6000000>; mtd-mac-address = <&rom 0xf100>; mtd-mac-address-increment = <(-1)>; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts index 4beb737606..21fc3a1858 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts @@ -187,7 +187,7 @@ }; &wmac { - ralink,mtd-eeprom = <&radio 0>; + ralink,mtd-eeprom = <&radio 0x0>; }; &pcie { @@ -197,6 +197,6 @@ &pcie0 { mt76@0,0 { reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 32768>; + mediatek,mtd-eeprom = <&radio 0x8000>; }; }; From deb835849aeb713968aaa48bf046101140ab4825 Mon Sep 17 00:00:00 2001 From: Olli Asikainen Date: Fri, 15 Nov 2019 17:07:37 +0200 Subject: [PATCH 04/48] brcm47xx: add switch configuration for WNR3500L Netgear WNR3500L is an already supported device, but out of the box, the device has no switch configuration and there is no wan. The correct configuration for this specific model is similar to some other models. This simple commit adds the correct switch and the out-of-the-box experience is improved. Experimentally determined: Port 0 => WAN Port 1..4 => LAN Port 5..7 => unused Port 8 => CPU Signed-off-by: Olli Asikainen Tested-by: Fabian Zaremba [added port mapping to commit message] Signed-off-by: Adrian Schmutzler --- target/linux/brcm47xx/base-files/etc/board.d/01_network | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/linux/brcm47xx/base-files/etc/board.d/01_network b/target/linux/brcm47xx/base-files/etc/board.d/01_network index 6fbd76fc10..a14986356a 100755 --- a/target/linux/brcm47xx/base-files/etc/board.d/01_network +++ b/target/linux/brcm47xx/base-files/etc/board.d/01_network @@ -170,7 +170,8 @@ configure_by_model() { ;; "Asus RT-N16"* | \ - "Linksys E3000 V1") + "Linksys E3000 V1" | \ + "Netgear WNR3500L") ucidef_add_switch "switch0" \ "0:wan" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "8@eth0" ;; From 1ccf4bb93b0304c3c32a8a31a711a6ab889fd47a Mon Sep 17 00:00:00 2001 From: David Bauer Date: Thu, 5 Dec 2019 19:29:14 +0100 Subject: [PATCH 05/48] hostapd: enable CTRL_IFACE_MIB for hostapd-full This enables the CTRL_IFACE_MIB symbol for wpad-full and hostapd-full. If it is not enabled, statistic outputs such as "hostapd_cli all_sta" are empty. Signed-off-by: David Bauer --- package/network/services/hostapd/files/hostapd-basic.config | 5 +++++ package/network/services/hostapd/files/hostapd-full.config | 5 +++++ package/network/services/hostapd/files/hostapd-mini.config | 5 +++++ .../services/hostapd/files/wpa_supplicant-basic.config | 5 +++++ .../services/hostapd/files/wpa_supplicant-full.config | 5 +++++ .../services/hostapd/files/wpa_supplicant-mini.config | 5 +++++ .../network/services/hostapd/files/wpa_supplicant-p2p.config | 5 +++++ 7 files changed, 35 insertions(+) diff --git a/package/network/services/hostapd/files/hostapd-basic.config b/package/network/services/hostapd/files/hostapd-basic.config index 461b178433..19ea850f6b 100644 --- a/package/network/services/hostapd/files/hostapd-basic.config +++ b/package/network/services/hostapd/files/hostapd-basic.config @@ -394,3 +394,8 @@ CONFIG_TLS=internal # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/hostapd-full.config b/package/network/services/hostapd/files/hostapd-full.config index 5c9fbed2e4..0ecce423e7 100644 --- a/package/network/services/hostapd/files/hostapd-full.config +++ b/package/network/services/hostapd/files/hostapd-full.config @@ -394,3 +394,8 @@ CONFIG_TAXONOMY=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/hostapd-mini.config b/package/network/services/hostapd/files/hostapd-mini.config index f31e6467b0..d9511441e6 100644 --- a/package/network/services/hostapd/files/hostapd-mini.config +++ b/package/network/services/hostapd/files/hostapd-mini.config @@ -394,3 +394,8 @@ CONFIG_TLS=internal # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-basic.config b/package/network/services/hostapd/files/wpa_supplicant-basic.config index e2bd1866c4..a9da65deed 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-basic.config +++ b/package/network/services/hostapd/files/wpa_supplicant-basic.config @@ -618,3 +618,8 @@ CONFIG_GETRANDOM=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-full.config b/package/network/services/hostapd/files/wpa_supplicant-full.config index e5a6752a8e..982f4d5534 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-full.config +++ b/package/network/services/hostapd/files/wpa_supplicant-full.config @@ -618,3 +618,8 @@ CONFIG_IBSS_RSN=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-mini.config b/package/network/services/hostapd/files/wpa_supplicant-mini.config index 6af4693c53..850d22febc 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-mini.config +++ b/package/network/services/hostapd/files/wpa_supplicant-mini.config @@ -618,3 +618,8 @@ CONFIG_GETRANDOM=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-p2p.config b/package/network/services/hostapd/files/wpa_supplicant-p2p.config index b0ca395a5e..5156048284 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-p2p.config +++ b/package/network/services/hostapd/files/wpa_supplicant-p2p.config @@ -618,3 +618,8 @@ CONFIG_IBSS_RSN=y # Services can connect to the bus and provide methods # that can be called by other services or clients. CONFIG_UBUS=y + +# OpenWrt patch 380-disable-ctrl-iface-mib.patch +# leads to the MIB only being compiled in if +# CONFIG_CTRL_IFACE_MIB is enabled. +#CONFIG_CTRL_IFACE_MIB=y From 231dc26867b4619364b91bc310e124ac846000b8 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sat, 23 Nov 2019 11:44:51 +0100 Subject: [PATCH 06/48] treewide: remove dts-v1 identifier from DTSI files The "/dts-v1/;" identifier is supposed to be put once at the beginning of a device tree file. Thus, it makes no sense to provide it a second time in to-be-included DTSI files. This removes the identifier from all DTSI files in /target/linux. Most of the DTS files in OpenWrt do contain the "/dts-v1/;". It is missing for most of the following targets, though: mvebu, ipq806x, mpc85xx, ipq40xx This does not touch ipq806x for now, as the bump to 4.19 is close. Signed-off-by: Adrian Schmutzler --- target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi | 1 - target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi | 1 - target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi | 1 - target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi | 1 - target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi | 1 - target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi | 1 - target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi | 1 - target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi | 1 - target/linux/ath79/dts/ar9341_tplink.dtsi | 1 - target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi | 1 - target/linux/ath79/dts/ar9344_netgear_wndr.dtsi | 1 - target/linux/ath79/dts/ar9344_tplink_cpe.dtsi | 1 - target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi | 1 - target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi | 1 - target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi | 1 - target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi | 1 - target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi | 1 - target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi | 1 - target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi | 1 - target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi | 1 - target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi | 1 - target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi | 1 - target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi | 2 -- target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi | 1 - target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi | 1 - target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi | 1 - target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi | 1 - target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi | 1 - target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi | 1 - target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi | 1 - target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi | 2 -- target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi | 1 - target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi | 1 - target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi | 1 - target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi | 1 - target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi | 1 - target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi | 1 - target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi | 2 -- target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi | 1 - target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi | 1 - target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi | 1 - target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi | 1 - target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi | 1 - target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi | 1 - target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi | 1 - target/linux/ramips/dts/mt7628an_iptime.dtsi | 1 - 46 files changed, 49 deletions(-) diff --git a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi index f5dfa77912..b60718dd7f 100644 --- a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi +++ b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi index 08b3c77b39..f29137352f 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi index 4f52e3cc40..35f3442b29 100644 --- a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi +++ b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi index 4ce7a0ec3d..a7e6b49c1f 100644 --- a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi +++ b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi index 4c5ae697d6..49b869f718 100644 --- a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi +++ b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi index 4a848cb896..589896d9f8 100644 --- a/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi +++ b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi index a8e0331f08..2bacd08245 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi index 4fb06494a4..4f11d5d7a4 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9341_tplink.dtsi b/target/linux/ath79/dts/ar9341_tplink.dtsi index f99b6da67e..0a950bd1a6 100644 --- a/target/linux/ath79/dts/ar9341_tplink.dtsi +++ b/target/linux/ath79/dts/ar9341_tplink.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi b/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi index 2dd2297e87..9d9af23bab 100644 --- a/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi +++ b/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi index 16a4e3f6e8..18b9ae1778 100644 --- a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi +++ b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi index d002dfeb3c..27a8d0aa13 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi index 653efdee17..057ba4572f 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "ar9344_tplink_cpe.dtsi" diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi index e97e49d718..8a1332c9c5 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "ar9344_tplink_cpe.dtsi" diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi index 72bc2a6466..f06305c47f 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi @@ -1,4 +1,3 @@ -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi b/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi index cb329a9a66..5edd2adc83 100644 --- a/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "qca9533_tplink_cpexxx.dtsi" diff --git a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi index 50d34c7c90..e0505e5724 100644 --- a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi index ca95981008..a0d0afcccf 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "qca9533_tplink_tl-wr841.dtsi" diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi index e3d244ee7b..9f1bef3d4d 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi index c5fd7166a0..d08b4d65a5 100644 --- a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi +++ b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi index 970a144dbc..b43ab2c6b6 100644 --- a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi +++ b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi index 39fae74b83..8ee967ab9f 100644 --- a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi index ea752661ba..2cdb1b8373 100644 --- a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi +++ b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi @@ -10,8 +10,6 @@ * antennas and number of spatial streams. */ -/dts-v1/; - #include #include diff --git a/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi index 170563b6a7..bbb43354c4 100644 --- a/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi +++ b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi b/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi index 3defa554de..9f5d7a6fcf 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi index 2bc0f38f02..17e172d547 100644 --- a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi index 4c3a3230fe..a3f2b11212 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi b/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi index 719a9d065a..cee30a13b6 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi b/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi index ac8fe3ae0a..2482874c99 100644 --- a/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi +++ b/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi b/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi index f04304ee4c..9395c7b26f 100644 --- a/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi +++ b/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi index 8250db55ad..3e30a0fd0b 100644 --- a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi +++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi @@ -1,7 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; - #include #include diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi b/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi index 3049c8bc20..8d6e1ed9f9 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi index ba56cf23b8..47480481fa 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi index 2f7964de90..bd6b24209b 100644 --- a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi +++ b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi index f5543e4f89..dcb450a2d3 100644 --- a/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi +++ b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "tp9343_tplink_tl-wr94x.dtsi" diff --git a/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi b/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi index c6bb8a2417..fb5941657d 100644 --- a/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi +++ b/target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include #include diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi index 57033eb4a9..f58a414a28 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/FRITZ736X.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "vr9.dtsi" diff --git a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi index b7d8087d5a..52c0ac0925 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi +++ b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi @@ -1,7 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; - #include "mt7620a.dtsi" #include diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi index 800e8e6e03..f8f9bc754a 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7620a_zbtlink_zbt-we1026.dtsi" diff --git a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi index eb5a60bcdc..db83f99c3a 100644 --- a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi +++ b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7621.dtsi" #include diff --git a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi index e8b11e5d59..8eaf55dbc7 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi +++ b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi b/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi index 1776db8fc0..b4aaec46fc 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0 -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi index 5d304441c0..864952f25f 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0 -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi index f234caaf25..cf9d1c6077 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0 -/dts-v1/; #include "mt7621.dtsi" diff --git a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi index c236a7a6f5..7a6631d2e4 100644 --- a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi +++ b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7628an.dtsi" diff --git a/target/linux/ramips/dts/mt7628an_iptime.dtsi b/target/linux/ramips/dts/mt7628an_iptime.dtsi index 05d6aa533a..bbd8642f2a 100644 --- a/target/linux/ramips/dts/mt7628an_iptime.dtsi +++ b/target/linux/ramips/dts/mt7628an_iptime.dtsi @@ -1,5 +1,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; #include "mt7628an.dtsi" From 4225b83a76b86b7722609347f6e8a7f9433e1ea0 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 5 Dec 2019 00:01:28 +0100 Subject: [PATCH 07/48] hostapd: fix crash regression triggered by mesh mode Fixes: 60fb4c92b6 ("hostapd: add ubus reload") Signed-off-by: Felix Fietkau Signed-off-by: Daniel Golle [daniel@makrotopia.org: polish commit message] --- package/network/services/hostapd/patches/700-wifi-reload.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/network/services/hostapd/patches/700-wifi-reload.patch b/package/network/services/hostapd/patches/700-wifi-reload.patch index c5ba631a0f..b21ae85451 100644 --- a/package/network/services/hostapd/patches/700-wifi-reload.patch +++ b/package/network/services/hostapd/patches/700-wifi-reload.patch @@ -87,7 +87,7 @@ hapd->iconf = conf; hapd->conf = bss; hapd->iface = hapd_iface; -+ if (bss->config_id) ++ if (bss && bss->config_id) + hapd->config_id = strdup(bss->config_id); + else + hapd->config_id = NULL; From c888e17e067edf36c4dc798771479170003f967d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 5 Dec 2019 00:26:53 +0100 Subject: [PATCH 08/48] hostapd: manage instances via procd instead of pidfile Allows graceful restart of crashing hostapd/wpa_supplicant instances Signed-off-by: Felix Fietkau Signed-off-by: Daniel Golle [daniel@makrotopia.org: attempt to launch only present services] --- .../services/hostapd/files/hostapd.hotplug | 50 +++++++++++++++---- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/package/network/services/hostapd/files/hostapd.hotplug b/package/network/services/hostapd/files/hostapd.hotplug index d568b3c85a..c319d42c1a 100644 --- a/package/network/services/hostapd/files/hostapd.hotplug +++ b/package/network/services/hostapd/files/hostapd.hotplug @@ -1,14 +1,46 @@ #!/bin/sh -[ ${ACTION} = "remove" -a -n "${DEVICENAME}" ] && { - kill $(cat /var/run/hostapd-${DEVICENAME}.pid) - rm -rf /var/run/hostapd-${DEVICENAME}.pid /var/run/hostapd-${DEVICENAME}/ - kill $(cat /var/run/wpa_supplicant-${DEVICENAME}.pid) - rm -rf /var/run/wpa_supplicant-${DEVICENAME}.pid /var/run/wpa_supplicant-${DEVICENAME}/ +initscript="$0" + +. /lib/functions.sh +. /lib/functions/procd.sh + +cd /sys/class/ieee80211 + +procd_lock() { + return 0 } -[ ${ACTION} = "add" -a -n "${DEVICENAME}" ] && { - /usr/sbin/hostapd -s -n ${DEVICENAME} -P /var/run/hostapd-${DEVICENAME}.pid -g /var/run/hostapd-${DEVICENAME}/global -B & - mkdir -p /var/run/wpa_supplicant-${DEVICENAME} - /usr/sbin/wpa_supplicant -s -n ${DEVICENAME} -P /var/run/wpa_supplicant-${DEVICENAME}.pid -g /var/run/wpa_supplicant-${DEVICENAME}/global -B & +service_triggers() { + return 0 } + +service_data() { + return 0 +} + +procd_open_service hostapd + +for phy in phy*; do + [ -d "$phy" ] || continue + + mkdir -p /var/run/wpa_supplicant-$phy /var/run/hostapd-$phy + + if [ -x "/usr/sbin/hostapd" ]; then + procd_open_instance hostapd-$phy + procd_set_param command /usr/sbin/hostapd -s -n $phy -g /var/run/hostapd-${phy}/global + procd_set_param CREATE_TIME="$(date -r $phy)" # force restart on recreated phy + procd_set_param respawn + procd_close_instance + fi + + if [ -x "/usr/sbin/wpa_supplicant" ]; then + procd_open_instance supplicant-$phy + procd_set_param command /usr/sbin/wpa_supplicant -s -n $phy -g /var/run/wpa_supplicant-${phy}/global + procd_set_param CREATE_TIME="$(date -r $phy)" # force restart on recreated phy + procd_set_param respawn + procd_close_instance + fi +done + +procd_close_service set From 2568db3fff7be1be848d490a7f53af42ec14b257 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 5 Dec 2019 18:22:55 +0100 Subject: [PATCH 09/48] mac80211: track unmanaged interfaces In addition to wpa_supplicant and hostapd managed interfaces, also track unmanaged interfaces. This is used to make sure that running 'wifi' always returns into a clean state regardless of what the user did before. Signed-off-by: Daniel Golle --- .../files/lib/netifd/wireless/mac80211.sh | 45 +++++++++++++++++-- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index 91d50c3537..dd2b09c4a0 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -19,6 +19,8 @@ NEWAPLIST= OLDAPLIST= NEWSPLIST= OLDSPLIST= +NEWUMLIST= +OLDUMLIST= drv_mac80211_init_device_config() { hostapd_common_add_device_config @@ -666,6 +668,8 @@ mac80211_setup_adhoc() { local enable=$1 json_get_vars bssid ssid key mcast_rate + NEWUMLIST="${NEWUMLIST}$ifname " + [ "$enable" = 0 ] && { ip link set dev "$ifname" down return 0 @@ -712,6 +716,8 @@ mac80211_setup_mesh() { local enable=$1 json_get_vars ssid mesh_id mcast_rate + NEWUMLIST="${NEWUMLIST}$ifname " + [ "$enable" = 0 ] && { ip link set dev "$ifname" down return 0 @@ -800,7 +806,7 @@ mac80211_vap_cleanup() { local vaps="$2" for wdev in $vaps; do - ubus call ${service}.${phy} config_remove "{\"iface\":\"$wdev\"}" + [ "$service" != "none" ] && ubus call ${service}.${phy} config_remove "{\"iface\":\"$wdev\"}" ip link set dev "$wdev" down 2>/dev/null iw dev "$wdev" del done @@ -813,6 +819,7 @@ mac80211_interface_cleanup() { mac80211_vap_cleanup hostapd "${primary_ap}" mac80211_vap_cleanup wpa_supplicant "$(uci -q -P /var/state get wireless._${phy}.splist)" + mac80211_vap_cleanup none "$(uci -q -P /var/state get wireless._${phy}.umlist)" } mac80211_set_noscan() { @@ -845,6 +852,28 @@ drv_mac80211_setup() { wireless_set_data phy="$phy" } + OLDAPLIST=$(uci -q -P /var/state get wireless._${phy}.aplist) + OLDSPLIST=$(uci -q -P /var/state get wireless._${phy}.splist) + OLDUMLIST=$(uci -q -P /var/state get wireless._${phy}.umlist) + + local wdev + local cwdev + local found + + for wdev in $(list_phy_interfaces "$phy"); do + found=0 + for cwdev in $OLDAPLIST $OLDSPLIST $OLDUMLIST; do + if [ "$wdev" = "$cwdev" ]; then + found=1 + break + fi + done + if [ "$found" = "0" ]; then + ip link set dev "$wdev" down + iw dev "$wdev" del + fi + done + # convert channel to frequency [ "$auto_channel" -gt 0 ] || freq="$(get_freq "$phy" "$channel")" @@ -896,7 +925,6 @@ drv_mac80211_setup() { for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif NEWAPLIST= for_each_interface "ap" mac80211_prepare_vif - OLDAPLIST=$(uci -q -P /var/state get wireless._${phy}.aplist) NEW_MD5=$(md5sum ${hostapd_conf_file}) OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5) if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then @@ -927,10 +955,12 @@ drv_mac80211_setup() { for_each_interface "ap" mac80211_setup_vif NEWSPLIST= - OLDSPLIST=$(uci -q -P /var/state get wireless._${phy}.splist) + NEWUMLIST= + for_each_interface "sta adhoc mesh monitor" mac80211_setup_vif uci -q -P /var/state set wireless._${phy}.splist="${NEWSPLIST}" + uci -q -P /var/state set wireless._${phy}.umlist="${NEWUMLIST}" local foundvap local dropvap="" @@ -945,6 +975,15 @@ drv_mac80211_setup() { wireless_set_up } +list_phy_interfaces() { + local phy="$1" + if [ -d "/sys/class/ieee80211/${phy}/device/net" ]; then + ls "/sys/class/ieee80211/${phy}/device/net" 2>/dev/null; + else + ls "/sys/class/ieee80211/${phy}/device" 2>/dev/null | grep net: | sed -e 's,net:,,g' + fi +} + drv_mac80211_teardown() { wireless_process_kill_all From 24b97579d20b6ac6df81654a953386d2912fc324 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 5 Dec 2019 18:35:36 +0100 Subject: [PATCH 10/48] hostapd: re-introduce process tracking Before commit 60fb4c92b6 ("hostapd: add ubus reload") netifd was tracking hostapd/wpa_supplicant and restarting wifi in case of a process crash. Restore this behaviour by tracking the PIDs of hostapd and wpa_supplicant. Also make sure hostapd and/or wpa_supplicant have been started before emmitting ubus calls to them using ubus wait_for. Signed-off-by: Daniel Golle --- package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 3 +++ package/network/services/hostapd/files/hostapd.sh | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index dd2b09c4a0..06244bf0e3 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -940,7 +940,10 @@ drv_mac80211_setup() { } else add_ap=1 + ubus wait_for hostapd.$phy ubus call hostapd.${phy} config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}" + local hostapd_pid=$(ubus call service list '{"name": "hostapd"}' | jsonfilter -l 1 -e "@['hostapd'].instances['hostapd-${phy}'].pid") + wireless_add_process "$hostapd_pid" "/usr/sbin/hostapd" 1 fi ret="$?" [ "$ret" != 0 ] && { diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh index f03b98ff85..4bf6a6c971 100644 --- a/package/network/services/hostapd/files/hostapd.sh +++ b/package/network/services/hostapd/files/hostapd.sh @@ -958,6 +958,7 @@ wpa_supplicant_run() { _wpa_supplicant_common "$ifname" + ubus wait_for wpa_supplicant.$phy ubus call wpa_supplicant.$phy config_add "{ \ \"driver\": \"${_w_driver:-wext}\", \"ctrl\": \"$_rpath\", \ \"iface\": \"$ifname\", \"config\": \"$_config\" \ @@ -969,6 +970,9 @@ wpa_supplicant_run() { [ "$ret" != 0 ] && wireless_setup_vif_failed WPA_SUPPLICANT_FAILED + local supplicant_pid=$(ubus call service list '{"name": "hostapd"}' | jsonfilter -l 1 -e "@['hostapd'].instances['supplicant-${phy}'].pid") + wireless_add_process "$supplicant_pid" "/usr/sbin/wpa_supplicant" 1 + return $ret } From 3ee767086d306f8095b7301262b0fe053a0b9f50 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 5 Dec 2019 21:17:58 +0100 Subject: [PATCH 11/48] mac80211: don't call md5sum on non-existing file If no AP is configured, hostapd-${phy}.conf is not being created, hence md5sum fails and causes log pollution: netifd: radio1 (3183): md5sum: can't open '/var/run/hostapd-phy1.conf': No such file or directoy Hence make sure the file exists when calling md5sum. Fixes: a5bc9787d4 ("mac80211: add support for dynamically reconfiguring wifi") Signed-off-by: Daniel Golle --- package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index 06244bf0e3..18033e9d56 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -925,7 +925,7 @@ drv_mac80211_setup() { for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif NEWAPLIST= for_each_interface "ap" mac80211_prepare_vif - NEW_MD5=$(md5sum ${hostapd_conf_file}) + NEW_MD5=$(test -e "${hostapd_conf_file}" && md5sum ${hostapd_conf_file}) OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5) if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then mac80211_vap_cleanup hostapd "${OLDAPLIST}" From c881769a558b38ddd5977a50b67cd32c6d3f7d5e Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:07:00 +0100 Subject: [PATCH 12/48] oxnas: disable legacy PTYs and virtual terminals Enabling legacy PTYs causes problems with procd-hotplug. And as this is a headless target, no need to have virtual terminals. Remove corresponding kernel config options, they are disabled in generic kernel config. Signed-off-by: Daniel Golle --- target/linux/oxnas/config-4.14 | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/linux/oxnas/config-4.14 b/target/linux/oxnas/config-4.14 index 5ff868ad87..7ea24a91a6 100644 --- a/target/linux/oxnas/config-4.14 +++ b/target/linux/oxnas/config-4.14 @@ -231,8 +231,6 @@ CONFIG_LEDS_TRIGGER_GPIO=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_LEDS_TRIGGER_NETDEV is not set CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y CONFIG_LZ4_DECOMPRESS=y @@ -352,10 +350,6 @@ CONFIG_VFAT_FS=y # CONFIG_VFP is not set # CONFIG_VLAN_8021Q is not set CONFIG_VM_EVENT_COUNTERS=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set # CONFIG_WATCHDOG is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_XZ_DEC_ARM=y From dcf48fda054c4bbc52f6106250a7e06ab8f5cbdd Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:09:13 +0100 Subject: [PATCH 13/48] uml: remove CONFIG_LEGACY_PTY from kernel config Having legacy PTYs enabled causes problems with procd-hotplug. Signed-off-by: Daniel Golle --- target/linux/uml/config/i386 | 2 -- target/linux/uml/config/x86_64 | 2 -- 2 files changed, 4 deletions(-) diff --git a/target/linux/uml/config/i386 b/target/linux/uml/config/i386 index dce8905928..8b26e96242 100644 --- a/target/linux/uml/config/i386 +++ b/target/linux/uml/config/i386 @@ -78,8 +78,6 @@ CONFIG_JBD2=y CONFIG_KALLSYMS=y CONFIG_KERNEL_STACK_ORDER=2 CONFIG_LD_SCRIPT_STATIC=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586MMX is not set diff --git a/target/linux/uml/config/x86_64 b/target/linux/uml/config/x86_64 index 7223edd8a2..a46f7fb8a4 100644 --- a/target/linux/uml/config/x86_64 +++ b/target/linux/uml/config/x86_64 @@ -77,8 +77,6 @@ CONFIG_JBD2=y CONFIG_KALLSYMS=y CONFIG_KERNEL_STACK_ORDER=2 CONFIG_LD_SCRIPT_STATIC=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_MATOM is not set CONFIG_MCONSOLE=y # CONFIG_MCORE2 is not set From 8069e9734bfd092754a1b0acaba6defdf1f677df Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:10:18 +0100 Subject: [PATCH 14/48] ixp4xx: remove CONFIG_LEGACY_PTY from kernel config Having legacy PTYs enabled causes problems with procd-hotplug. Signed-off-by: Daniel Golle --- target/linux/ixp4xx/config-4.9 | 2 -- 1 file changed, 2 deletions(-) diff --git a/target/linux/ixp4xx/config-4.9 b/target/linux/ixp4xx/config-4.9 index c9b1be9304..5623f907a6 100644 --- a/target/linux/ixp4xx/config-4.9 +++ b/target/linux/ixp4xx/config-4.9 @@ -150,8 +150,6 @@ CONFIG_IXP4XX_WATCHDOG=y CONFIG_LEDS_FSG=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_LATCH=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MACH_AP1000=y From d0d7f5d9e49b8632f372c92e0339895fa10904f9 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:11:18 +0100 Subject: [PATCH 15/48] mpc85xx: remove CONFIG_LEGACY_PTY from kernel config Having legacy PTYs enabled causes problems with procd-hotplug. Signed-off-by: Daniel Golle --- target/linux/mpc85xx/config-4.14 | 2 -- target/linux/mpc85xx/config-4.19 | 2 -- 2 files changed, 4 deletions(-) diff --git a/target/linux/mpc85xx/config-4.14 b/target/linux/mpc85xx/config-4.14 index f2337210d4..479d6ee79f 100644 --- a/target/linux/mpc85xx/config-4.14 +++ b/target/linux/mpc85xx/config-4.14 @@ -186,8 +186,6 @@ CONFIG_ISA_DMA_API=y CONFIG_KERNEL_GZIP=y CONFIG_KERNEL_START=0xc0000000 # CONFIG_KSI8560 is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOWMEM_CAM_NUM=3 CONFIG_LOWMEM_SIZE=0x30000000 diff --git a/target/linux/mpc85xx/config-4.19 b/target/linux/mpc85xx/config-4.19 index df4d741c27..9c7b49cfdf 100644 --- a/target/linux/mpc85xx/config-4.19 +++ b/target/linux/mpc85xx/config-4.19 @@ -173,8 +173,6 @@ CONFIG_ISA_DMA_API=y CONFIG_KERNEL_GZIP=y CONFIG_KERNEL_START=0xc0000000 # CONFIG_KSI8560 is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOWMEM_CAM_NUM=3 From c1db4d9c5655e3c74ffdbb6a6a3367269f65c55f Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:12:41 +0100 Subject: [PATCH 16/48] at91: disable legacy PTYs and virtual terminals Enabling legacy PTYs causes problems with procd-hotplug. And as this is a headless target, no need to have virtual terminals. Remove corresponding kernel config options, they are disabled in generic kernel config. Signed-off-by: Daniel Golle --- target/linux/at91/config-4.14 | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/linux/at91/config-4.14 b/target/linux/at91/config-4.14 index ca526b9d74..b1b49054ab 100644 --- a/target/linux/at91/config-4.14 +++ b/target/linux/at91/config-4.14 @@ -315,8 +315,6 @@ CONFIG_LEDS_TRIGGER_CPU=y # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set CONFIG_LEDS_TRIGGER_GPIO=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=4 CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y CONFIG_LOG_BUF_SHIFT=16 @@ -556,10 +554,6 @@ CONFIG_VIDEOMODE_HELPERS=y CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2=y CONFIG_VM_EVENT_COUNTERS=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set CONFIG_WATCHDOG_CORE=y # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_ZBOOT_ROM_BSS=0x0 From 411e824ec371a322b975e90af5a1f32760a61720 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:13:41 +0100 Subject: [PATCH 17/48] kirkwood: remove CONFIG_LEGACY_PTY from kernel config Having legacy PTYs enabled causes problems with procd-hotplug. Signed-off-by: Daniel Golle --- target/linux/kirkwood/config-4.14 | 2 -- target/linux/kirkwood/config-4.19 | 2 -- 2 files changed, 4 deletions(-) diff --git a/target/linux/kirkwood/config-4.14 b/target/linux/kirkwood/config-4.14 index d907573379..9481d0a3cf 100644 --- a/target/linux/kirkwood/config-4.14 +++ b/target/linux/kirkwood/config-4.14 @@ -199,8 +199,6 @@ CONFIG_KIRKWOOD_THERMAL=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_NETXBIG=y CONFIG_LEDS_NS2=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y diff --git a/target/linux/kirkwood/config-4.19 b/target/linux/kirkwood/config-4.19 index a378fb0400..d7ea9e9eef 100644 --- a/target/linux/kirkwood/config-4.19 +++ b/target/linux/kirkwood/config-4.19 @@ -195,8 +195,6 @@ CONFIG_KIRKWOOD_THERMAL=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_NETXBIG=y CONFIG_LEDS_NS2=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LZO_COMPRESS=y From 414d027ae8ac05ec9aa06bc50afd5458c2da02fc Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:15:02 +0100 Subject: [PATCH 18/48] layerscape: remove CONFIG_LEGACY_PTY from kernel config Having legacy PTYs enabled causes problems with procd-hotplug. Signed-off-by: Daniel Golle --- target/linux/layerscape/armv7/config-4.14 | 2 -- target/linux/layerscape/armv8_64b/config-4.14 | 2 -- 2 files changed, 4 deletions(-) diff --git a/target/linux/layerscape/armv7/config-4.14 b/target/linux/layerscape/armv7/config-4.14 index 5e13f11ea0..2128e27b8f 100644 --- a/target/linux/layerscape/armv7/config-4.14 +++ b/target/linux/layerscape/armv7/config-4.14 @@ -419,8 +419,6 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_XZ is not set CONFIG_KEXEC=y CONFIG_KEXEC_CORE=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y CONFIG_LOCK_SPIN_ON_OWNER=y diff --git a/target/linux/layerscape/armv8_64b/config-4.14 b/target/linux/layerscape/armv8_64b/config-4.14 index c981c0119e..54e6d4cd9d 100644 --- a/target/linux/layerscape/armv8_64b/config-4.14 +++ b/target/linux/layerscape/armv8_64b/config-4.14 @@ -553,8 +553,6 @@ CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_GPIO=y CONFIG_KSM=y # CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 CONFIG_LIBCRC32C=y CONFIG_LIBFDT=y CONFIG_LOCALVERSION_AUTO=y From 2105354968ed9698709d220ec446b6d9c27da3a5 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:15:36 +0100 Subject: [PATCH 19/48] sunxi: remove CONFIG_LEGACY_PTY from kernel config Having legacy PTYs enabled causes problems with procd-hotplug. Signed-off-by: Daniel Golle --- target/linux/sunxi/config-4.14 | 2 -- target/linux/sunxi/config-4.19 | 2 -- 2 files changed, 4 deletions(-) diff --git a/target/linux/sunxi/config-4.14 b/target/linux/sunxi/config-4.14 index ab7dc9c9b8..6e19f1599b 100644 --- a/target/linux/sunxi/config-4.14 +++ b/target/linux/sunxi/config-4.14 @@ -327,8 +327,6 @@ CONFIG_KVM_VFIO=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_PLATFORM=y CONFIG_LEDS_GPIO=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LOGO=y diff --git a/target/linux/sunxi/config-4.19 b/target/linux/sunxi/config-4.19 index 3a2b2843c8..9f3930303b 100644 --- a/target/linux/sunxi/config-4.19 +++ b/target/linux/sunxi/config-4.19 @@ -334,8 +334,6 @@ CONFIG_KVM_VFIO=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_PLATFORM=y CONFIG_LEDS_GPIO=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_SPIN_ON_OWNER=y From e964338110526b3692847769343816cd2f853d18 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 9 Dec 2019 20:16:53 +0100 Subject: [PATCH 20/48] malta: remove CONFIG_LEGACY_PTY from kernel config Having legacy PTYs enabled causes problems with procd-hotplug. Signed-off-by: Daniel Golle --- target/linux/malta/config-4.14 | 2 -- target/linux/malta/config-4.19 | 2 -- 2 files changed, 4 deletions(-) diff --git a/target/linux/malta/config-4.14 b/target/linux/malta/config-4.14 index 45d2197ae1..6fc80b33c9 100644 --- a/target/linux/malta/config-4.14 +++ b/target/linux/malta/config-4.14 @@ -179,8 +179,6 @@ CONFIG_KALLSYMS=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_XZ is not set # CONFIG_LEDS_TRIGGER_TIMER is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_MD=y # CONFIG_MDIO_BUS is not set diff --git a/target/linux/malta/config-4.19 b/target/linux/malta/config-4.19 index a04c60ccee..f66036e27b 100644 --- a/target/linux/malta/config-4.19 +++ b/target/linux/malta/config-4.19 @@ -187,8 +187,6 @@ CONFIG_JFFS2_FS_SECURITY=y CONFIG_KALLSYMS=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_XZ is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_MD=y From a9b95921969eeb0b7b2271c95dd47a6a0c24a18a Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Fri, 6 Dec 2019 14:06:33 +0100 Subject: [PATCH 21/48] kernel: bump 4.9 to 4.9.206 Refreshed all patches. Altered patches: - 400-mtd-add-rootfs-split-support.patch Compile-tested on: none Runtime-tested on: none Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 ++-- ...rtitions-factor-out-code-calling-parser.patch | 4 ++-- ...tions-add-helper-for-deleting-partition.patch | 4 ++-- ...s-remove-sysfs-files-when-deleting-all-.patch | 4 ++-- ...s-rename-master-to-the-parent-where-app.patch | 6 +++--- ...artitions-add-support-for-subpartitions.patch | 8 ++++---- ...tions-add-support-for-partition-parsers.patch | 4 ++-- ...s-add-of_match_table-parser-matching-fo.patch | 4 ++-- ...part-parser-to-fixed-partitions-as-it-f.patch | 4 ++-- ...-adding-registering-partitions-to-the-p.patch | 6 +++--- .../090-net-generalize-napi_complete_done.patch | 4 ++-- ...s-use-DT-info-for-parsing-partitions-wi.patch | 10 +++++----- ...add-generic-parsing-of-linux-part-probe.patch | 6 +++--- .../400-mtd-add-rootfs-split-support.patch | 16 ++++++++-------- ...rt-for-different-partition-parser-types.patch | 4 ++-- ...d-parsers-for-rootfs-and-firmware-split.patch | 4 ++-- .../404-mtd-add-more-helper-functions.patch | 2 +- 17 files changed, 47 insertions(+), 47 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 2f80a62e7e..6a85c7a0b1 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,11 +6,11 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .205 +LINUX_VERSION-4.9 = .206 LINUX_VERSION-4.14 = .156 LINUX_VERSION-4.19 = .86 -LINUX_KERNEL_HASH-4.9.205 = 98b9e8644706acc0cf51022372bb263b59a1d2bbe3ccd7ce6bd9bc7378c78b05 +LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6 LINUX_KERNEL_HASH-4.14.156 = f8889feb0cbd7df36ff35bd4c72c1e2010567621bfcb218fcfa501bc5c7787c0 LINUX_KERNEL_HASH-4.19.86 = bf2cbba319d43d1bd9e876ac0b55ab83118d1a1e61cce3c929d5371f7567bff6 diff --git a/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch b/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch index d312e081a9..70c1462d3f 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch @@ -18,7 +18,7 @@ Acked-by: Brian Norris --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -807,6 +807,27 @@ static const char * const default_mtd_pa +@@ -832,6 +832,27 @@ static const char * const default_mtd_pa NULL }; @@ -46,7 +46,7 @@ Acked-by: Brian Norris /** * parse_mtd_partitions - parse MTD partitions * @master: the master partition (describes whole MTD device) -@@ -847,16 +868,10 @@ int parse_mtd_partitions(struct mtd_info +@@ -872,16 +893,10 @@ int parse_mtd_partitions(struct mtd_info parser ? parser->name : NULL); if (!parser) continue; diff --git a/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch b/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch index d93f4ba4b5..dea64a1f6d 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch @@ -54,7 +54,7 @@ Signed-off-by: Brian Norris static struct mtd_part *allocate_partition(struct mtd_info *master, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -675,6 +649,48 @@ int mtd_add_partition(struct mtd_info *m +@@ -686,6 +660,48 @@ err_remove_part: } EXPORT_SYMBOL_GPL(mtd_add_partition); @@ -103,7 +103,7 @@ Signed-off-by: Brian Norris int mtd_del_partition(struct mtd_info *master, int partno) { struct mtd_part *slave, *next; -@@ -686,12 +702,7 @@ int mtd_del_partition(struct mtd_info *m +@@ -697,12 +713,7 @@ int mtd_del_partition(struct mtd_info *m (slave->mtd.index == partno)) { sysfs_remove_files(&slave->mtd.dev.kobj, mtd_partition_attrs); diff --git a/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch index 0f1b502b70..72edb25cc3 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch @@ -25,7 +25,7 @@ Signed-off-by: Brian Norris --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -660,6 +660,8 @@ static int __mtd_del_partition(struct mt +@@ -671,6 +671,8 @@ static int __mtd_del_partition(struct mt { int err; @@ -34,7 +34,7 @@ Signed-off-by: Brian Norris err = del_mtd_device(&priv->mtd); if (err) return err; -@@ -700,8 +702,6 @@ int mtd_del_partition(struct mtd_info *m +@@ -711,8 +713,6 @@ int mtd_del_partition(struct mtd_info *m list_for_each_entry_safe(slave, next, &mtd_partitions, list) if ((slave->master == master) && (slave->mtd.index == partno)) { diff --git a/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch b/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch index 7951227654..490eaa2e7c 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch @@ -578,7 +578,7 @@ Signed-off-by: Brian Norris if (IS_ERR(new)) return PTR_ERR(new); -@@ -683,7 +689,7 @@ int del_mtd_partitions(struct mtd_info * +@@ -694,7 +700,7 @@ int del_mtd_partitions(struct mtd_info * mutex_lock(&mtd_partitions_mutex); list_for_each_entry_safe(slave, next, &mtd_partitions, list) @@ -587,7 +587,7 @@ Signed-off-by: Brian Norris ret = __mtd_del_partition(slave); if (ret < 0) err = ret; -@@ -700,7 +706,7 @@ int mtd_del_partition(struct mtd_info *m +@@ -711,7 +717,7 @@ int mtd_del_partition(struct mtd_info *m mutex_lock(&mtd_partitions_mutex); list_for_each_entry_safe(slave, next, &mtd_partitions, list) @@ -596,7 +596,7 @@ Signed-off-by: Brian Norris (slave->mtd.index == partno)) { ret = __mtd_del_partition(slave); break; -@@ -933,6 +939,6 @@ uint64_t mtd_get_device_size(const struc +@@ -958,6 +964,6 @@ uint64_t mtd_get_device_size(const struc if (!mtd_is_partition(mtd)) return mtd->size; diff --git a/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch b/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch index 0d3e10ac20..578e59a8a1 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch @@ -31,7 +31,7 @@ Signed-off-by: Brian Norris &parent->dev : parent->dev.parent; slave->mtd.dev.of_node = part->of_node; -@@ -664,8 +664,17 @@ EXPORT_SYMBOL_GPL(mtd_add_partition); +@@ -675,8 +675,17 @@ EXPORT_SYMBOL_GPL(mtd_add_partition); */ static int __mtd_del_partition(struct mtd_part *priv) { @@ -49,7 +49,7 @@ Signed-off-by: Brian Norris sysfs_remove_files(&priv->mtd.dev.kobj, mtd_partition_attrs); err = del_mtd_device(&priv->mtd); -@@ -680,16 +689,16 @@ static int __mtd_del_partition(struct mt +@@ -691,16 +700,16 @@ static int __mtd_del_partition(struct mt /* * This function unregisters and destroy all slave MTD objects which are @@ -69,7 +69,7 @@ Signed-off-by: Brian Norris ret = __mtd_del_partition(slave); if (ret < 0) err = ret; -@@ -699,14 +708,14 @@ int del_mtd_partitions(struct mtd_info * +@@ -710,14 +719,14 @@ int del_mtd_partitions(struct mtd_info * return err; } @@ -86,7 +86,7 @@ Signed-off-by: Brian Norris (slave->mtd.index == partno)) { ret = __mtd_del_partition(slave); break; -@@ -939,6 +948,6 @@ uint64_t mtd_get_device_size(const struc +@@ -964,6 +973,6 @@ uint64_t mtd_get_device_size(const struc if (!mtd_is_partition(mtd)) return mtd->size; diff --git a/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch b/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch index a28ee316fa..c4c517f238 100644 --- a/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch +++ b/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch @@ -76,9 +76,9 @@ Signed-off-by: Brian Norris static struct mtd_part *allocate_partition(struct mtd_info *parent, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -758,6 +787,8 @@ int add_mtd_partitions(struct mtd_info * +@@ -778,6 +807,8 @@ int add_mtd_partitions(struct mtd_info * + } - add_mtd_device(&slave->mtd); mtd_add_partition_attrs(slave); + if (parts[i].types) + mtd_parse_part(slave, parts[i].types); diff --git a/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch b/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch index 60eace2a34..cb464996b7 100644 --- a/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch +++ b/target/linux/generic/backport-4.9/067-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch @@ -55,7 +55,7 @@ Signed-off-by: Boris Brezillon #include "mtdcore.h" -@@ -886,6 +887,92 @@ static int mtd_part_do_parse(struct mtd_ +@@ -911,6 +912,92 @@ static int mtd_part_do_parse(struct mtd_ } /** @@ -148,7 +148,7 @@ Signed-off-by: Boris Brezillon * parse_mtd_partitions - parse MTD partitions * @master: the master partition (describes whole MTD device) * @types: names of partition parsers to try or %NULL -@@ -917,19 +1004,30 @@ int parse_mtd_partitions(struct mtd_info +@@ -942,19 +1029,30 @@ int parse_mtd_partitions(struct mtd_info types = default_mtd_part_types; for ( ; *types; types++) { diff --git a/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch b/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch index 59f53df101..b22ddfabd8 100644 --- a/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch +++ b/target/linux/generic/backport-4.9/067-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch @@ -22,7 +22,7 @@ Signed-off-by: Boris Brezillon --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -932,7 +932,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -957,7 +957,7 @@ static int mtd_part_of_parse(struct mtd_ struct device_node *np; struct property *prop; const char *compat; @@ -31,7 +31,7 @@ Signed-off-by: Boris Brezillon int ret, err = 0; np = of_get_child_by_name(mtd_get_of_node(master), "partitions"); -@@ -952,7 +952,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -977,7 +977,7 @@ static int mtd_part_of_parse(struct mtd_ of_node_put(np); /* diff --git a/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch b/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch index 29aa3b9e8d..4bedd54a03 100644 --- a/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch +++ b/target/linux/generic/backport-4.9/068-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch @@ -98,7 +98,7 @@ Signed-off-by: Boris Brezillon } static struct mtd_part *allocate_partition(struct mtd_info *parent, -@@ -973,30 +960,27 @@ static int mtd_part_of_parse(struct mtd_ +@@ -998,30 +985,27 @@ static int mtd_part_of_parse(struct mtd_ } /** @@ -136,7 +136,7 @@ Signed-off-by: Boris Brezillon struct mtd_part_parser *parser; int ret, err = 0; -@@ -1010,7 +994,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1035,7 +1019,7 @@ int parse_mtd_partitions(struct mtd_info * handled in a separated function. */ if (!strcmp(*types, "ofpart")) { @@ -145,7 +145,7 @@ Signed-off-by: Boris Brezillon } else { pr_debug("%s: parsing partitions %s\n", master->name, *types); -@@ -1021,13 +1005,17 @@ int parse_mtd_partitions(struct mtd_info +@@ -1046,13 +1030,17 @@ int parse_mtd_partitions(struct mtd_info parser ? parser->name : NULL); if (!parser) continue; diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 6052bf5777..d8d8ad5ea4 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -137,7 +137,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/can/c_can/c_can.c +++ b/drivers/net/can/c_can/c_can.c -@@ -1079,7 +1079,7 @@ static int c_can_poll(struct napi_struct +@@ -1105,7 +1105,7 @@ static int c_can_poll(struct napi_struct end: if (work_done < quota) { @@ -313,7 +313,7 @@ Signed-off-by: David S. Miller } --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c -@@ -1532,7 +1532,7 @@ static int atl1e_clean(struct napi_struc +@@ -1534,7 +1534,7 @@ static int atl1e_clean(struct napi_struc /* If no Tx and not enough Rx work done, exit the polling mode */ if (work_done < budget) { quit_polling: diff --git a/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch b/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch index 4186f5599f..758de9fdf3 100644 --- a/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch +++ b/target/linux/generic/backport-4.9/402-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch @@ -55,9 +55,9 @@ Signed-off-by: Boris Brezillon static struct mtd_part *allocate_partition(struct mtd_info *parent, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -775,8 +759,8 @@ int add_mtd_partitions(struct mtd_info * +@@ -795,8 +779,8 @@ int add_mtd_partitions(struct mtd_info * + } - add_mtd_device(&slave->mtd); mtd_add_partition_attrs(slave); - if (parts[i].types) - mtd_parse_part(slave, parts[i].types); @@ -66,7 +66,7 @@ Signed-off-by: Boris Brezillon cur_offset = slave->offset + slave->mtd.size; } -@@ -852,6 +836,12 @@ static const char * const default_mtd_pa +@@ -877,6 +861,12 @@ static const char * const default_mtd_pa NULL }; @@ -79,7 +79,7 @@ Signed-off-by: Boris Brezillon static int mtd_part_do_parse(struct mtd_part_parser *parser, struct mtd_info *master, struct mtd_partitions *pparts, -@@ -922,7 +912,9 @@ static int mtd_part_of_parse(struct mtd_ +@@ -947,7 +937,9 @@ static int mtd_part_of_parse(struct mtd_ const char *fixed = "fixed-partitions"; int ret, err = 0; @@ -90,7 +90,7 @@ Signed-off-by: Boris Brezillon of_property_for_each_string(np, "compatible", prop, compat) { parser = mtd_part_get_compatible_parser(compat); if (!parser) -@@ -985,7 +977,8 @@ int parse_mtd_partitions(struct mtd_info +@@ -1010,7 +1002,8 @@ int parse_mtd_partitions(struct mtd_info int ret, err = 0; if (!types) diff --git a/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch b/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch index 64ed23170b..11a33b7ebf 100644 --- a/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch +++ b/target/linux/generic/pending-4.9/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch @@ -114,7 +114,7 @@ Signed-off-by: Hauke Mehrtens #include #include -@@ -827,6 +828,42 @@ void deregister_mtd_parser(struct mtd_pa +@@ -852,6 +853,42 @@ void deregister_mtd_parser(struct mtd_pa EXPORT_SYMBOL_GPL(deregister_mtd_parser); /* @@ -157,7 +157,7 @@ Signed-off-by: Hauke Mehrtens * Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you * are changing this array! */ -@@ -975,6 +1012,13 @@ int parse_mtd_partitions(struct mtd_info +@@ -1000,6 +1037,13 @@ int parse_mtd_partitions(struct mtd_info struct mtd_partitions pparts = { }; struct mtd_part_parser *parser; int ret, err = 0; @@ -171,7 +171,7 @@ Signed-off-by: Hauke Mehrtens if (!types) types = mtd_is_partition(master) ? default_subpartition_types : -@@ -1016,6 +1060,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1041,6 +1085,7 @@ int parse_mtd_partitions(struct mtd_info if (ret < 0 && !err) err = ret; } diff --git a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch index c9e3ca3713..4369ed3f4f 100644 --- a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch @@ -60,15 +60,15 @@ Signed-off-by: Felix Fietkau /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve * the pointer to that structure. -@@ -650,6 +654,7 @@ int mtd_add_partition(struct mtd_info *p - mutex_unlock(&mtd_partitions_mutex); +@@ -653,6 +657,7 @@ int mtd_add_partition(struct mtd_info *p + if (ret) + goto err_remove_part; - add_mtd_device(&new->mtd); + mtd_partition_split(parent, new); - mtd_add_partition_attrs(new); -@@ -728,6 +733,29 @@ int mtd_del_partition(struct mtd_info *m + return 0; +@@ -739,6 +744,29 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -98,10 +98,10 @@ Signed-off-by: Felix Fietkau /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -759,6 +787,7 @@ int add_mtd_partitions(struct mtd_info * - mutex_unlock(&mtd_partitions_mutex); +@@ -779,6 +807,7 @@ int add_mtd_partitions(struct mtd_info * + goto err_del_partitions; + } - add_mtd_device(&slave->mtd); + mtd_partition_split(master, slave); mtd_add_partition_attrs(slave); /* Look for subpartitions */ diff --git a/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch index 5a9d3f7560..eefba9f508 100644 --- a/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch +++ b/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch @@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve -@@ -733,6 +737,36 @@ int mtd_del_partition(struct mtd_info *m +@@ -744,6 +748,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -57,7 +57,7 @@ Signed-off-by: Gabor Juhos #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #else -@@ -1109,6 +1143,61 @@ void mtd_part_parser_cleanup(struct mtd_ +@@ -1134,6 +1168,61 @@ void mtd_part_parser_cleanup(struct mtd_ } } diff --git a/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch index 42d95360fd..6085cb8ffb 100644 --- a/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch +++ b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -775,6 +775,7 @@ run_parsers_by_type(struct mtd_part *sla +@@ -786,6 +786,7 @@ run_parsers_by_type(struct mtd_part *sla static void split_firmware(struct mtd_info *master, struct mtd_part *part) { @@ -18,7 +18,7 @@ Signed-off-by: Gabor Juhos } static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part) -@@ -784,6 +785,12 @@ static void mtd_partition_split(struct m +@@ -795,6 +796,12 @@ static void mtd_partition_split(struct m if (rootfs_found) return; diff --git a/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch index b59977455e..294a0f6f8b 100644 --- a/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch +++ b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -1222,6 +1222,24 @@ int mtd_is_partition(const struct mtd_in +@@ -1247,6 +1247,24 @@ int mtd_is_partition(const struct mtd_in } EXPORT_SYMBOL_GPL(mtd_is_partition); From d395583d697c17f00a533d6efa13754c21630eda Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Fri, 6 Dec 2019 14:55:57 +0100 Subject: [PATCH 22/48] kernel: bump 4.14 to 4.14.158 Refreshed all patches. Altered patches: - 400-mtd-add-rootfs-split-support.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 ++-- .../910-unaligned_access_hacks.patch | 2 +- .../910-unaligned_access_hacks.patch | 2 +- ...l-option-fix-dwm-158-3g-modem-interface.patch | 2 +- ...s-add-of_match_table-parser-matching-fo.patch | 4 ++-- ...part-parser-to-fixed-partitions-as-it-f.patch | 4 ++-- ...-adding-registering-partitions-to-the-p.patch | 6 +++--- ...s-use-DT-info-for-parsing-partitions-wi.patch | 10 +++++----- .../linux/generic/hack-4.14/930-crashlog.patch | 2 +- ...add-generic-parsing-of-linux-part-probe.patch | 6 +++--- .../400-mtd-add-rootfs-split-support.patch | 16 ++++++++-------- ...rt-for-different-partition-parser-types.patch | 4 ++-- ...d-parsers-for-rootfs-and-firmware-split.patch | 4 ++-- .../404-mtd-add-more-helper-functions.patch | 2 +- .../pending-4.14/920-mangle_bootargs.patch | 4 ++-- ...ic-Mangle-bootloader-s-kernel-arguments.patch | 2 +- .../202-core-linux-support-layerscape.patch | 2 +- ...bu-Mangle-bootloader-s-kernel-arguments.patch | 2 +- ...ic-Mangle-bootloader-s-kernel-arguments.patch | 2 +- .../0031-uvc-add-iPassion-iP2970-support.patch | 2 +- .../patches-4.14/0200-linkit_bootstrap.patch | 2 +- 21 files changed, 42 insertions(+), 42 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 6a85c7a0b1..9a70b4cdd8 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -7,11 +7,11 @@ ifdef CONFIG_TESTING_KERNEL endif LINUX_VERSION-4.9 = .206 -LINUX_VERSION-4.14 = .156 +LINUX_VERSION-4.14 = .158 LINUX_VERSION-4.19 = .86 LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6 -LINUX_KERNEL_HASH-4.14.156 = f8889feb0cbd7df36ff35bd4c72c1e2010567621bfcb218fcfa501bc5c7787c0 +LINUX_KERNEL_HASH-4.14.158 = 0d49ec72e273f6fc7462ad56849b2285f13fd5f4185e8f932a0074fc2eca1bb3 LINUX_KERNEL_HASH-4.19.86 = bf2cbba319d43d1bd9e876ac0b55ab83118d1a1e61cce3c929d5371f7567bff6 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch index fbad39a5cc..9d1e4e524e 100644 --- a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch @@ -223,7 +223,7 @@ #include #include #include -@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s +@@ -820,10 +821,10 @@ static void tcp_v6_send_response(const s topt = (__be32 *)(t1 + 1); if (tsecr) { diff --git a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch index 5d9b84eb9f..17ee82fe79 100644 --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch @@ -214,7 +214,7 @@ #include #include #include -@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s +@@ -820,10 +821,10 @@ static void tcp_v6_send_response(const s topt = (__be32 *)(t1 + 1); if (tsecr) { diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch index b708fda5ca..817b112f90 100644 --- a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -1965,7 +1965,8 @@ static const struct usb_device_id option +@@ -1968,7 +1968,8 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, diff --git a/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch b/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch index bd39a2625e..765b6b95df 100644 --- a/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch +++ b/target/linux/generic/backport-4.14/041-v4.17-0001-mtd-partitions-add-of_match_table-parser-matching-fo.patch @@ -55,7 +55,7 @@ Signed-off-by: Boris Brezillon #include "mtdcore.h" -@@ -894,6 +895,92 @@ static int mtd_part_do_parse(struct mtd_ +@@ -919,6 +920,92 @@ static int mtd_part_do_parse(struct mtd_ } /** @@ -148,7 +148,7 @@ Signed-off-by: Boris Brezillon * parse_mtd_partitions - parse MTD partitions * @master: the master partition (describes whole MTD device) * @types: names of partition parsers to try or %NULL -@@ -925,19 +1012,30 @@ int parse_mtd_partitions(struct mtd_info +@@ -950,19 +1037,30 @@ int parse_mtd_partitions(struct mtd_info types = default_mtd_part_types; for ( ; *types; types++) { diff --git a/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch b/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch index 66b67d7676..22ad40bf44 100644 --- a/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch +++ b/target/linux/generic/backport-4.14/041-v4.17-0002-mtd-rename-ofpart-parser-to-fixed-partitions-as-it-f.patch @@ -22,7 +22,7 @@ Signed-off-by: Boris Brezillon --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -940,7 +940,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -965,7 +965,7 @@ static int mtd_part_of_parse(struct mtd_ struct device_node *np; struct property *prop; const char *compat; @@ -31,7 +31,7 @@ Signed-off-by: Boris Brezillon int ret, err = 0; np = of_get_child_by_name(mtd_get_of_node(master), "partitions"); -@@ -960,7 +960,7 @@ static int mtd_part_of_parse(struct mtd_ +@@ -985,7 +985,7 @@ static int mtd_part_of_parse(struct mtd_ of_node_put(np); /* diff --git a/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch b/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch index 83077431b8..d017fd452b 100644 --- a/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch +++ b/target/linux/generic/backport-4.14/042-v4.18-0001-mtd-move-code-adding-registering-partitions-to-the-p.patch @@ -98,7 +98,7 @@ Signed-off-by: Boris Brezillon } static struct mtd_part *allocate_partition(struct mtd_info *parent, -@@ -981,30 +968,27 @@ static int mtd_part_of_parse(struct mtd_ +@@ -1006,30 +993,27 @@ static int mtd_part_of_parse(struct mtd_ } /** @@ -136,7 +136,7 @@ Signed-off-by: Boris Brezillon struct mtd_part_parser *parser; int ret, err = 0; -@@ -1018,7 +1002,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1043,7 +1027,7 @@ int parse_mtd_partitions(struct mtd_info * handled in a separated function. */ if (!strcmp(*types, "ofpart")) { @@ -145,7 +145,7 @@ Signed-off-by: Boris Brezillon } else { pr_debug("%s: parsing partitions %s\n", master->name, *types); -@@ -1029,13 +1013,17 @@ int parse_mtd_partitions(struct mtd_info +@@ -1054,13 +1038,17 @@ int parse_mtd_partitions(struct mtd_info parser ? parser->name : NULL); if (!parser) continue; diff --git a/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch b/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch index 1bb3563f15..eff1a01692 100644 --- a/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch +++ b/target/linux/generic/backport-4.14/046-v4.19-mtd-partitions-use-DT-info-for-parsing-partitions-wi.patch @@ -55,9 +55,9 @@ Signed-off-by: Boris Brezillon static struct mtd_part *allocate_partition(struct mtd_info *parent, const struct mtd_partition *part, int partno, uint64_t cur_offset) -@@ -783,8 +767,8 @@ int add_mtd_partitions(struct mtd_info * +@@ -803,8 +787,8 @@ int add_mtd_partitions(struct mtd_info * + } - add_mtd_device(&slave->mtd); mtd_add_partition_attrs(slave); - if (parts[i].types) - mtd_parse_part(slave, parts[i].types); @@ -66,7 +66,7 @@ Signed-off-by: Boris Brezillon cur_offset = slave->offset + slave->mtd.size; } -@@ -860,6 +844,12 @@ static const char * const default_mtd_pa +@@ -885,6 +869,12 @@ static const char * const default_mtd_pa NULL }; @@ -79,7 +79,7 @@ Signed-off-by: Boris Brezillon static int mtd_part_do_parse(struct mtd_part_parser *parser, struct mtd_info *master, struct mtd_partitions *pparts, -@@ -930,7 +920,9 @@ static int mtd_part_of_parse(struct mtd_ +@@ -955,7 +945,9 @@ static int mtd_part_of_parse(struct mtd_ const char *fixed = "fixed-partitions"; int ret, err = 0; @@ -90,7 +90,7 @@ Signed-off-by: Boris Brezillon of_property_for_each_string(np, "compatible", prop, compat) { parser = mtd_part_get_compatible_parser(compat); if (!parser) -@@ -993,7 +985,8 @@ int parse_mtd_partitions(struct mtd_info +@@ -1018,7 +1010,8 @@ int parse_mtd_partitions(struct mtd_info int ret, err = 0; if (!types) diff --git a/target/linux/generic/hack-4.14/930-crashlog.patch b/target/linux/generic/hack-4.14/930-crashlog.patch index 1479a4c06d..9d09dbd760 100644 --- a/target/linux/generic/hack-4.14/930-crashlog.patch +++ b/target/linux/generic/hack-4.14/930-crashlog.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau depends on BROKEN || !FRV --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -113,6 +113,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex +@@ -110,6 +110,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_HAS_IOMEM) += memremap.o diff --git a/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch b/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch index 5e70756c4e..bf0c289227 100644 --- a/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch +++ b/target/linux/generic/pending-4.14/161-mtd-part-add-generic-parsing-of-linux-part-probe.patch @@ -110,7 +110,7 @@ Signed-off-by: Hauke Mehrtens #include #include -@@ -844,6 +845,37 @@ void deregister_mtd_parser(struct mtd_pa +@@ -869,6 +870,37 @@ void deregister_mtd_parser(struct mtd_pa } EXPORT_SYMBOL_GPL(deregister_mtd_parser); @@ -148,7 +148,7 @@ Signed-off-by: Hauke Mehrtens /* * Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you * are changing this array! -@@ -993,6 +1025,13 @@ int parse_mtd_partitions(struct mtd_info +@@ -1018,6 +1050,13 @@ int parse_mtd_partitions(struct mtd_info struct mtd_partitions pparts = { }; struct mtd_part_parser *parser; int ret, err = 0; @@ -162,7 +162,7 @@ Signed-off-by: Hauke Mehrtens if (!types) types = mtd_is_partition(master) ? default_subpartition_types : -@@ -1034,6 +1073,7 @@ int parse_mtd_partitions(struct mtd_info +@@ -1059,6 +1098,7 @@ int parse_mtd_partitions(struct mtd_info if (ret < 0 && !err) err = ret; } diff --git a/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch index 5f8899ea61..10ad99585d 100644 --- a/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.14/400-mtd-add-rootfs-split-support.patch @@ -60,15 +60,15 @@ Signed-off-by: Felix Fietkau /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve * the pointer to that structure. -@@ -668,6 +672,7 @@ int mtd_add_partition(struct mtd_info *p - mutex_unlock(&mtd_partitions_mutex); +@@ -671,6 +675,7 @@ int mtd_add_partition(struct mtd_info *p + if (ret) + goto err_remove_part; - add_mtd_device(&new->mtd); + mtd_partition_split(parent, new); - mtd_add_partition_attrs(new); -@@ -746,6 +751,29 @@ int mtd_del_partition(struct mtd_info *m + return 0; +@@ -757,6 +762,29 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -98,10 +98,10 @@ Signed-off-by: Felix Fietkau /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -777,6 +805,7 @@ int add_mtd_partitions(struct mtd_info * - mutex_unlock(&mtd_partitions_mutex); +@@ -797,6 +825,7 @@ int add_mtd_partitions(struct mtd_info * + goto err_del_partitions; + } - add_mtd_device(&slave->mtd); + mtd_partition_split(master, slave); mtd_add_partition_attrs(slave); /* Look for subpartitions */ diff --git a/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch index 359c4c167b..057d473684 100644 --- a/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch +++ b/target/linux/generic/pending-4.14/401-mtd-add-support-for-different-partition-parser-types.patch @@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve -@@ -751,6 +755,36 @@ int mtd_del_partition(struct mtd_info *m +@@ -762,6 +766,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -57,7 +57,7 @@ Signed-off-by: Gabor Juhos #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #else -@@ -1122,6 +1156,61 @@ void mtd_part_parser_cleanup(struct mtd_ +@@ -1147,6 +1181,61 @@ void mtd_part_parser_cleanup(struct mtd_ } } diff --git a/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch index e870663355..2cc06dd463 100644 --- a/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch +++ b/target/linux/generic/pending-4.14/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -793,6 +793,7 @@ run_parsers_by_type(struct mtd_part *sla +@@ -804,6 +804,7 @@ run_parsers_by_type(struct mtd_part *sla static void split_firmware(struct mtd_info *master, struct mtd_part *part) { @@ -18,7 +18,7 @@ Signed-off-by: Gabor Juhos } static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part) -@@ -802,6 +803,12 @@ static void mtd_partition_split(struct m +@@ -813,6 +814,12 @@ static void mtd_partition_split(struct m if (rootfs_found) return; diff --git a/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch index 94c59df01d..7b481ffb47 100644 --- a/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch +++ b/target/linux/generic/pending-4.14/404-mtd-add-more-helper-functions.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -1235,6 +1235,24 @@ int mtd_is_partition(const struct mtd_in +@@ -1260,6 +1260,24 @@ int mtd_is_partition(const struct mtd_in } EXPORT_SYMBOL_GPL(mtd_is_partition); diff --git a/target/linux/generic/pending-4.14/920-mangle_bootargs.patch b/target/linux/generic/pending-4.14/920-mangle_bootargs.patch index adeb9f12f9..2f6a52c23d 100644 --- a/target/linux/generic/pending-4.14/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-4.14/920-mangle_bootargs.patch @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -359,6 +359,29 @@ static inline void setup_nr_cpu_ids(void +@@ -358,6 +358,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -540,6 +563,7 @@ asmlinkage __visible void __init start_k +@@ -539,6 +562,7 @@ asmlinkage __visible void __init start_k add_device_randomness(command_line, strlen(command_line)); boot_init_stack_canary(); mm_init_cpumask(&init_mm); diff --git a/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch index b6f1f47424..5d3243ccb4 100644 --- a/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/ipq806x/patches-4.14/0067-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k +@@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch index 49e528402c..7be95d49e4 100644 --- a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch @@ -321,7 +321,7 @@ Signed-off-by: Yangbo Lu } else if (has_acpi_companion(dma_dev)) { --- a/drivers/gpu/ipu-v3/ipu-pre.c +++ b/drivers/gpu/ipu-v3/ipu-pre.c -@@ -124,7 +124,8 @@ ipu_pre_lookup_by_phandle(struct device +@@ -125,7 +125,8 @@ ipu_pre_lookup_by_phandle(struct device list_for_each_entry(pre, &ipu_pre_list, list) { if (pre_node == pre->dev->of_node) { mutex_unlock(&ipu_pre_list_mutex); diff --git a/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch index d15794f2e3..8f11632d04 100644 --- a/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/mvebu/patches-4.14/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch @@ -180,7 +180,7 @@ Signed-off-by: Michael Gray static int kernel_init(void *); extern void init_IRQ(void); -@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k +@@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch index 3758ca0dc3..d3b047f3c4 100644 --- a/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/oxnas/patches-4.14/996-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k +@@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch index ff4c5b17fa..0b305a8105 100644 --- a/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-4.14/0031-uvc-add-iPassion-iP2970-support.patch @@ -13,7 +13,7 @@ Signed-off-by: John Crispin --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -2735,6 +2735,18 @@ static const struct usb_device_id uvc_id +@@ -2737,6 +2737,18 @@ static const struct usb_device_id uvc_id .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_QUIRK_FORCE_Y8 }, diff --git a/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch b/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch index 865ae79f43..cd1462fbcf 100644 --- a/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch +++ b/target/linux/ramips/patches-4.14/0200-linkit_bootstrap.patch @@ -1,6 +1,6 @@ --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -57,6 +57,7 @@ obj-$(CONFIG_CXL_BASE) += cxl/ +@@ -56,6 +56,7 @@ obj-$(CONFIG_CXL_BASE) += cxl/ obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o From 88ca372b5ae89567f1028954522290f1b038d7a8 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Fri, 6 Dec 2019 16:25:06 +0100 Subject: [PATCH 23/48] kernel: bump 4.19 to 4.19.88 Refreshed all patches. Remove upstreamed: - 0004-boot-sq201-from-sda1.patch - 500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch - 0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch Altered patches: - 0011-ARM-dts-Fix-up-SQ201-flash-access.patch - 400-mtd-add-rootfs-split-support.patch - 0101-pci-mediatek-backport-fix-pcie.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- .../910-unaligned_access_hacks.patch | 2 +- ...-0030-mm-Remove-the-PFN-busy-warning.patch | 2 +- ...Set-base-to-0-give-expected-gpio-num.patch | 2 +- ...044-MMC-added-alternative-MMC-driver.patch | 6 +- ...-brcm-adds-support-for-BCM43341-wifi.patch | 8 +- ...rcmfmac-Mute-expected-startup-errors.patch | 2 +- ...rcmfmac-Mute-expected-startup-errors.patch | 2 +- ...Better-coalescing-parameter-defaults.patch | 2 +- ...-link-energy-detect-powerdown-for-ex.patch | 2 +- ...ctrl-bcm2835-Add-support-for-BCM2838.patch | 2 +- .../0004-boot-sq201-from-sda1.patch | 20 -- ...8-ARM-dts-Enable-Gemini-flash-access.patch | 4 +- ...11-ARM-dts-Fix-up-SQ201-flash-access.patch | 44 +--- ...fault-compression-selection-in-ubifs.patch | 46 ---- .../generic/hack-4.19/902-debloat_proc.patch | 2 +- .../generic/hack-4.19/930-crashlog.patch | 2 +- ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 2 +- .../400-mtd-add-rootfs-split-support.patch | 16 +- ...for-different-partition-parser-types.patch | 4 +- ...arsers-for-rootfs-and-firmware-split.patch | 4 +- .../404-mtd-add-more-helper-functions.patch | 2 +- .../pending-4.19/920-mangle_bootargs.patch | 4 +- ...onger-core-rest-timeout-in-dwc2_core.patch | 29 --- .../0101-pci-mediatek-backport-fix-pcie.patch | 200 ++---------------- ...Mangle-bootloader-s-kernel-arguments.patch | 2 +- 26 files changed, 57 insertions(+), 358 deletions(-) delete mode 100644 target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch delete mode 100644 target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch delete mode 100644 target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 9a70b4cdd8..1bb0fe9911 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.9 = .206 LINUX_VERSION-4.14 = .158 -LINUX_VERSION-4.19 = .86 +LINUX_VERSION-4.19 = .88 LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6 LINUX_KERNEL_HASH-4.14.158 = 0d49ec72e273f6fc7462ad56849b2285f13fd5f4185e8f932a0074fc2eca1bb3 -LINUX_KERNEL_HASH-4.19.86 = bf2cbba319d43d1bd9e876ac0b55ab83118d1a1e61cce3c929d5371f7567bff6 +LINUX_KERNEL_HASH-4.19.88 = c1923b6bd166e6dd07be860c15f59e8273aaa8692bc2a1fce1d31b826b9b3fbe remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch index ad7b12d650..7784801c8c 100644 --- a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch @@ -214,7 +214,7 @@ #include #include #include -@@ -836,10 +837,10 @@ static void tcp_v6_send_response(const s +@@ -837,10 +838,10 @@ static void tcp_v6_send_response(const s topt = (__be32 *)(t1 + 1); if (tsecr) { diff --git a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch b/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch index cfc52ead26..f08379057f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch +++ b/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch @@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7980,8 +7980,6 @@ int alloc_contig_range(unsigned long sta +@@ -7977,8 +7977,6 @@ int alloc_contig_range(unsigned long sta /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { diff --git a/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch index e3aeded95c..307e82ede4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch +++ b/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch @@ -11,7 +11,7 @@ Signed-off-by: Noralf Tronnes --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -352,7 +352,7 @@ static const struct gpio_chip bcm2835_gp +@@ -350,7 +350,7 @@ static const struct gpio_chip bcm2835_gp .get_direction = bcm2835_gpio_get_direction, .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, diff --git a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch b/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch index af67d42f8d..25f587b2d7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch @@ -125,7 +125,7 @@ Signed-off-by: Phil Elwell static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); -@@ -2919,6 +2926,7 @@ static int mmc_blk_probe(struct mmc_card +@@ -2913,6 +2920,7 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -133,7 +133,7 @@ Signed-off-by: Phil Elwell /* * Check that the card supports the command class(es) we need. -@@ -2926,7 +2934,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -2920,7 +2928,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -151,7 +151,7 @@ Signed-off-by: Phil Elwell card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2941,9 +2958,14 @@ static int mmc_blk_probe(struct mmc_card +@@ -2935,9 +2952,14 @@ static int mmc_blk_probe(struct mmc_card string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); diff --git a/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch b/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch index d61948995c..4251ecafef 100644 --- a/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch +++ b/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch @@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell cfg->pwr_save = enabled; if (!check_vif_up(ifp->vif)) { -@@ -6776,12 +6778,18 @@ static s32 brcmf_translate_country_code( +@@ -6786,12 +6788,18 @@ static s32 brcmf_translate_country_code( struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -78,7 +78,7 @@ Signed-off-by: Phil Elwell } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -6805,10 +6813,14 @@ static s32 brcmf_translate_country_code( +@@ -6815,10 +6823,14 @@ static s32 brcmf_translate_country_code( brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -109,7 +109,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -608,6 +608,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio"); +@@ -614,6 +614,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio"); BRCMF_FW_DEF(4330, "brcmfmac4330-sdio"); BRCMF_FW_DEF(4334, "brcmfmac4334-sdio"); BRCMF_FW_DEF(43340, "brcmfmac43340-sdio"); @@ -117,7 +117,7 @@ Signed-off-by: Phil Elwell BRCMF_FW_DEF(4335, "brcmfmac4335-sdio"); BRCMF_FW_DEF(43362, "brcmfmac43362-sdio"); BRCMF_FW_DEF(4339, "brcmfmac4339-sdio"); -@@ -628,7 +629,7 @@ static const struct brcmf_firmware_mappi +@@ -634,7 +635,7 @@ static const struct brcmf_firmware_mappi BRCMF_FW_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330), BRCMF_FW_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334), BRCMF_FW_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340), diff --git a/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch b/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch index 27e6a201a5..8111f9d42c 100644 --- a/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch +++ b/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6844,6 +6844,8 @@ static void brcmf_cfg80211_reg_notifier( +@@ -6854,6 +6854,8 @@ static void brcmf_cfg80211_reg_notifier( /* ignore non-ISO3166 country codes */ for (i = 0; i < 2; i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { diff --git a/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch b/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch index 9c979c3e97..97073abff4 100644 --- a/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch +++ b/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6844,8 +6844,6 @@ static void brcmf_cfg80211_reg_notifier( +@@ -6854,8 +6854,6 @@ static void brcmf_cfg80211_reg_notifier( /* ignore non-ISO3166 country codes */ for (i = 0; i < 2; i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { diff --git a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch index 0e2657c423..f91643342f 100644 --- a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2149,7 +2149,7 @@ static void bcmgenet_init_tx_ring(struct +@@ -2147,7 +2147,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); diff --git a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch b/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch index c29457500e..02b5701099 100644 --- a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch +++ b/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch @@ -20,7 +20,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c -@@ -285,6 +285,8 @@ int bcmgenet_mii_probe(struct net_device +@@ -318,6 +318,8 @@ int bcmgenet_mii_probe(struct net_device /* Communicate the integrated PHY revision */ if (priv->internal_phy) phy_flags = priv->gphy_rev; diff --git a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch b/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch index d7103c5822..655937e303 100644 --- a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch +++ b/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch @@ -28,7 +28,7 @@ compatibility for the device-tree configuration has been retained. #define FSEL_REG(p) (GPFSEL0 + (((p) / 10) * 4)) #define FSEL_SHIFT(p) (((p) % 10) * 3) #define GPIO_REG_OFFSET(p) ((p) / 32) -@@ -917,21 +923,45 @@ static void bcm2835_pull_config_set(stru +@@ -915,21 +921,45 @@ static void bcm2835_pull_config_set(stru unsigned int pin, unsigned int arg) { u32 off, bit; diff --git a/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch b/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch deleted file mode 100644 index d2fa02a957..0000000000 --- a/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 95be54e285767c5209bb51df923373f78b8c4099 Mon Sep 17 00:00:00 2001 -From: Linus Walleij -Date: Mon, 16 Jul 2018 23:36:30 +0200 -Subject: [PATCH 04/18] boot sq201 from sda1 - ---- - arch/arm/boot/dts/gemini-sq201.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/arm/boot/dts/gemini-sq201.dts -+++ b/arch/arm/boot/dts/gemini-sq201.dts -@@ -20,7 +20,7 @@ - }; - - chosen { -- bootargs = "console=ttyS0,115200n8"; -+ bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait"; - stdout-path = &uart0; - }; - diff --git a/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch b/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch index 302945ff45..92e2e65c71 100644 --- a/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch +++ b/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch @@ -121,7 +121,7 @@ Signed-off-by: Linus Walleij /* 16MB of flash */ reg = <0x30000000 0x01000000>; -@@ -184,9 +177,7 @@ +@@ -157,9 +150,7 @@ mux { function = "gpio0"; groups = "gpio0fgrp", @@ -132,7 +132,7 @@ Signed-off-by: Linus Walleij }; }; /* -@@ -199,6 +190,18 @@ +@@ -172,6 +163,18 @@ groups = "gpio1dgrp"; }; }; diff --git a/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch b/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch index 578e970c0f..9dc5f65f7d 100644 --- a/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch +++ b/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch @@ -19,50 +19,8 @@ Signed-off-by: Linus Walleij }; chosen { -- bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait"; +- bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait"; + bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock3 rw rootfstype=squashfs,jffs2 rootwait"; stdout-path = &uart0; }; -@@ -131,37 +131,10 @@ - /* 16MB of flash */ - reg = <0x30000000 0x01000000>; - -- partition@0 { -- label = "RedBoot"; -- reg = <0x00000000 0x00120000>; -- read-only; -- }; -- partition@120000 { -- label = "Kernel"; -- reg = <0x00120000 0x00200000>; -- }; -- partition@320000 { -- label = "Ramdisk"; -- reg = <0x00320000 0x00600000>; -- }; -- partition@920000 { -- label = "Application"; -- reg = <0x00920000 0x00600000>; -- }; -- partition@f20000 { -- label = "VCTL"; -- reg = <0x00f20000 0x00020000>; -- read-only; -- }; -- partition@f40000 { -- label = "CurConf"; -- reg = <0x00f40000 0x000a0000>; -- read-only; -- }; -- partition@fe0000 { -- label = "FIS directory"; -- reg = <0x00fe0000 0x00020000>; -- read-only; -+ partitions { -+ compatible = "redboot-fis"; -+ /* Eraseblock at 0xfe0000 */ -+ fis-index-block = <0x1fc>; - }; - }; - diff --git a/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch b/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch deleted file mode 100644 index 7bd3ed9fad..0000000000 --- a/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d62e98ed1efcaa94caa004f622944afdce5f1c3c Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 9 Dec 2018 18:12:13 +0100 -Subject: [PATCH] ubifs: Fix default compression selection in ubifs - -When ubifs is build without the LZO compressor and no compressor is -given the creation of the default file system will fail. before -selection the LZO compressor check if it is present and if not fall back -to the zlib or none. - -Signed-off-by: Gabor Juhos -Signed-off-by: Hauke Mehrtens -Signed-off-by: Richard Weinberger ---- - fs/ubifs/sb.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - ---- a/fs/ubifs/sb.c -+++ b/fs/ubifs/sb.c -@@ -63,6 +63,17 @@ - /* Default time granularity in nanoseconds */ - #define DEFAULT_TIME_GRAN 1000000000 - -+static int get_default_compressor(struct ubifs_info *c) -+{ -+ if (ubifs_compr_present(c, UBIFS_COMPR_LZO)) -+ return UBIFS_COMPR_LZO; -+ -+ if (ubifs_compr_present(c, UBIFS_COMPR_ZLIB)) -+ return UBIFS_COMPR_ZLIB; -+ -+ return UBIFS_COMPR_NONE; -+} -+ - /** - * create_default_filesystem - format empty UBI volume. - * @c: UBIFS file-system description object -@@ -186,7 +197,7 @@ static int create_default_filesystem(str - if (c->mount_opts.override_compr) - sup->default_compr = cpu_to_le16(c->mount_opts.compr_type); - else -- sup->default_compr = cpu_to_le16(UBIFS_COMPR_LZO); -+ sup->default_compr = cpu_to_le16(get_default_compressor(c)); - - generate_random_uuid(sup->uuid); - diff --git a/target/linux/generic/hack-4.19/902-debloat_proc.patch b/target/linux/generic/hack-4.19/902-debloat_proc.patch index ec976c165b..4bd4d22168 100644 --- a/target/linux/generic/hack-4.19/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.19/902-debloat_proc.patch @@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3485,6 +3485,8 @@ static __net_initdata struct pernet_oper +@@ -3486,6 +3486,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/hack-4.19/930-crashlog.patch b/target/linux/generic/hack-4.19/930-crashlog.patch index 1562df44a4..bb16f22915 100644 --- a/target/linux/generic/hack-4.19/930-crashlog.patch +++ b/target/linux/generic/hack-4.19/930-crashlog.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau help --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -117,6 +117,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o +@@ -114,6 +114,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_HAS_IOMEM) += iomem.o obj-$(CONFIG_ZONE_DEVICE) += memremap.o obj-$(CONFIG_RSEQ) += rseq.o diff --git a/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch index 1a416e7782..ec541a865c 100644 --- a/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch +++ b/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -6403,7 +6403,7 @@ static void __ref alloc_node_mem_map(str +@@ -6400,7 +6400,7 @@ static void __ref alloc_node_mem_map(str mem_map = NODE_DATA(0)->node_mem_map; #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM) if (page_to_pfn(mem_map) != pgdat->node_start_pfn) diff --git a/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch index e646224df2..bc783deb40 100644 --- a/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch @@ -59,15 +59,15 @@ Signed-off-by: Felix Fietkau /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve * the pointer to that structure. -@@ -623,6 +627,7 @@ int mtd_add_partition(struct mtd_info *p - mutex_unlock(&mtd_partitions_mutex); +@@ -626,6 +630,7 @@ int mtd_add_partition(struct mtd_info *p + if (ret) + goto err_remove_part; - add_mtd_device(&new->mtd); + mtd_partition_split(parent, new); - mtd_add_partition_attrs(new); -@@ -701,6 +706,29 @@ int mtd_del_partition(struct mtd_info *m + return 0; +@@ -712,6 +717,29 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -97,10 +97,10 @@ Signed-off-by: Felix Fietkau /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -732,6 +760,7 @@ int add_mtd_partitions(struct mtd_info * - mutex_unlock(&mtd_partitions_mutex); +@@ -752,6 +780,7 @@ int add_mtd_partitions(struct mtd_info * + goto err_del_partitions; + } - add_mtd_device(&slave->mtd); + mtd_partition_split(master, slave); mtd_add_partition_attrs(slave); /* Look for subpartitions */ diff --git a/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch index 4026a2050b..a59659cda6 100644 --- a/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch +++ b/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch @@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve -@@ -706,6 +710,36 @@ int mtd_del_partition(struct mtd_info *m +@@ -717,6 +721,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -57,7 +57,7 @@ Signed-off-by: Gabor Juhos #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #else -@@ -1041,6 +1075,61 @@ void mtd_part_parser_cleanup(struct mtd_ +@@ -1066,6 +1100,61 @@ void mtd_part_parser_cleanup(struct mtd_ } } diff --git a/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch index 8a90ce6a8b..58d2e44574 100644 --- a/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch +++ b/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -748,6 +748,7 @@ run_parsers_by_type(struct mtd_part *sla +@@ -759,6 +759,7 @@ run_parsers_by_type(struct mtd_part *sla static void split_firmware(struct mtd_info *master, struct mtd_part *part) { @@ -18,7 +18,7 @@ Signed-off-by: Gabor Juhos } static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part) -@@ -757,6 +758,12 @@ static void mtd_partition_split(struct m +@@ -768,6 +769,12 @@ static void mtd_partition_split(struct m if (rootfs_found) return; diff --git a/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch index 2e95e99f6d..e404ec1fb2 100644 --- a/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch +++ b/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -1154,6 +1154,24 @@ int mtd_is_partition(const struct mtd_in +@@ -1179,6 +1179,24 @@ int mtd_is_partition(const struct mtd_in } EXPORT_SYMBOL_GPL(mtd_is_partition); diff --git a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch index 51af6b5d6b..0750ab77c2 100644 --- a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -366,6 +366,29 @@ static inline void setup_nr_cpu_ids(void +@@ -365,6 +365,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -558,6 +581,7 @@ asmlinkage __visible void __init start_k +@@ -557,6 +580,7 @@ asmlinkage __visible void __init start_k add_device_randomness(command_line, strlen(command_line)); boot_init_stack_canary(); mm_init_cpumask(&init_mm); diff --git a/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch b/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch deleted file mode 100644 index dde7b3f23b..0000000000 --- a/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 09bbf8c732e7a6ce290fc7c2d5a3e79ec6c3e8d2 Mon Sep 17 00:00:00 2001 -From: Mathias Kresin -Date: Wed, 3 Jul 2019 17:03:02 +0200 -Subject: [PATCH] usb: dwc2: use a longer core rest timeout in - dwc2_core_reset() - -Testing on different generations of Lantiq MIPS SoC based boards, showed -that it takes up to 1500 us until the core reset bit is cleared. - -The driver from the vendor SDK (ifxhcd) uses a 1 second timeout. Use the -same timeout to fix wrong hang detections and make the driver work for -Lantiq MIPS SoCs. - -Signed-off-by: Mathias Kresin ---- - drivers/usb/dwc2/core.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/dwc2/core.c -+++ b/drivers/usb/dwc2/core.c -@@ -524,7 +524,7 @@ int dwc2_core_reset(struct dwc2_hsotg *h - greset |= GRSTCTL_CSFTRST; - dwc2_writel(hsotg, greset, GRSTCTL); - -- if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 50)) { -+ if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 10000)) { - dev_warn(hsotg->dev, "%s: HANG! Soft Reset timeout GRSTCTL GRSTCTL_CSFTRST\n", - __func__); - return -EBUSY; diff --git a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch index 9afcedaa77..d4c4ea7738 100644 --- a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch +++ b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch @@ -57,83 +57,7 @@ } static void mtk_pcie_port_free(struct mtk_pcie_port *port) -@@ -394,75 +395,6 @@ static struct pci_ops mtk_pcie_ops_v2 = - .write = mtk_pcie_config_write, - }; - --static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port) --{ -- struct mtk_pcie *pcie = port->pcie; -- struct resource *mem = &pcie->mem; -- const struct mtk_pcie_soc *soc = port->pcie->soc; -- u32 val; -- size_t size; -- int err; -- -- /* MT7622 platforms need to enable LTSSM and ASPM from PCIe subsys */ -- if (pcie->base) { -- val = readl(pcie->base + PCIE_SYS_CFG_V2); -- val |= PCIE_CSR_LTSSM_EN(port->slot) | -- PCIE_CSR_ASPM_L1_EN(port->slot); -- writel(val, pcie->base + PCIE_SYS_CFG_V2); -- } -- -- /* Assert all reset signals */ -- writel(0, port->base + PCIE_RST_CTRL); -- -- /* -- * Enable PCIe link down reset, if link status changed from link up to -- * link down, this will reset MAC control registers and configuration -- * space. -- */ -- writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL); -- -- /* De-assert PHY, PE, PIPE, MAC and configuration reset */ -- val = readl(port->base + PCIE_RST_CTRL); -- val |= PCIE_PHY_RSTB | PCIE_PERSTB | PCIE_PIPE_SRSTB | -- PCIE_MAC_SRSTB | PCIE_CRSTB; -- writel(val, port->base + PCIE_RST_CTRL); -- -- /* Set up vendor ID and class code */ -- if (soc->need_fix_class_id) { -- val = PCI_VENDOR_ID_MEDIATEK; -- writew(val, port->base + PCIE_CONF_VEND_ID); -- -- val = PCI_CLASS_BRIDGE_HOST; -- writew(val, port->base + PCIE_CONF_CLASS_ID); -- } -- -- /* 100ms timeout value should be enough for Gen1/2 training */ -- err = readl_poll_timeout(port->base + PCIE_LINK_STATUS_V2, val, -- !!(val & PCIE_PORT_LINKUP_V2), 20, -- 100 * USEC_PER_MSEC); -- if (err) -- return -ETIMEDOUT; -- -- /* Set INTx mask */ -- val = readl(port->base + PCIE_INT_MASK); -- val &= ~INTX_MASK; -- writel(val, port->base + PCIE_INT_MASK); -- -- /* Set AHB to PCIe translation windows */ -- size = mem->end - mem->start; -- val = lower_32_bits(mem->start) | AHB2PCIE_SIZE(fls(size)); -- writel(val, port->base + PCIE_AHB_TRANS_BASE0_L); -- -- val = upper_32_bits(mem->start); -- writel(val, port->base + PCIE_AHB_TRANS_BASE0_H); -- -- /* Set PCIe to AXI translation memory space.*/ -- val = fls(0xffffffff) | WIN_ENABLE; -- writel(val, port->base + PCIE_AXI_WINDOW0); -- -- return 0; --} -- - static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) - { - struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data); -@@ -601,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m +@@ -532,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m writel(val, port->base + PCIE_INT_MASK); } @@ -161,7 +85,7 @@ static int mtk_pcie_intx_map(struct irq_domain *domain, unsigned int irq, irq_hw_number_t hwirq) { -@@ -630,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru +@@ -561,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, &intx_domain_ops, port); @@ -169,16 +93,7 @@ if (!port->irq_domain) { dev_err(dev, "failed to get INTx IRQ domain\n"); return -ENODEV; -@@ -639,8 +593,6 @@ static int mtk_pcie_init_irq_domain(stru - ret = mtk_pcie_allocate_msi_domains(port); - if (ret) - return ret; -- -- mtk_pcie_enable_msi(port); - } - - return 0; -@@ -693,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk +@@ -622,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk struct mtk_pcie *pcie = port->pcie; struct device *dev = pcie->dev; struct platform_device *pdev = to_platform_device(dev); @@ -187,7 +102,7 @@ err = mtk_pcie_init_irq_domain(port, node); if (err) { -@@ -701,8 +653,81 @@ static int mtk_pcie_setup_irq(struct mtk +@@ -630,8 +653,9 @@ static int mtk_pcie_setup_irq(struct mtk return err; } @@ -196,82 +111,10 @@ + port->irq = platform_get_irq(pdev, port->slot); + irq_set_chained_handler_and_data(port->irq, + mtk_pcie_intr_handler, port); -+ -+ return 0; -+} -+ -+static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port) -+{ -+ struct mtk_pcie *pcie = port->pcie; -+ struct resource *mem = &pcie->mem; -+ const struct mtk_pcie_soc *soc = port->pcie->soc; -+ u32 val; -+ size_t size; -+ int err; -+ -+ /* MT7622 platforms need to enable LTSSM and ASPM from PCIe subsys */ -+ if (pcie->base) { -+ val = readl(pcie->base + PCIE_SYS_CFG_V2); -+ val |= PCIE_CSR_LTSSM_EN(port->slot) | -+ PCIE_CSR_ASPM_L1_EN(port->slot); -+ writel(val, pcie->base + PCIE_SYS_CFG_V2); -+ } -+ -+ /* Assert all reset signals */ -+ writel(0, port->base + PCIE_RST_CTRL); -+ -+ /* -+ * Enable PCIe link down reset, if link status changed from link up to -+ * link down, this will reset MAC control registers and configuration -+ * space. -+ */ -+ writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL); -+ -+ /* De-assert PHY, PE, PIPE, MAC and configuration reset */ -+ val = readl(port->base + PCIE_RST_CTRL); -+ val |= PCIE_PHY_RSTB | PCIE_PERSTB | PCIE_PIPE_SRSTB | -+ PCIE_MAC_SRSTB | PCIE_CRSTB; -+ writel(val, port->base + PCIE_RST_CTRL); -+ -+ /* Set up vendor ID and class code */ -+ if (soc->need_fix_class_id) { -+ val = PCI_VENDOR_ID_MEDIATEK; -+ writew(val, port->base + PCIE_CONF_VEND_ID); -+ -+ val = PCI_CLASS_BRIDGE_PCI; -+ writew(val, port->base + PCIE_CONF_CLASS_ID); -+ } -+ -+ /* 100ms timeout value should be enough for Gen1/2 training */ -+ err = readl_poll_timeout(port->base + PCIE_LINK_STATUS_V2, val, -+ !!(val & PCIE_PORT_LINKUP_V2), 20, -+ 100 * USEC_PER_MSEC); -+ if (err) -+ return -ETIMEDOUT; -+ -+ /* Set INTx mask */ -+ val = readl(port->base + PCIE_INT_MASK); -+ val &= ~INTX_MASK; -+ writel(val, port->base + PCIE_INT_MASK); -+ -+ if (IS_ENABLED(CONFIG_PCI_MSI)) -+ mtk_pcie_enable_msi(port); -+ -+ /* Set AHB to PCIe translation windows */ -+ size = mem->end - mem->start; -+ val = lower_32_bits(mem->start) | AHB2PCIE_SIZE(fls(size)); -+ writel(val, port->base + PCIE_AHB_TRANS_BASE0_L); -+ -+ val = upper_32_bits(mem->start); -+ writel(val, port->base + PCIE_AHB_TRANS_BASE0_H); -+ -+ /* Set PCIe to AXI translation memory space.*/ -+ val = fls(0xffffffff) | WIN_ENABLE; -+ writel(val, port->base + PCIE_AXI_WINDOW0); return 0; } -@@ -903,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt +@@ -904,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt /* sys_ck might be divided into the following parts in some chips */ snprintf(name, sizeof(name), "ahb_ck%d", slot); @@ -336,7 +179,7 @@ snprintf(name, sizeof(name), "pcie-rst%d", slot); port->reset = devm_reset_control_get_optional_exclusive(dev, name); -@@ -998,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc +@@ -999,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc pcie->free_ck = NULL; } @@ -349,7 +192,7 @@ /* enable top level clock */ err = clk_prepare_enable(pcie->free_ck); -@@ -1013,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc +@@ -1014,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc return 0; err_free_ck: @@ -362,19 +205,16 @@ return err; } -@@ -1122,8 +1122,6 @@ +@@ -1122,36 +1122,6 @@ static int mtk_pcie_request_resources(st return err; err = devm_pci_remap_iospace(dev, &pcie->pio, pcie->io.start); - if (err) - return err; - - return 0; - } -@@ -1127,34 +1128,6 @@ static int mtk_pcie_request_resources(st - return 0; - } - +- +- return 0; +-} +- -static int mtk_pcie_register_host(struct pci_host_bridge *host) -{ - struct mtk_pcie *pcie = pci_host_bridge_priv(host); @@ -399,14 +239,10 @@ - pcie_bus_configure_settings(child); - - pci_bus_add_devices(host->bus); -- -- return 0; --} -- - static int mtk_pcie_probe(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -@@ -1181,7 +1154,14 @@ static int mtk_pcie_probe(struct platfor + + return 0; + } +@@ -1182,7 +1152,14 @@ static int mtk_pcie_probe(struct platfor if (err) goto put_resources; @@ -422,7 +258,7 @@ if (err) goto put_resources; -@@ -1194,6 +1174,80 @@ put_resources: +@@ -1195,6 +1172,80 @@ put_resources: return err; } @@ -503,7 +339,7 @@ static const struct mtk_pcie_soc mtk_pcie_soc_v1 = { .ops = &mtk_pcie_ops, .startup = mtk_pcie_startup_port, -@@ -1222,10 +1276,13 @@ static const struct of_device_id mtk_pci +@@ -1223,10 +1274,13 @@ static const struct of_device_id mtk_pci static struct platform_driver mtk_pcie_driver = { .probe = mtk_pcie_probe, diff --git a/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch index 6172e6fe45..0cb9e99602 100644 --- a/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch @@ -180,7 +180,7 @@ Signed-off-by: Michael Gray static int kernel_init(void *); extern void init_IRQ(void); -@@ -592,6 +596,18 @@ asmlinkage __visible void __init start_k +@@ -591,6 +595,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); From 487e0631d00c345b951cc31934e8e83a1e6e7cbe Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 9 Dec 2019 11:47:01 +0100 Subject: [PATCH 24/48] ath10k-firmware: update Candela Tech firmware images The release notes since last time for wave-1: * November 29, 2019: Fix IBSS merge issue, related to TSF id leakage bug in firmware code. Thanks for Ahmed Zaki @ Mage-Networks for helping to diagnose and test. The release notes since last time for wave-2: * December 6, 2019: Fix 160Mhz problem caused by logic that did not take into account the fact that 160Mhz has only 1/2 of the NSS of lower bandwidths in the rate table. Signed-off-by: Koen Vandeputte --- package/firmware/ath10k-firmware/Makefile | 48 +++++++++++------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/package/firmware/ath10k-firmware/Makefile b/package/firmware/ath10k-firmware/Makefile index b9fc08ab9f..a57fcb59ba 100644 --- a/package/firmware/ath10k-firmware/Makefile +++ b/package/firmware/ath10k-firmware/Makefile @@ -64,92 +64,92 @@ define Download/ct-firmware-htt URL_FILE:=$($(1)_FIRMWARE_FILE_CT_HTT) endef -QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.012 +QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.013 define Download/ath10k-firmware-qca988x-ct $(call Download/ct-firmware,QCA988X,) - HASH:=3b2c584f7070c3e286ce27a370cc181d70b45f9cdaa462fb4f44c6c20d2ee8c1 + HASH:=19db86003509dedb8ace339c183813ca637d65af24d00666411d1590efe33e13 endef $(eval $(call Download,ath10k-firmware-qca988x-ct)) -QCA988X_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.012 +QCA988X_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.013 define Download/ath10k-firmware-qca988x-ct-htt $(call Download/ct-firmware-htt,QCA988X,) - HASH:=a7042b2c90de82b21e87f243411b6fb12142bb4fb28266ea92cdf3101557b6de + HASH:=454e67dab545e720369a07be2fee16de008c76db4ab3119e7760bf9f7504c066 endef $(eval $(call Download,ath10k-firmware-qca988x-ct-htt)) -QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.012 +QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.013 define Download/ath10k-firmware-qca9887-ct $(call Download/ct-firmware,QCA9887,ath10k-9887) - HASH:=c3f891b2cd4e225e1c635a328af3dce94481b096432020e445f71144dda749d5 + HASH:=b3c738328427e124701a5735d65cde0f60e4172ae5bc23b00e5b16df7995dbd4 endef $(eval $(call Download,ath10k-firmware-qca9887-ct)) -QCA9887_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.012 +QCA9887_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.013 define Download/ath10k-firmware-qca9887-ct-htt $(call Download/ct-firmware-htt,QCA9887,ath10k-9887) - HASH:=f5e9825279d590a2362f44aef4ced345376cccd65d9b826c131d4dbcef4e689c + HASH:=4432ccee23133bbaa4a5552e50a1e7e889b257362603e05530e751b67c29b7b5 endef $(eval $(call Download,ath10k-firmware-qca9887-ct-htt)) -QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca99x0-ct $(call Download/ct-firmware,QCA99X0,ath10k-10-4b) - HASH:=4b90fa91dcab68350fe695b3c918cb9a4fb09c2b419519b8b84b71da4cfde5e8 + HASH:=6fa74a3fc87cba97dbc4a7213b760f8d997cd9c5f11900d47d387b23764cf20a endef $(eval $(call Download,ath10k-firmware-qca99x0-ct)) -QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca99x0-ct-htt $(call Download/ct-firmware-htt,QCA99X0,ath10k-10-4b) - HASH:=6dd40233fe99d99c69781d6514cf9ba7862b3f66c647f7921ca8be6100799986 + HASH:=68e92820c51270eba4f68b24654c4a9408902b2600762b70204f4cb5419bb714 endef $(eval $(call Download,ath10k-firmware-qca99x0-ct-htt)) -QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca9984-ct $(call Download/ct-firmware,QCA9984,ath10k-9984-10-4b) - HASH:=2551f5c0bfa6c1b1222bd9452e14f60b8e29c8c0fe85de8af95393f31d544ea3 + HASH:=08aeb883bd2d9258e8f1907cca8a0d2eda1c559a66e228dadffd6798f6877c7d endef $(eval $(call Download,ath10k-firmware-qca9984-ct)) -QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca9984-ct-htt $(call Download/ct-firmware-htt,QCA9984,ath10k-9984-10-4b) - HASH:=90f947257e1f42496b22cbdd29be99fbc8ea8700045b4ed2380acc980b4c247b + HASH:=38ed59a2b3c66c10926706a21ae2d3aeaf83e589f19345a8f48d6520522e4fde endef $(eval $(call Download,ath10k-firmware-qca9984-ct-htt)) -QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca4019-ct $(call Download/ct-firmware,QCA4019,ath10k-4019-10-4b) - HASH:=cd85fc9df8b3652f7b12c2ab745b2a9691dca5ca38f8d65a02003e938ad8b570 + HASH:=feca75fe89af9a3e998047f85ff3428676f4d574b770d51773bb419d0dd98e5a endef $(eval $(call Download,ath10k-firmware-qca4019-ct)) -QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca4019-ct-htt $(call Download/ct-firmware-htt,QCA4019,ath10k-4019-10-4b) - HASH:=67a923cda6ec3936ef23ec6c30c80dfc9bfd2cee73a142d2e308e8f035b8ed3a + HASH:=6a4977689343f43edd934823512f031fd1a026e872004343b9952077f9607cb0 endef $(eval $(call Download,ath10k-firmware-qca4019-ct-htt)) -QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.012 +QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013 define Download/ath10k-firmware-qca9888-ct $(call Download/ct-firmware,QCA9888,ath10k-9888-10-4b) - HASH:=4bdb71b50c68f1a07c88d21f84a6c054fe1b8cb5bacd089a6b9f0a56448535d3 + HASH:=d6a59c17bfbec1abc8498762d9f00b2449cab352feb8bef8b621771168376dbf endef $(eval $(call Download,ath10k-firmware-qca9888-ct)) -QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.012 +QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013 define Download/ath10k-firmware-qca9888-ct-htt $(call Download/ct-firmware-htt,QCA9888,ath10k-9888-10-4b) - HASH:=e1f0242a91af58ec5628bb4f7c015f6c8dba55f92e2813f8f0b97c86ec496d2d + HASH:=fe242c0d56494975d7a1aeb6969d90cc21cb133fba99040d4da7a25fdb90d92c endef $(eval $(call Download,ath10k-firmware-qca9888-ct-htt)) From 1ec6e7837eb6092400b499463a29375dc7738eb6 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Wed, 11 Dec 2019 22:27:26 +0100 Subject: [PATCH 25/48] glibc: update to latest 2.27 commit (BZ #2503, BZ #2504) bef0b1cb31 libio: Disable vtable validation for pre-2.1 interposed handles [BZ #25203] 4d5cfeb510 rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126) [BZ #25204] 92f04eedb5 mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels Signed-off-by: Hans Dedecker --- toolchain/glibc/common.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index ef182e4475..41ee989b14 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -11,8 +11,8 @@ PKG_VERSION:=2.27 PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=5b4f7382af46b4187a958e40fb3123ac3ce16810 -PKG_MIRROR_HASH:=8ab4c8c1f769c4d5d482c30e7aa029f1cc2c8163c347ca5f0d8224a7b4b61ddd +PKG_SOURCE_VERSION:=bef0b1cb31bed76a355776154af9191ed1758222 +PKG_MIRROR_HASH:=24a137758acdc0d8c5254891204ba38d759838123bab09a64ec0bdb94289aafd PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz From 46c74944df048fa5d50e6aa7286d02f3f376197e Mon Sep 17 00:00:00 2001 From: DENG Qingfang Date: Sun, 8 Dec 2019 00:37:31 +0800 Subject: [PATCH 26/48] ath79: fix typos in DTS Replace "usb_ochi" with "usb_ohci", and "usb_echi" with "usb_ehci". Signed-off-by: DENG Qingfang --- target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts | 6 +++--- target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts | 6 +++--- target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi | 6 +++--- target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts index 2e00de8887..e87f422051 100644 --- a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts +++ b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts @@ -47,7 +47,7 @@ usb { label = "buffalo:green:usb"; gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>; - trigger-sources = <&usb_ochi_port>, <&usb_echi_port>; + trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>; linux,default-trigger = "usbport"; }; @@ -180,7 +180,7 @@ #size-cells = <0>; status = "okay"; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -191,7 +191,7 @@ #size-cells = <0>; status = "okay"; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; diff --git a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts index 92de193aba..5e35dddd4b 100644 --- a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts +++ b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts @@ -34,7 +34,7 @@ usb { label = "d-link:blue:usb"; gpios = <&gpio 0 GPIO_ACTIVE_LOW>; - trigger-sources = <&usb_ochi_port>, <&usb_echi_port>; + trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>; linux,default-trigger = "usbport"; }; @@ -123,7 +123,7 @@ #size-cells = <0>; status = "okay"; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -134,7 +134,7 @@ #size-cells = <0>; status = "okay"; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi index f29137352f..ab4f37da11 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi @@ -31,7 +31,7 @@ usb_led { label = "netgear:green:usb"; resets = <&rst 12>; - trigger-sources = <&usb_ochi_port>, <&usb_echi_port>; + trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>; linux,default-trigger = "usbport"; }; }; @@ -133,7 +133,7 @@ #size-cells = <0>; status = "okay"; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -144,7 +144,7 @@ #size-cells = <0>; status = "okay"; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; diff --git a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi index 35f3442b29..fc5d8335b5 100644 --- a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi +++ b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi @@ -85,7 +85,7 @@ #address-cells = <1>; #size-cells = <0>; - usb_ochi_port: port@1 { + usb_ohci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; @@ -96,7 +96,7 @@ #address-cells = <1>; #size-cells = <0>; - usb_echi_port: port@1 { + usb_ehci_port: port@1 { reg = <1>; #trigger-source-cells = <0>; }; From e00396d58420de96b660cfb918a0255f145c965f Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 12:28:22 +0100 Subject: [PATCH 27/48] ramips: add label MAC address for TP-Link Archer C20i Current OpenWrt MAC setup: eth0 &rom 0xf100 :48 eth0.2 eth0+1 :49 wlan0 (5 GHz) &radio 0x8004 different OUI wlan1 (2.4 GHz) &radio 0x4 same OUI as wlan0 Label MAC address corresponds to eth0 (ðernet). No additional addresses found in hexdump of rom/radio. Signed-off-by: Adrian Schmutzler --- target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts index e085162531..5ee6d67192 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts @@ -9,6 +9,10 @@ compatible = "tplink,archer-c20i", "ralink,mt7620a-soc"; model = "TP-Link Archer C20i"; + aliases { + label-mac-device = ðernet; + }; + chosen { bootargs = "console=ttyS0,115200"; }; From a283b1788a84e3d950e4f67fe8867f896b791116 Mon Sep 17 00:00:00 2001 From: Gabor Varga Date: Mon, 9 Dec 2019 23:03:58 +0100 Subject: [PATCH 28/48] ramips: fix switch port numbering for RT-AC65P/RT-AC85P The switch LAN port numbers are in reversed order with original config. With this patch they are fixed. Port order checked on both devices. Signed-off-by: Gabor Varga [merged definitions into appropriate block, extended commit message] Signed-off-by: Adrian Schmutzler --- target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index bb6e41e06f..53a8868382 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -55,7 +55,9 @@ ramips_setup_interfaces() asiarf,ap7621-nv1) ucidef_add_switch "switch0" "0:wan" "2:lan" "3:lan" "6@eth0" ;; + asus,rt-ac65p|\ asus,rt-ac57u|\ + asus,rt-ac85p|\ mikrotik,rb750gr3|\ ubiquiti,edgerouterx|\ ubiquiti,edgerouterx-sfp|\ @@ -63,8 +65,6 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0" ;; - asus,rt-ac65p|\ - asus,rt-ac85p|\ dlink,dir-860l-b1|\ elecom,wrc-1167ghbk2-s|\ elecom,wrc-1900gst|\ From c4f6850efc4b76c82962c6db1f77dc63c5b1fd67 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sat, 7 Dec 2019 23:37:40 +0100 Subject: [PATCH 29/48] ramips: remove unused DTS variable from DEVICE_VARS The DTS variable has been removed in 402138d12dca ("ramips: Derive DTS name from device name in Makefile"), but the DEVICE_VARS entry has been overlooked. Remove it now since we are not using this variable. This must _not_ be backported to 19.07, where the variable is still in use. Signed-off-by: Adrian Schmutzler --- target/linux/ramips/image/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 16748b8260..d700e69440 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -DEVICE_VARS += DTS IMAGE_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID +DEVICE_VARS += IMAGE_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK DEVICE_VARS += SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER From 757658f2ab8548f9e9d8ed83a56ae9a63daefe27 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 12:51:20 +0100 Subject: [PATCH 30/48] ramips: create common DTSI for TP-Link Archer C20i/C20 v1/C50 v1 The TP-Link Archer C20i/C20 v1/C50 v1 seem to be almost the same, so creating a common DTSI will reduce duplicate code. Signed-off-by: Adrian Schmutzler --- .../dts/mt7620a_tplink_archer-c20-v1.dts | 128 +----------------- .../ramips/dts/mt7620a_tplink_archer-c20i.dts | 119 +--------------- .../dts/mt7620a_tplink_archer-c50-v1.dts | 128 +----------------- .../ramips/dts/mt7620a_tplink_archer.dtsi | 124 +++++++++++++++++ 4 files changed, 139 insertions(+), 360 deletions(-) create mode 100644 target/linux/ramips/dts/mt7620a_tplink_archer.dtsi diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts index bc47f52d23..23719c3f35 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts @@ -1,9 +1,6 @@ /dts-v1/; -#include "mt7620a.dtsi" - -#include -#include +#include "mt7620a_tplink_archer.dtsi" / { compatible = "tplink,archer-c20-v1", "ralink,mt7620a-soc"; @@ -16,10 +13,6 @@ led-upgrade = &led_power; }; - chosen { - bootargs = "console=ttyS0,115200"; - }; - leds { compatible = "gpio-leds"; @@ -66,86 +59,6 @@ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; }; }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - rfkill { - label = "rfkill"; - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpio3 { - status = "okay"; -}; - -&spi0 { - status = "okay"; - - m25p80@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <10000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - partition@20000 { - compatible = "tplink,firmware"; - label = "firmware"; - reg = <0x20000 0x7a0000>; - }; - - partition@7c0000 { - label = "config"; - reg = <0x7c0000 0x10000>; - read-only; - }; - - rom: partition@7d0000 { - label = "rom"; - reg = <0x7d0000 0x10000>; - read-only; - }; - - partition@7e0000 { - label = "romfile"; - reg = <0x7e0000 0x10000>; - read-only; - }; - - radio: partition@7f0000 { - label = "radio"; - reg = <0x7f0000 0x10000>; - read-only; - }; - }; - }; }; &pinctrl { @@ -157,42 +70,15 @@ }; }; -ðernet { - pinctrl-names = "default"; - mtd-mac-address = <&rom 0xf100>; - mediatek,portmap = "wllll"; - }; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&gsw { - mediatek,port4 = "ephy"; -}; - &wmac { - ralink,mtd-eeprom = <&radio 0>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-2)>; pinctrl-names = "default"; pinctrl-0 = <&pa_pins>; + + mtd-mac-address = <&rom 0xf100>; + mtd-mac-address-increment = <(-2)>; }; -&pcie { - status = "okay"; -}; - -&pcie0 { - mt76@0,0 { - reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 0x8000>; - ieee80211-freq-limit = <5000000 6000000>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-1)>; - }; +&wifi { + mtd-mac-address = <&rom 0xf100>; + mtd-mac-address-increment = <(-1)>; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts index 5ee6d67192..975e0af661 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts @@ -1,9 +1,6 @@ /dts-v1/; -#include "mt7620a.dtsi" - -#include -#include +#include "mt7620a_tplink_archer.dtsi" / { compatible = "tplink,archer-c20i", "ralink,mt7620a-soc"; @@ -13,10 +10,6 @@ label-mac-device = ðernet; }; - chosen { - bootargs = "console=ttyS0,115200"; - }; - leds { compatible = "gpio-leds"; @@ -47,82 +40,6 @@ gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; }; }; - - keys { - compatible = "gpio-keys"; - - rfkill { - label = "rfkill"; - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - reset_wps { - label = "reset_wps"; - gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpio3 { - status = "okay"; -}; - -&spi0 { - status = "okay"; - - m25p80@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <10000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - partition@20000 { - compatible = "tplink,firmware"; - label = "firmware"; - reg = <0x20000 0x7a0000>; - }; - - partition@7c0000 { - label = "config"; - reg = <0x7c0000 0x10000>; - }; - - rom: partition@7d0000 { - label = "rom"; - reg = <0x7d0000 0x10000>; - }; - - partition@7e0000 { - label = "romfile"; - reg = <0x7e0000 0x10000>; - }; - - radio: partition@7f0000 { - label = "radio"; - reg = <0x7f0000 0x10000>; - }; - }; - }; }; &pinctrl { @@ -133,37 +50,3 @@ }; }; }; - -ðernet { - pinctrl-names = "default"; - mtd-mac-address = <&rom 0xf100>; - mediatek,portmap = "wllll"; - }; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&gsw { - mediatek,port4 = "ephy"; -}; - -&wmac { - ralink,mtd-eeprom = <&radio 0x0>; -}; - -&pcie { - status = "okay"; -}; - -&pcie0 { - mt76@0,0 { - reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 0x8000>; - ieee80211-freq-limit = <5000000 6000000>; - }; -}; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts index e53e98e32b..77885853ef 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts @@ -1,9 +1,6 @@ /dts-v1/; -#include "mt7620a.dtsi" - -#include -#include +#include "mt7620a_tplink_archer.dtsi" / { compatible = "tplink,archer-c50-v1", "ralink,mt7620a-soc"; @@ -16,10 +13,6 @@ led-upgrade = &led_power; }; - chosen { - bootargs = "console=ttyS0,115200"; - }; - leds { compatible = "gpio-leds"; @@ -66,86 +59,6 @@ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; }; }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - rfkill { - label = "rfkill"; - gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpio3 { - status = "okay"; -}; - -&spi0 { - status = "okay"; - - m25p80@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <10000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - partition@20000 { - compatible = "tplink,firmware"; - label = "firmware"; - reg = <0x20000 0x7a0000>; - }; - - partition@7c0000 { - label = "config"; - reg = <0x7c0000 0x10000>; - read-only; - }; - - rom: partition@7d0000 { - label = "rom"; - reg = <0x7d0000 0x10000>; - read-only; - }; - - partition@7e0000 { - label = "romfile"; - reg = <0x7e0000 0x10000>; - read-only; - }; - - radio: partition@7f0000 { - label = "radio"; - reg = <0x7f0000 0x10000>; - read-only; - }; - }; - }; }; &pinctrl { @@ -157,42 +70,15 @@ }; }; -ðernet { - pinctrl-names = "default"; - mtd-mac-address = <&rom 0xf100>; - mediatek,portmap = "wllll"; - }; - -&ehci { - status = "okay"; -}; - -&ohci { - status = "okay"; -}; - -&gsw { - mediatek,port4 = "ephy"; -}; - &wmac { - ralink,mtd-eeprom = <&radio 0x0>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-2)>; pinctrl-names = "default"; pinctrl-0 = <&pa_pins>; + + mtd-mac-address = <&rom 0xf100>; + mtd-mac-address-increment = <(-2)>; }; -&pcie { - status = "okay"; -}; - -&pcie0 { - mt76@0,0 { - reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&radio 0x8000>; - ieee80211-freq-limit = <5000000 6000000>; - mtd-mac-address = <&rom 0xf100>; - mtd-mac-address-increment = <(-1)>; - }; +&wifi { + mtd-mac-address = <&rom 0xf100>; + mtd-mac-address-increment = <(-1)>; }; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi new file mode 100644 index 0000000000..dd213ad219 --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi @@ -0,0 +1,124 @@ +#include "mt7620a.dtsi" + +#include +#include + +/ { + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpio3 { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + label = "firmware"; + reg = <0x20000 0x7a0000>; + }; + + partition@7c0000 { + label = "config"; + reg = <0x7c0000 0x10000>; + read-only; + }; + + rom: partition@7d0000 { + label = "rom"; + reg = <0x7d0000 0x10000>; + read-only; + }; + + partition@7e0000 { + label = "romfile"; + reg = <0x7e0000 0x10000>; + read-only; + }; + + radio: partition@7f0000 { + label = "radio"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; +}; + +ðernet { + pinctrl-names = "default"; + mtd-mac-address = <&rom 0xf100>; + mediatek,portmap = "wllll"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&gsw { + mediatek,port4 = "ephy"; +}; + +&wmac { + ralink,mtd-eeprom = <&radio 0x0>; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi: mt76@0,0 { + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; From 38866f275de6e19811415acc1c46f730108eeba5 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 13:23:56 +0100 Subject: [PATCH 31/48] ramips: remove wan_mac setup for evaluation boards The evaluation boards do not set up a MAC address for eth0 in the first place, so it does not make sense to calculate a WAN address from the random MAC used there. Signed-off-by: Adrian Schmutzler --- target/linux/ramips/mt7620/base-files/etc/board.d/02_network | 4 ---- target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 1 - target/linux/ramips/mt76x8/base-files/etc/board.d/02_network | 1 - 3 files changed, 6 deletions(-) diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index ef241ff801..900bbc5550 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -238,10 +238,6 @@ ramips_setup_macs() phicomm,psg1218b|\ planex,db-wrt01|\ planex,mzk-750dhp|\ - ralink,mt7620a-evb|\ - ralink,mt7620a-mt7530-evb|\ - ralink,mt7620a-mt7610e-evb|\ - ralink,mt7620a-v22sg-evb|\ sanlinking,d240|\ tplink,archer-c2-v1|\ tplink,archer-c20-v1|\ diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 53a8868382..e7e225a148 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -154,7 +154,6 @@ ramips_setup_macs() firefly,firewrt|\ gehua,ghl-r-001|\ mediatek,ap-mt7621a-v60|\ - mediatek,mt7621-eval-board|\ mikrotik,rb750gr3|\ mikrotik,rbm33g|\ mqmaker,witi|\ diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index 87ce447612..f76af66f27 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -137,7 +137,6 @@ ramips_setup_macs() label_mac=$(mtd_get_mac_binary factory 0x8) ;; duzun,dm06|\ - mediatek,mt7628an-eval-board|\ netgear,r6120|\ rakwireless,rak633|\ tplink,archer-c20-v4|\ From 98d9158d2f671ea4724252b08f9cdc5c5e47f286 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 13:20:50 +0100 Subject: [PATCH 32/48] ramips: mt7620: use flash location for wan_mac in 02_network This uses the flash locations instead of eth0 MAC address to calculate MAC address increments for WAN. The change will make the MAC address setup of a particular device more obvious and removes the dependency of 02_network on the eth0 initialization. Signed-off-by: Adrian Schmutzler --- .../mt7620/base-files/etc/board.d/02_network | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index 900bbc5550..20846ef202 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -222,28 +222,19 @@ ramips_setup_macs() case $board in aigale,ai-br100|\ - alfa-network,ac1200rm|\ asus,rt-ac51u|\ asus,rt-n12p|\ asus,rt-n14u|\ bdcom,wap2100-sk|\ - dlink,dir-810l|\ edimax,ew-7478apc|\ fon,fon2601|\ head-weblink,hdrm200|\ nexx,wt3020-4m|\ nexx,wt3020-8m|\ phicomm,psg1208|\ - phicomm,psg1218a|\ - phicomm,psg1218b|\ planex,db-wrt01|\ planex,mzk-750dhp|\ sanlinking,d240|\ - tplink,archer-c2-v1|\ - tplink,archer-c20-v1|\ - tplink,archer-c20i|\ - tplink,archer-c50-v1|\ - tplink,archer-mr200|\ vonets,var11n-300|\ wrtnode,wrtnode|\ youku,yk1|\ @@ -254,7 +245,13 @@ ramips_setup_macs() zbtlink,zbt-we826-32m|\ zbtlink,zbt-we826-e|\ zbtlink,zbt-wr8305rt) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) + ;; + alfa-network,ac1200rm|\ + dlink,dir-810l|\ + phicomm,psg1218a|\ + phicomm,psg1218b) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) ;; alfa-network,r36m-e4g|\ zbtlink,zbt-we1026-h-32m) @@ -280,7 +277,7 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR) ;; edimax,br-6478ac-v2) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2) ;; engenius,esr600) lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) @@ -289,7 +286,7 @@ ramips_setup_macs() glinet,gl-mt300a|\ glinet,gl-mt300n|\ glinet,gl-mt750) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4000)" 1) label_mac=$(mtd_get_mac_binary factory 0x4) ;; hiwifi,hc5661|\ @@ -313,6 +310,13 @@ ramips_setup_macs() linksys,e1700) wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR) ;; + tplink,archer-c2-v1|\ + tplink,archer-c20-v1|\ + tplink,archer-c20i|\ + tplink,archer-c50-v1|\ + tplink,archer-mr200) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1) + ;; zbtlink,zbt-we1026-5g-16m) label_mac=$(mtd_get_mac_binary factory 0x4) ;; From ed975a58e43db95748e3a23039d84a50f79712e0 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 13:42:39 +0100 Subject: [PATCH 33/48] ramips: mt7621: use flash location for wan_mac in 02_network This uses the flash locations instead of eth0 MAC address to calculate MAC address increments for WAN. The change will make the MAC address setup of a particular device more obvious and removes the dependency of 02_network on the eth0 initialization. Signed-off-by: Adrian Schmutzler --- .../mt7621/base-files/etc/board.d/02_network | 42 ++++++++++++------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index e7e225a148..2828cf67dc 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -147,30 +147,21 @@ ramips_setup_macs() local label_mac="" case $board in - adslr,g7|\ + adslr,g7) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe00c)" 1) + ;; afoundry,ew1200|\ asiarf,ap7621-001|\ asiarf,ap7621-nv1|\ firefly,firewrt|\ gehua,ghl-r-001|\ - mediatek,ap-mt7621a-v60|\ - mikrotik,rb750gr3|\ - mikrotik,rbm33g|\ mqmaker,witi|\ - mtc,wr1201|\ - netgear,r6220|\ - netgear,wndr3700-v5|\ - storylink,sap-g3200u3|\ - telco-electronics,x1|\ totolink,a7000r|\ - ubiquiti,edgerouterx|\ - ubiquiti,edgerouterx-sfp|\ unielec,u7621-06-16m|\ unielec,u7621-06-64m|\ - xiaoyu,xy-c5|\ xzwifi,creativebox-v1|\ zbtlink,zbt-wg2626) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe000)" 1) ;; alfa-network,quad-e4g|\ asus,rt-ac57u|\ @@ -215,17 +206,36 @@ ramips_setup_macs() wan_mac=$(macaddr_add "$lan_mac" 1) ;; iodata,wn-ax1167gr|\ - iodata,wn-gx300gr) + iodata,wn-gx300gr|\ + mtc,wr1201|\ + netgear,r6220|\ + netgear,wndr3700-v5|\ + xiaoyu,xy-c5) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; iodata,wnpr2600g) wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) label_mac=$wan_mac ;; + mediatek,ap-mt7621a-v60) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x5)" 1) + ;; + mikrotik,rb750gr3|\ + mikrotik,rbm33g) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary hard_config 0x10)" 2) + ;; netgear,r6260|\ netgear,r6350|\ netgear,r6850) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2) + ;; + storylink,sap-g3200u3|\ + telco-electronics,x1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe006)" 1) + ;; + ubiquiti,edgerouterx|\ + ubiquiti,edgerouterx-sfp) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x22)" 1) ;; wevo,11acnas|\ wevo,w2914ns-v2) @@ -249,7 +259,7 @@ ramips_setup_macs() ;; zbtlink,zbt-wg3526-16m|\ zbtlink,zbt-wg3526-32m) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe000)" 1) label_mac=$(mtd_get_mac_binary factory 0x4) ;; esac From fef18108972d270b8202ad4d010e229900a1a38e Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 14:26:34 +0100 Subject: [PATCH 34/48] ramips: mt76x8: use flash location for wan_mac in 02_network This uses the flash locations instead of eth0 MAC address to calculate MAC address increments for WAN. The change will make the MAC address setup of a particular device more obvious and removes the dependency of 02_network on the eth0 initialization. While at it, change the partition label for zyxel,keenetic-extra-ii to factory to be consistent with node label and all the other devices. Signed-off-by: Adrian Schmutzler --- .../dts/mt7628an_zyxel_keenetic-extra-ii.dts | 2 +- .../mt76x8/base-files/etc/board.d/02_network | 46 +++++++++++-------- 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts b/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts index 8b069d4370..f4d678e38e 100644 --- a/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts +++ b/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts @@ -107,7 +107,7 @@ }; factory: partition@40000 { - label = "rf-eeprom"; + label = "factory"; reg = <0x40000 0x10000>; read-only; }; diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index f76af66f27..aeaf296984 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -138,27 +138,10 @@ ramips_setup_macs() ;; duzun,dm06|\ netgear,r6120|\ - rakwireless,rak633|\ - tplink,archer-c20-v4|\ - tplink,archer-c50-v3|\ - tplink,archer-c50-v4|\ - tplink,tl-mr3420-v5|\ - tplink,tl-wr840n-v4|\ - tplink,tl-wr840n-v5|\ - tplink,tl-wr841n-v13|\ - tplink,tl-wr841n-v14|\ - tplink,tl-wr842n-v5|\ - unielec,u7628-01-16m|\ - wavlink,wl-wn570ha1|\ - wavlink,wl-wn575a3|\ - wiznet,wizfi630s|\ wrtnode,wrtnode2p|\ wrtnode,wrtnode2r|\ - xiaomi,mir4a-100m|\ - xiaomi,miwifi-nano|\ - zbtlink,zbt-we1226|\ zyxel,keenetic-extra-ii) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; hilink,hlk-7628n) lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)") @@ -185,14 +168,41 @@ ramips_setup_macs() mercury,mac1200r-v2) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory_info 0xd)" 1) ;; + rakwireless,rak633|\ + unielec,u7628-01-16m|\ + wavlink,wl-wn575a3|\ + wiznet,wizfi630s|\ + xiaomi,miwifi-nano) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) + ;; skylab,skw92a|\ totolink,lr1200) wan_mac=$(mtd_get_mac_binary factory 0x2e) ;; + tplink,archer-c20-v4|\ + tplink,archer-c50-v3|\ + tplink,tl-mr3420-v5|\ + tplink,tl-wr840n-v4|\ + tplink,tl-wr840n-v5|\ + tplink,tl-wr841n-v13|\ + tplink,tl-wr841n-v14|\ + tplink,tl-wr842n-v5) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xf100)" 1) + ;; + tplink,archer-c50-v4) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1) + ;; vocore,vocore2|\ vocore,vocore2-lite) label_mac=$(mtd_get_mac_binary factory 0x8) ;; + wavlink,wl-wn570ha1|\ + zbtlink,zbt-we1226) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1) + ;; + xiaomi,mir4a-100m) + wan_mac=$(mtd_get_mac_binary factory 0x4) + ;; esac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac From a858d6d0e2864e0293a6eb721cbcd193adf711cd Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 14:55:49 +0100 Subject: [PATCH 35/48] ramips: rt288x: use flash location for wan_mac in 02_network This uses the flash locations instead of eth0 MAC address to calculate MAC address increments for WAN. The change will make the MAC address setup of a particular device more obvious and removes the dependency of 02_network on the eth0 initialization. This removes the wan_mac setup for ralink,v11st-fe as this device does not set up a MAC address for ethernet in the first place. Signed-off-by: Adrian Schmutzler --- .../ramips/rt288x/base-files/etc/board.d/02_network | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/target/linux/ramips/rt288x/base-files/etc/board.d/02_network b/target/linux/ramips/rt288x/base-files/etc/board.d/02_network index b9588f4aad..0cc0e0b28b 100755 --- a/target/linux/ramips/rt288x/base-files/etc/board.d/02_network +++ b/target/linux/ramips/rt288x/base-files/etc/board.d/02_network @@ -42,13 +42,14 @@ ramips_setup_macs() local label_mac="" case $board in - airlink101,ar670w|\ + airlink101,ar670w) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2004)" 1) + ;; airlink101,ar725w|\ asus,rt-n15|\ belkin,f5d8235-v1|\ - buffalo,wzr-agl300nh|\ - ralink,v11st-fe) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + buffalo,wzr-agl300nh) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; esac From 772af7f98d23f9d616928d89315860dade3d704b Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 8 Dec 2019 16:15:00 +0100 Subject: [PATCH 36/48] ramips: rt305x: use flash location for wan_mac in 02_network This uses the flash locations instead of eth0 MAC address to calculate MAC address increments for WAN. The change will make the MAC address setup of a particular device more obvious and removes the dependency of 02_network on the eth0 initialization. This removes the wan_mac setup for the following devices as they do not set up a MAC address for ethernet in the first place: - asiarf,awapn2403 - belkin,f7c027 - dlink,dir-615-d - mofinetwork,mofi3500-3gn - prolink,pwh2004 - ralink,v22rw-2x2 - unbranded,wr512-3gn-4m - unbranded,wr512-3gn-8m While at it, make some DT node labels consistent with the label property. Signed-off-by: Adrian Schmutzler --- .../ramips/dts/rt3050_dlink_dir-300-b1.dts | 2 +- .../ramips/dts/rt5350_7links_px-4885-4m.dts | 2 +- .../ramips/dts/rt5350_7links_px-4885-8m.dts | 2 +- .../ramips/dts/rt5350_7links_px-4885.dtsi | 4 +- .../rt305x/base-files/etc/board.d/02_network | 102 ++++++++++-------- 5 files changed, 61 insertions(+), 51 deletions(-) diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts index 8bc77e422d..030796f286 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts @@ -39,7 +39,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts b/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts index 66e2c1924c..914ceb0c53 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts +++ b/target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts @@ -32,7 +32,7 @@ read-only; }; - factory: partition@40000 { + devconf: partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts b/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts index f3d9926702..c9826166b4 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts +++ b/target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts @@ -32,7 +32,7 @@ read-only; }; - factory: partition@40000 { + devconf: partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi index 032a89cd1a..cdd3033bed 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi +++ b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi @@ -51,7 +51,7 @@ }; ðernet { - mtd-mac-address = <&factory 0x28>; + mtd-mac-address = <&devconf 0x28>; }; &esw { @@ -59,5 +59,5 @@ }; &wmac { - ralink,mtd-eeprom = <&factory 0>; + ralink,mtd-eeprom = <&devconf 0>; }; diff --git a/target/linux/ramips/rt305x/base-files/etc/board.d/02_network b/target/linux/ramips/rt305x/base-files/etc/board.d/02_network index de71dd6202..5efcd53955 100755 --- a/target/linux/ramips/rt305x/base-files/etc/board.d/02_network +++ b/target/linux/ramips/rt305x/base-files/etc/board.d/02_network @@ -167,34 +167,38 @@ ramips_setup_macs() case $board in 7links,px-4885-4m|\ - 7links,px-4885-8m|\ + 7links,px-4885-8m) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x28)" 1) + ;; + 8devices,carambola|\ + alfa-network,w502u|\ + arcwireless,freestation5|\ + netgear,wnce2001) + wan_mac=$(mtd_get_mac_binary factory 0x2e) + ;; accton,wr6202|\ - airlive,air3gii|\ - argus,atp-52b|\ - asiarf,awapn2403|\ asiarf,awm002-evb-4m|\ asiarf,awm002-evb-8m|\ - asus,rt-g32-b1|\ - asus,rt-n10-plus|\ asus,rt-n13u|\ - asus,wl-330n3g|\ aztech,hw550-3g|\ - belkin,f5d8235-v2|\ - belkin,f7c027|\ - dlink,dap-1350|\ - dlink,dir-300-b1|\ - dlink,dir-600-b1|\ - dlink,dir-610-a1|\ - dlink,dir-620-d1|\ - dlink,dwr-512-b|\ - edimax,3g-6200n|\ - edimax,3g-6200nl|\ fon,fonera-20n|\ huawei,hg255d|\ - jcg,jhr-n805r|\ - jcg,jhr-n825r|\ - jcg,jhr-n926r|\ - mofinetwork,mofi3500-3gn|\ + omnima,miniembwifi|\ + planex,mzk-wdpr|\ + poray,ip2202|\ + teltonika,rut5xx|\ + unbranded,xdx-rn502j|\ + zyxel,keenetic|\ + zyxel,nbg-419n|\ + zyxel,nbg-419n-v2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) + ;; + airlive,air3gii|\ + argus,atp-52b|\ + asus,wl-330n3g|\ + dlink,dir-620-d1|\ + edimax,3g-6200n|\ + edimax,3g-6200nl|\ netcore,nw718|\ nexx,wt1520-4m|\ nexx,wt1520-8m|\ @@ -203,30 +207,17 @@ ramips_setup_macs() olimex,rt5350f-olinuxino|\ olimex,rt5350f-olinuxino-evb|\ omnima,miniembplug|\ - omnima,miniembwifi|\ planex,mzk-w300nh2|\ - planex,mzk-wdpr|\ - poray,ip2202|\ - prolink,pwh2004|\ - ralink,v22rw-2x2|\ sitecom,wl-351|\ - teltonika,rut5xx|\ - trendnet,tew-714tru|\ - unbranded,wr512-3gn-4m|\ - unbranded,wr512-3gn-8m|\ - unbranded,xdx-rn502j|\ - upvel,ur-326n4g|\ - upvel,ur-336un|\ - zyxel,keenetic|\ - zyxel,nbg-419n|\ - zyxel,nbg-419n-v2) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + trendnet,tew-714tru) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; - 8devices,carambola|\ - alfa-network,w502u|\ - arcwireless,freestation5|\ - netgear,wnce2001) - wan_mac=$(mtd_get_mac_binary factory 0x2e) + asus,rt-g32-b1|\ + asus,rt-n10-plus) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x4)" 1) + ;; + belkin,f5d8235-v2) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary uboot 0x40004)" 1) ;; dlink,dir-300-b7|\ dlink,dir-320-b1|\ @@ -242,27 +233,46 @@ ramips_setup_macs() lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)") wan_mac=$(macaddr_add "$lan_mac" 1) ;; + dlink,dap-1350) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x2e)" 1) + ;; + dlink,dir-300-b1|\ + dlink,dir-600-b1|\ + dlink,dir-610-a1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x4004)" 1) + ;; dlink,dir-615-d) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) label_mac=$(mtd_get_mac_binary devdata 0x4004) ;; dlink,dir-615-h1) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) label_mac=$(mtd_get_mac_binary factory 0x4) ;; + dlink,dwr-512-b) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary config 0xe07e)" 1) + ;; + jcg,jhr-n805r|\ + jcg,jhr-n825r|\ + jcg,jhr-n926r) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1) + ;; poray,m3|\ poray,m4-4m|\ poray,m4-8m|\ poray,x5|\ poray,x8) - lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" -2) + lan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -2) ;; sparklan,wcr-150gn|\ wiznet,wizfi630a) wan_mac=$(mtd_get_mac_binary factory 0x28) ;; tenda,w306r-v2) - wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 5) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 5) + ;; + upvel,ur-326n4g|\ + upvel,ur-336un) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4004)" 1) ;; esac From 68ef534989d61fc82dcb8f85840318f67a7158fd Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Mon, 9 Dec 2019 12:56:12 +0100 Subject: [PATCH 37/48] ramips: add label MAC address for Mikrotik RBM33G The device label contains: E01: B8:69:F4:xx:xx:07 E02: B8:69:F4:xx:xx:09 The first value corresponds to the address set in hard_config 0x10. That one is taken for the label MAC address. Thanks to Martin Schiller for retrieving the information. Signed-off-by: Adrian Schmutzler --- target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 2828cf67dc..2447ff8a8d 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -220,9 +220,12 @@ ramips_setup_macs() mediatek,ap-mt7621a-v60) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x5)" 1) ;; - mikrotik,rb750gr3|\ + mikrotik,rb750gr3) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary hard_config 0x10)" 2) + ;; mikrotik,rbm33g) wan_mac=$(macaddr_add "$(mtd_get_mac_binary hard_config 0x10)" 2) + label_mac=$(mtd_get_mac_binary hard_config 0x10) ;; netgear,r6260|\ netgear,r6350|\ From 8e91b18ab7567502b3c9d9d2a3755a98c982918b Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Fri, 6 Dec 2019 13:56:51 +0100 Subject: [PATCH 38/48] ath79: redistribute UBNT variables in Ubiquiti image Makefile The variables UBNT_BOARD and UBNT_VERSION are defined in the parent Device/ubnt definition and then overwritten for most of the derived platform definitions (e.g. Device/ubnt-wa). Since this mixed use of inheritance and overwriting can be misleading, this moves the variables to the platform-based definitions. While at it, reorder the definitions to have order consistent, too. Signed-off-by: Adrian Schmutzler --- target/linux/ath79/image/generic-ubnt.mk | 39 +++++++++++++----------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index e75b9ea770..59c22b8af4 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -36,8 +36,6 @@ endef define Device/ubnt DEVICE_VENDOR := Ubiquiti DEVICE_PACKAGES := kmod-usb2 - UBNT_BOARD := XM - UBNT_VERSION := 6.0.0 IMAGES += factory.bin IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \ append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | mkubntimage-split @@ -45,53 +43,58 @@ endef define Device/ubnt-bz $(Device/ubnt) - IMAGE_SIZE := 7448k - UBNT_TYPE := BZ - UBNT_CHIP := ar7240 ATH_SOC := ar7241 + IMAGE_SIZE := 7448k + UBNT_BOARD := XM + UBNT_CHIP := ar7240 + UBNT_TYPE := BZ + UBNT_VERSION := 6.0.0 endef define Device/ubnt-wa $(Device/ubnt) - IMAGE_SIZE := 15744k - UBNT_TYPE := WA - UBNT_CHIP := ar934x - UBNT_BOARD := WA - UBNT_VERSION := 8.5.0 ATH_SOC := ar9342 + IMAGE_SIZE := 15744k + UBNT_BOARD := WA + UBNT_CHIP := ar934x + UBNT_TYPE := WA + UBNT_VERSION := 8.5.0 endef define Device/ubnt-xm $(Device/ubnt) + ATH_SOC := ar7241 DEVICE_VARIANT := XM DEVICE_PACKAGES += kmod-usb-ohci IMAGE_SIZE := 7448k - UBNT_TYPE := XM + UBNT_BOARD := XM UBNT_CHIP := ar7240 - ATH_SOC := ar7241 + UBNT_TYPE := XM + UBNT_VERSION := 6.0.0 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma endef define Device/ubnt-xw $(Device/ubnt) + ATH_SOC := ar9342 DEVICE_VARIANT := XW IMAGE_SIZE := 7552k - UBNT_TYPE := XW - UBNT_CHIP := ar934x UBNT_BOARD := XM - UBNT_VERSION := 6.0.4 + UBNT_CHIP := ar934x UBNT_REVISION := 42.$(UBNT_REVISION) - ATH_SOC := ar9342 + UBNT_TYPE := XW + UBNT_VERSION := 6.0.4 endef define Device/ubnt_acb-isp $(Device/ubnt) ATH_SOC := qca9533 - IMAGE_SIZE := 15744k DEVICE_MODEL := airCube ISP + IMAGE_SIZE := 15744k UBNT_BOARD := ACB-ISP - UBNT_TYPE := ACB UBNT_CHIP := qca9533 + UBNT_TYPE := ACB + UBNT_VERSION := 6.0.0 IMAGES := sysupgrade.bin endef TARGET_DEVICES += ubnt_acb-isp From c642a97aa6b51352a718449cd715b92f94af4a5d Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Mon, 9 Dec 2019 13:53:21 +0100 Subject: [PATCH 39/48] ath79: add support for TP-Link TL-WDR4300 v1 (IL) The TL-WDR4300 v1 sold in Israel has a different TPLINK_HWID. Thanks to Josh4300 for testing on device. Signed-off-by: Adrian Schmutzler --- .../ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts | 9 +++++++++ .../ath79/generic/base-files/etc/board.d/02_network | 3 ++- .../base-files/etc/hotplug.d/firmware/10-ath9k-eeprom | 1 + target/linux/ath79/image/generic-tp-link.mk | 11 +++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts diff --git a/target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts b/target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts new file mode 100644 index 0000000000..a84285d69a --- /dev/null +++ b/target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar9344_tplink_tl-wdr4300.dtsi" + +/ { + model = "TP-Link TL-WDR4300 v1 (IL)"; + compatible = "tplink,tl-wdr4300-v1-il", "qca,ar9344"; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 938213eadc..77e2db762f 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -212,7 +212,8 @@ ath79_setup_interfaces() tplink,archer-c7-v4|\ tplink,archer-c7-v5|\ tplink,tl-wdr3600-v1|\ - tplink,tl-wdr4300-v1) + tplink,tl-wdr4300-v1|\ + tplink,tl-wdr4300-v1-il) ucidef_add_switch "switch0" \ "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan" ;; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index f04fb64fc9..84d840569b 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -72,6 +72,7 @@ case "$FIRMWARE" in tplink,tl-wdr3500-v1|\ tplink,tl-wdr3600-v1|\ tplink,tl-wdr4300-v1|\ + tplink,tl-wdr4300-v1-il|\ tplink,tl-wdr4900-v2|\ winchannel,wb2000) caldata_extract "art" 0x5000 0x440 diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index f5e1a90418..8915552322 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -399,6 +399,17 @@ define Device/tplink_tl-wdr4300-v1 endef TARGET_DEVICES += tplink_tl-wdr4300-v1 +define Device/tplink_tl-wdr4300-v1-il + $(Device/tplink-8mlzma) + ATH_SOC := ar9344 + DEVICE_MODEL := TL-WDR4300 + DEVICE_VARIANT := v1 (IL) + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport + TPLINK_HWID := 0x43008001 + SUPPORTED_DEVICES += tl-wdr4300 +endef +TARGET_DEVICES += tplink_tl-wdr4300-v1-il + define Device/tplink_tl-wdr4900-v2 $(Device/tplink-8mlzma) ATH_SOC := qca9558 From a4cdb537b17ede9785ddbaef5ed9d69f3ab89052 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Fri, 6 Dec 2019 00:11:56 +0100 Subject: [PATCH 40/48] sunxi: use vendor_device scheme for device definitions This changes device definition to resemble the vendor_device scheme already present for the majority of device compatible strings. By doing this, we achieve several advantages at once: - Image names and node names are more consistent with other targets. - SUPPORTED_DEVICES can be set automatically for all but two cases. - Image names and node names are in line with DEVICE_TITLEs. Signed-off-by: Adrian Schmutzler --- package/boot/uboot-sunxi/Makefile | 68 +++++++-------- target/linux/sunxi/image/Makefile | 1 + target/linux/sunxi/image/cortex-a53.mk | 28 +++---- target/linux/sunxi/image/cortex-a7.mk | 110 ++++++++++--------------- target/linux/sunxi/image/cortex-a8.mk | 29 +++---- 5 files changed, 103 insertions(+), 133 deletions(-) diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index 2c414f8c9e..ce39fe792d 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -28,67 +28,67 @@ endef define U-Boot/A10-OLinuXino-Lime BUILD_SUBTARGET:=cortexa8 NAME:=A10 OLinuXino LIME - BUILD_DEVICES:=sun4i-a10-olinuxino-lime + BUILD_DEVICES:=olimex_a10-olinuxino-lime endef define U-Boot/A13-OLinuXino BUILD_SUBTARGET:=cortexa8 NAME:=A13 OlinuXino - BUILD_DEVICES:=sun5i-a13-olinuxino + BUILD_DEVICES:=olimex_a13-olinuxino endef define U-Boot/A20-OLinuXino-Lime BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino LIME - BUILD_DEVICES:=sun7i-a20-olinuxino-lime + BUILD_DEVICES:=olimex_a20-olinuxino-lime endef define U-Boot/A20-OLinuXino-Lime2 BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino LIME2 - BUILD_DEVICES:=sun7i-a20-olinuxino-lime2 + BUILD_DEVICES:=olimex_a20-olinuxino-lime2 endef define U-Boot/A20-OLinuXino-Lime2-eMMC BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino LIME2 eMMC - BUILD_DEVICES:=sun7i-a20-olinuxino-lime2-emmc + BUILD_DEVICES:=olimex_a20-olinuxino-lime2-emmc endef define U-Boot/A20-OLinuXino_MICRO BUILD_SUBTARGET:=cortexa7 NAME:=A20 OLinuXino MICRO - BUILD_DEVICES:=sun7i-a20-olinuxino-micro + BUILD_DEVICES:=olimex_a20-olinuxino-micro endef define U-Boot/Bananapi BUILD_SUBTARGET:=cortexa7 NAME:=Bananapi - BUILD_DEVICES:=sun7i-a20-bananapi + BUILD_DEVICES:=lemaker_bananapi endef define U-Boot/Bananapro BUILD_SUBTARGET:=cortexa7 NAME:=Bananapro - BUILD_DEVICES:=sun7i-a20-bananapro + BUILD_DEVICES:=lemaker_bananapro endef define U-Boot/Cubieboard BUILD_SUBTARGET:=cortexa8 NAME:=Cubieboard - BUILD_DEVICES:=sun4i-a10-cubieboard + BUILD_DEVICES:=cubietech_a10-cubieboard endef define U-Boot/Cubieboard2 BUILD_SUBTARGET:=cortexa7 NAME:=Cubieboard2 - BUILD_DEVICES:=sun7i-a20-cubieboard2 + BUILD_DEVICES:=cubietech_cubieboard2 endef define U-Boot/Cubietruck BUILD_SUBTARGET:=cortexa7 NAME:=Cubietruck - BUILD_DEVICES:=sun7i-a20-cubietruck + BUILD_DEVICES:=cubietech_cubietruck endef define U-Boot/Hummingbird_A31 @@ -99,91 +99,91 @@ endef define U-Boot/Marsboard_A10 BUILD_SUBTARGET:=cortexa8 NAME:=Marsboard - BUILD_DEVICES:=sun4i-a10-marsboard + BUILD_DEVICES:=marsboard_a10-marsboard endef define U-Boot/Mele_M9 BUILD_SUBTARGET:=cortexa7 NAME:=Mele M9 (A31) - BUILD_DEVICES:=sun6i-a31-m9 + BUILD_DEVICES:=mele_m9 endef define U-Boot/OLIMEX_A13_SOM BUILD_SUBTARGET:=cortexa8 NAME:=Olimex A13 SOM - BUILD_DEVICES:=sun5i-a13-olimex-som + BUILD_DEVICES:=olimex_a13-olimex-som endef define U-Boot/Linksprite_pcDuino BUILD_SUBTARGET:=cortexa8 NAME:=Linksprite pcDuino - BUILD_DEVICES:=sun4i-a10-pcduino + BUILD_DEVICES:=linksprite_a10-pcduino endef define U-Boot/Linksprite_pcDuino3 BUILD_SUBTARGET:=cortexa7 NAME:=Linksprite pcDuino3 - BUILD_DEVICES:=sun7i-a20-pcduino3 + BUILD_DEVICES:=linksprite_pcduino3 endef define U-Boot/Lamobo_R1 BUILD_SUBTARGET:=cortexa7 NAME:=Lamobo R1 - BUILD_DEVICES:=sun7i-a20-lamobo-r1 + BUILD_DEVICES:=lamobo_lamobo-r1 endef define U-Boot/nanopi_m1_plus BUILD_SUBTARGET:=cortexa7 NAME:=NanoPi M1 Plus (H3) - BUILD_DEVICES:=sun8i-h3-nanopi-m1-plus + BUILD_DEVICES:=friendlyarm_nanopi-m1-plus endef define U-Boot/nanopi_neo BUILD_SUBTARGET:=cortexa7 NAME:=U-Boot for NanoPi NEO (H3) - BUILD_DEVICES:=sun8i-h3-nanopi-neo + BUILD_DEVICES:=friendlyarm_nanopi-neo endef define U-Boot/orangepi_r1 BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi R1 (H2+) - BUILD_DEVICES:=sun8i-h2-plus-orangepi-r1 + BUILD_DEVICES:=xunlong_orangepi-r1 endef define U-Boot/orangepi_zero BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi Zero (H2+) - BUILD_DEVICES:=sun8i-h2-plus-orangepi-zero + BUILD_DEVICES:=xunlong_orangepi-zero endef define U-Boot/orangepi_one BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi One (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-one + BUILD_DEVICES:=xunlong_orangepi-one endef define U-Boot/orangepi_pc BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi PC (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-pc + BUILD_DEVICES:=xunlong_orangepi-pc endef define U-Boot/orangepi_pc_plus BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi PC Plus (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-pc-plus + BUILD_DEVICES:=xunlong_orangepi-pc-plus endef define U-Boot/orangepi_plus BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi Plus (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-plus + BUILD_DEVICES:=xunlong_orangepi-plus endef define U-Boot/orangepi_2 BUILD_SUBTARGET:=cortexa7 NAME:=Orange Pi 2 (H3) - BUILD_DEVICES:=sun8i-h3-orangepi-2 + BUILD_DEVICES:=xunlong_orangepi-2 endef define U-Boot/pangolin @@ -195,7 +195,7 @@ endef define U-Boot/nanopi_neo_plus2 BUILD_SUBTARGET:=cortexa53 NAME:=NanoPi NEO Plus2 (H5) - BUILD_DEVICES:=sun50i-h5-nanopi-neo-plus2 + BUILD_DEVICES:=friendlyarm_nanopi-neo-plus2 DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -203,7 +203,7 @@ endef define U-Boot/nanopi_neo2 BUILD_SUBTARGET:=cortexa53 NAME:=NanoPi NEO2 (H5) - BUILD_DEVICES:=sun50i-h5-nanopi-neo2 + BUILD_DEVICES:=friendlyarm_nanopi-neo2 DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -211,7 +211,7 @@ endef define U-Boot/pine64_plus BUILD_SUBTARGET:=cortexa53 NAME:=Pine64 Plus A64 - BUILD_DEVICES:=sun50i-a64-pine64-plus + BUILD_DEVICES:=pine64_pine64-plus DEPENDS:=+PACKAGE_u-boot-pine64_plus:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -219,13 +219,13 @@ endef define U-Boot/Sinovoip_BPI_M2_Plus BUILD_SUBTARGET:=cortexa7 NAME:=Bananapi M2 Plus - BUILD_DEVICES:=sun8i-h3-bananapi-m2-plus + BUILD_DEVICES:=sinovoip_bananapi-m2-plus endef define U-Boot/sopine_baseboard BUILD_SUBTARGET:=cortexa53 NAME:=Sopine Baseboard - BUILD_DEVICES:=sun50i-a64-sopine-baseboard + BUILD_DEVICES:=pine64_sopine-baseboard DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -234,7 +234,7 @@ endef define U-Boot/orangepi_zero_plus BUILD_SUBTARGET:=cortexa53 NAME:=Xunlong Orange Pi Zero Plus - BUILD_DEVICES:=sun50i-h5-orangepi-zero-plus + BUILD_DEVICES:=xunlong_orangepi-zero-plus DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -242,7 +242,7 @@ endef define U-Boot/orangepi_pc2 BUILD_SUBTARGET:=cortexa53 NAME:=Xunlong Orange Pi PC2 - BUILD_DEVICES:=sun50i-h5-orangepi-pc2 + BUILD_DEVICES:=xunlong_orangepi-pc2 DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:arm-trusted-firmware-sunxi UENV:=a64 endef @@ -250,7 +250,7 @@ endef define U-Boot/Sinovoip_BPI_M2_Ultra BUILD_SUBTARGET:=cortexa7 NAME:=Bananapi M2 Ultra - BUILD_DEVICES:=sun8i-r40-bananapi-m2-ultra + BUILD_DEVICES:=lemaker_bananapi-m2-ultra endef UBOOT_TARGETS := \ diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile index 8f95c61906..04e0abee49 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -37,6 +37,7 @@ define Device/Default KERNEL := kernel-bin | uImage none IMAGES := sdcard.img.gz IMAGE/sdcard.img.gz := sunxi-sdcard | append-metadata | gzip + SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) endef include cortex-a7.mk diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortex-a53.mk index 7a67160c33..d6c17d95ff 100644 --- a/target/linux/sunxi/image/cortex-a53.mk +++ b/target/linux/sunxi/image/cortex-a53.mk @@ -7,7 +7,7 @@ # ifeq ($(SUBTARGET),cortexa53) -define Device/sun50i-h5-nanopi-neo-plus2 +define Device/friendlyarm_nanopi-neo-plus2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO Plus2 SUPPORTED_DEVICES:=nanopi-neo-plus2 @@ -16,9 +16,9 @@ define Device/sun50i-h5-nanopi-neo-plus2 KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-nanopi-neo-plus2 +TARGET_DEVICES += friendlyarm_nanopi-neo-plus2 -define Device/sun50i-h5-nanopi-neo2 +define Device/friendlyarm_nanopi-neo2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO2 SUPPORTED_DEVICES:=nanopi-neo2 @@ -27,51 +27,47 @@ define Device/sun50i-h5-nanopi-neo2 KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-nanopi-neo2 +TARGET_DEVICES += friendlyarm_nanopi-neo2 -define Device/sun50i-a64-pine64-plus +define Device/pine64_pine64-plus DEVICE_VENDOR := Pine64 DEVICE_MODEL := Pine64+ - SUPPORTED_DEVICES:=pine64,pine64-plus SUNXI_DTS:=allwinner/sun50i-a64-pine64-plus KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-a64-pine64-plus +TARGET_DEVICES += pine64_pine64-plus -define Device/sun50i-a64-sopine-baseboard +define Device/pine64_sopine-baseboard DEVICE_VENDOR := Pine64 DEVICE_MODEL := SoPine - SUPPORTED_DEVICES:=pine64,sopine-baseboard SUNXI_DTS:=allwinner/sun50i-a64-sopine-baseboard KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-a64-sopine-baseboard +TARGET_DEVICES += pine64_sopine-baseboard -define Device/sun50i-h5-orangepi-zero-plus +define Device/xunlong_orangepi-zero-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Zero Plus - SUPPORTED_DEVICES:=xunlong,orangepi-zero-plus SUNXI_DTS:=allwinner/sun50i-h5-orangepi-zero-plus KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-orangepi-zero-plus +TARGET_DEVICES += xunlong_orangepi-zero-plus -define Device/sun50i-h5-orangepi-pc2 +define Device/xunlong_orangepi-pc2 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC 2 - SUPPORTED_DEVICES:=xunlong,orangepi-pc2 SUNXI_DTS:=allwinner/sun50i-h5-orangepi-pc2 KERNEL_NAME := Image KERNEL := kernel-bin endef -TARGET_DEVICES += sun50i-h5-orangepi-pc2 +TARGET_DEVICES += xunlong_orangepi-pc2 endif diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk index 3375a4542c..32e094efb8 100644 --- a/target/linux/sunxi/image/cortex-a7.mk +++ b/target/linux/sunxi/image/cortex-a7.mk @@ -8,245 +8,223 @@ ifeq ($(SUBTARGET),cortexa7) -define Device/sun7i-a20-olinuxino-lime +define Device/olimex_a20-olinuxino-lime DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi - SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime SUNXI_DTS:=sun7i-a20-olinuxino-lime endef -TARGET_DEVICES += sun7i-a20-olinuxino-lime +TARGET_DEVICES += olimex_a20-olinuxino-lime -define Device/sun7i-a20-olinuxino-lime2 +define Device/olimex_a20-olinuxino-lime2 DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME2 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid - SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime2 SUNXI_DTS:=sun7i-a20-olinuxino-lime2 endef -TARGET_DEVICES += sun7i-a20-olinuxino-lime2 +TARGET_DEVICES += olimex_a20-olinuxino-lime2 -define Device/sun7i-a20-olinuxino-lime2-emmc +define Device/olimex_a20-olinuxino-lime2-emmc DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME2 DEVICE_VARIANT := eMMC DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid - SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime2-emmc SUNXI_DTS:=sun7i-a20-olinuxino-lime2-emmc endef -TARGET_DEVICES += sun7i-a20-olinuxino-lime2-emmc +TARGET_DEVICES += olimex_a20-olinuxino-lime2-emmc -define Device/sun7i-a20-olinuxino-micro +define Device/olimex_a20-olinuxino-micro DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-MICRO DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro SUNXI_DTS:=sun7i-a20-olinuxino-micro endef -TARGET_DEVICES += sun7i-a20-olinuxino-micro +TARGET_DEVICES += olimex_a20-olinuxino-micro -define Device/sun7i-a20-bananapi +define Device/lemaker_bananapi DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pi DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi - SUPPORTED_DEVICES:=lemaker,bananapi SUNXI_DTS:=sun7i-a20-bananapi endef -TARGET_DEVICES += sun7i-a20-bananapi +TARGET_DEVICES += lemaker_bananapi -define Device/sun7i-a20-bananapro +define Device/lemaker_bananapro DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pro DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac - SUPPORTED_DEVICES:=lemaker,bananapro SUNXI_DTS:=sun7i-a20-bananapro endef -TARGET_DEVICES += sun7i-a20-bananapro +TARGET_DEVICES += lemaker_bananapro -define Device/sun7i-a20-cubieboard2 +define Device/cubietech_cubieboard2 DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubieboard2 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=cubietech,cubieboard2 SUNXI_DTS:=sun7i-a20-cubieboard2 endef -TARGET_DEVICES += sun7i-a20-cubieboard2 +TARGET_DEVICES += cubietech_cubieboard2 -define Device/sun7i-a20-cubietruck +define Device/cubietech_cubietruck DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubietruck DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac - SUPPORTED_DEVICES:=cubietech,cubietruck SUNXI_DTS:=sun7i-a20-cubietruck endef -TARGET_DEVICES += sun7i-a20-cubietruck +TARGET_DEVICES += cubietech_cubietruck -define Device/sun7i-a20-lamobo-r1 +define Device/lamobo_lamobo-r1 DEVICE_VENDOR := Lamobo DEVICE_MODEL := Lamobo R1 DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-basic - SUPPORTED_DEVICES:=lamobo,lamobo-r1 SUNXI_DTS:=sun7i-a20-lamobo-r1 endef -TARGET_DEVICES += sun7i-a20-lamobo-r1 +TARGET_DEVICES += lamobo_lamobo-r1 -define Device/sun6i-a31-m9 +define Device/mele_m9 DEVICE_VENDOR := Mele DEVICE_MODEL := M9 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu - SUPPORTED_DEVICES:=mele,m9 SUNXI_DTS:=sun6i-a31-m9 endef -TARGET_DEVICES += sun6i-a31-m9 +TARGET_DEVICES += mele_m9 -define Device/sun8i-h2-plus-orangepi-zero +define Device/xunlong_orangepi-zero DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Zero DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-zero SUNXI_DTS:=sun8i-h2-plus-orangepi-zero endef -TARGET_DEVICES += sun8i-h2-plus-orangepi-zero +TARGET_DEVICES += xunlong_orangepi-zero -define Device/sun8i-h2-plus-orangepi-r1 +define Device/xunlong_orangepi-r1 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi R1 DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-usb-net kmod-usb-net-rtl8152 - SUPPORTED_DEVICES:=xunlong,orangepi-r1 SUNXI_DTS:=sun8i-h2-plus-orangepi-r1 endef -TARGET_DEVICES += sun8i-h2-plus-orangepi-r1 +TARGET_DEVICES += xunlong_orangepi-r1 -define Device/sun8i-h3-bananapi-m2-plus +define Device/sinovoip_bananapi-m2-plus DEVICE_VENDOR := Sinovoip DEVICE_MODEL := Banana Pi M2+ DEVICE_PACKAGES:=kmod-rtc-sunxi \ kmod-leds-gpio kmod-ledtrig-heartbeat \ kmod-brcmfmac brcmfmac-firmware-43430a0-sdio wpad-basic - SUPPORTED_DEVICES:=sinovoip,bananapi-m2-plus SUNXI_DTS:=sun8i-h3-bananapi-m2-plus endef -TARGET_DEVICES += sun8i-h3-bananapi-m2-plus +TARGET_DEVICES += sinovoip_bananapi-m2-plus -define Device/sun8i-h3-nanopi-m1-plus +define Device/friendlyarm_nanopi-m1-plus DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi M1 Plus DEVICE_PACKAGES:=kmod-rtc-sunxi \ kmod-leds-gpio kmod-ledtrig-heartbeat \ kmod-brcmfmac brcmfmac-firmware-43430-sdio wpad-basic - SUPPORTED_DEVICES:=friendlyarm,nanopi-m1-plus SUNXI_DTS:=sun8i-h3-nanopi-m1-plus endef -TARGET_DEVICES += sun8i-h3-nanopi-m1-plus +TARGET_DEVICES += friendlyarm_nanopi-m1-plus -define Device/sun8i-h3-nanopi-neo +define Device/friendlyarm_nanopi-neo DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO - SUPPORTED_DEVICES:=friendlyarm,nanopi-neo SUNXI_DTS:=sun8i-h3-nanopi-neo endef -TARGET_DEVICES += sun8i-h3-nanopi-neo +TARGET_DEVICES += friendlyarm_nanopi-neo -define Device/sun8i-h3-orangepi-one +define Device/xunlong_orangepi-one DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi One DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-one SUNXI_DTS:=sun8i-h3-orangepi-one endef -TARGET_DEVICES += sun8i-h3-orangepi-one +TARGET_DEVICES += xunlong_orangepi-one -define Device/sun8i-h3-orangepi-pc +define Device/xunlong_orangepi-pc DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug - SUPPORTED_DEVICES:=xunlong,orangepi-pc SUNXI_DTS:=sun8i-h3-orangepi-pc endef -TARGET_DEVICES += sun8i-h3-orangepi-pc +TARGET_DEVICES += xunlong_orangepi-pc -define Device/sun8i-h3-orangepi-pc-plus +define Device/xunlong_orangepi-pc-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC Plus DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug - SUPPORTED_DEVICES:=xunlong,orangepi-pc-plus SUNXI_DTS:=sun8i-h3-orangepi-pc-plus endef -TARGET_DEVICES += sun8i-h3-orangepi-pc-plus +TARGET_DEVICES += xunlong_orangepi-pc-plus -define Device/sun8i-h3-orangepi-plus +define Device/xunlong_orangepi-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Plus DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-plus SUNXI_DTS:=sun8i-h3-orangepi-plus endef -TARGET_DEVICES += sun8i-h3-orangepi-plus +TARGET_DEVICES += xunlong_orangepi-plus -define Device/sun8i-h3-orangepi-2 +define Device/xunlong_orangepi-2 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi 2 DEVICE_PACKAGES:=kmod-rtc-sunxi - SUPPORTED_DEVICES:=xunlong,orangepi-2 SUNXI_DTS:=sun8i-h3-orangepi-2 endef -TARGET_DEVICES += sun8i-h3-orangepi-2 +TARGET_DEVICES += xunlong_orangepi-2 -define Device/sun7i-a20-pcduino3 +define Device/linksprite_pcduino3 DEVICE_VENDOR := LinkSprite DEVICE_MODEL := pcDuino3 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware - SUPPORTED_DEVICES:=linksprite,pcduino3 SUNXI_DTS:=sun7i-a20-pcduino3 endef -TARGET_DEVICES += sun7i-a20-pcduino3 +TARGET_DEVICES += linksprite_pcduino3 -define Device/sun8i-r40-bananapi-m2-ultra +define Device/lemaker_bananapi-m2-ultra DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pi M2 Ultra DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi - SUPPORTED_DEVICES:=lemaker,bananapi-m2-ultra SUNXI_DTS:=sun8i-r40-bananapi-m2-ultra endef -TARGET_DEVICES += sun8i-r40-bananapi-m2-ultra +TARGET_DEVICES += lemaker_bananapi-m2-ultra endif diff --git a/target/linux/sunxi/image/cortex-a8.mk b/target/linux/sunxi/image/cortex-a8.mk index 4eeaab99d1..073ed8f2d1 100644 --- a/target/linux/sunxi/image/cortex-a8.mk +++ b/target/linux/sunxi/image/cortex-a8.mk @@ -7,18 +7,17 @@ # ifeq ($(SUBTARGET),cortexa8) -define Device/sun4i-a10-olinuxino-lime +define Device/olimex_a10-olinuxino-lime DEVICE_VENDOR := Olimex DEVICE_MODEL := A10-OLinuXino-LIME DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime SUNXI_DTS:=sun4i-a10-olinuxino-lime endef -TARGET_DEVICES += sun4i-a10-olinuxino-lime +TARGET_DEVICES += olimex_a10-olinuxino-lime -define Device/sun5i-a13-olimex-som +define Device/olimex_a13-olimex-som DEVICE_VENDOR := Olimex DEVICE_MODEL := A13-SOM DEVICE_PACKAGES:=kmod-rtl8192cu @@ -26,50 +25,46 @@ define Device/sun5i-a13-olimex-som SUNXI_DTS:=sun5i-a13-olinuxino endef -TARGET_DEVICES += sun5i-a13-olimex-som +TARGET_DEVICES += olimex_a13-olimex-som -define Device/sun5i-a13-olinuxino +define Device/olimex_a13-olinuxino DEVICE_VENDOR := Olimex DEVICE_MODEL := A13-OLinuXino DEVICE_PACKAGES:=kmod-rtl8192cu - SUPPORTED_DEVICES:=olimex,a13-olinuxino SUNXI_DTS:=sun5i-a13-olinuxino endef -TARGET_DEVICES += sun5i-a13-olinuxino +TARGET_DEVICES += olimex_a13-olinuxino -define Device/sun4i-a10-cubieboard +define Device/cubietech_a10-cubieboard DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubieboard DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUPPORTED_DEVICES:=cubietech,a10-cubieboard SUNXI_DTS:=sun4i-a10-cubieboard endef -TARGET_DEVICES += sun4i-a10-cubieboard +TARGET_DEVICES += cubietech_a10-cubieboard -define Device/sun4i-a10-pcduino +define Device/linksprite_a10-pcduino DEVICE_VENDOR := LinkSprite DEVICE_MODEL := pcDuino DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu - SUPPORTED_DEVICES:=linksprite,a10-pcduino SUNXI_DTS:=sun4i-a10-pcduino endef -TARGET_DEVICES += sun4i-a10-pcduino +TARGET_DEVICES += linksprite_a10-pcduino -define Device/sun4i-a10-marsboard +define Device/marsboard_a10-marsboard DEVICE_VENDOR := HAOYU Electronics DEVICE_MODEL := MarsBoard A10 DEVICE_PACKAGES:=mod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi sound-soc-sunxi - SUPPORTED_DEVICES:=marsboard,a10-marsboard SUNXI_DTS:=sun4i-a10-marsboard endef -TARGET_DEVICES += sun4i-a10-marsboard +TARGET_DEVICES += marsboard_a10-marsboard endif From 3a4ad758f537bd4cc24163f76d2865179484541c Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Fri, 6 Dec 2019 00:47:18 +0100 Subject: [PATCH 41/48] sunxi: construct DTS name from device node name and SOC The device part in the SUNXI_DTS variable always corresponds to device node name. This is another redundancy that can be removed by calculating the DTS name from a newly introduced SUNXI_SOC variable and the node name. Signed-off-by: Adrian Schmutzler --- target/linux/sunxi/image/Makefile | 5 ++- target/linux/sunxi/image/cortex-a53.mk | 18 +++++++---- target/linux/sunxi/image/cortex-a7.mk | 44 +++++++++++++------------- target/linux/sunxi/image/cortex-a8.mk | 13 ++++---- 4 files changed, 45 insertions(+), 35 deletions(-) diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile index 04e0abee49..929f4c70f9 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -32,12 +32,15 @@ endef # why \x00\x00\x00\x00 for zImage-initramfs define Device/Default PROFILES := Default - DEVICE_VARS := SUNXI_DTS SUNXI_UBOOT + DEVICE_VARS := SUNXI_SOC SUNXI_DTS SUNXI_DTS_DIR SUNXI_UBOOT KERNEL_NAME := zImage KERNEL := kernel-bin | uImage none IMAGES := sdcard.img.gz IMAGE/sdcard.img.gz := sunxi-sdcard | append-metadata | gzip SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) + SUNXI_SOC := + SUNXI_DTS_DIR := + SUNXI_DTS = $$(SUNXI_DTS_DIR)$$(SUNXI_SOC)-$(lastword $(subst _, ,$(1))) endef include cortex-a7.mk diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortex-a53.mk index d6c17d95ff..b0d087b9b1 100644 --- a/target/linux/sunxi/image/cortex-a53.mk +++ b/target/linux/sunxi/image/cortex-a53.mk @@ -11,7 +11,8 @@ define Device/friendlyarm_nanopi-neo-plus2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO Plus2 SUPPORTED_DEVICES:=nanopi-neo-plus2 - SUNXI_DTS:=allwinner/sun50i-h5-nanopi-neo-plus2 + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef @@ -22,7 +23,8 @@ define Device/friendlyarm_nanopi-neo2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO2 SUPPORTED_DEVICES:=nanopi-neo2 - SUNXI_DTS:=allwinner/sun50i-h5-nanopi-neo2 + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef @@ -32,7 +34,8 @@ TARGET_DEVICES += friendlyarm_nanopi-neo2 define Device/pine64_pine64-plus DEVICE_VENDOR := Pine64 DEVICE_MODEL := Pine64+ - SUNXI_DTS:=allwinner/sun50i-a64-pine64-plus + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-a64 KERNEL_NAME := Image KERNEL := kernel-bin endef @@ -42,7 +45,8 @@ TARGET_DEVICES += pine64_pine64-plus define Device/pine64_sopine-baseboard DEVICE_VENDOR := Pine64 DEVICE_MODEL := SoPine - SUNXI_DTS:=allwinner/sun50i-a64-sopine-baseboard + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-a64 KERNEL_NAME := Image KERNEL := kernel-bin endef @@ -53,7 +57,8 @@ TARGET_DEVICES += pine64_sopine-baseboard define Device/xunlong_orangepi-zero-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Zero Plus - SUNXI_DTS:=allwinner/sun50i-h5-orangepi-zero-plus + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef @@ -63,7 +68,8 @@ TARGET_DEVICES += xunlong_orangepi-zero-plus define Device/xunlong_orangepi-pc2 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC 2 - SUNXI_DTS:=allwinner/sun50i-h5-orangepi-pc2 + SUNXI_DTS_DIR := allwinner/ + SUNXI_SOC := sun50i-h5 KERNEL_NAME := Image KERNEL := kernel-bin endef diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk index 32e094efb8..90a355fd3a 100644 --- a/target/linux/sunxi/image/cortex-a7.mk +++ b/target/linux/sunxi/image/cortex-a7.mk @@ -12,7 +12,7 @@ define Device/olimex_a20-olinuxino-lime DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi - SUNXI_DTS:=sun7i-a20-olinuxino-lime + SUNXI_SOC := sun7i endef TARGET_DEVICES += olimex_a20-olinuxino-lime @@ -22,7 +22,7 @@ define Device/olimex_a20-olinuxino-lime2 DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-LIME2 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid - SUNXI_DTS:=sun7i-a20-olinuxino-lime2 + SUNXI_SOC := sun7i endef TARGET_DEVICES += olimex_a20-olinuxino-lime2 @@ -33,7 +33,7 @@ define Device/olimex_a20-olinuxino-lime2-emmc DEVICE_MODEL := A20-OLinuXino-LIME2 DEVICE_VARIANT := eMMC DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid - SUNXI_DTS:=sun7i-a20-olinuxino-lime2-emmc + SUNXI_SOC := sun7i endef TARGET_DEVICES += olimex_a20-olinuxino-lime2-emmc @@ -43,7 +43,7 @@ define Device/olimex_a20-olinuxino-micro DEVICE_VENDOR := Olimex DEVICE_MODEL := A20-OLinuXino-MICRO DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUNXI_DTS:=sun7i-a20-olinuxino-micro + SUNXI_SOC := sun7i endef TARGET_DEVICES += olimex_a20-olinuxino-micro @@ -53,7 +53,7 @@ define Device/lemaker_bananapi DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pi DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi - SUNXI_DTS:=sun7i-a20-bananapi + SUNXI_SOC := sun7i-a20 endef TARGET_DEVICES += lemaker_bananapi @@ -63,7 +63,7 @@ define Device/lemaker_bananapro DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pro DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac - SUNXI_DTS:=sun7i-a20-bananapro + SUNXI_SOC := sun7i-a20 endef TARGET_DEVICES += lemaker_bananapro @@ -73,7 +73,7 @@ define Device/cubietech_cubieboard2 DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubieboard2 DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUNXI_DTS:=sun7i-a20-cubieboard2 + SUNXI_SOC := sun7i-a20 endef TARGET_DEVICES += cubietech_cubieboard2 @@ -83,7 +83,7 @@ define Device/cubietech_cubietruck DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubietruck DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac - SUNXI_DTS:=sun7i-a20-cubietruck + SUNXI_SOC := sun7i-a20 endef TARGET_DEVICES += cubietech_cubietruck @@ -93,7 +93,7 @@ define Device/lamobo_lamobo-r1 DEVICE_VENDOR := Lamobo DEVICE_MODEL := Lamobo R1 DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-basic - SUNXI_DTS:=sun7i-a20-lamobo-r1 + SUNXI_SOC := sun7i-a20 endef TARGET_DEVICES += lamobo_lamobo-r1 @@ -103,7 +103,7 @@ define Device/mele_m9 DEVICE_VENDOR := Mele DEVICE_MODEL := M9 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu - SUNXI_DTS:=sun6i-a31-m9 + SUNXI_SOC := sun6i-a31 endef TARGET_DEVICES += mele_m9 @@ -113,7 +113,7 @@ define Device/xunlong_orangepi-zero DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Zero DEVICE_PACKAGES:=kmod-rtc-sunxi - SUNXI_DTS:=sun8i-h2-plus-orangepi-zero + SUNXI_SOC := sun8i-h2-plus endef TARGET_DEVICES += xunlong_orangepi-zero @@ -123,7 +123,7 @@ define Device/xunlong_orangepi-r1 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi R1 DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-usb-net kmod-usb-net-rtl8152 - SUNXI_DTS:=sun8i-h2-plus-orangepi-r1 + SUNXI_SOC := sun8i-h2-plus endef TARGET_DEVICES += xunlong_orangepi-r1 @@ -134,7 +134,7 @@ define Device/sinovoip_bananapi-m2-plus DEVICE_PACKAGES:=kmod-rtc-sunxi \ kmod-leds-gpio kmod-ledtrig-heartbeat \ kmod-brcmfmac brcmfmac-firmware-43430a0-sdio wpad-basic - SUNXI_DTS:=sun8i-h3-bananapi-m2-plus + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += sinovoip_bananapi-m2-plus @@ -145,7 +145,7 @@ define Device/friendlyarm_nanopi-m1-plus DEVICE_PACKAGES:=kmod-rtc-sunxi \ kmod-leds-gpio kmod-ledtrig-heartbeat \ kmod-brcmfmac brcmfmac-firmware-43430-sdio wpad-basic - SUNXI_DTS:=sun8i-h3-nanopi-m1-plus + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += friendlyarm_nanopi-m1-plus @@ -154,7 +154,7 @@ TARGET_DEVICES += friendlyarm_nanopi-m1-plus define Device/friendlyarm_nanopi-neo DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO - SUNXI_DTS:=sun8i-h3-nanopi-neo + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += friendlyarm_nanopi-neo @@ -164,7 +164,7 @@ define Device/xunlong_orangepi-one DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi One DEVICE_PACKAGES:=kmod-rtc-sunxi - SUNXI_DTS:=sun8i-h3-orangepi-one + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += xunlong_orangepi-one @@ -174,7 +174,7 @@ define Device/xunlong_orangepi-pc DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug - SUNXI_DTS:=sun8i-h3-orangepi-pc + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += xunlong_orangepi-pc @@ -184,7 +184,7 @@ define Device/xunlong_orangepi-pc-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC Plus DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug - SUNXI_DTS:=sun8i-h3-orangepi-pc-plus + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += xunlong_orangepi-pc-plus @@ -194,7 +194,7 @@ define Device/xunlong_orangepi-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Plus DEVICE_PACKAGES:=kmod-rtc-sunxi - SUNXI_DTS:=sun8i-h3-orangepi-plus + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += xunlong_orangepi-plus @@ -203,7 +203,7 @@ define Device/xunlong_orangepi-2 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi 2 DEVICE_PACKAGES:=kmod-rtc-sunxi - SUNXI_DTS:=sun8i-h3-orangepi-2 + SUNXI_SOC := sun8i-h3 endef TARGET_DEVICES += xunlong_orangepi-2 @@ -213,7 +213,7 @@ define Device/linksprite_pcduino3 DEVICE_VENDOR := LinkSprite DEVICE_MODEL := pcDuino3 DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware - SUNXI_DTS:=sun7i-a20-pcduino3 + SUNXI_SOC := sun7i-a20 endef TARGET_DEVICES += linksprite_pcduino3 @@ -222,7 +222,7 @@ define Device/lemaker_bananapi-m2-ultra DEVICE_VENDOR := LeMaker DEVICE_MODEL := Banana Pi M2 Ultra DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi - SUNXI_DTS:=sun8i-r40-bananapi-m2-ultra + SUNXI_SOC := sun8i-r40 endef TARGET_DEVICES += lemaker_bananapi-m2-ultra diff --git a/target/linux/sunxi/image/cortex-a8.mk b/target/linux/sunxi/image/cortex-a8.mk index 073ed8f2d1..d6b5a46a22 100644 --- a/target/linux/sunxi/image/cortex-a8.mk +++ b/target/linux/sunxi/image/cortex-a8.mk @@ -11,7 +11,7 @@ define Device/olimex_a10-olinuxino-lime DEVICE_VENDOR := Olimex DEVICE_MODEL := A10-OLinuXino-LIME DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUNXI_DTS:=sun4i-a10-olinuxino-lime + SUNXI_SOC := sun4i endef TARGET_DEVICES += olimex_a10-olinuxino-lime @@ -22,7 +22,8 @@ define Device/olimex_a13-olimex-som DEVICE_MODEL := A13-SOM DEVICE_PACKAGES:=kmod-rtl8192cu SUPPORTED_DEVICES:=olimex,a13-olinuxino - SUNXI_DTS:=sun5i-a13-olinuxino + SUNXI_SOC := sun5i-a13 + SUNXI_DTS := sun5i-a13-olinuxino endef TARGET_DEVICES += olimex_a13-olimex-som @@ -32,7 +33,7 @@ define Device/olimex_a13-olinuxino DEVICE_VENDOR := Olimex DEVICE_MODEL := A13-OLinuXino DEVICE_PACKAGES:=kmod-rtl8192cu - SUNXI_DTS:=sun5i-a13-olinuxino + SUNXI_SOC := sun5i endef TARGET_DEVICES += olimex_a13-olinuxino @@ -42,7 +43,7 @@ define Device/cubietech_a10-cubieboard DEVICE_VENDOR := Cubietech DEVICE_MODEL := Cubieboard DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi - SUNXI_DTS:=sun4i-a10-cubieboard + SUNXI_SOC := sun4i endef TARGET_DEVICES += cubietech_a10-cubieboard @@ -52,7 +53,7 @@ define Device/linksprite_a10-pcduino DEVICE_VENDOR := LinkSprite DEVICE_MODEL := pcDuino DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu - SUNXI_DTS:=sun4i-a10-pcduino + SUNXI_SOC := sun4i endef TARGET_DEVICES += linksprite_a10-pcduino @@ -62,7 +63,7 @@ define Device/marsboard_a10-marsboard DEVICE_VENDOR := HAOYU Electronics DEVICE_MODEL := MarsBoard A10 DEVICE_PACKAGES:=mod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi sound-soc-sunxi - SUNXI_DTS:=sun4i-a10-marsboard + SUNXI_SOC := sun4i endef TARGET_DEVICES += marsboard_a10-marsboard From 69fff339e965d508b4fc12ffdc2a170efe9c98b1 Mon Sep 17 00:00:00 2001 From: Roman Bazalevsky Date: Thu, 5 Dec 2019 17:21:28 +0300 Subject: [PATCH 42/48] sunxi: add support for FriendlyARM Nano PI NEO Air dev board Hardware: Allwinner H3 upto 1.2GHz 512MB DDR3 RAM 8GB on-board eMMC - mountable, can be used as boot with custom boot.scr microSD-card slot WiFi 802.11n (AP6212A) - working Bluetooth (AP6212A) - not working for now Micro-USB OTG + 2*USB headers UART 3.3V - working GPIO/I2C/SPI 2.54mm headers Standard sunxi SD-card installation procedure - copy image to SD card, insert in into slot and boot. First time you will need UART adapter to enable on-board wireless (or just build custom image with enabled WiFi). To boot from eMMC: - boot from SD - copy SD image to emmc (dd bs=... if=.... of=/dev/mmcblk2) - mount eMMC boot partition and replace boot script on it - unmount, reboot To use i2c, spi and more uarts - replace dtb on boot partition with fixed one (use dtc or fdt-tools). Signed-off-by: Roman Bazalevsky [rebase onto device name consolidation patches] Signed-off-by: Adrian Schmutzler --- package/boot/uboot-sunxi/Makefile | 7 +++++++ target/linux/sunxi/image/cortex-a7.mk | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index ce39fe792d..eef4c56f53 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -138,6 +138,12 @@ define U-Boot/nanopi_m1_plus BUILD_DEVICES:=friendlyarm_nanopi-m1-plus endef +define U-Boot/nanopi_neo_air + BUILD_SUBTARGET:=cortexa7 + NAME:=U-Boot for NanoPi NEO Air (H3) + BUILD_DEVICES:=friendlyarm_nanopi-neo-air +endef + define U-Boot/nanopi_neo BUILD_SUBTARGET:=cortexa7 NAME:=U-Boot for NanoPi NEO (H3) @@ -274,6 +280,7 @@ UBOOT_TARGETS := \ Lamobo_R1 \ nanopi_m1_plus \ nanopi_neo \ + nanopi_neo_air \ nanopi_neo_plus2 \ nanopi_neo2 \ orangepi_zero \ diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk index 90a355fd3a..83b313a378 100644 --- a/target/linux/sunxi/image/cortex-a7.mk +++ b/target/linux/sunxi/image/cortex-a7.mk @@ -160,6 +160,18 @@ endef TARGET_DEVICES += friendlyarm_nanopi-neo +define Device/friendlyarm_nanopi-neo-air + DEVICE_VENDOR := FriendlyARM + DEVICE_MODEL := NanoPi NEO Air + DEVICE_PACKAGES := kmod-rtc-sunxi \ + kmod-leds-gpio kmod-ledtrig-heartbeat \ + kmod-brcmfmac brcmfmac-firmware-43430-sdio wpad-basic + SUNXI_SOC := sun8i-h3 +endef + +TARGET_DEVICES += friendlyarm_nanopi-neo-air + + define Device/xunlong_orangepi-one DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi One From 0375c076b67cda9dc1b758b87ab1b79fd2403d94 Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Tue, 12 Nov 2019 01:26:44 +0900 Subject: [PATCH 43/48] ramips: add support for ZIO FREEZIO ZIO FREEZIO is a 2.4/5GHz band AC1200 router, based on MediaTek MT7621A. Specifications: - SoC: MT7621AT - RAM: DDR3 128MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: MT7603EN - 5GHz: MT7612EN - Ethernet: 5x 10/100/1000Mbps - Switch: SoC internal - USB: 1x 3.0 - UART: - J4: 3.3V, RX, TX, GND (3.3V is the square pad) / 57600 8N1 Notes: - FREEZIO has almost the same board as WeVO W2914NS v2. - Stock firmware is based on OpenWrt BB. MAC addresses in factory partition: 0x0004: WiFi 2.4GHz (label_mac-8) 0x002e: WAN (label_mac) 0x8004: WiFi 5GHz (label_mac-4) 0xe000: LAN (label_mac+1) Installation via web interface: 1. Access web admin page and turn on "OpenWrt UI mode". 2. Flash sysupgrade image through LuCI, with the "Keep settings" option OFF. Revert to stock firmware: 1. Perform sysupgrade with stock image. Make sure to NOT preserve settings. Signed-off-by: Sungbo Eo [rebase, use mt7621_wevo_w2914ns-v2.dtsi] Signed-off-by: Adrian Schmutzler --- .../linux/ramips/dts/mt7621_zio_freezio.dts | 20 +++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 9 +++++++++ .../mt7621/base-files/etc/board.d/02_network | 6 ++++-- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 target/linux/ramips/dts/mt7621_zio_freezio.dts diff --git a/target/linux/ramips/dts/mt7621_zio_freezio.dts b/target/linux/ramips/dts/mt7621_zio_freezio.dts new file mode 100644 index 0000000000..dce1c4bd4d --- /dev/null +++ b/target/linux/ramips/dts/mt7621_zio_freezio.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621_wevo_w2914ns-v2.dtsi" + +/ { + compatible = "zio,freezio", "mediatek,mt7621-soc"; + model = "ZIO FREEZIO"; + + leds { + compatible = "gpio-leds"; + + usb { + label = "freezio:green:usb"; + gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>; + linux,default-trigger = "usbport"; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index d663aa29da..0b2b74800a 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -910,3 +910,12 @@ define Device/zbtlink_zbt-wg3526-32m SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M endef TARGET_DEVICES += zbtlink_zbt-wg3526-32m + +define Device/zio_freezio + MTK_SOC := mt7621 + IMAGE_SIZE := 16064k + DEVICE_VENDOR := ZIO + DEVICE_MODEL := FREEZIO + DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic +endef +TARGET_DEVICES += zio_freezio diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 2447ff8a8d..c9e3cbb984 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -45,7 +45,8 @@ ramips_setup_interfaces() netgear,wndr3700-v5|\ netis,wf-2881|\ wevo,11acnas|\ - wevo,w2914ns-v2) + wevo,w2914ns-v2|\ + zio,freezio) ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0" ;; @@ -241,7 +242,8 @@ ramips_setup_macs() wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x22)" 1) ;; wevo,11acnas|\ - wevo,w2914ns-v2) + wevo,w2914ns-v2|\ + zio,freezio) wan_mac=$(mtd_get_mac_binary factory 0x2e) label_mac=$wan_mac ;; From 5cda133d99f25ac85fcc4ef9ae092f9c4fb90739 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Thu, 12 Dec 2019 19:49:55 +0100 Subject: [PATCH 44/48] ramips: DTS style improvements for mt7621_wevo_w2914ns-v2.dtsi This does several trivial DTS style improvements: - Move device name compatible to DTS files (and fix compatible in 11acnas.dts) - Remove xhci node as status is set to okay in mt7621.dtsi already - 0x0 instead of 0x0000 - Simplify state_default node definition Signed-off-by: Adrian Schmutzler --- .../linux/ramips/dts/mt7621_wevo_11acnas.dts | 2 +- .../ramips/dts/mt7621_wevo_w2914ns-v2.dts | 1 + .../ramips/dts/mt7621_wevo_w2914ns-v2.dtsi | 18 +++++------------- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/target/linux/ramips/dts/mt7621_wevo_11acnas.dts b/target/linux/ramips/dts/mt7621_wevo_11acnas.dts index ec31542632..0320a45060 100644 --- a/target/linux/ramips/dts/mt7621_wevo_11acnas.dts +++ b/target/linux/ramips/dts/mt7621_wevo_11acnas.dts @@ -3,7 +3,7 @@ #include "mt7621_wevo_w2914ns-v2.dtsi" / { - compatible = "wevo,11acnas", "wevo,w2914ns-v2", "mediatek,mt7621-soc"; + compatible = "wevo,11acnas", "mediatek,mt7621-soc"; model = "WeVO 11AC NAS Router"; leds { diff --git a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts index 816f6b1c0f..bb9fa59484 100644 --- a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts +++ b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts @@ -3,6 +3,7 @@ #include "mt7621_wevo_w2914ns-v2.dtsi" / { + compatible = "wevo,w2914ns-v2", "mediatek,mt7621-soc"; model = "WeVO W2914NS v2"; leds { diff --git a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi index 6ad3ef111f..2cffb9520c 100644 --- a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi +++ b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi @@ -4,8 +4,6 @@ #include / { - compatible = "wevo,w2914ns-v2", "mediatek,mt7621-soc"; - chosen { bootargs = "console=ttyS0,57600"; }; @@ -27,10 +25,6 @@ }; }; -&xhci { - status = "okay"; -}; - &spi0 { status = "okay"; @@ -80,7 +74,7 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,mtd-eeprom = <&factory 0x0>; led { led-sources = <0>; @@ -107,11 +101,9 @@ mtd-mac-address = <&factory 0xe000>; }; -&pinctrl { - state_default: pinctrl0 { - gpio { - ralink,group = "wdt", "rgmii2"; - ralink,function = "gpio"; - }; +&state_default { + gpio { + ralink,group = "wdt", "rgmii2"; + ralink,function = "gpio"; }; }; From a972b1fb5f5d5c159b0310b3623cfd5442a5c322 Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Tue, 12 Nov 2019 01:25:31 +0900 Subject: [PATCH 45/48] ramips: add support for ipTIME A6ns-M ipTIME A6ns-M is a 2.4/5GHz band AC1900 router, based on MediaTek MT7621A. Specifications: - SoC: MT7621AT - RAM: DDR3 128MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: MT7615 - 5GHz: MT7615 - Ethernet: 5x 10/100/1000Mbps - Switch: SoC internal - UART: - J4: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1 Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Signed-off-by: Sungbo Eo --- .../linux/ramips/dts/mt7621_iptime_a6ns-m.dts | 142 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 10 ++ .../mt7621/base-files/etc/board.d/02_network | 4 + 3 files changed, 156 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts diff --git a/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts b/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts new file mode 100644 index 0000000000..92e2d9908c --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts @@ -0,0 +1,142 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "iptime,a6ns-m", "mediatek,mt7621-soc"; + model = "ipTIME A6ns-M"; + + aliases { + led-boot = &led_cpu; + led-failsafe = &led_cpu; + led-running = &led_cpu; + led-upgrade = &led_cpu; + label-mac-device = ðernet; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + usb { + label = "a6ns-m:blue:usb"; + gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>; + linux,default-trigger = "usbport"; + }; + + wlan5g { + label = "a6ns-m:blue:wlan5g"; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0radio"; + }; + + wlan2g { + label = "a6ns-m:blue:wlan2g"; + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1radio"; + }; + + led_cpu: cpu { + label = "a6ns-m:blue:cpu"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + wps { + label = "wps"; + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + reset { + label = "reset"; + gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "config"; + reg = <0x20000 0x10000>; + read-only; + }; + + factory: partition@30000 { + label = "factory"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x40000 0xfc0000>; + }; + }; + }; +}; + +&state_default { + gpio { + ralink,group = "i2c", "uart3", "jtag", "wdt"; + ralink,function = "gpio"; + }; +}; + +ðernet { + mtd-mac-address = <&uboot 0x1fc20>; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <2400000 2500000>; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 0b2b74800a..5b1c4b7321 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -361,6 +361,16 @@ define Device/iodata_wnpr2600g endef TARGET_DEVICES += iodata_wnpr2600g +define Device/iptime_a6ns-m + MTK_SOC := mt7621 + IMAGE_SIZE := 16128k + UIMAGE_NAME := a6nm + DEVICE_VENDOR := ipTIME + DEVICE_MODEL := A6ns-M + DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic +endef +TARGET_DEVICES += iptime_a6ns-m + define Device/lenovo_newifi-d1 MTK_SOC := mt7621 IMAGE_SIZE := 32448k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index c9e3cbb984..bae7f41f1c 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -59,6 +59,7 @@ ramips_setup_interfaces() asus,rt-ac65p|\ asus,rt-ac57u|\ asus,rt-ac85p|\ + iptime,a6ns-m|\ mikrotik,rb750gr3|\ ubiquiti,edgerouterx|\ ubiquiti,edgerouterx-sfp|\ @@ -218,6 +219,9 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) label_mac=$wan_mac ;; + iptime,a6ns-m) + wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40) + ;; mediatek,ap-mt7621a-v60) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x5)" 1) ;; From 0bf4d681d4f2e4bd3c3a61e7fe5dca2a40b1902f Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Thu, 12 Dec 2019 20:26:06 +0100 Subject: [PATCH 46/48] ramips: allow JCG_MAXSIZE in kiB in Build/jcg-header This allows JCG_MAXSIZE to be specified in kilobytes. This makes this value more consistent and easier comparable with other size variables. This also changes the only occurence of the variable, for Cudy WR1000. Signed-off-by: Adrian Schmutzler --- target/linux/ramips/image/Makefile | 4 +++- target/linux/ramips/image/mt76x8.mk | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index d700e69440..4f65583f13 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -48,7 +48,9 @@ define Device/seama endef define Build/jcg-header - $(STAGING_DIR_HOST)/bin/jcgimage -v $(1) $(if $(JCG_MAXSIZE), -m $(JCG_MAXSIZE),) -u $@ -o $@.new + $(STAGING_DIR_HOST)/bin/jcgimage -v $(1) \ + $(if $(JCG_MAXSIZE), -m $$(($(subst k, * 1024,$(JCG_MAXSIZE)))),) \ + -u $@ -o $@.new mv $@.new $@ endef diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index dbd80a6053..758caf7fa2 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -37,7 +37,7 @@ define Device/cudy_wr1000 IMAGES += factory.bin IMAGE/factory.bin := \ $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | jcg-header 92.122 - JCG_MAXSIZE := 8060928 + JCG_MAXSIZE := 7872k DEVICE_VENDOR := Cudy DEVICE_MODEL := WR1000 DEVICE_PACKAGES := kmod-mt76x2 From 1b7199c90c7128e3f81cc4abc6d80ab76a820b12 Mon Sep 17 00:00:00 2001 From: DENG Qingfang Date: Sat, 14 Dec 2019 00:24:19 +0800 Subject: [PATCH 47/48] ramips: add support for JCG JHR-AC876M JCG JHR-AC876M is an AC2600M router Hardware specs: SoC: MT7621AT 2.4GHz: MT7615N 4x4 @ PCIe0 5GHz: MT7615N 4x4 @ PCIe1 Flash: Winbond W25Q128JVSQ 16MiB RAM: Nanya NT5CB128M16 256MiB USB 2.0 and 3.0 ports 6 LEDs, 3 of which are connected to SoC GPIO Reset and WPS buttons Flash instructions: Stock to OpenWrt: Upload factory.bin in stock firmware's upgrade page, do not preserve settings OpenWrt to stock: Push and hold the reset button for 5s while power cycling to enter recovery mode; Visit 192.168.1.1 and upload stock firmware MAC addresses map: 0x0004 *:1c wlan2g/wan/label 0x8004 *:20 wlan5g 0xe000 *:1b lan 0xe006 *:1a not used in stock fw Signed-off-by: DENG Qingfang --- .../ramips/dts/mt7621_jcg_jhr-ac876m.dts | 144 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 13 ++ .../mt7621/base-files/etc/board.d/02_network | 5 + 3 files changed, 162 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts diff --git a/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts new file mode 100644 index 0000000000..e3266ebbcb --- /dev/null +++ b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts @@ -0,0 +1,144 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "jcg,jhr-ac876m", "mediatek,mt7621-soc"; + model = "JCG JHR-AC876M"; + + aliases { + led-boot = &led_wps; + led-failsafe = &led_wps; + led-running = &led_wps; + led-upgrade = &led_wps; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + usb3 { + label = "jhr-ac876m:blue:usb3"; + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>; + linux,default-trigger = "usbport"; + }; + + usb2 { + label = "jhr-ac876m:blue:usb2"; + gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + trigger-sources = <&ehci_port2>; + linux,default-trigger = "usbport"; + }; + + led_wps: wps { + label = "jhr-ac876m:blue:wps"; + gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + ieee80211-freq-limit = <2400000 2500000>; + + led { + led-active-low; + }; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + + led { + led-active-low; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + +&state_default { + gpio { + ralink,group = "i2c", "uart3", "jtag", "wdt"; + ralink,function = "gpio"; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 5b1c4b7321..e9190844ac 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -371,6 +371,19 @@ define Device/iptime_a6ns-m endef TARGET_DEVICES += iptime_a6ns-m +define Device/jcg_jhr-ac876m + MTK_SOC := mt7621 + IMAGE_SIZE := 16064k + IMAGES += factory.bin + IMAGE/factory.bin := \ + $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | jcg-header 89.1 + JCG_MAXSIZE := 16064k + DEVICE_VENDOR := JCG + DEVICE_MODEL := JHR-AC876M + DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic +endef +TARGET_DEVICES += jcg_jhr-ac876m + define Device/lenovo_newifi-d1 MTK_SOC := mt7621 IMAGE_SIZE := 32448k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index bae7f41f1c..5c6b5659cb 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -14,6 +14,7 @@ ramips_setup_interfaces() d-team,pbr-m1|\ firefly,firewrt|\ hiwifi,hc5962|\ + jcg,jhr-ac876m|\ mediatek,ap-mt7621a-v60|\ mediatek,mt7621-eval-board|\ mqmaker,witi|\ @@ -222,6 +223,10 @@ ramips_setup_macs() iptime,a6ns-m) wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40) ;; + jcg,jhr-ac876m) + label_mac=$(mtd_get_mac_binary factory 0x4) + wan_mac=$label_mac + ;; mediatek,ap-mt7621a-v60) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x5)" 1) ;; From 16b01fb1b9c99513c318109bef96a1a3545c57a0 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Fri, 13 Dec 2019 21:31:50 +0100 Subject: [PATCH 48/48] mpc85xx: add support for Enterasys WS-AP3710i Hardware -------- SoC: NXP P1020 (2x e500 @ 800MHz) RAM: 256M DDR3 (Micron) FLASH: 32M NOR (Spansion S29GL128S) BTN: 1x Reset WiFi: 1x Atheros AR9590 2.4 bgn 3x3 2x Atheros AR9590 5.0 an 3x3 ETH: 1x Gigabit Ethernet (Atheros AR8033) LED: System (green/red) - Radio{0,1} (green) LAN (connected to PHY) - GE blue - FE green Serial is a Cisco-compatible RJ45 next to the ethernet port. 115200-N-8 are the settings for OS and U-Boot. Installation ------------ 1. Grab the OpenWrt initramfs, rename it to 01C8A8C0.img. Place it in the root directory of a TFTP server and serve it at 192.168.200.200/24. 2. Connect to the serial port and boot the AP. Stop autoboot in U-Boot by pressing Enter when prompted. Credentials are identical to the one in the APs interface. By default it is admin / new2day. 3. Set the bootcmd so the AP can boot OpenWrt by executing $ setenv boot_openwrt "setenv bootargs; cp.b 0xee000000 0x1000000 0x1000000; bootm 0x1000000" $ setenv bootcmd "run boot_openwrt" $ saveenv If you plan on going back to the vendor firmware - the bootcmd for it is stored in the boot_flash variable. 4. Load the initramfs image to RAM and boot by executing $ tftpboot 0x1000000 192.168.200.200:01C8A8C0.img; bootm 5. Make a backup of the "firmware" partition if you ever wish to go back to the vendor firmware. 6. Upload the OpenWrt sysupgrade image via SCP to the devices /tmp folder. 7. Flash OpenWrt using sysupgrade. $ sysupgrade -n /tmp/openwrt-sysupgrade.bin Signed-off-by: David Bauer --- .../etc/hotplug.d/ieee80211/10-fix-wifi-mac | 3 + target/linux/mpc85xx/config-4.19 | 1 + .../arch/powerpc/boot/dts/ws-ap3710i.dts | 172 ++++++++++++++++++ .../arch/powerpc/platforms/85xx/ws-ap3710i.c | 91 +++++++++ target/linux/mpc85xx/image/Makefile | 10 + target/linux/mpc85xx/p1020/config-default | 3 + .../106-powerpc-85xx-ws-ap3710i-support.patch | 30 +++ 7 files changed, 310 insertions(+) create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c create mode 100644 target/linux/mpc85xx/patches-4.19/106-powerpc-85xx-ws-ap3710i-support.patch diff --git a/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac b/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac index f153b53c8e..cd829cb471 100644 --- a/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac +++ b/target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac @@ -12,6 +12,9 @@ PHYNBR=${DEVPATH##*/phy} board=$(board_name) case "$board" in +enterasys,ws-ap3710i) + echo $(mtd_get_mac_ascii cfg2 RADIOADDR${PHYNBR}) > /sys${DEVPATH}/macaddress + ;; ocedo,panda) WMAC=wmac$(($PHYNBR + 1)) MAC=$(mtd_get_mac_ascii uboot-env0 ${WMAC}) diff --git a/target/linux/mpc85xx/config-4.19 b/target/linux/mpc85xx/config-4.19 index 9c7b49cfdf..6395ad72ff 100644 --- a/target/linux/mpc85xx/config-4.19 +++ b/target/linux/mpc85xx/config-4.19 @@ -318,6 +318,7 @@ CONFIG_VDSO32=y # CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set CONFIG_VM_EVENT_COUNTERS=y CONFIG_WATCHDOG_CORE=y +# CONFIG_WS_AP3710I is not set # CONFIG_XES_MPC85xx is not set # CONFIG_XPS_USB_HCD_XILINX is not set CONFIG_XZ_DEC_BCJ=y diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts new file mode 100644 index 0000000000..ebaac417eb --- /dev/null +++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts @@ -0,0 +1,172 @@ +// SPDX-License-Identifier: GPL-2.0-or-later or MIT + +/include/ "fsl/p1020si-pre.dtsi" +/ { + model = "Enterasys WS-AP3710i"; + compatible = "enterasys,ws-ap3710i"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_red; + label-mac-device = &enet0; + }; + + memory { + device_type = "memory"; + }; + + leds { + compatible = "gpio-leds"; + + wifi1 { + gpios = <&gpio0 3 0>; + label = "ws-ap3710i:green:radio1"; + linux,default-trigger = "phy0tpt"; + }; + + wifi2 { + gpios = <&gpio0 4 0>; + label = "ws-ap3710i:green:radio2"; + linux,default-trigger = "phy1tpt"; + }; + + led_power_green: power_green { + gpios = <&gpio0 8 0>; + label = "ws-ap3710i:green:power"; + }; + + led_power_red: power_red { + gpios = <&gpio0 9 0>; + label = "ws-ap3710i:red:power"; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset button"; + gpios = <&gpio0 1 1>; /* active low */ + linux,code = <0x198>; /* KEY_RESTART */ + }; + }; + + lbc: localbus@ffe05000 { + reg = <0 0xffe05000 0 0x1000>; + ranges = <0x0 0x0 0x0 0xee000000 0x2000000>; + + nor@0,0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "cfi-flash"; + reg = <0x0 0x0 0x2000000>; + bank-width = <2>; + device-width = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + compatible = "denx,fit"; + reg = <0x0 0x1d80000>; + label = "firmware"; + }; + + partition@1d80000 { + reg = <0x1d80000 0x80000>; + label = "u-boot"; + read-only; + }; + + partition@1e00000 { + reg = <0x1e00000 0x100000>; + label = "nvram"; + read-only; + }; + + partition@1f00000 { + reg = <0x1f00000 0x20000>; + label = "cfg2"; + read-only; + }; + + partition@1f20000 { + reg = <0x1f20000 0x20000>; + label = "cfg1"; + read-only; + }; + }; + }; + }; + + soc: soc@ffe00000 { + ranges = <0x0 0x0 0xffe00000 0x100000>; + + gpio0: gpio-controller@fc00 { + }; + + mdio@24000 { + phy4: ethernet-phy@4 { + reg = <0x4>; + reset-gpios = <&gpio0 2 1>; + }; + }; + + enet0: ethernet@b0000 { + phy-connection-type = "rgmii-id"; + phy-handle = <&phy4>; + }; + + enet1: ethernet@b1000 { + status = "disabled"; + }; + + enet2: ethernet@b2000 { + status = "disabled"; + }; + + usb@22000 { + status = "disabled"; + }; + + usb@23000 { + status = "disabled"; + }; + }; + + pci0: pcie@ffe09000 { + ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 + 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; + reg = <0 0xffe09000 0 0x1000>; + pcie@0 { + ranges = <0x2000000 0x0 0xa0000000 + 0x2000000 0x0 0xa0000000 + 0x0 0x20000000 + + 0x1000000 0x0 0x0 + 0x1000000 0x0 0x0 + 0x0 0x100000>; + }; + }; + + pci1: pcie@ffe0a000 { + reg = <0 0xffe0a000 0 0x1000>; + ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 + 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; + pcie@0 { + ranges = <0x2000000 0x0 0x80000000 + 0x2000000 0x0 0x80000000 + 0x0 0x20000000 + + 0x1000000 0x0 0x0 + 0x1000000 0x0 0x0 + 0x0 0x100000>; + }; + }; + +}; +/include/ "fsl/p1020si-post.dtsi" diff --git a/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c b/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c new file mode 100644 index 0000000000..a2900868b9 --- /dev/null +++ b/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/* + * Enterasys WS-AP3710i Board Setup + * + * Copyright (C) 2019 David Bauer + * + * Based on: + * mpc85xx_rdb.c: + * MPC85xx RDB Board Setup + * Copyright 2013 Freescale Semiconductor Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include "smp.h" + +#include "mpc85xx.h" + +void __init ws_ap3710i_pic_init(void) +{ + struct mpic *mpic; + + mpic = mpic_alloc(NULL, 0, + MPIC_BIG_ENDIAN | + MPIC_SINGLE_DEST_CPU, + 0, 256, " OpenPIC "); + + BUG_ON(mpic == NULL); + mpic_init(mpic); +} + +/* + * Setup the architecture + */ +static void __init ws_ap3710i_setup_arch(void) +{ + if (ppc_md.progress) + ppc_md.progress("ws_ap3710i_setup_arch()", 0); + + mpc85xx_smp_init(); + + fsl_pci_assign_primary(); + + pr_info("WS-AP3710i board from Enterasys\n"); +} + +machine_arch_initcall(ws_ap3710i, mpc85xx_common_publish_devices); + +/* + * Called very early, device-tree isn't unflattened + */ +static int __init ws_ap3710i_probe(void) +{ + if (of_machine_is_compatible("enterasys,ws-ap3710i")) + return 1; + return 0; +} + +define_machine(ws_ap3710i) { + .name = "P1020 RDB", + .probe = ws_ap3710i_probe, + .setup_arch = ws_ap3710i_setup_arch, + .init_IRQ = ws_ap3710i_pic_init, +#ifdef CONFIG_PCI + .pcibios_fixup_bus = fsl_pcibios_fixup_bus, + .pcibios_fixup_phb = fsl_pcibios_fixup_phb, +#endif + .get_irq = mpic_get_irq, + .calibrate_decr = generic_calibrate_decr, + .progress = udbg_progress, +}; diff --git a/target/linux/mpc85xx/image/Makefile b/target/linux/mpc85xx/image/Makefile index ee1663018e..5ca16909e7 100644 --- a/target/linux/mpc85xx/image/Makefile +++ b/target/linux/mpc85xx/image/Makefile @@ -102,6 +102,16 @@ define Device/aerohive_hiveap-330 endef TARGET_DEVICES += aerohive_hiveap-330 +define Device/enterasys_ws-ap3710i + DEVICE_VENDOR := Enterasys + DEVICE_MODEL := WS-AP3710i + BLOCKSIZE := 128k + KERNEL = kernel-bin | lzma | fit lzma $(KDIR)/image-$$(DEVICE_DTS).dtb + IMAGES := sysupgrade.bin + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata +endef +TARGET_DEVICES += enterasys_ws-ap3710i + define Device/ocedo_panda DEVICE_VENDOR := OCEDO DEVICE_MODEL := Panda diff --git a/target/linux/mpc85xx/p1020/config-default b/target/linux/mpc85xx/p1020/config-default index 01c18e4d59..2ad3f75bee 100644 --- a/target/linux/mpc85xx/p1020/config-default +++ b/target/linux/mpc85xx/p1020/config-default @@ -23,6 +23,8 @@ CONFIG_MTD_NAND=y CONFIG_MTD_NAND_ECC=y CONFIG_MTD_NAND_FSL_ELBC=y CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_SPLIT_FIRMWARE=y +CONFIG_MTD_SPLIT_FIT_FW=y CONFIG_MTD_UBI=y CONFIG_MTD_UBI_BEB_LIMIT=20 CONFIG_MTD_UBI_BLOCK=y @@ -51,4 +53,5 @@ CONFIG_UBIFS_FS=y CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y +CONFIG_WS_AP3710I=y CONFIG_XPS=y diff --git a/target/linux/mpc85xx/patches-4.19/106-powerpc-85xx-ws-ap3710i-support.patch b/target/linux/mpc85xx/patches-4.19/106-powerpc-85xx-ws-ap3710i-support.patch new file mode 100644 index 0000000000..4bacedbcd7 --- /dev/null +++ b/target/linux/mpc85xx/patches-4.19/106-powerpc-85xx-ws-ap3710i-support.patch @@ -0,0 +1,30 @@ +--- a/arch/powerpc/platforms/85xx/Kconfig ++++ b/arch/powerpc/platforms/85xx/Kconfig +@@ -71,6 +71,17 @@ config PANDA + This board is a Concurrent Dual-Band wireless access point with a + Freescale P1020 SoC. + ++config WS_AP3710I ++ bool "Enterasys WS-AP3710i" ++ select DEFAULT_UIMAGE ++ select ARCH_REQUIRE_GPIOLIB ++ select GPIO_MPC8XXX ++ help ++ This option enables support for the Enterasys WS-AP3710i board. ++ ++ This board is a Concurrent Dual-Band wireless access point with a ++ Freescale P1020 SoC. ++ + config MPC8540_ADS + bool "Freescale MPC8540 ADS" + select DEFAULT_UIMAGE +--- a/arch/powerpc/platforms/85xx/Makefile ++++ b/arch/powerpc/platforms/85xx/Makefile +@@ -24,6 +24,7 @@ obj-$(CONFIG_P1022_RDK) += p1022_rdk.o + obj-$(CONFIG_P1023_RDB) += p1023_rdb.o + obj-$(CONFIG_PANDA) += panda.o + obj-$(CONFIG_TWR_P102x) += twr_p102x.o ++obj-$(CONFIG_WS_AP3710I) += ws-ap3710i.o + obj-$(CONFIG_CORENET_GENERIC) += corenet_generic.o + obj-$(CONFIG_FB_FSL_DIU) += t1042rdb_diu.o + obj-$(CONFIG_RED_15W_REV1) += red15w_rev1.o