Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
36512ff672
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.15 = .117
|
||||
LINUX_KERNEL_HASH-5.15.117 = a9a8331f3c0e004b40a41f30d688b53bf85405597ac41c2c89be7f4fbcf7239f
|
||||
LINUX_VERSION-5.15 = .118
|
||||
LINUX_KERNEL_HASH-5.15.118 = 4e6bf4dadb04d5d11d1d4cc37c0eabcf33bc333b7dd3dc2143c3099a823eb5b3
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .34
|
||||
LINUX_KERNEL_HASH-6.1.34 = b26f7cbcbf8031efc49f11f236f372fc34a4fd5fc6ad3151b893d1aa038ed603
|
||||
LINUX_VERSION-6.1 = .35
|
||||
LINUX_KERNEL_HASH-6.1.35 = be368143bc5d0dc73dd3e8c6191630c1620520379baf6f47c16116b2c0bc26ac
|
||||
@ -93,6 +93,7 @@ zyxel,nbg6616)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
aruba,ap-105|\
|
||||
aruba,ap-115|\
|
||||
aruba,ap-175|\
|
||||
dongwon,dw02-412h-64m|\
|
||||
dongwon,dw02-412h-128m|\
|
||||
|
||||
@ -44,6 +44,9 @@ livinet,zr-3020|\
|
||||
qihoo,360t7-ubootmod)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" "1"
|
||||
;;
|
||||
netgear,wax220)
|
||||
ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
xiaomi,redmi-router-ax6000|\
|
||||
xiaomi,redmi-router-ax6000-stock)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x20000"
|
||||
|
||||
@ -197,7 +197,7 @@ $(eval $(call KernelPackage,nf-flow))
|
||||
define KernelPackage/nf-socket
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter socket lookup support
|
||||
KCONFIG:= $(KCOFNIG_NF_SOCKET)
|
||||
KCONFIG:= $(KCONFIG_NF_SOCKET)
|
||||
FILES:=$(foreach mod,$(NF_SOCKET-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_SOCKET-m)))
|
||||
endef
|
||||
@ -208,7 +208,7 @@ $(eval $(call KernelPackage,nf-socket))
|
||||
define KernelPackage/nf-tproxy
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter tproxy support
|
||||
KCONFIG:= $(KCOFNIG_NF_TPROXY)
|
||||
KCONFIG:= $(KCONFIG_NF_TPROXY)
|
||||
FILES:=$(foreach mod,$(NF_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_TPROXY-m)))
|
||||
endef
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Thu, 22 Jun 2023 18:02:25 +0200
|
||||
Subject: [PATCH] mac80211: fix sband iftype data lookup for AP_VLAN
|
||||
|
||||
AP_VLAN interfaces are virtual, so doesn't really exist as a type for
|
||||
capabilities. When passed in as a type, AP is the one that's really intended.
|
||||
|
||||
Fixes: c4cbaf7973a7 ("cfg80211: Add support for HE")
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/include/net/cfg80211.h
|
||||
+++ b/include/net/cfg80211.h
|
||||
@@ -567,6 +567,9 @@ ieee80211_get_sband_iftype_data(const st
|
||||
if (WARN_ON(iftype >= NL80211_IFTYPE_MAX))
|
||||
return NULL;
|
||||
|
||||
+ if (iftype == NL80211_IFTYPE_AP_VLAN)
|
||||
+ iftype = NL80211_IFTYPE_AP;
|
||||
+
|
||||
for (i = 0; i < sband->n_iftype_data; i++) {
|
||||
const struct ieee80211_sband_iftype_data *data =
|
||||
&sband->iftype_data[i];
|
||||
@ -0,0 +1,36 @@
|
||||
From cdf461888f900c3a149b10a04d72b4a590ecdec3 Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Tue, 16 May 2023 23:11:32 +0200
|
||||
Subject: [PATCH] mac80211: always use mac80211 loss detection
|
||||
|
||||
ath10k does not report excessive loss in case of broken block-ack
|
||||
sessions. The loss is communicated to the host-os, but ath10k does not
|
||||
trigger a low-ack events by itself.
|
||||
|
||||
The mac80211 framework for loss detection however detects this
|
||||
circumstance well in case of ath10k. So use it regardless of ath10k's
|
||||
own loss detection mechanism.
|
||||
|
||||
Patching this in mac80211 does allow this hack to be used with any
|
||||
flavor of ath10k/ath11k.
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
net/mac80211/status.c | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
--- a/net/mac80211/status.c
|
||||
+++ b/net/mac80211/status.c
|
||||
@@ -794,12 +794,6 @@ static void ieee80211_lost_packet(struct
|
||||
unsigned long pkt_time = STA_LOST_PKT_TIME;
|
||||
unsigned int pkt_thr = STA_LOST_PKT_THRESHOLD;
|
||||
|
||||
- /* If driver relies on its own algorithm for station kickout, skip
|
||||
- * mac80211 packet loss mechanism.
|
||||
- */
|
||||
- if (ieee80211_hw_check(&sta->local->hw, REPORTS_LOW_ACK))
|
||||
- return;
|
||||
-
|
||||
/* This packet was aggregated but doesn't carry status info */
|
||||
if ((info->flags & IEEE80211_TX_CTL_AMPDU) &&
|
||||
!(info->flags & IEEE80211_TX_STAT_AMPDU))
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/include/net/cfg80211.h
|
||||
+++ b/include/net/cfg80211.h
|
||||
@@ -4081,6 +4081,7 @@ struct mgmt_frame_regs {
|
||||
@@ -4084,6 +4084,7 @@ struct mgmt_frame_regs {
|
||||
* (as advertised by the nl80211 feature flag.)
|
||||
* @get_tx_power: store the current TX power into the dbm variable;
|
||||
* return 0 if successful
|
||||
@ -8,7 +8,7 @@
|
||||
*
|
||||
* @rfkill_poll: polls the hw rfkill line, use cfg80211 reporting
|
||||
* functions to adjust rfkill hw state
|
||||
@@ -4431,6 +4432,7 @@ struct cfg80211_ops {
|
||||
@@ -4434,6 +4435,7 @@ struct cfg80211_ops {
|
||||
enum nl80211_tx_power_setting type, int mbm);
|
||||
int (*get_tx_power)(struct wiphy *wiphy, struct wireless_dev *wdev,
|
||||
int *dbm);
|
||||
|
||||
@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2023-05-13
|
||||
PKG_SOURCE_VERSION:=969b7b5ebd129068ca56e4b0d831593a2f92382f
|
||||
PKG_MIRROR_HASH:=d28869591d1cb9a967b72f5cd8215c7b2c3388b7b31147b7b18c797018ab8ffb
|
||||
PKG_SOURCE_DATE:=2023-06-22
|
||||
PKG_SOURCE_VERSION:=29cfabbb4b9076aca2a5b5124729a2a9c391905c
|
||||
PKG_MIRROR_HASH:=4b696f473fa784c5cc14ea964a0942e7263022e078e2929db650b458b576f1ce
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_USE_NINJA:=0
|
||||
@ -266,7 +266,7 @@ define KernelPackage/mt7921-common
|
||||
$(KernelPackage/mt76-default)
|
||||
TITLE:=MediaTek MT7615 wireless driver common code
|
||||
HIDDEN:=1
|
||||
DEPENDS+=+kmod-mt76-connac +kmod-mt7921-firmware +@DRIVER_11AX_SUPPORT
|
||||
DEPENDS+=+kmod-mt76-connac +kmod-mt7921-firmware +@DRIVER_11AX_SUPPORT +kmod-hwmon-core
|
||||
FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921-common.ko
|
||||
endef
|
||||
|
||||
|
||||
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
||||
PKG_SOURCE_DATE:=2023-06-04
|
||||
PKG_SOURCE_VERSION:=ec9dba72124597b7224bbfe75960386dc320f4bd
|
||||
PKG_MIRROR_HASH:=baee39a3882a2b03fc83a3a6a8963c340fa8d884c7a8c9e80e7d2dddc50e24bd
|
||||
PKG_SOURCE_DATE:=2023-06-23
|
||||
PKG_SOURCE_VERSION:=edf3aced9f9ae4b07cfbb98d3919ddc7a9e44362
|
||||
PKG_MIRROR_HASH:=cae6397d7e10d5f2659bf4c1e66b1ed7198693d2d4e448c414780fcf2a43ea94
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@ -202,7 +202,7 @@
|
||||
+subsys_initcall(ar5312_gpio_init);
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -230,6 +230,7 @@ config ATH25
|
||||
@@ -231,6 +231,7 @@ config ATH25
|
||||
select CEVT_R4K
|
||||
select CSRC_R4K
|
||||
select DMA_NONCOHERENT
|
||||
|
||||
@ -59,6 +59,14 @@
|
||||
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
watchdog {
|
||||
compatible = "linux,wdt-gpio";
|
||||
gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
|
||||
hw_algo = "toggle";
|
||||
hw_margin_ms = <30000>;
|
||||
always-running;
|
||||
};
|
||||
};
|
||||
|
||||
&wdt {
|
||||
|
||||
239
target/linux/ath79/dts/qca9558_aruba_ap-115.dts
Normal file
239
target/linux/ath79/dts/qca9558_aruba_ap-115.dts
Normal file
@ -0,0 +1,239 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "qca955x.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
compatible = "aruba,ap-115", "qca,qca9558";
|
||||
model = "Aruba AP-115";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power_green;
|
||||
led-failsafe = &led_power_red;
|
||||
led-running = &led_power_green;
|
||||
led-upgrade = &led_power_red;
|
||||
label-mac-device = ð0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,9600n8";
|
||||
};
|
||||
|
||||
/**
|
||||
* Currently unused GPIOs in OpenWrt:
|
||||
*
|
||||
* TPM-CLK: 19
|
||||
* TPM-IO: 20
|
||||
* ETH-PHY-Interrupt: 11
|
||||
* Power-DC: 22
|
||||
* Power-PoE: 23
|
||||
* Power-PoE-8023af: 17
|
||||
*/
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power_green: power-green {
|
||||
label = "green:power";
|
||||
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_power_red: power-red {
|
||||
label = "red:power";
|
||||
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
radio-24-green {
|
||||
label = "green:radio-24";
|
||||
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
radio-24-amber {
|
||||
label = "amber:radio-24";
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
radio-5-green {
|
||||
label = "green:radio-5";
|
||||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
};
|
||||
|
||||
radio-5-amber {
|
||||
label = "amber:radio-5";
|
||||
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb_vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio 3 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
ath9k: wifi@0,0 {
|
||||
compatible = "pci168c,0033";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
qca,no-eeprom;
|
||||
|
||||
nvmem-cells = <&macaddr_oemdata_1d>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
|
||||
mac-address-increment = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinmux {
|
||||
/**
|
||||
* Ugly hack ahead!
|
||||
*
|
||||
* GPIO05: Bank1-CS / Bank2-CLK
|
||||
* GPIO14: Bank1-CLK / Bank2-CS
|
||||
*
|
||||
* We can not support this with OpenWrt, as this
|
||||
* would require us to influence the pinmux based on the CS.
|
||||
*
|
||||
* We force-select Bank 1. Remember to blame Aruba for that.
|
||||
*/
|
||||
cs0_pin5: spi-cs0-pin5 {
|
||||
pinctrl-single,bits = <0x4 0x900 0xff00>;
|
||||
};
|
||||
|
||||
clk_pin14: spi-cs1-pin14 {
|
||||
pinctrl-single,bits = <0xc 0x0a0000 0xff0000>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cs0_pin5 &clk_pin14>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <25000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@1 {
|
||||
label = "flash-full";
|
||||
reg = <0x0 0x1000000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
uboot: partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x000000 0x040000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
/* Here be dragons */
|
||||
|
||||
partition@100000 {
|
||||
compatible = "denx,uimage";
|
||||
label = "firmware";
|
||||
reg = <0x100000 0xe00000>;
|
||||
};
|
||||
|
||||
oemdata: partition@fe0000 {
|
||||
label = "oemdata";
|
||||
reg = <0xfe0000 0x010000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@ff0000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0xff0000 0x10000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
|
||||
qca,no-eeprom;
|
||||
nvmem-cells = <&macaddr_oemdata_1d>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
|
||||
reset-gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <10000>;
|
||||
reset-deassert-us = <10000>;
|
||||
|
||||
eee-broken-100tx;
|
||||
eee-broken-1000t;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_oemdata_1d>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii-id";
|
||||
|
||||
pll-data = <0xa6000000 0xa0000101 0xa0001313>;
|
||||
|
||||
gmac-config {
|
||||
device = <&gmac>;
|
||||
ge0-sgmii = <0>;
|
||||
txen-delay = <3>;
|
||||
txd-delay = <3>;
|
||||
rxdv-delay = <3>;
|
||||
rxd-delay = <3>;
|
||||
rgmii-enabled = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&oemdata {
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_oemdata_1d: macaddr@1d {
|
||||
reg = <0x1d 0x6>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
@ -12,6 +12,9 @@ case "$FIRMWARE" in
|
||||
8dev,lima)
|
||||
caldata_extract "art" 0x1000 0x800
|
||||
;;
|
||||
aruba,ap-115)
|
||||
caldata_extract "oemdata" 0x1000 0x440
|
||||
;;
|
||||
asus,pl-ac56|\
|
||||
asus,rp-ac51|\
|
||||
asus,rp-ac66)
|
||||
@ -79,6 +82,9 @@ case "$FIRMWARE" in
|
||||
;;
|
||||
"ath9k-eeprom-pci-0000:00:00.0.bin")
|
||||
case $board in
|
||||
aruba,ap-115)
|
||||
caldata_extract "oemdata" 0x5000 0x440
|
||||
;;
|
||||
avm,fritz300e)
|
||||
caldata_extract_reverse "urloader" 0x1541 0x440
|
||||
;;
|
||||
|
||||
@ -413,6 +413,21 @@ define Device/aruba_ap-105
|
||||
endef
|
||||
TARGET_DEVICES += aruba_ap-105
|
||||
|
||||
define Device/aruba_ap-115
|
||||
SOC := qca9558
|
||||
DEVICE_VENDOR := Aruba
|
||||
DEVICE_MODEL := AP-115
|
||||
IMAGE_SIZE := 16000k
|
||||
DEVICE_PACKAGES := kmod-usb2
|
||||
LOADER_TYPE := bin
|
||||
LOADER_FLASH_OFFS := 0x102000
|
||||
COMPILE := loader-$(1).bin
|
||||
COMPILE/loader-$(1).bin := loader-okli-compile
|
||||
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 8128 | uImage none
|
||||
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel
|
||||
endef
|
||||
TARGET_DEVICES += aruba_ap-115
|
||||
|
||||
define Device/aruba_ap-175
|
||||
SOC := ar7161
|
||||
DEVICE_VENDOR := Aruba
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -256,6 +256,8 @@ config ATH79
|
||||
@@ -257,6 +257,8 @@ config ATH79
|
||||
select SYS_SUPPORTS_BIG_ENDIAN
|
||||
select SYS_SUPPORTS_MIPS16
|
||||
select SYS_SUPPORTS_ZBOOT_UART_PROM
|
||||
|
||||
@ -784,7 +784,7 @@ SVN-Revision: 35130
|
||||
|
||||
--- a/include/net/neighbour.h
|
||||
+++ b/include/net/neighbour.h
|
||||
@@ -275,8 +275,10 @@ static inline bool neigh_key_eq128(const
|
||||
@@ -270,8 +270,10 @@ static inline bool neigh_key_eq128(const
|
||||
const u32 *n32 = (const u32 *)n->primary_key;
|
||||
const u32 *p32 = pkey;
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
*
|
||||
@@ -6079,6 +6082,12 @@ int __init cgroup_init(void)
|
||||
|
||||
mutex_unlock(&cgroup_mutex);
|
||||
cgroup_unlock();
|
||||
|
||||
+ /*
|
||||
+ * Apply an implicit disable, knowing that an explicit enable will
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
for_each_subsys(ss, ssid) {
|
||||
if (ss->early_init) {
|
||||
struct cgroup_subsys_state *css =
|
||||
@@ -6717,6 +6726,10 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6716,6 +6725,10 @@ static int __init cgroup_disable(char *s
|
||||
strcmp(token, ss->legacy_name))
|
||||
continue;
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
||||
pr_info("Disabling %s control group subsystem\n",
|
||||
ss->name);
|
||||
@@ -6735,6 +6748,31 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6734,6 +6747,31 @@ static int __init cgroup_disable(char *s
|
||||
}
|
||||
__setup("cgroup_disable=", cgroup_disable);
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
}
|
||||
|
||||
/*********************************
|
||||
@@ -1489,7 +1505,6 @@ static int __init zswap_debugfs_init(voi
|
||||
@@ -1496,7 +1512,6 @@ static int __init zswap_debugfs_init(voi
|
||||
**********************************/
|
||||
static int __init init_zswap(void)
|
||||
{
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret;
|
||||
|
||||
zswap_init_started = true;
|
||||
@@ -1513,33 +1528,23 @@ static int __init init_zswap(void)
|
||||
@@ -1520,33 +1535,23 @@ static int __init init_zswap(void)
|
||||
if (ret)
|
||||
goto hp_fail;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -331,6 +331,9 @@ config BCM63XX
|
||||
@@ -332,6 +332,9 @@ config BCM63XX
|
||||
select SYNC_R4K
|
||||
select DMA_NONCOHERENT
|
||||
select IRQ_MIPS_CPU
|
||||
|
||||
@ -6,6 +6,10 @@
|
||||
board_config_update
|
||||
|
||||
case "$(board_name)" in
|
||||
arcadyan,ar7516)
|
||||
ucidef_set_led_netdev "wan" "WAN" "green:wan" "wan"
|
||||
ucidef_set_led_netdev "wlan0" "WiFi" "green:wifi" "phy0-ap0"
|
||||
;;
|
||||
nucom,r5010unv2 |\
|
||||
sercomm,ad1018)
|
||||
ucidef_set_led_usbport "usb" "USB" "green:usb" "usb1-port1" "usb2-port1"
|
||||
|
||||
@ -5,6 +5,10 @@
|
||||
board_config_update
|
||||
|
||||
case "$(board_name)" in
|
||||
arcadyan,ar7516)
|
||||
ucidef_set_bridge_device switch
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
|
||||
;;
|
||||
comtrend,ar-5381u |\
|
||||
comtrend,ar-5387un |\
|
||||
nucom,r5010unv2)
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
. /lib/functions.sh
|
||||
|
||||
case "$(board_name)" in
|
||||
arcadyan,ar7516 |\
|
||||
comtrend,ar-5381u |\
|
||||
comtrend,ar-5387un |\
|
||||
nucom,r5010unv2)
|
||||
|
||||
186
target/linux/bmips/dts/bcm6328-arcadyan-ar7516.dts
Normal file
186
target/linux/bmips/dts/bcm6328-arcadyan-ar7516.dts
Normal file
@ -0,0 +1,186 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "bcm6328.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Arcadyan AR7516";
|
||||
compatible = "arcadyan,ar7516", "brcm,bcm6328";
|
||||
|
||||
aliases {
|
||||
led-failsafe = &led_upgrade_green;
|
||||
led-upgrade = &led_upgrade_green;
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <100>;
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
};
|
||||
|
||||
bcm43227-sprom {
|
||||
compatible = "brcm,bcma-sprom";
|
||||
|
||||
pci-bus = <1>;
|
||||
pci-dev = <0>;
|
||||
|
||||
nvmem-cells = <&macaddr_cfe_6a0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
mac-address-increment = <1>;
|
||||
|
||||
brcm,sprom = "brcm/bcm43227-sprom.bin";
|
||||
};
|
||||
};
|
||||
|
||||
&ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ðernet {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_cfe_6a0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&hsspi {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <16666667>;
|
||||
spi-tx-bus-width = <2>;
|
||||
spi-rx-bus-width = <2>;
|
||||
reg = <0>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cfe: partition@0 {
|
||||
label = "cfe";
|
||||
reg = <0x000000 0x010000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@10000 {
|
||||
compatible = "brcm,bcm963xx-imagetag";
|
||||
label = "firmware";
|
||||
reg = <0x010000 0x7e0000>;
|
||||
};
|
||||
|
||||
partition@7f0000 {
|
||||
label = "nvram";
|
||||
reg = <0x7f0000 0x010000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&leds {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ephy0_act_led &pinctrl_ephy1_act_led
|
||||
&pinctrl_ephy2_act_led &pinctrl_ephy3_act_led
|
||||
&pinctrl_leds>;
|
||||
|
||||
led_upgrade_green: led@1 {
|
||||
reg = <1>;
|
||||
label = "green:upgrade";
|
||||
};
|
||||
|
||||
led@6 {
|
||||
reg = <6>;
|
||||
active-low;
|
||||
label = "green:wan";
|
||||
};
|
||||
|
||||
led@7 {
|
||||
reg = <7>;
|
||||
active-low;
|
||||
label = "green:wifi";
|
||||
};
|
||||
};
|
||||
|
||||
&ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pinctrl_leds: leds {
|
||||
function = "led";
|
||||
pins = "gpio1", "gpio6", "gpio7";
|
||||
};
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "lan1";
|
||||
|
||||
phy-handle = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan2";
|
||||
|
||||
phy-handle = <&phy2>;
|
||||
phy-mode = "mii";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan3";
|
||||
|
||||
phy-handle = <&phy3>;
|
||||
phy-mode = "mii";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
label = "wan";
|
||||
|
||||
phy-handle = <&phy4>;
|
||||
phy-mode = "mii";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbh {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cfe {
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_cfe_6a0: macaddr@6a0 {
|
||||
reg = <0x6a0 0x6>;
|
||||
};
|
||||
};
|
||||
@ -1,5 +1,18 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
define Device/arcadyan_ar7516
|
||||
$(Device/bcm63xx-cfe)
|
||||
DEVICE_VENDOR := Arcadyan
|
||||
DEVICE_MODEL := AR7516
|
||||
CHIP_ID := 6328
|
||||
CFE_BOARD_ID := AR7516AAW
|
||||
FLASH_MB := 8
|
||||
DEVICE_PACKAGES += $(USB2_PACKAGES) \
|
||||
$(B43_PACKAGES) broadcom-43227-sprom \
|
||||
kmod-leds-bcm6328
|
||||
endef
|
||||
TARGET_DEVICES += arcadyan_ar7516
|
||||
|
||||
define Device/comtrend_ar-5381u
|
||||
$(Device/bcm63xx-cfe)
|
||||
DEVICE_VENDOR := Comtrend
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -274,25 +274,20 @@ config BMIPS_GENERIC
|
||||
@@ -275,25 +275,20 @@ config BMIPS_GENERIC
|
||||
select SYNC_R4K
|
||||
select COMMON_CLK
|
||||
select BCM6345_L1_IRQ
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -274,6 +274,7 @@ config BMIPS_GENERIC
|
||||
@@ -275,6 +275,7 @@ config BMIPS_GENERIC
|
||||
select SYNC_R4K
|
||||
select COMMON_CLK
|
||||
select BCM6345_L1_IRQ
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -272,19 +272,13 @@ config BMIPS_GENERIC
|
||||
@@ -273,19 +273,13 @@ config BMIPS_GENERIC
|
||||
select SYNC_R4K
|
||||
select COMMON_CLK
|
||||
select BCM6345_L1_IRQ
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
select SWAP_IO_SPACE
|
||||
select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
|
||||
select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
|
||||
@@ -294,6 +288,7 @@ config BMIPS_GENERIC
|
||||
@@ -295,6 +289,7 @@ config BMIPS_GENERIC
|
||||
select HAVE_PCI
|
||||
select PCI_DRIVERS_GENERIC
|
||||
select FW_CFE
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -286,7 +286,6 @@ config BMIPS_GENERIC
|
||||
@@ -287,7 +287,6 @@ config BMIPS_GENERIC
|
||||
select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
|
||||
select HARDIRQS_SW_RESEND
|
||||
select HAVE_PCI
|
||||
|
||||
@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
struct page *page_pool_alloc_pages(struct page_pool *pool, gfp_t gfp);
|
||||
--- a/net/Kconfig
|
||||
+++ b/net/Kconfig
|
||||
@@ -434,6 +434,19 @@ config NET_DEVLINK
|
||||
@@ -432,6 +432,19 @@ config NET_DEVLINK
|
||||
config PAGE_POOL
|
||||
bool
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -11789,6 +11789,14 @@ L: netdev@vger.kernel.org
|
||||
@@ -11782,6 +11782,14 @@ L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/net/ethernet/mediatek/
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -11901,6 +11901,7 @@ M: Landen Chao <Landen.Chao@mediatek.com
|
||||
@@ -11894,6 +11894,7 @@ M: Landen Chao <Landen.Chao@mediatek.com
|
||||
M: DENG Qingfang <dqfext@gmail.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -11899,9 +11899,11 @@ MEDIATEK SWITCH DRIVER
|
||||
@@ -11892,9 +11892,11 @@ MEDIATEK SWITCH DRIVER
|
||||
M: Sean Wang <sean.wang@mediatek.com>
|
||||
M: Landen Chao <Landen.Chao@mediatek.com>
|
||||
M: DENG Qingfang <dqfext@gmail.com>
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -12700,6 +12700,7 @@ F: include/uapi/linux/meye.h
|
||||
@@ -12693,6 +12693,7 @@ F: include/uapi/linux/meye.h
|
||||
|
||||
MOTORCOMM PHY DRIVER
|
||||
M: Peter Geis <pgwipeout@gmail.com>
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -17965,6 +17965,11 @@ L: netdev@vger.kernel.org
|
||||
@@ -17958,6 +17958,11 @@ L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/net/ethernet/dlink/sundance.c
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -12364,6 +12364,14 @@ S: Supported
|
||||
@@ -12357,6 +12357,14 @@ S: Supported
|
||||
F: Documentation/devicetree/bindings/mtd/atmel-nand.txt
|
||||
F: drivers/mtd/nand/raw/atmel/*
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/usb/qmi_wwan.c
|
||||
+++ b/drivers/net/usb/qmi_wwan.c
|
||||
@@ -1314,6 +1314,7 @@ static const struct usb_device_id produc
|
||||
@@ -1316,6 +1316,7 @@ static const struct usb_device_id produc
|
||||
{QMI_FIXED_INTF(0x19d2, 0x1426, 2)}, /* ZTE MF91 */
|
||||
{QMI_FIXED_INTF(0x19d2, 0x1428, 2)}, /* Telewell TW-LTE 4G v2 */
|
||||
{QMI_FIXED_INTF(0x19d2, 0x1432, 3)}, /* ZTE ME3620 */
|
||||
|
||||
@ -0,0 +1,242 @@
|
||||
From d5e01266e7f5fa12400d4c8aa4e86fe89dcc61e9 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Date: Mon, 19 Jun 2023 22:46:58 +0200
|
||||
Subject: [PATCH 1/3] leds: trigger: netdev: add additional specific link speed
|
||||
mode
|
||||
|
||||
Add additional modes for specific link speed. Use ethtool APIs to get the
|
||||
current link speed and enable the LED accordingly. Under netdev event
|
||||
handler the rtnl lock is already held and is not needed to be set to
|
||||
access ethtool APIs.
|
||||
|
||||
This is especially useful for PHY and Switch that supports LEDs hw
|
||||
control for specific link speed. (example scenario a PHY that have 2 LED
|
||||
connected one green and one orange where the green is turned on with
|
||||
1000mbps speed and orange is turned on with 10mpbs speed)
|
||||
|
||||
On mode set from sysfs we check if we have enabled split link speed mode
|
||||
and reject enabling generic link mode to prevent wrong and redundant
|
||||
configuration.
|
||||
|
||||
Rework logic on the set baseline state to support these new modes to
|
||||
select if we need to turn on or off the LED.
|
||||
|
||||
Add additional modes:
|
||||
- link_10: Turn on LED when link speed is 10mbps
|
||||
- link_100: Turn on LED when link speed is 100mbps
|
||||
- link_1000: Turn on LED when link speed is 1000mbps
|
||||
|
||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Acked-by: Lee Jones <lee@kernel.org>
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
drivers/leds/trigger/ledtrig-netdev.c | 80 +++++++++++++++++++++++----
|
||||
include/linux/leds.h | 3 +
|
||||
2 files changed, 73 insertions(+), 10 deletions(-)
|
||||
|
||||
--- a/drivers/leds/trigger/ledtrig-netdev.c
|
||||
+++ b/drivers/leds/trigger/ledtrig-netdev.c
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/device.h>
|
||||
+#include <linux/ethtool.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/kernel.h>
|
||||
@@ -21,6 +22,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/mutex.h>
|
||||
+#include <linux/rtnetlink.h>
|
||||
#include <linux/timer.h>
|
||||
#include "../leds.h"
|
||||
|
||||
@@ -52,6 +54,8 @@ struct led_netdev_data {
|
||||
unsigned int last_activity;
|
||||
|
||||
unsigned long mode;
|
||||
+ int link_speed;
|
||||
+
|
||||
bool carrier_link_up;
|
||||
bool hw_control;
|
||||
};
|
||||
@@ -77,7 +81,24 @@ static void set_baseline_state(struct le
|
||||
if (!trigger_data->carrier_link_up) {
|
||||
led_set_brightness(led_cdev, LED_OFF);
|
||||
} else {
|
||||
+ bool blink_on = false;
|
||||
+
|
||||
if (test_bit(TRIGGER_NETDEV_LINK, &trigger_data->mode))
|
||||
+ blink_on = true;
|
||||
+
|
||||
+ if (test_bit(TRIGGER_NETDEV_LINK_10, &trigger_data->mode) &&
|
||||
+ trigger_data->link_speed == SPEED_10)
|
||||
+ blink_on = true;
|
||||
+
|
||||
+ if (test_bit(TRIGGER_NETDEV_LINK_100, &trigger_data->mode) &&
|
||||
+ trigger_data->link_speed == SPEED_100)
|
||||
+ blink_on = true;
|
||||
+
|
||||
+ if (test_bit(TRIGGER_NETDEV_LINK_1000, &trigger_data->mode) &&
|
||||
+ trigger_data->link_speed == SPEED_1000)
|
||||
+ blink_on = true;
|
||||
+
|
||||
+ if (blink_on)
|
||||
led_set_brightness(led_cdev,
|
||||
led_cdev->blink_brightness);
|
||||
else
|
||||
@@ -161,6 +182,18 @@ static bool can_hw_control(struct led_ne
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void get_device_state(struct led_netdev_data *trigger_data)
|
||||
+{
|
||||
+ struct ethtool_link_ksettings cmd;
|
||||
+
|
||||
+ trigger_data->carrier_link_up = netif_carrier_ok(trigger_data->net_dev);
|
||||
+ if (!trigger_data->carrier_link_up)
|
||||
+ return;
|
||||
+
|
||||
+ if (!__ethtool_get_link_ksettings(trigger_data->net_dev, &cmd))
|
||||
+ trigger_data->link_speed = cmd.base.speed;
|
||||
+}
|
||||
+
|
||||
static ssize_t device_name_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
@@ -196,8 +229,12 @@ static int set_device_name(struct led_ne
|
||||
dev_get_by_name(&init_net, trigger_data->device_name);
|
||||
|
||||
trigger_data->carrier_link_up = false;
|
||||
- if (trigger_data->net_dev != NULL)
|
||||
- trigger_data->carrier_link_up = netif_carrier_ok(trigger_data->net_dev);
|
||||
+ trigger_data->link_speed = SPEED_UNKNOWN;
|
||||
+ if (trigger_data->net_dev != NULL) {
|
||||
+ rtnl_lock();
|
||||
+ get_device_state(trigger_data);
|
||||
+ rtnl_unlock();
|
||||
+ }
|
||||
|
||||
trigger_data->last_activity = 0;
|
||||
|
||||
@@ -234,6 +271,9 @@ static ssize_t netdev_led_attr_show(stru
|
||||
|
||||
switch (attr) {
|
||||
case TRIGGER_NETDEV_LINK:
|
||||
+ case TRIGGER_NETDEV_LINK_10:
|
||||
+ case TRIGGER_NETDEV_LINK_100:
|
||||
+ case TRIGGER_NETDEV_LINK_1000:
|
||||
case TRIGGER_NETDEV_TX:
|
||||
case TRIGGER_NETDEV_RX:
|
||||
bit = attr;
|
||||
@@ -249,7 +289,7 @@ static ssize_t netdev_led_attr_store(str
|
||||
size_t size, enum led_trigger_netdev_modes attr)
|
||||
{
|
||||
struct led_netdev_data *trigger_data = led_trigger_get_drvdata(dev);
|
||||
- unsigned long state;
|
||||
+ unsigned long state, mode = trigger_data->mode;
|
||||
int ret;
|
||||
int bit;
|
||||
|
||||
@@ -259,6 +299,9 @@ static ssize_t netdev_led_attr_store(str
|
||||
|
||||
switch (attr) {
|
||||
case TRIGGER_NETDEV_LINK:
|
||||
+ case TRIGGER_NETDEV_LINK_10:
|
||||
+ case TRIGGER_NETDEV_LINK_100:
|
||||
+ case TRIGGER_NETDEV_LINK_1000:
|
||||
case TRIGGER_NETDEV_TX:
|
||||
case TRIGGER_NETDEV_RX:
|
||||
bit = attr;
|
||||
@@ -267,13 +310,20 @@ static ssize_t netdev_led_attr_store(str
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- cancel_delayed_work_sync(&trigger_data->work);
|
||||
-
|
||||
if (state)
|
||||
- set_bit(bit, &trigger_data->mode);
|
||||
+ set_bit(bit, &mode);
|
||||
else
|
||||
- clear_bit(bit, &trigger_data->mode);
|
||||
+ clear_bit(bit, &mode);
|
||||
+
|
||||
+ if (test_bit(TRIGGER_NETDEV_LINK, &mode) &&
|
||||
+ (test_bit(TRIGGER_NETDEV_LINK_10, &mode) ||
|
||||
+ test_bit(TRIGGER_NETDEV_LINK_100, &mode) ||
|
||||
+ test_bit(TRIGGER_NETDEV_LINK_1000, &mode)))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ cancel_delayed_work_sync(&trigger_data->work);
|
||||
|
||||
+ trigger_data->mode = mode;
|
||||
trigger_data->hw_control = can_hw_control(trigger_data);
|
||||
|
||||
set_baseline_state(trigger_data);
|
||||
@@ -295,6 +345,9 @@ static ssize_t netdev_led_attr_store(str
|
||||
static DEVICE_ATTR_RW(trigger_name)
|
||||
|
||||
DEFINE_NETDEV_TRIGGER(link, TRIGGER_NETDEV_LINK);
|
||||
+DEFINE_NETDEV_TRIGGER(link_10, TRIGGER_NETDEV_LINK_10);
|
||||
+DEFINE_NETDEV_TRIGGER(link_100, TRIGGER_NETDEV_LINK_100);
|
||||
+DEFINE_NETDEV_TRIGGER(link_1000, TRIGGER_NETDEV_LINK_1000);
|
||||
DEFINE_NETDEV_TRIGGER(tx, TRIGGER_NETDEV_TX);
|
||||
DEFINE_NETDEV_TRIGGER(rx, TRIGGER_NETDEV_RX);
|
||||
|
||||
@@ -338,6 +391,9 @@ static DEVICE_ATTR_RW(interval);
|
||||
static struct attribute *netdev_trig_attrs[] = {
|
||||
&dev_attr_device_name.attr,
|
||||
&dev_attr_link.attr,
|
||||
+ &dev_attr_link_10.attr,
|
||||
+ &dev_attr_link_100.attr,
|
||||
+ &dev_attr_link_1000.attr,
|
||||
&dev_attr_rx.attr,
|
||||
&dev_attr_tx.attr,
|
||||
&dev_attr_interval.attr,
|
||||
@@ -368,9 +424,10 @@ static int netdev_trig_notify(struct not
|
||||
mutex_lock(&trigger_data->lock);
|
||||
|
||||
trigger_data->carrier_link_up = false;
|
||||
+ trigger_data->link_speed = SPEED_UNKNOWN;
|
||||
switch (evt) {
|
||||
case NETDEV_CHANGENAME:
|
||||
- trigger_data->carrier_link_up = netif_carrier_ok(dev);
|
||||
+ get_device_state(trigger_data);
|
||||
fallthrough;
|
||||
case NETDEV_REGISTER:
|
||||
if (trigger_data->net_dev)
|
||||
@@ -384,7 +441,7 @@ static int netdev_trig_notify(struct not
|
||||
break;
|
||||
case NETDEV_UP:
|
||||
case NETDEV_CHANGE:
|
||||
- trigger_data->carrier_link_up = netif_carrier_ok(dev);
|
||||
+ get_device_state(trigger_data);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -427,7 +484,10 @@ static void netdev_trig_work(struct work
|
||||
if (trigger_data->last_activity != new_activity) {
|
||||
led_stop_software_blink(trigger_data->led_cdev);
|
||||
|
||||
- invert = test_bit(TRIGGER_NETDEV_LINK, &trigger_data->mode);
|
||||
+ invert = test_bit(TRIGGER_NETDEV_LINK, &trigger_data->mode) ||
|
||||
+ test_bit(TRIGGER_NETDEV_LINK_10, &trigger_data->mode) ||
|
||||
+ test_bit(TRIGGER_NETDEV_LINK_100, &trigger_data->mode) ||
|
||||
+ test_bit(TRIGGER_NETDEV_LINK_1000, &trigger_data->mode);
|
||||
interval = jiffies_to_msecs(
|
||||
atomic_read(&trigger_data->interval));
|
||||
/* base state is ON (link present) */
|
||||
--- a/include/linux/leds.h
|
||||
+++ b/include/linux/leds.h
|
||||
@@ -530,6 +530,9 @@ static inline void *led_get_trigger_data
|
||||
/* Trigger specific enum */
|
||||
enum led_trigger_netdev_modes {
|
||||
TRIGGER_NETDEV_LINK = 0,
|
||||
+ TRIGGER_NETDEV_LINK_10,
|
||||
+ TRIGGER_NETDEV_LINK_100,
|
||||
+ TRIGGER_NETDEV_LINK_1000,
|
||||
TRIGGER_NETDEV_TX,
|
||||
TRIGGER_NETDEV_RX,
|
||||
|
||||
@ -0,0 +1,138 @@
|
||||
From f22f95b9ff1551c9bab13104131929f33d51f23f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Date: Mon, 19 Jun 2023 22:46:59 +0200
|
||||
Subject: [PATCH 2/3] leds: trigger: netdev: add additional specific link
|
||||
duplex mode
|
||||
|
||||
Add additional modes for specific link duplex. Use ethtool APIs to get the
|
||||
current link duplex and enable the LED accordingly. Under netdev event
|
||||
handler the rtnl lock is already held and is not needed to be set to
|
||||
access ethtool APIs.
|
||||
|
||||
This is especially useful for PHY and Switch that supports LEDs hw
|
||||
control for specific link duplex.
|
||||
|
||||
Add additional modes:
|
||||
- half_duplex: Turn on LED when link is half duplex
|
||||
- full_duplex: Turn on LED when link is full duplex
|
||||
|
||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Acked-by: Lee Jones <lee@kernel.org>
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
drivers/leds/trigger/ledtrig-netdev.c | 27 +++++++++++++++++++++++++--
|
||||
include/linux/leds.h | 2 ++
|
||||
2 files changed, 27 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/leds/trigger/ledtrig-netdev.c
|
||||
+++ b/drivers/leds/trigger/ledtrig-netdev.c
|
||||
@@ -55,6 +55,7 @@ struct led_netdev_data {
|
||||
|
||||
unsigned long mode;
|
||||
int link_speed;
|
||||
+ u8 duplex;
|
||||
|
||||
bool carrier_link_up;
|
||||
bool hw_control;
|
||||
@@ -98,6 +99,14 @@ static void set_baseline_state(struct le
|
||||
trigger_data->link_speed == SPEED_1000)
|
||||
blink_on = true;
|
||||
|
||||
+ if (test_bit(TRIGGER_NETDEV_HALF_DUPLEX, &trigger_data->mode) &&
|
||||
+ trigger_data->duplex == DUPLEX_HALF)
|
||||
+ blink_on = true;
|
||||
+
|
||||
+ if (test_bit(TRIGGER_NETDEV_FULL_DUPLEX, &trigger_data->mode) &&
|
||||
+ trigger_data->duplex == DUPLEX_FULL)
|
||||
+ blink_on = true;
|
||||
+
|
||||
if (blink_on)
|
||||
led_set_brightness(led_cdev,
|
||||
led_cdev->blink_brightness);
|
||||
@@ -190,8 +199,10 @@ static void get_device_state(struct led_
|
||||
if (!trigger_data->carrier_link_up)
|
||||
return;
|
||||
|
||||
- if (!__ethtool_get_link_ksettings(trigger_data->net_dev, &cmd))
|
||||
+ if (!__ethtool_get_link_ksettings(trigger_data->net_dev, &cmd)) {
|
||||
trigger_data->link_speed = cmd.base.speed;
|
||||
+ trigger_data->duplex = cmd.base.duplex;
|
||||
+ }
|
||||
}
|
||||
|
||||
static ssize_t device_name_show(struct device *dev,
|
||||
@@ -230,6 +241,7 @@ static int set_device_name(struct led_ne
|
||||
|
||||
trigger_data->carrier_link_up = false;
|
||||
trigger_data->link_speed = SPEED_UNKNOWN;
|
||||
+ trigger_data->duplex = DUPLEX_UNKNOWN;
|
||||
if (trigger_data->net_dev != NULL) {
|
||||
rtnl_lock();
|
||||
get_device_state(trigger_data);
|
||||
@@ -274,6 +286,8 @@ static ssize_t netdev_led_attr_show(stru
|
||||
case TRIGGER_NETDEV_LINK_10:
|
||||
case TRIGGER_NETDEV_LINK_100:
|
||||
case TRIGGER_NETDEV_LINK_1000:
|
||||
+ case TRIGGER_NETDEV_HALF_DUPLEX:
|
||||
+ case TRIGGER_NETDEV_FULL_DUPLEX:
|
||||
case TRIGGER_NETDEV_TX:
|
||||
case TRIGGER_NETDEV_RX:
|
||||
bit = attr;
|
||||
@@ -302,6 +316,8 @@ static ssize_t netdev_led_attr_store(str
|
||||
case TRIGGER_NETDEV_LINK_10:
|
||||
case TRIGGER_NETDEV_LINK_100:
|
||||
case TRIGGER_NETDEV_LINK_1000:
|
||||
+ case TRIGGER_NETDEV_HALF_DUPLEX:
|
||||
+ case TRIGGER_NETDEV_FULL_DUPLEX:
|
||||
case TRIGGER_NETDEV_TX:
|
||||
case TRIGGER_NETDEV_RX:
|
||||
bit = attr;
|
||||
@@ -348,6 +364,8 @@ DEFINE_NETDEV_TRIGGER(link, TRIGGER_NETD
|
||||
DEFINE_NETDEV_TRIGGER(link_10, TRIGGER_NETDEV_LINK_10);
|
||||
DEFINE_NETDEV_TRIGGER(link_100, TRIGGER_NETDEV_LINK_100);
|
||||
DEFINE_NETDEV_TRIGGER(link_1000, TRIGGER_NETDEV_LINK_1000);
|
||||
+DEFINE_NETDEV_TRIGGER(half_duplex, TRIGGER_NETDEV_HALF_DUPLEX);
|
||||
+DEFINE_NETDEV_TRIGGER(full_duplex, TRIGGER_NETDEV_FULL_DUPLEX);
|
||||
DEFINE_NETDEV_TRIGGER(tx, TRIGGER_NETDEV_TX);
|
||||
DEFINE_NETDEV_TRIGGER(rx, TRIGGER_NETDEV_RX);
|
||||
|
||||
@@ -394,6 +412,8 @@ static struct attribute *netdev_trig_att
|
||||
&dev_attr_link_10.attr,
|
||||
&dev_attr_link_100.attr,
|
||||
&dev_attr_link_1000.attr,
|
||||
+ &dev_attr_full_duplex.attr,
|
||||
+ &dev_attr_half_duplex.attr,
|
||||
&dev_attr_rx.attr,
|
||||
&dev_attr_tx.attr,
|
||||
&dev_attr_interval.attr,
|
||||
@@ -425,6 +445,7 @@ static int netdev_trig_notify(struct not
|
||||
|
||||
trigger_data->carrier_link_up = false;
|
||||
trigger_data->link_speed = SPEED_UNKNOWN;
|
||||
+ trigger_data->duplex = DUPLEX_UNKNOWN;
|
||||
switch (evt) {
|
||||
case NETDEV_CHANGENAME:
|
||||
get_device_state(trigger_data);
|
||||
@@ -487,7 +508,9 @@ static void netdev_trig_work(struct work
|
||||
invert = test_bit(TRIGGER_NETDEV_LINK, &trigger_data->mode) ||
|
||||
test_bit(TRIGGER_NETDEV_LINK_10, &trigger_data->mode) ||
|
||||
test_bit(TRIGGER_NETDEV_LINK_100, &trigger_data->mode) ||
|
||||
- test_bit(TRIGGER_NETDEV_LINK_1000, &trigger_data->mode);
|
||||
+ test_bit(TRIGGER_NETDEV_LINK_1000, &trigger_data->mode) ||
|
||||
+ test_bit(TRIGGER_NETDEV_HALF_DUPLEX, &trigger_data->mode) ||
|
||||
+ test_bit(TRIGGER_NETDEV_FULL_DUPLEX, &trigger_data->mode);
|
||||
interval = jiffies_to_msecs(
|
||||
atomic_read(&trigger_data->interval));
|
||||
/* base state is ON (link present) */
|
||||
--- a/include/linux/leds.h
|
||||
+++ b/include/linux/leds.h
|
||||
@@ -533,6 +533,8 @@ enum led_trigger_netdev_modes {
|
||||
TRIGGER_NETDEV_LINK_10,
|
||||
TRIGGER_NETDEV_LINK_100,
|
||||
TRIGGER_NETDEV_LINK_1000,
|
||||
+ TRIGGER_NETDEV_HALF_DUPLEX,
|
||||
+ TRIGGER_NETDEV_FULL_DUPLEX,
|
||||
TRIGGER_NETDEV_TX,
|
||||
TRIGGER_NETDEV_RX,
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
From b655892ffd6d89b0c7407e099c40dbde82ee3f03 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Date: Mon, 19 Jun 2023 22:47:00 +0200
|
||||
Subject: [PATCH 3/3] leds: trigger: netdev: expose hw_control status via sysfs
|
||||
|
||||
Expose hw_control status via sysfs for the netdev trigger to give
|
||||
userspace better understanding of the current state of the trigger and
|
||||
the LED.
|
||||
|
||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
|
||||
Acked-by: Lee Jones <lee@kernel.org>
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
drivers/leds/trigger/ledtrig-netdev.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
--- a/drivers/leds/trigger/ledtrig-netdev.c
|
||||
+++ b/drivers/leds/trigger/ledtrig-netdev.c
|
||||
@@ -406,6 +406,16 @@ static ssize_t interval_store(struct dev
|
||||
|
||||
static DEVICE_ATTR_RW(interval);
|
||||
|
||||
+static ssize_t hw_control_show(struct device *dev,
|
||||
+ struct device_attribute *attr, char *buf)
|
||||
+{
|
||||
+ struct led_netdev_data *trigger_data = led_trigger_get_drvdata(dev);
|
||||
+
|
||||
+ return sprintf(buf, "%d\n", trigger_data->hw_control);
|
||||
+}
|
||||
+
|
||||
+static DEVICE_ATTR_RO(hw_control);
|
||||
+
|
||||
static struct attribute *netdev_trig_attrs[] = {
|
||||
&dev_attr_device_name.attr,
|
||||
&dev_attr_link.attr,
|
||||
@@ -417,6 +427,7 @@ static struct attribute *netdev_trig_att
|
||||
&dev_attr_rx.attr,
|
||||
&dev_attr_tx.attr,
|
||||
&dev_attr_interval.attr,
|
||||
+ &dev_attr_hw_control.attr,
|
||||
NULL
|
||||
};
|
||||
ATTRIBUTE_GROUPS(netdev_trig);
|
||||
@ -0,0 +1,64 @@
|
||||
From 2555f35a4f428a9bfdf09aa0459dbfdf59a24a9a Mon Sep 17 00:00:00 2001
|
||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Date: Wed, 21 Jun 2023 11:54:09 +0200
|
||||
Subject: [PATCH] net: dsa: qca8k: add support for additional modes for netdev
|
||||
trigger
|
||||
|
||||
The QCA8K switch supports additional modes that can be handled in
|
||||
hardware for the LED netdev trigger.
|
||||
|
||||
Add these additional modes to further support the Switch LEDs and
|
||||
offload more blink modes.
|
||||
|
||||
Add additional modes:
|
||||
- link_10
|
||||
- link_100
|
||||
- link_1000
|
||||
- half_duplex
|
||||
- full_duplex
|
||||
|
||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Link: https://lore.kernel.org/r/20230621095409.25859-1-ansuelsmth@gmail.com
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
drivers/net/dsa/qca/qca8k-leds.c | 20 ++++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
--- a/drivers/net/dsa/qca/qca8k-leds.c
|
||||
+++ b/drivers/net/dsa/qca/qca8k-leds.c
|
||||
@@ -68,6 +68,16 @@ qca8k_parse_netdev(unsigned long rules,
|
||||
*offload_trigger |= QCA8K_LED_TX_BLINK_MASK;
|
||||
if (test_bit(TRIGGER_NETDEV_RX, &rules))
|
||||
*offload_trigger |= QCA8K_LED_RX_BLINK_MASK;
|
||||
+ if (test_bit(TRIGGER_NETDEV_LINK_10, &rules))
|
||||
+ *offload_trigger |= QCA8K_LED_LINK_10M_EN_MASK;
|
||||
+ if (test_bit(TRIGGER_NETDEV_LINK_100, &rules))
|
||||
+ *offload_trigger |= QCA8K_LED_LINK_100M_EN_MASK;
|
||||
+ if (test_bit(TRIGGER_NETDEV_LINK_1000, &rules))
|
||||
+ *offload_trigger |= QCA8K_LED_LINK_1000M_EN_MASK;
|
||||
+ if (test_bit(TRIGGER_NETDEV_HALF_DUPLEX, &rules))
|
||||
+ *offload_trigger |= QCA8K_LED_HALF_DUPLEX_MASK;
|
||||
+ if (test_bit(TRIGGER_NETDEV_FULL_DUPLEX, &rules))
|
||||
+ *offload_trigger |= QCA8K_LED_FULL_DUPLEX_MASK;
|
||||
|
||||
if (rules && !*offload_trigger)
|
||||
return -EOPNOTSUPP;
|
||||
@@ -322,6 +332,16 @@ qca8k_cled_hw_control_get(struct led_cla
|
||||
set_bit(TRIGGER_NETDEV_TX, rules);
|
||||
if (val & QCA8K_LED_RX_BLINK_MASK)
|
||||
set_bit(TRIGGER_NETDEV_RX, rules);
|
||||
+ if (val & QCA8K_LED_LINK_10M_EN_MASK)
|
||||
+ set_bit(TRIGGER_NETDEV_LINK_10, rules);
|
||||
+ if (val & QCA8K_LED_LINK_100M_EN_MASK)
|
||||
+ set_bit(TRIGGER_NETDEV_LINK_100, rules);
|
||||
+ if (val & QCA8K_LED_LINK_1000M_EN_MASK)
|
||||
+ set_bit(TRIGGER_NETDEV_LINK_1000, rules);
|
||||
+ if (val & QCA8K_LED_HALF_DUPLEX_MASK)
|
||||
+ set_bit(TRIGGER_NETDEV_HALF_DUPLEX, rules);
|
||||
+ if (val & QCA8K_LED_FULL_DUPLEX_MASK)
|
||||
+ set_bit(TRIGGER_NETDEV_FULL_DUPLEX, rules);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -199,7 +199,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
bool
|
||||
--- a/net/Kconfig
|
||||
+++ b/net/Kconfig
|
||||
@@ -432,7 +432,7 @@ config NET_DEVLINK
|
||||
@@ -430,7 +430,7 @@ config NET_DEVLINK
|
||||
default n
|
||||
|
||||
config PAGE_POOL
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
* @name: name of the struct -- the string is not copied internally
|
||||
--- a/net/Makefile
|
||||
+++ b/net/Makefile
|
||||
@@ -52,7 +52,7 @@ obj-$(CONFIG_TIPC) += tipc/
|
||||
@@ -51,7 +51,7 @@ obj-$(CONFIG_TIPC) += tipc/
|
||||
obj-$(CONFIG_NETLABEL) += netlabel/
|
||||
obj-$(CONFIG_IUCV) += iucv/
|
||||
obj-$(CONFIG_SMC) += smc/
|
||||
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* Specifies the type of the struct net_device::ml_priv pointer */
|
||||
enum netdev_ml_priv_type {
|
||||
@@ -2015,6 +2020,7 @@ struct net_device {
|
||||
@@ -2014,6 +2019,7 @@ struct net_device {
|
||||
/* Read-mostly cache-line for fast-path access */
|
||||
unsigned int flags;
|
||||
unsigned int priv_flags;
|
||||
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
const struct net_device_ops *netdev_ops;
|
||||
int ifindex;
|
||||
unsigned short gflags;
|
||||
@@ -2075,6 +2081,11 @@ struct net_device {
|
||||
@@ -2074,6 +2080,11 @@ struct net_device {
|
||||
const struct tlsdev_ops *tlsdev_ops;
|
||||
#endif
|
||||
|
||||
@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
const struct header_ops *header_ops;
|
||||
|
||||
unsigned char operstate;
|
||||
@@ -2149,6 +2160,10 @@ struct net_device {
|
||||
@@ -2145,6 +2156,10 @@ struct net_device {
|
||||
struct mctp_dev __rcu *mctp_ptr;
|
||||
#endif
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1169,6 +1171,11 @@ static const struct usb_device_id option
|
||||
@@ -1173,6 +1175,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@ -29,7 +29,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1169,6 +1171,11 @@ static const struct usb_device_id option
|
||||
@@ -1173,6 +1175,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
---
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1100,9 +1100,6 @@ config FW_ARC
|
||||
@@ -1101,9 +1101,6 @@ config FW_ARC
|
||||
config ARCH_MAY_HAVE_PC_FDC
|
||||
bool
|
||||
|
||||
@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
config CEVT_BCM1480
|
||||
bool
|
||||
|
||||
@@ -3182,6 +3179,18 @@ choice
|
||||
@@ -3183,6 +3180,18 @@ choice
|
||||
bool "Extend builtin kernel arguments with bootloader arguments"
|
||||
endchoice
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -2101,6 +2101,8 @@ struct net_device {
|
||||
@@ -2100,6 +2100,8 @@ struct net_device {
|
||||
struct netdev_hw_addr_list mc;
|
||||
struct netdev_hw_addr_list dev_addrs;
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/**
|
||||
* napi_disable - prevent NAPI from scheduling
|
||||
@@ -3368,6 +3369,7 @@ struct softnet_data {
|
||||
@@ -3364,6 +3365,7 @@ struct softnet_data {
|
||||
unsigned int processed;
|
||||
unsigned int time_squeeze;
|
||||
unsigned int received_rps;
|
||||
@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
|
||||
int (*poll)(struct napi_struct *, int), int weight)
|
||||
{
|
||||
@@ -11371,6 +11446,9 @@ static int dev_cpu_dead(unsigned int old
|
||||
@@ -11369,6 +11444,9 @@ static int dev_cpu_dead(unsigned int old
|
||||
raise_softirq_irqoff(NET_TX_SOFTIRQ);
|
||||
local_irq_enable();
|
||||
|
||||
@ -172,7 +172,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#ifdef CONFIG_RPS
|
||||
remsd = oldsd->rps_ipi_list;
|
||||
oldsd->rps_ipi_list = NULL;
|
||||
@@ -11710,6 +11788,7 @@ static int __init net_dev_init(void)
|
||||
@@ -11708,6 +11786,7 @@ static int __init net_dev_init(void)
|
||||
sd->cpu = i;
|
||||
#endif
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
---
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1032,9 +1032,6 @@ config FW_ARC
|
||||
@@ -1033,9 +1033,6 @@ config FW_ARC
|
||||
config ARCH_MAY_HAVE_PC_FDC
|
||||
bool
|
||||
|
||||
@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
config CEVT_BCM1480
|
||||
bool
|
||||
|
||||
@@ -3089,6 +3086,18 @@ choice
|
||||
@@ -3090,6 +3087,18 @@ choice
|
||||
bool "Extend builtin kernel arguments with bootloader arguments"
|
||||
endchoice
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -2429,6 +2429,12 @@ config MIPS_VPE_LOADER
|
||||
@@ -2430,6 +2430,12 @@ config MIPS_VPE_LOADER
|
||||
Includes a loader for loading an elf relocatable object
|
||||
onto another VPE and running it.
|
||||
|
||||
|
||||
@ -854,7 +854,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
|
||||
+};
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -7526,6 +7526,14 @@ F: drivers/ptp/ptp_qoriq.c
|
||||
@@ -7519,6 +7519,14 @@ F: drivers/ptp/ptp_qoriq.c
|
||||
F: drivers/ptp/ptp_qoriq_debugfs.c
|
||||
F: include/linux/fsl/ptp_qoriq.h
|
||||
|
||||
|
||||
288
target/linux/mediatek/dts/mt7986b-netgear-wax220.dts
Normal file
288
target/linux/mediatek/dts/mt7986b-netgear-wax220.dts
Normal file
@ -0,0 +1,288 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
|
||||
/dts-v1/;
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
#include "mt7986b.dtsi"
|
||||
|
||||
/ {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x2>;
|
||||
model = "Netgear WAX220";
|
||||
compatible = "netgear,wax220", "mediatek,mt7986b-spim-snand-rfb";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
led-boot = &led_power_blue;
|
||||
led-failsafe = &led_power_amber;
|
||||
led-running = &led_power_green;
|
||||
led-upgrade = &led_power_amber;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
gpios = <&pio 9 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
label = "reset";
|
||||
};
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
wlan5g_green {
|
||||
gpios = <&pio 12 GPIO_ACTIVE_LOW>;
|
||||
label = "green:wlan5g";
|
||||
};
|
||||
|
||||
led_power_amber: power_amber {
|
||||
gpios = <&pio 15 GPIO_ACTIVE_LOW>;
|
||||
label = "amber:power";
|
||||
};
|
||||
|
||||
wlan2g_green {
|
||||
gpios = <&pio 19 GPIO_ACTIVE_HIGH>;
|
||||
label = "green:wlan2g";
|
||||
};
|
||||
|
||||
led_power_blue: power_blue {
|
||||
gpios = <&pio 7 GPIO_ACTIVE_HIGH>;
|
||||
label = "blue:power";
|
||||
};
|
||||
|
||||
led_power_green: power_green {
|
||||
gpios = <&pio 10 GPIO_ACTIVE_LOW>;
|
||||
label = "green:power";
|
||||
};
|
||||
|
||||
wlan2g_blue {
|
||||
gpios = <&pio 1 GPIO_ACTIVE_LOW>;
|
||||
label = "blue:wlan2g";
|
||||
};
|
||||
|
||||
lan_green {
|
||||
gpios = <&pio 22 GPIO_ACTIVE_HIGH>;
|
||||
label = "green:lan";
|
||||
};
|
||||
|
||||
lan_amber {
|
||||
gpios = <&pio 13 GPIO_ACTIVE_LOW>;
|
||||
label = "amber:lan";
|
||||
};
|
||||
|
||||
wlan5g_blue {
|
||||
gpios = <&pio 2 GPIO_ACTIVE_LOW>;
|
||||
label = "blue:wlan5g";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ð {
|
||||
status = "okay";
|
||||
|
||||
gmac1: mac@1 {
|
||||
compatible = "mediatek,eth-mac";
|
||||
reg = <1>;
|
||||
phy-handle = <&phy6>;
|
||||
phy-mode = "2500base-x";
|
||||
};
|
||||
|
||||
mdio: mdio-bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phy6: ethernet-phy@6 {
|
||||
reg = <6>;
|
||||
reset-assert-us = <100000>;
|
||||
reset-deassert-us = <100000>;
|
||||
reset-gpios = <&pio 6 GPIO_ACTIVE_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <46 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&pio {
|
||||
spi_flash_pins: spi-flash-pins-33-to-38 {
|
||||
mux {
|
||||
function = "spi";
|
||||
groups = "spi0", "spi0_wp_hold";
|
||||
};
|
||||
conf-pu {
|
||||
pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
|
||||
drive-strength = <8>;
|
||||
mediatek,pull-up-adv = <0>; /* bias-disable */
|
||||
};
|
||||
conf-pd {
|
||||
pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
|
||||
drive-strength = <8>;
|
||||
mediatek,pull-down-adv = <0>; /* bias-disable */
|
||||
};
|
||||
};
|
||||
|
||||
wf_2g_5g_pins: wf_2g_5g-pins {
|
||||
mux {
|
||||
function = "wifi";
|
||||
groups = "wf_2g", "wf_5g";
|
||||
};
|
||||
conf {
|
||||
pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
|
||||
"WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
|
||||
"WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
|
||||
"WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
|
||||
"WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
|
||||
"WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
|
||||
"WF1_TOP_CLK", "WF1_TOP_DATA";
|
||||
drive-strength = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
wf_dbdc_pins: wf-dbdc-pins {
|
||||
mux {
|
||||
function = "wifi";
|
||||
groups = "wf_dbdc";
|
||||
};
|
||||
conf {
|
||||
pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
|
||||
"WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
|
||||
"WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
|
||||
"WF0_TOP_CLK", "WF0_TOP_DATA";
|
||||
drive-strength = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi_flash_pins>;
|
||||
status = "okay";
|
||||
|
||||
spi_nand_flash: flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-nand";
|
||||
reg = <0>;
|
||||
|
||||
spi-max-frequency = <20000000>;
|
||||
spi-tx-buswidth = <4>;
|
||||
spi-rx-buswidth = <4>;
|
||||
|
||||
partitions: partitions {
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
partition@5fc0000 {
|
||||
label = "Traffic";
|
||||
reg = <0x5fc0000 0x200000>;
|
||||
};
|
||||
|
||||
partition@63c0000 {
|
||||
label = "NTGRcryptD";
|
||||
reg = <0x63c0000 0x500000>;
|
||||
};
|
||||
|
||||
partition@580000 {
|
||||
label = "ubi";
|
||||
reg = <0x580000 0x5140000>;
|
||||
};
|
||||
|
||||
factory: partition@180000 {
|
||||
label = "Factory";
|
||||
reg = <0x180000 0x200000>;
|
||||
};
|
||||
|
||||
partition@69c0000 {
|
||||
label = "User_data";
|
||||
reg = <0x69c0000 0x640000>;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x100000 0x80000>;
|
||||
};
|
||||
|
||||
partition@68c0000 {
|
||||
label = "LOG";
|
||||
reg = <0x68c0000 0x100000>;
|
||||
};
|
||||
|
||||
partition@5ac0000 {
|
||||
label = "POT";
|
||||
reg = <0x5ac0000 0x100000>;
|
||||
};
|
||||
|
||||
partition@0 {
|
||||
label = "BL2";
|
||||
read-only;
|
||||
reg = <0x0 0x100000>;
|
||||
};
|
||||
|
||||
partition@5bc0000 {
|
||||
label = "Language";
|
||||
reg = <0x5bc0000 0x400000>;
|
||||
};
|
||||
|
||||
partition@61c0000 {
|
||||
label = "Cert";
|
||||
reg = <0x61c0000 0x100000>;
|
||||
};
|
||||
|
||||
partition@380000 {
|
||||
label = "FIP";
|
||||
reg = <0x380000 0x200000>;
|
||||
};
|
||||
|
||||
partition@56c0000 {
|
||||
label = "RAE";
|
||||
reg = <0x56c0000 0x400000>;
|
||||
};
|
||||
|
||||
partition@62c0000 {
|
||||
label = "NTGRcryptK";
|
||||
reg = <0x62c0000 0x100000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&watchdog {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "dbdc";
|
||||
pinctrl-0 = <&wf_2g_5g_pins>;
|
||||
pinctrl-1 = <&wf_dbdc_pins>;
|
||||
|
||||
mediatek,mtd-eeprom = <&factory 0x0>;
|
||||
};
|
||||
@ -14,6 +14,11 @@ livinet,zr-3020)
|
||||
ucidef_set_led_netdev "wlan2g" "WLAN2G" "blue:wlan2g" "phy0-ap0"
|
||||
ucidef_set_led_netdev "wlan5g" "WLAN5G" "blue:wlan5g" "phy1-ap0"
|
||||
;;
|
||||
netgear,wax220)
|
||||
ucidef_set_led_netdev "eth0" "LAN" "green:lan" "eth0"
|
||||
ucidef_set_led_netdev "wlan2g" "WLAN2G" "blue:wlan2g" "phy0-ap0"
|
||||
ucidef_set_led_netdev "wlan5g" "WLAN5G" "blue:wlan5g" "phy1-ap0"
|
||||
;;
|
||||
xiaomi,redmi-router-ax6000|\
|
||||
xiaomi,redmi-router-ax6000-stock|\
|
||||
xiaomi,redmi-router-ax6000-ubootmod)
|
||||
|
||||
@ -11,6 +11,9 @@ mediatek_setup_interfaces()
|
||||
asus,tuf-ax4200)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" eth1
|
||||
;;
|
||||
netgear,wax220)
|
||||
ucidef_set_interface_lan "eth0"
|
||||
;;
|
||||
bananapi,bpi-r3)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 sfp2" "eth1 wan"
|
||||
;;
|
||||
@ -67,6 +70,10 @@ mediatek_setup_macs()
|
||||
bananapi,bpi-r3)
|
||||
wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1)
|
||||
;;
|
||||
netgear,wax220)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env mac)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
qihoo,360t7)
|
||||
lan_mac=$(mtd_get_mac_ascii factory lanMac)
|
||||
wan_mac=$(macaddr_add "$lan_mac" 1)
|
||||
|
||||
@ -36,6 +36,11 @@ case "$board" in
|
||||
addr=$(mtd_get_mac_ascii config2 wifi5gmac)
|
||||
[ "$PHYNBR" = "1" ] && echo $macaddr > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
netgear,wax220)
|
||||
hw_mac_addr=$(mtd_get_mac_ascii u-boot-env mac)
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
qihoo,360t7)
|
||||
addr=$(mtd_get_mac_ascii factory lanMac)
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
|
||||
|
||||
@ -197,6 +197,22 @@ define Device/livinet_zr-3020
|
||||
endef
|
||||
TARGET_DEVICES += livinet_zr-3020
|
||||
|
||||
define Device/netgear_wax220
|
||||
DEVICE_VENDOR := Netgear
|
||||
DEVICE_MODEL := WAX220
|
||||
DEVICE_DTS := mt7986b-netgear-wax220
|
||||
DEVICE_DTS_DIR := ../dts
|
||||
DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
|
||||
IMAGES := sysupgrade.bin
|
||||
KERNEL_IN_UBI := 1
|
||||
KERNEL := kernel-bin | lzma | \
|
||||
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
|
||||
KERNEL_INITRAMFS := kernel-bin | lzma | \
|
||||
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
endef
|
||||
TARGET_DEVICES += netgear_wax220
|
||||
|
||||
define Device/mediatek_mt7986a-rfb-nand
|
||||
DEVICE_VENDOR := MediaTek
|
||||
DEVICE_MODEL := MT7986 rfba AP (NAND)
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -11797,6 +11797,15 @@ S: Maintained
|
||||
@@ -11790,6 +11790,15 @@ S: Maintained
|
||||
F: drivers/net/pcs/pcs-mtk-lynxi.c
|
||||
F: include/linux/pcs/pcs-mtk-lynxi.h
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -9063,6 +9063,22 @@ F: include/net/nl802154.h
|
||||
@@ -9056,6 +9056,22 @@ F: include/net/nl802154.h
|
||||
F: net/ieee802154/
|
||||
F: net/mac802154/
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1180,6 +1180,10 @@ config MIPS_MSC
|
||||
@@ -1181,6 +1181,10 @@ config MIPS_MSC
|
||||
config SYNC_R4K
|
||||
bool
|
||||
|
||||
|
||||
16
target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608-32m.dts
Normal file
16
target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608-32m.dts
Normal file
@ -0,0 +1,16 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621_zbtlink_zbt-wg1608.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "zbtlink,zbt-wg1608-32m", "mediatek,mt7621-soc";
|
||||
model = "Zbtlink ZBT-WG1608 (32M)";
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
broken-flash-reset;
|
||||
};
|
||||
|
||||
&firmware {
|
||||
reg = <0x50000 0x1fb0000>;
|
||||
};
|
||||
@ -61,7 +61,7 @@
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
flash0: flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
@ -601,6 +601,8 @@ define Device/sunvalley_filehub_common
|
||||
IMAGES += kernel.bin rootfs.bin
|
||||
IMAGE/kernel.bin := append-loader-okli $(1) | check-size 64k
|
||||
IMAGE/rootfs.bin := $$(sysupgrade_bin) | check-size
|
||||
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
|
||||
check-size 7744k | append-metadata
|
||||
endef
|
||||
|
||||
define Device/hootoo_ht-tm05
|
||||
|
||||
@ -2725,6 +2725,18 @@ define Device/zbtlink_zbt-wg1608-16m
|
||||
endef
|
||||
TARGET_DEVICES += zbtlink_zbt-wg1608-16m
|
||||
|
||||
define Device/zbtlink_zbt-wg1608-32m
|
||||
$(Device/dsa-migration)
|
||||
$(Device/uimage-lzma-loader)
|
||||
IMAGE_SIZE := 32448k
|
||||
DEVICE_VENDOR := Zbtlink
|
||||
DEVICE_MODEL := ZBT-WG1608
|
||||
DEVICE_VARIANT := 32M
|
||||
DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt7615e \
|
||||
kmod-mt7663-firmware-ap kmod-usb3 kmod-usb-ledtrig-usbport
|
||||
endef
|
||||
TARGET_DEVICES += zbtlink_zbt-wg1608-32m
|
||||
|
||||
define Device/zbtlink_zbt-wg2626
|
||||
$(Device/dsa-migration)
|
||||
$(Device/uimage-lzma-loader)
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
|
||||
--- a/arch/mips/kernel/setup.c
|
||||
+++ b/arch/mips/kernel/setup.c
|
||||
@@ -544,8 +544,28 @@ static int __init bootcmdline_scan_chose
|
||||
@@ -545,8 +545,28 @@ static int __init bootcmdline_scan_chose
|
||||
|
||||
#endif /* CONFIG_OF_EARLY_FLATTREE */
|
||||
|
||||
@ -46,7 +46,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
bool dt_bootargs = false;
|
||||
|
||||
/*
|
||||
@@ -559,6 +579,14 @@ static void __init bootcmdline_init(void
|
||||
@@ -560,6 +580,14 @@ static void __init bootcmdline_init(void
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
--- a/arch/mips/kernel/setup.c
|
||||
+++ b/arch/mips/kernel/setup.c
|
||||
@@ -686,7 +686,6 @@ static void __init arch_mem_init(char **
|
||||
@@ -687,7 +687,6 @@ static void __init arch_mem_init(char **
|
||||
mips_reserve_vmcore();
|
||||
|
||||
mips_parse_crashkernel();
|
||||
@ -18,7 +18,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
/*
|
||||
* In order to reduce the possibility of kernel panic when failed to
|
||||
@@ -803,6 +802,7 @@ void __init setup_arch(char **cmdline_p)
|
||||
@@ -804,6 +803,7 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
cpu_cache_init();
|
||||
paging_init();
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -15902,6 +15902,13 @@ S: Maintained
|
||||
@@ -15895,6 +15895,13 @@ S: Maintained
|
||||
F: include/sound/rt*.h
|
||||
F: sound/soc/codecs/rt*
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Submitted-by: Birger Koblitz <git@birger-koblitz.de>
|
||||
platform-$(CONFIG_SGI_IP28) += sgi-ip22/
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1053,8 +1053,58 @@ config NLM_XLP_BOARD
|
||||
@@ -1054,8 +1054,58 @@ config NLM_XLP_BOARD
|
||||
This board is based on Netlogic XLP Processor.
|
||||
Say Y here if you have a XLP based board.
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user