forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 9
Foresee spi nand #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
96Angang
wants to merge
877
commits into
dimfishr:xiaomi-ax3000t-foresee
from
96Angang:foresee-spi-nand
Closed
Foresee spi nand #5
96Angang
wants to merge
877
commits into
dimfishr:xiaomi-ax3000t-foresee
from
96Angang:foresee-spi-nand
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to support multiple RX and TX queues. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit a3e51a3)
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to support multiple RX and TX queues. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 7615de6)
Instead of enabling RSS support, let's introduce a variant and let users choose between both variants since it can cause network issues. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit cb3fc1a)
In include/host-build.mk, HOST_BUILD_DIR is set by default value: HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME) However the mold package has no PKG_NAME set at all. This means the HOST_BUILD_DIR is identical to $(BUILD_DIR_HOST). In the Host/Prepare stage, by default, the $(HOST_BUILD_DIR) will be deleted at first unconditionally. Since HOST_BUILD_DIR is identical to $(BUILD_DIR_HOST), the entire build_dir/toolchain-* directory will be removed and this will cause build failure. Adding PKG_NAME:=ld.mold can solve this issue. Signed-off-by: Weijie Gao <hackpascal@gmail.com> Link: openwrt#18567 Signed-off-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit b9cb07e)
Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit b0710e9)
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default instead of GNU17[1], and this breaks m4 compilation. Its been reported upstream [2], so until its fixed lets simply set C language version back to GNU17. [1] https://gcc.gnu.org/gcc-15/porting_to.html#c23 [2] https://savannah.gnu.org/support/?111150 Link: openwrt#18505 (cherry picked from commit 8c141e5) Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default instead of GNU17[1], and this breaks cpio compilation. Its been reported upstream [2], so import the patch attached to the bug report that fixes compilation with GCC15. [1] https://gcc.gnu.org/gcc-15/porting_to.html#c23 [2] https://savannah.gnu.org/bugs/?66297 Link: openwrt#18506 (cherry picked from commit c504109) Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default instead of GNU17[1], and this breaks m4 compilation. This looks like a gnulib issue, so until that is updated/fixed lets simply set C language version back to GNU17. [1] https://gcc.gnu.org/gcc-15/porting_to.html#c23 Link: openwrt#18506 (cherry picked from commit f165dd2) Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default instead of GNU17[1], and this breaks GMP compilation by failing to find a working compiler test. Its been fixed upstream [2][3], so backport the fix to fix GCC15 compilation. [1] https://gcc.gnu.org/gcc-15/porting_to.html#c23 [2] https://gmplib.org/repo/gmp/rev/8e7bb4ae7a18 [3] https://gmplib.org/repo/gmp/rev/d66d66d82dbb Link: openwrt#18506 (cherry picked from commit 31800db) Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
Function pointers require proper types now. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: openwrt#18572 (cherry picked from commit d5c6452) Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
Release information (not yet published): https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.2 Signed-off-by: John Audia <therealgraysky@proton.me> Link: openwrt#17499 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 40e2710) Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
8a86fb78235b build: set GNU17 for lemon compilation Link: openwrt#18525 (cherry picked from commit 891c824) Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default instead of GNU17[1], and this breaks gdb compilation. This looks like a readline issue, that was fixed in GDB 16.2 but to not update toolchain components we can simply set the C standard back to GNU17. [1] https://gcc.gnu.org/gcc-15/porting_to.html#c23 Link: openwrt#18581 Signed-off-by: Robert Marko <robimarko@gmail.com>
Fixes issues with rx-gro-list and NAT66 Fixes: openwrt#18387 Fixes: openwrt#18516 Fixes: openwrt#18608 Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 5501a50)
The factory image generation for the Genexis EX400 image currently fails if CONFIG_TARGET_ROOTFS_INITRAMFS is disabled. Create the factory image only if said config option is enabled to avoid failing builds. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 4e83d5e)
GCC15 has switched the C language default from GNU17 to GNU23[1] and this
causes builds to fail with:
In file included from mips-opc.c:29:
mips-opc.c: In function 'decode_mips_operand':
mips-formats.h:86:7: error: expected identifier or '(' before 'static_assert'
86 | static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
| ^~~~~~~~~~~~~
mips-opc.c:214:15: note: in expansion of macro 'MAPPED_REG'
214 | case 'z': MAPPED_REG (0, 0, GP, reg_0_map);
| ^~~~~~~~~~
So, backport upstream fix for this[2] to fix compilation with GCC15.
Patch for 2.40 was manually refreshed as part of the S390 code does not
exist in 2.40 as it was added after it.
[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4
Fixes: openwrt#18678
Link: openwrt#18681
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d321617)
Hardware -------- SOC: MediaTek MT7981b RAM: 256MB DDR3 FLASH: 128MB SPI-NAND (Winbond W25N01GV) WIFI: Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz ETH: MediaTek MT7531 Switch UART: 3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC) Installation ----------------------------------------------------------- Vendor-UI Method ----------------------------------------------------------- 1. Download the OpenWrt initramfs.trx image. 2. Connect the PC via LAN to one of the yellow router ports and wait until your PC to get a DHCP lease. 3. Browse to http://192.168.50.1 4. If your router is brand new, finish the setup process and log into the Web-UI. 5. Navigate to Administration -> Firmware Upgrade and upload the downloaded OpenWrt image. 6. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> ----------------------------------------------------------- TFTP Method ----------------------------------------------------------- 1. Download the OpenWrt initramfs image. Copy the image to a TFTP server reachable at 192.168.1.70/24. Rename the image to rtax52.bin. 2. Connect the PC with TFTP server to the RT-AX52. Set a static ip on the ethernet interface of your PC. (ip address: 192.168.1.70, subnet mask:255.255.255.0) Conect to the serial console, interrupt the autoboot process by pressing '4' when prompted. 3. Download & Boot the OpenWrt initramfs image. $ setenv ipaddr 192.168.1.1 $ setenv serverip 192.168.1.70 $ tftpboot 0x46000000 rtax52.bin $ bootm 0x46000000 4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> --------------------------------------------------------------------------- Revert to stock firmware: 1: Download the rt-ax52 firmware from ASUS official website. Save the firmware to tftp server directory and rename to RT-AX52.trx 2: Connect the PC with TFTP server to the RT-AX52. Set a static ip on the ethernet interface of your PC. (ip address: 192.168.1.70, subnet mask:255.255.255.0) 3: Conect to the serial console, power on again, interrupt the autoboot process by pressing '4' when prompted. $: ubi remove linux $: ubi remove jffs2 $: ubi remove rootfs $: ubi remove rootfs_data $: ubi create linux 0x45fe000 $: reset Then the dut will reboot,interrupt the autoboot process by pressing '2' when prompted. 2: Load System code then write to Flash via TFTP. Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) $: enter y you will see the follow, type enter directly: Input device IP (192.168.1.1) ==: Input server IP (192.168.1.70) ==: Input Linux Kernel filename (RT-AX52.trx) ==: 4: wait for the device run up Based on support for ASUS RT-AX52 by liudongdongdong7397 and trx image generation by remittor Signed-off-by: Christoph Krapp <achterin@gmail.com> (cherry picked from commit 50d9ca6) (remove factory image generation) Signed-off-by: David Bauer <mail@david-bauer.net>
…boards Add network config for single-port Gateworks venice boards such that the ethernet port is the WAN port instead of the default being a LAN port. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Link: openwrt#18629 Signed-off-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit 2d6f027)
The RPi 5 Compute Module expects the same NVRAM as the one from RPi 4 on a different file. Signed-off-by: Dave Marquard <dave-atx@users.noreply.github.com> Link: openwrt#18722 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 8774dd7)
- RPi 500 - RPi 5 Compute Module - RPi 5B (bcm2712 d0 rev) Signed-off-by: Dave Marquard <dave-atx@users.noreply.github.com> Link: openwrt#18622 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 169dc62)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.87 Manually rebased: generic-hack/781-usb-net-rndis-support-asr.patch All other patches automatically rebased. Build system: x86/64 Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Signed-off-by: John Audia <therealgraysky@proton.me> Link: openwrt#18457 (cherry picked from commit 66b5ed7) Link: openwrt#18730 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Patch 620-net_sched-codel-do-not-defer-queue-length-update.patch is actually an ancient patch that somehow manage to be ported for 7 solid years. This comes from [1] where a fix patch was proposed. Nobody notice that the proposed patch was actually rejected upstream in favor of [2]. And the upstream fix patch is present in kernel from version 4.18. This means that we were actually fixing for a non existant bug and maybe introducing regression down the line. Drop the patch for good as we already have a fix for it in flace for a long time. [1] https://bugzilla.kernel.org/show_bug.cgi?id=109581 [2] torvalds/linux@35b42da Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 0f9af6d) Link: openwrt#18730 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.88 Manually rebased: - bcm27xx/patches-6.6/950-0327-media-i2c-ov7251-Make-the-enable-GPIO-optional.patch[1] - bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch[2] - generic/hack-6.6/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch[3] - generic/pending-6.6/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch[4] All other patches automatically rebased. 1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=f249c05416ea0bef24c9dbed0e653d2fad87b127 2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=1fea7726276e5d6526ecd4e7ccb4c91a6135deb5 3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=95f17738b86fd198924d874a5639bcdc49c7e5b8 4. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=a2874f0dff63829d1f540003e2d83adb610ee64a Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: openwrt#18607 (cherry picked from commit a72a2fd) Link: openwrt#18730 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.89 All patches automatically rebased. Build system: x86/64 Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me> Link: openwrt#18607 (cherry picked from commit fbcd547) Link: openwrt#18730 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit adds support for Mercusys MR80X(EU) v3 router. Device specification: - SoC: Mediatek MT7981b, Cortex-A53, 64-bit - RAM: 512MB - Flash: SPI NAND GigaDevice GD5F1GQ5UEYIGY (128 MB) - Ethernet: 4x 100/1000 Mbps LAN1,LAN2,LAN3 & WAN - Wireless: 2.4GHz (802.11 b/g/n/ax) - Wireless: 5GHz (802.11 a/n/ac/ax) - LEDs: 1 orange and 1 green status LEDs, 4 green gpio-controlled LEDs on ethernet ports - Buttons: 1 (Reset) - Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI slots contain "seconduboot" (also U-Boot 2022.01-rc4) Installation (UART): - Place OpenWrt initramfs-kernel image on tftp server with IP 192.168.1.2 - Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C'. - Set the uboot environment for startup. setenv tp_boot_idx 0; setenv bootcmd bootm 0x46000000; saveenv If the bootarg is set to boot from ubi1, also change it to ubi0. - Load and run OpenWrt initramfs image. setenv serverip 192.168.1.2; setenv ipaddr 192.168.1.1; tftpboot initramfs-kernel.bin; bootm - Login as root via SSH (IP 192.168.1.1, port 22) - Upload OpenWrt sysupgrade.bin image to the /tmp dir of the router - Run sysupgrade: sysupgrade -n /tmp/sysupgrade.bin Recovery: - Press Reset button and power on the router. - Navigate to U-Boot recovery web server (http://192.168.1.1/) and upload the OEM firmware. Stock layout: 0x000000000000-0x000000200000 : "boot" 0x000000200000-0x000000300000 : "u-boot-env" 0x000000300000-0x000003500000 : "ubi0" 0x000003500000-0x000006700000 : "ubi1" 0x000006700000-0x000006f00000 : "userconfig" 0x000006f00000-0x000007300000 : "tp_data" ubi0/ubi1 format: U-Boot at boot checks that all volumes are in place: +-------------------------------+ | Volume Name: uboot Vol ID: 0| | Volume Name: kernel Vol ID: 1| | Volume Name: rootfs Vol ID: 2| +-------------------------------+ MAC addresses: +---------+-------------------+-----------+ | | MAC | Algorithm | +---------+-------------------+-----------+ | label | 94:0C:xx:xx:xx:12 | label | | WAN | 94:0C:xx:xx:xx:13 | label+1 | | LAN | 94:0C:xx:xx:xx:12 | label | | WLAN 2g | 94:0C:xx:xx:xx:11 | label-1 | | WLAN 5g | 94:0C:xx:xx:xx:10 | label-2 | +---------+-------------------+-----------+ label MAC address was found in UBI partition "tp_data", file "default-mac". Signed-off-by: Schneider Azima <Schneider-Azima12@protonmail.com> Link: openwrt#18181 (cherry picked from commit 7921e48) Signed-off-by: Schneider Azima <Schneider-Azima12@protonmail.com> Link: openwrt#18522 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit fixes mistaken executable bit on mt7981b-mercusys-mr80x-v3.dts file. Fixes: 7921e48 ("mediatek: add support for Mercusys MR80X v3") Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> (cherry picked from commit f733442) Link: openwrt#18522 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The WL-WN573HX3 is an AX3000 outdoor Access Point by WAVLINK,
also sold in Europe as 7Links WLR-1300 (ZX-5612).
Specifications:
- MT7981B + MT7976 AX3000 2x2 DBDC (160 MHz)
- 16 MiB SPI NOR, 256 MiB RAM
- Gigabit ethernet port, 802.3af PoE
- IP67 outdoor case for wall or pole mounting with
four single band RP-SMA fiberglass antennas (8 dBi)
Installation:
- OEM Web UI is at 192.168.30.1 which will forward to
http://netlogin.link (using a captive portal)
- login with default password `admin`
- skip setup wizard by navigating directly to
http://netlogin.link/html/meshUpgrade.html
- upload WN573HX3-sysupgrade.bin
- reset to factory defaults to discard OEM UCI settings
MAC address assignment:
LAN 80:xx:xx:76:xx:25 hw 0x44e
WLAN 2.4G 80:xx:xx:76:xx:27 factory 0x04 (label MAC)
WLAN 5G 82:xx:xx:46:xx:27
pair key 8a:xx:xx:76:xx:27 also on label, not used by OpenWrt
Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Link: openwrt#18206
(cherry-picked from commit 907cb88)
Link: openwrt#18557
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add support for the Huawei Intelligent PCIE Network Interface Card (HiNIC) Signed-off-by: Coia Prant <coiaprant@gmail.com> Link: openwrt#18534 (cherry picked from commit 5fcc57c) Link: openwrt#18571 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Package bnxt_en kernel module for Broadcom NetXtreme-C/E based Ethernet network chips like BCM573xx and BCM574xx. Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> Link: openwrt#17301 (cherry picked from commit a7f4155) Signed-off-by: Josh Bendavid <joshbendavid@gmail.com> Link: openwrt#18483 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The Xiaomi MiWiFi 3A wireless router has a similar system architecture as the Xiaomi Mi 4A router, which is already officially supported by OpenWrt. Product website: https://www.mi.com/miwifi3a Device specification -------------------- SoC: MT7628AN MIPS_24KEc @ 580 MHz 2.4G-bgn 2x2 WiFi: MT7612EN 5G-an, ac 80 MHz 2T2R Flash: 16 MB DRAM: 64 MB Switch: MT7628AN (integrated in SoC) Ethernet: 1 x 10 /100 Mbps USB: None Antennas: 2 x 2,4 GHz and 2 x 5 GHz (all are external and non-detachable) LEDs: blue/red/amber Buttons: Reset Serial: 115200,8n1 MAC addresses as verified by OEM firmware: ------------------------------------------ use address source LAN *:DD factory 0x28 WAN *:DD factory 0x28 2g *:DE factory 0x4 5g *:DF factory 0x8004 OEM firmware uses VLAN's to create the network interface for WAN and LAN. Bootloader info: ---------------- The stock bootloader uses a "Dual ROM Partition System". OS1 is a deep copy of OS2. The bootloader starts OS2 by default. To force start OS1 it is needed to set "flag_try_sys2_failed=1". How to install: --------------- 1- Use OpenWRTInvasion to gain Telnet, SSH and FTP access: https://github.com/acecilia/OpenWRTInvasion [IP: 192.168.31.1 | Username: root | Password: root | FTP-Port: 21] 2- Connect to router using telnet or ssh. 3- Backup all partitions. Use command "dd if=/dev/mtd0 of=/tmp/mtd0". Copy /tmp/mtd0 to computer using ftp. 4- Copy openwrt-ramips-mt76x8-xiaomi_miwifi-3a-squashfs-sysupgrade.bin to /tmp in router using ftp. 5- Enable UART access and change start image to OS1. nvram set uart_en=1 nvram set flag_last_success=1 nvram set boot_wait=on nvram set flag_try_sys2_failed=1 nvram commit 6- Erase OS1 & OS2 and install OpenWrt mtd erase OS1 mtd erase OS2 mtd -r write /tmp/openwrt-ramips-mt76x8-xiaomi_miwifi-3a-squashfs-sysupgrade.bin OS1 Credits: -------- This PR is based on the work of Zehao Zhang (Github: @ZZH-Finalize) that he had published in the PR: openwrt#15698 Signed-off-by: Olgun Demir <olgun.demir@mail.com.tr> Link: openwrt#18427 (cherry picked from commit c3b8108) Link: openwrt#18550 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
build/scripts/tools
core packages
GitHub/CI
kernel
target/airoha
target/apm821xx
target/armsr
target/at91
target/ath79
target/bcm27xx
target/bcm47xx
target/bcm53xx
target/bcm4908
target/bmips
target/d1
target/gemini
target/imagebuilder
target/imx
target/ipq40xx
target/ipq806x
target/ixp4xx
target/kirkwood
target/lantiq
target/layerscape
target/loongarch64
target/malta
target/mediatek
target/mpc85xx
target/mvebu
target/mxs
target/octeon
target/omap
target/pistachio
target/qoriq
target/qualcommax
target/ramips
target/realtek
target/rockchip
target/sifiveu
target/siflower
target/starfive
target/stm32
target/sunxi
target/tegra
target/x86
target/zynq
toolchain
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
test