Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
a2ae4f5b39
@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .145
|
||||
LINUX_VERSION-5.10 = .64
|
||||
LINUX_VERSION-5.10 = .70
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.145 = 5cf7782ec2e91417edf0d5e6555da6d556962c8985e33ba9e7dadba5cbdc68f9
|
||||
LINUX_KERNEL_HASH-5.10.64 = 3eb84bd24a2de2b4749314e34597c02401c5d6831b055ed5224adb405c35e30a
|
||||
LINUX_KERNEL_HASH-5.10.70 = 75736c33711d7f298889ee4981b18774882045323e5c46af9ad3b022082db232
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -157,6 +157,7 @@ $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
|
||||
$(eval $(call CleanupPython2))
|
||||
|
||||
$(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \
|
||||
python3.10 -V 2>&1 | grep 'Python 3', \
|
||||
python3.9 -V 2>&1 | grep 'Python 3', \
|
||||
python3.8 -V 2>&1 | grep 'Python 3', \
|
||||
python3.7 -V 2>&1 | grep 'Python 3', \
|
||||
@ -164,6 +165,7 @@ $(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.[6-9]\.?'))
|
||||
|
||||
$(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \
|
||||
python3.10 -V 2>&1 | grep 'Python 3', \
|
||||
python3.9 -V 2>&1 | grep 'Python 3', \
|
||||
python3.8 -V 2>&1 | grep 'Python 3', \
|
||||
python3.7 -V 2>&1 | grep 'Python 3', \
|
||||
@ -184,7 +186,7 @@ $(eval $(call SetupHostCommand,rsync,Please install 'rsync', \
|
||||
rsync --version </dev/null))
|
||||
|
||||
$(eval $(call SetupHostCommand,which,Please install 'which', \
|
||||
which which | grep which))
|
||||
env which which | grep which))
|
||||
|
||||
$(STAGING_DIR_HOST)/bin/mkhash: $(SCRIPT_DIR)/mkhash.c
|
||||
mkdir -p $(dir $@)
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
# CONFIG_EFI_GRUB_ARM32_WORKAROUND is not set
|
||||
--- /dev/null
|
||||
+++ b/bananapi_bpi-r2_env
|
||||
@@ -0,0 +1,64 @@
|
||||
@@ -0,0 +1,70 @@
|
||||
+ipaddr=192.168.1.1
|
||||
+serverip=192.168.1.254
|
||||
+loadaddr=0x88000000
|
||||
@ -167,6 +167,8 @@
|
||||
+bootdelay=0
|
||||
+bootfile=openwrt-mediatek-mt7623-bananapi_bpi-r2-initramfs-recovery.itb
|
||||
+bootfile_upg=openwrt-mediatek-mt7623-bananapi_bpi-r2-squashfs-sysupgrade.itb
|
||||
+bootled_pwr=bpi-r2:pio:green
|
||||
+bootled_rec=bpi-r2:pio:blue
|
||||
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
|
||||
+bootmenu_default=0
|
||||
+bootmenu_delay=0
|
||||
@ -176,7 +178,7 @@
|
||||
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
|
||||
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
|
||||
+boot_first=if button factory ; then led $bootled_rec on ; run boot_tftp_recovery ; setenv flag_recover 1 ; run boot_default ; fi ; bootmenu
|
||||
+boot_tftp_forever=led bpi-r64:pio:blue on ; while true ; do run boot_tftp_recovery ; sleep 1 ; done
|
||||
+boot_tftp_forever=led bpi-r2:pio:blue on ; while true ; do run boot_tftp_recovery ; sleep 1 ; done
|
||||
+boot_tftp_production=tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run mmc_write_production ; if env exists noboot ; then else bootm $loadaddr ; fi
|
||||
+boot_tftp_recovery=tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run mmc_write_recovery ; if env exists noboot ; then else bootm $loadaddr ; fi
|
||||
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr
|
||||
@ -205,9 +207,13 @@
|
||||
+sdmmc_write_recovery=iminfo $fileaddr && mmc dev 1 && part start mmc 1 $part_recovery part_addr && part size mmc 1 $part_recovery part_size && run mmc_write_vol
|
||||
+_checkbootedfrom=setenv _checkbootedfrom ; if itest.l *81dffff0 == 434d4d65 ; then setenv bootedfrom eMMC ; else setenv bootedfrom SD ; fi
|
||||
+_init_env=setenv _init_env ; setenv _create_env ; saveenv ; saveenv
|
||||
+_firstboot=setenv _firstboot ; led bpi-r64:pio:blue on ; run _checkbootedfrom _switch_to_menu _update_bootdev _update_bootcmd _update_bootcmd2 _init_env boot_first
|
||||
+_update_bootcmd=setenv _update_bootcmd ; if test "$bootedfrom" = "SD" ; then setenv boot_production "run sdmmc_read_production && bootm $loadaddr" ; else setenv boot_production "run emmc_read_production && bootm $loadaddr" ; fi
|
||||
+_update_bootcmd2=setenv _update_bootcmd2 ; if test "$bootedfrom" = "SD" ; then setenv boot_recovery "run sdmmc_read_recovery && bootm $loadaddr" ; else setenv boot_recovery "run emmc_read_recovery && bootm $loadaddr" ; fi
|
||||
+_firstboot=setenv _firstboot ; led $bootled_pwr off ;led $bootled_rec on ; run _checkbootedfrom _switch_to_menu _update_bootdev _update_bootcmd _update_bootcmd2 _init_env boot_first
|
||||
+_set_bootcmd_sdmmc=setenv boot_production "led $bootled_rec off ; led $bootled_pwr on ; run sdmmc_read_production && bootm $loadaddr ; led $bootled_pwr off"
|
||||
+_set_bootcmd_emmc=setenv boot_production "led $bootled_rec off ; led $bootled_pwr on ; run emmc_read_production && bootm $loadaddr ; led $bootled_pwr off"
|
||||
+_update_bootcmd=setenv _update_bootcmd ; if test "$bootedfrom" = "SD" ; then run _set_bootcmd_sdmmc ; else run _set_bootcmd_emmc ; fi ; setenv _set_bootcmd_sdmmc ; setenv _set_bootcmd_emmc
|
||||
+_set_bootcmd2_sdmmc=setenv boot_recovery "led $bootled_pwr off ; led $bootled_rec on ; run sdmmc_read_recovery && bootm $loadaddr ; led $bootled_rec off"
|
||||
+_set_bootcmd2_emmc=setenv boot_recovery "led $bootled_pwr off ; led $bootled_rec on ; run emmc_read_recovery && bootm $loadaddr ; led $bootled_rec off"
|
||||
+_update_bootcmd2=setenv _update_bootcmd2 ; if test "$bootedfrom" = "SD" ; then run _set_bootcmd2_sdmmc ; else run _set_bootcmd2_emmc ; fi ; setenv _set_bootcmd2_sdmmc ; setenv _set_bootcmd2_emmc
|
||||
+_update_bootdev=setenv _update_bootdev ; if test "$bootedfrom" = "SD" ; then setenv bootargs "$console root=/dev/mmcblk1p65" ; else setenv bootargs "$console root=/dev/mmcblk0p65" ; fi
|
||||
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
|
||||
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title [0;36m[$bootedfrom][0m [33m$ver[0m" ; run _set_bm2
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
--- a/arch/arm/dts/mt7623n-bananapi-bpi-r2.dts
|
||||
+++ b/arch/arm/dts/mt7623n-bananapi-bpi-r2.dts
|
||||
@@ -50,19 +50,19 @@
|
||||
|
||||
blue {
|
||||
label = "bpi-r2:pio:blue";
|
||||
- gpios = <&gpio 241 GPIO_ACTIVE_HIGH>;
|
||||
+ gpios = <&gpio 240 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
green {
|
||||
label = "bpi-r2:pio:green";
|
||||
- gpios = <&gpio 240 GPIO_ACTIVE_HIGH>;
|
||||
+ gpios = <&gpio 241 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
red {
|
||||
label = "bpi-r2:pio:red";
|
||||
- gpios = <&gpio 239 GPIO_ACTIVE_HIGH>;
|
||||
+ gpios = <&gpio 239 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=cryptodev-linux
|
||||
PKG_VERSION:=1.11
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.12
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/$(PKG_NAME)/$(PKG_NAME)/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_HASH:=d71fd8dafc40147586f5bc6acca8fce5088d9c576d1142fe5aeb7b0813186a11
|
||||
PKG_HASH:=f51c2254749233b1b1d7ec9445158bd709f124f88e1c650fe2faac83c3a81938
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
From 2f5e08aebf9229599aae7f25db752f74221cd71d Mon Sep 17 00:00:00 2001
|
||||
From: Joan Bruguera <joanbrugueram@gmail.com>
|
||||
Date: Fri, 14 Aug 2020 00:13:38 +0200
|
||||
Subject: [PATCH] Fix build for Linux 5.9-rc1
|
||||
|
||||
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=64019a2e467a288a16b65ab55ddcbf58c1b00187
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bce617edecada007aee8610fbe2c14d10b8de2f6
|
||||
https://lore.kernel.org/lkml/CAHk-=wj_V2Tps2QrMn20_W0OJF9xqNh52XSGA42s-ZJ8Y+GyKw@mail.gmail.com/
|
||||
|
||||
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
|
||||
---
|
||||
zc.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/zc.c
|
||||
+++ b/zc.c
|
||||
@@ -76,10 +76,14 @@ int __get_userbuf(uint8_t __user *addr,
|
||||
ret = get_user_pages_remote(task, mm,
|
||||
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
pg, NULL);
|
||||
-#else
|
||||
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0))
|
||||
ret = get_user_pages_remote(task, mm,
|
||||
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
pg, NULL, NULL);
|
||||
+#else
|
||||
+ ret = get_user_pages_remote(mm,
|
||||
+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
+ pg, NULL, NULL);
|
||||
#endif
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
|
||||
up_read(&mm->mmap_sem);
|
||||
@ -20,8 +20,9 @@ define KernelPackage/kvm-x86
|
||||
TITLE:=Kernel-based Virtual Machine (KVM) support
|
||||
DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass
|
||||
KCONFIG:=\
|
||||
CONFIG_VIRTUALIZATION=y \
|
||||
CONFIG_KVM
|
||||
CONFIG_KVM \
|
||||
CONFIG_KVM_MMU_AUDIT=n \
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko
|
||||
AUTOLOAD:=$(call AutoProbe,kvm.ko)
|
||||
endef
|
||||
|
||||
@ -625,7 +625,7 @@ mac80211_iw_interface_add() {
|
||||
rc="$?"
|
||||
}
|
||||
|
||||
[ "$rc" != 0 ] && wireless_setup_failed INTERFACE_CREATION_FAILED
|
||||
[ "$rc" != 0 ] && echo "Failed to create interface $ifname"
|
||||
return $rc
|
||||
}
|
||||
|
||||
|
||||
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
||||
PKG_SOURCE_DATE:=2021-09-21
|
||||
PKG_SOURCE_VERSION:=08e954e137ffcf7770200bbd6476dc36bbd326f5
|
||||
PKG_MIRROR_HASH:=2250b8adc892a7ce0b79ca34611fae0098b3a367272684f42891923717b47578
|
||||
PKG_SOURCE_DATE:=2021-09-29
|
||||
PKG_SOURCE_VERSION:=448ffc154fe78ee1c8e4b2cda1a479f0d8af8b37
|
||||
PKG_MIRROR_HASH:=eec346ae3e27b8e37b91600e1ee822504b8715bbaf360a6bd962e61b6a6ad13e
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@ -18,7 +18,7 @@ Subject: [PATCH] firmware: Updated mailbox header
|
||||
struct rpi_firmware;
|
||||
|
||||
enum rpi_firmware_property_status {
|
||||
@@ -159,5 +161,6 @@ static inline struct rpi_firmware *rpi_f
|
||||
@@ -161,5 +163,6 @@ static inline struct rpi_firmware *rpi_f
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -244,7 +244,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
static int bcm2708_fb_register(struct bcm2708_fb *fb)
|
||||
--- a/drivers/video/fbdev/core/fbmem.c
|
||||
+++ b/drivers/video/fbdev/core/fbmem.c
|
||||
@@ -1079,6 +1079,30 @@ fb_blank(struct fb_info *info, int blank
|
||||
@@ -1085,6 +1085,30 @@ fb_blank(struct fb_info *info, int blank
|
||||
}
|
||||
EXPORT_SYMBOL(fb_blank);
|
||||
|
||||
@ -275,7 +275,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
|
||||
unsigned long arg)
|
||||
{
|
||||
@@ -1087,6 +1111,7 @@ static long do_fb_ioctl(struct fb_info *
|
||||
@@ -1093,6 +1117,7 @@ static long do_fb_ioctl(struct fb_info *
|
||||
struct fb_fix_screeninfo fix;
|
||||
struct fb_cmap cmap_from;
|
||||
struct fb_cmap_user cmap;
|
||||
@ -283,7 +283,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
void __user *argp = (void __user *)arg;
|
||||
long ret = 0;
|
||||
|
||||
@@ -1162,6 +1187,15 @@ static long do_fb_ioctl(struct fb_info *
|
||||
@@ -1168,6 +1193,15 @@ static long do_fb_ioctl(struct fb_info *
|
||||
unlock_fb_info(info);
|
||||
console_unlock();
|
||||
break;
|
||||
@ -299,7 +299,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
default:
|
||||
lock_fb_info(info);
|
||||
fb = info->fbops;
|
||||
@@ -1307,6 +1341,7 @@ static long fb_compat_ioctl(struct file
|
||||
@@ -1313,6 +1347,7 @@ static long fb_compat_ioctl(struct file
|
||||
case FBIOPAN_DISPLAY:
|
||||
case FBIOGET_CON2FBMAP:
|
||||
case FBIOPUT_CON2FBMAP:
|
||||
|
||||
@ -221,7 +221,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
|
||||
static inline int mmc_blk_part_switch(struct mmc_card *card,
|
||||
unsigned int part_type);
|
||||
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
|
||||
@@ -2898,6 +2905,7 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -2897,6 +2904,7 @@ static int mmc_blk_probe(struct mmc_card
|
||||
{
|
||||
struct mmc_blk_data *md, *part_md;
|
||||
char cap_str[10];
|
||||
@ -229,7 +229,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
|
||||
|
||||
/*
|
||||
* Check that the card supports the command class(es) we need.
|
||||
@@ -2905,7 +2913,16 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -2904,7 +2912,16 @@ static int mmc_blk_probe(struct mmc_card
|
||||
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
|
||||
return -ENODEV;
|
||||
|
||||
@ -247,7 +247,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
|
||||
|
||||
card->complete_wq = alloc_workqueue("mmc_complete",
|
||||
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
|
||||
@@ -2920,9 +2937,14 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -2919,9 +2936,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));
|
||||
|
||||
@ -27,8 +27,8 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -29,6 +29,8 @@ struct rpi_firmware {
|
||||
u32 enabled;
|
||||
@@ -32,6 +32,8 @@ struct rpi_firmware {
|
||||
struct kref consumers;
|
||||
};
|
||||
|
||||
+static struct platform_device *g_pdev;
|
||||
@ -36,32 +36,46 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
static DEFINE_MUTEX(transaction_lock);
|
||||
|
||||
static void response_callback(struct mbox_client *cl, void *msg)
|
||||
@@ -249,6 +251,7 @@ static int rpi_firmware_probe(struct pla
|
||||
init_completion(&fw->c);
|
||||
@@ -272,6 +274,7 @@ static int rpi_firmware_probe(struct pla
|
||||
kref_init(&fw->consumers);
|
||||
|
||||
platform_set_drvdata(pdev, fw);
|
||||
+ g_pdev = pdev;
|
||||
|
||||
rpi_firmware_print_firmware_revision(fw);
|
||||
rpi_register_hwmon_driver(dev, fw);
|
||||
@@ -276,6 +279,7 @@ static int rpi_firmware_remove(struct pl
|
||||
platform_device_unregister(rpi_clk);
|
||||
rpi_clk = NULL;
|
||||
mbox_free_channel(fw->chan);
|
||||
+ g_pdev = NULL;
|
||||
@@ -301,6 +304,8 @@ static int rpi_firmware_remove(struct pl
|
||||
|
||||
rpi_firmware_put(fw);
|
||||
|
||||
+ g_pdev = NULL;
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
@@ -288,7 +292,7 @@ static int rpi_firmware_remove(struct pl
|
||||
|
||||
@@ -314,7 +319,7 @@ static int rpi_firmware_remove(struct pl
|
||||
*/
|
||||
struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
|
||||
{
|
||||
- struct platform_device *pdev = of_find_device_by_node(firmware_node);
|
||||
+ struct platform_device *pdev = g_pdev;
|
||||
struct rpi_firmware *fw;
|
||||
|
||||
if (!pdev)
|
||||
return NULL;
|
||||
@@ -312,7 +316,18 @@ static struct platform_driver rpi_firmwa
|
||||
@@ -327,12 +332,9 @@ struct rpi_firmware *rpi_firmware_get(st
|
||||
if (!kref_get_unless_zero(&fw->consumers))
|
||||
goto err_put_device;
|
||||
|
||||
- put_device(&pdev->dev);
|
||||
-
|
||||
return fw;
|
||||
|
||||
err_put_device:
|
||||
- put_device(&pdev->dev);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rpi_firmware_get);
|
||||
@@ -352,7 +354,18 @@ static struct platform_driver rpi_firmwa
|
||||
.shutdown = rpi_firmware_shutdown,
|
||||
.remove = rpi_firmware_remove,
|
||||
};
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -43,7 +43,7 @@ static void response_callback(struct mbo
|
||||
@@ -46,7 +46,7 @@ static void response_callback(struct mbo
|
||||
* Sends a request to the firmware through the BCM2835 mailbox driver,
|
||||
* and synchronously waits for the reply.
|
||||
*/
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data)
|
||||
{
|
||||
u32 message = MBOX_MSG(chan, data);
|
||||
@@ -68,6 +68,7 @@ rpi_firmware_transaction(struct rpi_firm
|
||||
@@ -71,6 +71,7 @@ rpi_firmware_transaction(struct rpi_firm
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -11,6 +11,7 @@
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
#include <linux/slab.h>
|
||||
#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
|
||||
@@ -177,6 +178,26 @@ int rpi_firmware_property(struct rpi_fir
|
||||
@@ -180,6 +181,26 @@ int rpi_firmware_property(struct rpi_fir
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rpi_firmware_property);
|
||||
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static void
|
||||
rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
|
||||
{
|
||||
@@ -318,15 +339,32 @@ static struct platform_driver rpi_firmwa
|
||||
@@ -356,15 +377,32 @@ static struct platform_driver rpi_firmwa
|
||||
.remove = rpi_firmware_remove,
|
||||
};
|
||||
|
||||
|
||||
@ -16,15 +16,15 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -28,6 +28,7 @@ struct rpi_firmware {
|
||||
@@ -29,6 +29,7 @@ struct rpi_firmware {
|
||||
struct mbox_chan *chan; /* The property channel. */
|
||||
struct completion c;
|
||||
u32 enabled;
|
||||
+ u32 get_throttled;
|
||||
};
|
||||
|
||||
static struct platform_device *g_pdev;
|
||||
@@ -174,6 +175,12 @@ int rpi_firmware_property(struct rpi_fir
|
||||
struct kref consumers;
|
||||
};
|
||||
@@ -177,6 +178,12 @@ int rpi_firmware_property(struct rpi_fir
|
||||
|
||||
kfree(data);
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rpi_firmware_property);
|
||||
@@ -198,6 +205,27 @@ static int rpi_firmware_notify_reboot(st
|
||||
@@ -201,6 +208,27 @@ static int rpi_firmware_notify_reboot(st
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
static void
|
||||
rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
|
||||
{
|
||||
@@ -227,6 +255,11 @@ rpi_register_hwmon_driver(struct device
|
||||
@@ -230,6 +258,11 @@ rpi_register_hwmon_driver(struct device
|
||||
|
||||
rpi_hwmon = platform_device_register_data(dev, "raspberrypi-hwmon",
|
||||
-1, NULL, 0);
|
||||
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -231,6 +231,15 @@ rpi_firmware_print_firmware_revision(str
|
||||
@@ -234,6 +234,15 @@ rpi_firmware_print_firmware_revision(str
|
||||
{
|
||||
time64_t date_and_time;
|
||||
u32 packet;
|
||||
@ -43,7 +43,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
int ret = rpi_firmware_property(fw,
|
||||
RPI_FIRMWARE_GET_FIRMWARE_REVISION,
|
||||
&packet, sizeof(packet));
|
||||
@@ -240,7 +249,35 @@ rpi_firmware_print_firmware_revision(str
|
||||
@@ -243,7 +252,35 @@ rpi_firmware_print_firmware_revision(str
|
||||
|
||||
/* This is not compatible with y2038 */
|
||||
date_and_time = packet;
|
||||
@ -80,7 +80,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -309,6 +346,7 @@ static int rpi_firmware_probe(struct pla
|
||||
@@ -332,6 +369,7 @@ static int rpi_firmware_probe(struct pla
|
||||
g_pdev = pdev;
|
||||
|
||||
rpi_firmware_print_firmware_revision(fw);
|
||||
|
||||
@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
extern int usb_driver_set_configuration(struct usb_device *udev, int config);
|
||||
--- a/include/linux/usb/hcd.h
|
||||
+++ b/include/linux/usb/hcd.h
|
||||
@@ -382,6 +382,11 @@ struct hc_driver {
|
||||
@@ -384,6 +384,11 @@ struct hc_driver {
|
||||
* or bandwidth constraints.
|
||||
*/
|
||||
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
/* Returns the hardware-chosen device address */
|
||||
int (*address_device)(struct usb_hcd *, struct usb_device *udev);
|
||||
/* prepares the hardware to send commands to the device */
|
||||
@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_
|
||||
@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
|
||||
extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
|
||||
extern void usb_hcd_flush_endpoint(struct usb_device *udev,
|
||||
struct usb_host_endpoint *ep);
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1467,6 +1467,103 @@ command_cleanup:
|
||||
@@ -1468,6 +1468,103 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5361,6 +5458,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5362,6 +5459,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
||||
@ -36,7 +36,7 @@ Co-authored-by: Phil Elwell <phil@raspberrypi.org>
|
||||
MODULE_DESCRIPTION("BCM2835 clock driver");
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -430,7 +430,7 @@ out2:
|
||||
@@ -468,7 +468,7 @@ out2:
|
||||
out1:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
|
||||
#define MAX_TUNING_LOOP 40
|
||||
|
||||
@@ -3126,7 +3126,7 @@ static void sdhci_timeout_timer(struct t
|
||||
@@ -3127,7 +3127,7 @@ static void sdhci_timeout_timer(struct t
|
||||
spin_lock_irqsave(&host->lock, flags);
|
||||
|
||||
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
|
||||
@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
mmc_hostname(host->mmc));
|
||||
sdhci_dumpregs(host);
|
||||
|
||||
@@ -3148,7 +3148,7 @@ static void sdhci_timeout_data_timer(str
|
||||
@@ -3149,7 +3149,7 @@ static void sdhci_timeout_data_timer(str
|
||||
|
||||
if (host->data || host->data_cmd ||
|
||||
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
|
||||
|
||||
@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1488,9 +1488,6 @@ static int vc4_hdmi_cec_init(struct vc4_
|
||||
@@ -1490,9 +1490,6 @@ static int vc4_hdmi_cec_init(struct vc4_
|
||||
u32 value;
|
||||
int ret;
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
|
||||
vc4_hdmi, "vc4",
|
||||
CEC_CAP_DEFAULTS |
|
||||
@@ -1910,7 +1907,6 @@ static const struct vc4_hdmi_variant bcm
|
||||
@@ -1912,7 +1909,6 @@ static const struct vc4_hdmi_variant bcm
|
||||
.debugfs_name = "hdmi_regs",
|
||||
.card_name = "vc4-hdmi",
|
||||
.max_pixel_clock = 162000000,
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
From 1a0b802bb6bca3b42034245d35b56309749a362c Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Tue, 23 Jun 2020 18:37:01 +0100
|
||||
Subject: [PATCH] vc4_hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET
|
||||
|
||||
Symptom is random switching of speakers when using multichannel.
|
||||
|
||||
Repeatedly running speakertest -c8 occasionally starts with
|
||||
channels jumbled. This is fixed with HD_CTL_WHOLSMP.
|
||||
|
||||
The other bit looks beneficial and apears harmless in testing so
|
||||
I'd suggest adding it too.
|
||||
|
||||
Documentation says: HD_CTL_WHILSMP_SET
|
||||
Wait for whole sample. When this bit is set MAI transmit will start
|
||||
only when there is at least one whole sample available in the fifo.
|
||||
|
||||
Documentation says: HD_CTL_CHALIGN_SET
|
||||
Channel Align When Overflow. This bit is used to realign the audio
|
||||
channels in case of an overflow.
|
||||
If this bit is set, after the detection of an overflow, equal
|
||||
amount of dummy words to the missing words will be written to fifo,
|
||||
filling up the broken sample and maintaining alignment.
|
||||
|
||||
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_hdmi.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1074,7 +1074,9 @@ static int vc4_hdmi_audio_trigger(struct
|
||||
HDMI_WRITE(HDMI_MAI_CTL,
|
||||
VC4_SET_FIELD(vc4_hdmi->audio.channels,
|
||||
VC4_HD_MAI_CTL_CHNUM) |
|
||||
- VC4_HD_MAI_CTL_ENABLE);
|
||||
+ VC4_HD_MAI_CTL_WHOLSMP |
|
||||
+ VC4_HD_MAI_CTL_CHALIGN |
|
||||
+ VC4_HD_MAI_CTL_ENABLE);
|
||||
break;
|
||||
case SNDRV_PCM_TRIGGER_STOP:
|
||||
HDMI_WRITE(HDMI_MAI_CTL,
|
||||
@ -20,7 +20,7 @@ mechanism to be implemented for OS upgrades.
|
||||
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -191,6 +191,7 @@ static int rpi_firmware_notify_reboot(st
|
||||
@@ -194,6 +194,7 @@ static int rpi_firmware_notify_reboot(st
|
||||
{
|
||||
struct rpi_firmware *fw;
|
||||
struct platform_device *pdev = g_pdev;
|
||||
@ -28,7 +28,7 @@ mechanism to be implemented for OS upgrades.
|
||||
|
||||
if (!pdev)
|
||||
return 0;
|
||||
@@ -199,8 +200,28 @@ static int rpi_firmware_notify_reboot(st
|
||||
@@ -202,8 +203,28 @@ static int rpi_firmware_notify_reboot(st
|
||||
if (!fw)
|
||||
return 0;
|
||||
|
||||
|
||||
@ -698,7 +698,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1
|
||||
struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
|
||||
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
@@ -303,7 +303,7 @@ static void mxsfb_crtc_atomic_flush(stru
|
||||
@@ -343,7 +343,7 @@ static void mxsfb_crtc_atomic_flush(stru
|
||||
}
|
||||
|
||||
static void mxsfb_crtc_atomic_enable(struct drm_crtc *crtc,
|
||||
@ -707,7 +707,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1
|
||||
{
|
||||
struct mxsfb_drm_private *mxsfb = to_mxsfb_drm_private(crtc->dev);
|
||||
struct drm_device *drm = mxsfb->drm;
|
||||
@@ -327,7 +327,7 @@ static void mxsfb_crtc_atomic_enable(str
|
||||
@@ -367,7 +367,7 @@ static void mxsfb_crtc_atomic_enable(str
|
||||
}
|
||||
|
||||
static void mxsfb_crtc_atomic_disable(struct drm_crtc *crtc,
|
||||
@ -1114,7 +1114,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1
|
||||
{
|
||||
struct zynqmp_disp *disp = crtc_to_disp(crtc);
|
||||
struct drm_display_mode *adjusted_mode = &crtc->state->adjusted_mode;
|
||||
@@ -1472,8 +1472,10 @@ zynqmp_disp_crtc_atomic_enable(struct dr
|
||||
@@ -1473,8 +1473,10 @@ zynqmp_disp_crtc_atomic_enable(struct dr
|
||||
|
||||
static void
|
||||
zynqmp_disp_crtc_atomic_disable(struct drm_crtc *crtc,
|
||||
|
||||
@ -638,7 +638,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max
|
||||
* and that we don't have conflicting mixer stages:
|
||||
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
@@ -270,17 +270,19 @@ static void mxsfb_crtc_mode_set_nofb(str
|
||||
@@ -310,17 +310,19 @@ static void mxsfb_crtc_mode_set_nofb(str
|
||||
}
|
||||
|
||||
static int mxsfb_crtc_atomic_check(struct drm_crtc *crtc,
|
||||
@ -990,7 +990,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max
|
||||
void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc,
|
||||
--- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
|
||||
+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
|
||||
@@ -1505,9 +1505,11 @@ zynqmp_disp_crtc_atomic_disable(struct d
|
||||
@@ -1506,9 +1506,11 @@ zynqmp_disp_crtc_atomic_disable(struct d
|
||||
}
|
||||
|
||||
static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc,
|
||||
|
||||
@ -680,7 +680,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
|
||||
struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
|
||||
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
@@ -286,7 +286,7 @@ static int mxsfb_crtc_atomic_check(struc
|
||||
@@ -326,7 +326,7 @@ static int mxsfb_crtc_atomic_check(struc
|
||||
}
|
||||
|
||||
static void mxsfb_crtc_atomic_flush(struct drm_crtc *crtc,
|
||||
@ -968,7 +968,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
|
||||
void vmw_du_crtc_destroy_state(struct drm_crtc *crtc,
|
||||
--- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
|
||||
+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
|
||||
@@ -1514,14 +1514,14 @@ static int zynqmp_disp_crtc_atomic_check
|
||||
@@ -1515,14 +1515,14 @@ static int zynqmp_disp_crtc_atomic_check
|
||||
|
||||
static void
|
||||
zynqmp_disp_crtc_atomic_begin(struct drm_crtc *crtc,
|
||||
|
||||
@ -75,7 +75,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-max
|
||||
static void drm_simple_kms_crtc_enable(struct drm_crtc *crtc,
|
||||
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
|
||||
@@ -282,7 +282,7 @@ static int mxsfb_crtc_atomic_check(struc
|
||||
@@ -322,7 +322,7 @@ static int mxsfb_crtc_atomic_check(struc
|
||||
return -EINVAL;
|
||||
|
||||
/* TODO: Is this needed ? */
|
||||
@ -123,7 +123,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-max
|
||||
continue;
|
||||
--- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
|
||||
+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
|
||||
@@ -1507,9 +1507,7 @@ zynqmp_disp_crtc_atomic_disable(struct d
|
||||
@@ -1508,9 +1508,7 @@ zynqmp_disp_crtc_atomic_disable(struct d
|
||||
static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc,
|
||||
struct drm_atomic_state *state)
|
||||
{
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -3269,10 +3269,13 @@ static void xhci_endpoint_reset(struct u
|
||||
@@ -3270,10 +3270,13 @@ static void xhci_endpoint_reset(struct u
|
||||
return;
|
||||
|
||||
/* Bail out if toggle is already being cleared by a endpoint reset */
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Only interrupt and bulk ep's use data toggle, USB2 spec 5.5.4-> */
|
||||
if (usb_endpoint_xfer_control(&host_ep->desc) ||
|
||||
usb_endpoint_xfer_isoc(&host_ep->desc))
|
||||
@@ -3358,8 +3361,10 @@ static void xhci_endpoint_reset(struct u
|
||||
@@ -3359,8 +3362,10 @@ static void xhci_endpoint_reset(struct u
|
||||
xhci_free_command(xhci, cfg_cmd);
|
||||
cleanup:
|
||||
xhci_free_command(xhci, stop_cmd);
|
||||
|
||||
@ -28,11 +28,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/ethernet/broadcom/bgmac-bcma.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/ethernet/broadcom/bgmac-bcma.c b/drivers/net/ethernet/broadcom/bgmac-bcma.c
|
||||
index 85fa0ab7201c7..9513cfb5ba58c 100644
|
||||
--- a/drivers/net/ethernet/broadcom/bgmac-bcma.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c
|
||||
@@ -129,6 +129,8 @@ static int bgmac_probe(struct bcma_device *core)
|
||||
@@ -129,6 +129,8 @@ static int bgmac_probe(struct bcma_devic
|
||||
bcma_set_drvdata(core, bgmac);
|
||||
|
||||
err = of_get_mac_address(bgmac->dev->of_node, bgmac->net_dev->dev_addr);
|
||||
@ -41,6 +39,3 @@ index 85fa0ab7201c7..9513cfb5ba58c 100644
|
||||
|
||||
/* If no MAC address assigned via device tree, check SPROM */
|
||||
if (err) {
|
||||
--
|
||||
cgit 1.2.3-1.el7
|
||||
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Tue, 31 Aug 2021 08:40:49 +0200
|
||||
Subject: [PATCH fix] Revert "USB: bcma: Add a check for devm_gpiod_get"
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This reverts commit f3de5d857bb2362b00e2a8d4bc886cd49dcb66db.
|
||||
|
||||
That commit broke USB on all routers that have USB always powered on and
|
||||
don't require toggling any GPIO. It's a majority of devices actually.
|
||||
|
||||
The original code worked and seemed safe: vcc GPIO is optional and
|
||||
bcma_hci_platform_power_gpio() takes care of checking the pointer before
|
||||
using it.
|
||||
|
||||
This revert fixes:
|
||||
[ 10.801127] bcma_hcd: probe of bcma0:11 failed with error -2
|
||||
|
||||
Cc: Chuhong Yuan <hslester96@gmail.com>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
drivers/usb/host/bcma-hcd.c | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/usb/host/bcma-hcd.c
|
||||
+++ b/drivers/usb/host/bcma-hcd.c
|
||||
@@ -406,12 +406,9 @@ static int bcma_hcd_probe(struct bcma_de
|
||||
return -ENOMEM;
|
||||
usb_dev->core = core;
|
||||
|
||||
- if (core->dev.of_node) {
|
||||
+ if (core->dev.of_node)
|
||||
usb_dev->gpio_desc = devm_gpiod_get(&core->dev, "vcc",
|
||||
GPIOD_OUT_HIGH);
|
||||
- if (IS_ERR(usb_dev->gpio_desc))
|
||||
- return PTR_ERR(usb_dev->gpio_desc);
|
||||
- }
|
||||
|
||||
switch (core->id.id) {
|
||||
case BCMA_CORE_USB20_HOST:
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
clocks {
|
||||
--- a/drivers/bcma/main.c
|
||||
+++ b/drivers/bcma/main.c
|
||||
@@ -330,14 +330,6 @@ static int bcma_register_devices(struct
|
||||
@@ -328,14 +328,6 @@ static int bcma_register_devices(struct
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
#ifdef CONFIG_BCMA_NFLASH
|
||||
if (bus->drv_cc.nflash.present) {
|
||||
err = platform_device_register(&bcma_nflash_dev);
|
||||
@@ -415,6 +407,14 @@ int bcma_bus_register(struct bcma_bus *b
|
||||
@@ -413,6 +405,14 @@ int bcma_bus_register(struct bcma_bus *b
|
||||
bcma_register_core(bus, core);
|
||||
}
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
#include <asm/irq.h>
|
||||
@@ -5556,6 +5560,72 @@ static void fotg210_init(struct fotg210_
|
||||
@@ -5553,6 +5557,72 @@ static void fotg210_init(struct fotg210_
|
||||
}
|
||||
|
||||
/*
|
||||
@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
* fotg210_hcd_probe - initialize faraday FOTG210 HCDs
|
||||
*
|
||||
* Allocates basic resources for this USB host controller, and
|
||||
@@ -5632,6 +5702,12 @@ static int fotg210_hcd_probe(struct plat
|
||||
@@ -5629,6 +5699,12 @@ static int fotg210_hcd_probe(struct plat
|
||||
|
||||
fotg210_init(fotg210);
|
||||
|
||||
|
||||
@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
}
|
||||
|
||||
static int nf_flow_table_block_setup(struct nf_flowtable *flowtable,
|
||||
@@ -1012,15 +1022,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_
|
||||
@@ -1013,15 +1023,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_
|
||||
|
||||
int nf_flow_table_offload_init(void)
|
||||
{
|
||||
|
||||
@ -1,44 +0,0 @@
|
||||
From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
|
||||
Date: Tue, 23 Mar 2021 00:56:20 +0100
|
||||
Subject: [PATCH] netfilter: Fix fall-through warnings for Clang
|
||||
|
||||
In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple
|
||||
warnings by explicitly adding multiple break statements instead of just
|
||||
letting the code fall through to the next case.
|
||||
|
||||
Link: https://github.com/KSPP/linux/issues/115
|
||||
Acked-by: Florian Westphal <fw@strlen.de>
|
||||
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
|
||||
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
---
|
||||
|
||||
--- a/net/netfilter/nf_conntrack_proto_dccp.c
|
||||
+++ b/net/netfilter/nf_conntrack_proto_dccp.c
|
||||
@@ -397,6 +397,7 @@ dccp_new(struct nf_conn *ct, const struc
|
||||
msg = "not picking up existing connection ";
|
||||
goto out_invalid;
|
||||
}
|
||||
+ break;
|
||||
case CT_DCCP_REQUEST:
|
||||
break;
|
||||
case CT_DCCP_INVALID:
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -8394,6 +8394,7 @@ static int nf_tables_check_loops(const s
|
||||
data->verdict.chain);
|
||||
if (err < 0)
|
||||
return err;
|
||||
+ break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
--- a/net/netfilter/nft_ct.c
|
||||
+++ b/net/netfilter/nft_ct.c
|
||||
@@ -528,6 +528,7 @@ static void __nft_ct_set_destroy(const s
|
||||
case NFT_CT_ZONE:
|
||||
if (--nft_ct_pcpu_template_refcnt == 0)
|
||||
nft_ct_tmpl_put_pcpu();
|
||||
+ break;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2114,7 +2114,9 @@ static void dsa_slave_switchdev_event_wo
|
||||
@@ -2112,7 +2112,9 @@ static void dsa_slave_switchdev_event_wo
|
||||
|
||||
err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid);
|
||||
if (err) {
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
break;
|
||||
}
|
||||
fdb_info->offloaded = true;
|
||||
@@ -2129,9 +2131,11 @@ static void dsa_slave_switchdev_event_wo
|
||||
@@ -2127,9 +2129,11 @@ static void dsa_slave_switchdev_event_wo
|
||||
|
||||
err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid);
|
||||
if (err) {
|
||||
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
struct sk_buff * (*xmit)(struct sk_buff *skb,
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2089,76 +2089,66 @@ static int dsa_slave_netdevice_event(str
|
||||
@@ -2087,76 +2087,66 @@ static int dsa_slave_netdevice_event(str
|
||||
return NOTIFY_DONE;
|
||||
}
|
||||
|
||||
@ -167,7 +167,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
|
||||
/* Called under rcu_read_lock() */
|
||||
@@ -2166,7 +2156,9 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2164,7 +2154,9 @@ static int dsa_slave_switchdev_event(str
|
||||
unsigned long event, void *ptr)
|
||||
{
|
||||
struct net_device *dev = switchdev_notifier_info_to_dev(ptr);
|
||||
@ -177,7 +177,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
int err;
|
||||
|
||||
if (event == SWITCHDEV_PORT_ATTR_SET) {
|
||||
@@ -2179,20 +2171,32 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2177,20 +2169,32 @@ static int dsa_slave_switchdev_event(str
|
||||
if (!dsa_slave_dev_check(dev))
|
||||
return NOTIFY_DONE;
|
||||
|
||||
@ -213,7 +213,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
dev_hold(dev);
|
||||
break;
|
||||
default:
|
||||
@@ -2202,10 +2206,6 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2200,10 +2204,6 @@ static int dsa_slave_switchdev_event(str
|
||||
|
||||
dsa_schedule_work(&switchdev_work->work);
|
||||
return NOTIFY_OK;
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2161,31 +2161,29 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2159,31 +2159,29 @@ static int dsa_slave_switchdev_event(str
|
||||
struct dsa_port *dp;
|
||||
int err;
|
||||
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
fdb_info = ptr;
|
||||
|
||||
if (!fdb_info->added_by_user) {
|
||||
@@ -2198,13 +2196,12 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2196,13 +2194,12 @@ static int dsa_slave_switchdev_event(str
|
||||
switchdev_work->vid = fdb_info->vid;
|
||||
|
||||
dev_hold(dev);
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2174,6 +2174,9 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2172,6 +2172,9 @@ static int dsa_slave_switchdev_event(str
|
||||
|
||||
dp = dsa_slave_to_port(dev);
|
||||
|
||||
|
||||
@ -170,7 +170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
*/
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2151,6 +2151,28 @@ static void dsa_slave_switchdev_event_wo
|
||||
@@ -2149,6 +2149,28 @@ static void dsa_slave_switchdev_event_wo
|
||||
dev_put(dp->slave);
|
||||
}
|
||||
|
||||
@ -199,7 +199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
/* Called under rcu_read_lock() */
|
||||
static int dsa_slave_switchdev_event(struct notifier_block *unused,
|
||||
unsigned long event, void *ptr)
|
||||
@@ -2169,10 +2191,37 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2167,10 +2189,37 @@ static int dsa_slave_switchdev_event(str
|
||||
return notifier_from_errno(err);
|
||||
case SWITCHDEV_FDB_ADD_TO_DEVICE:
|
||||
case SWITCHDEV_FDB_DEL_TO_DEVICE:
|
||||
@ -240,7 +240,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
if (!dp->ds->ops->port_fdb_add || !dp->ds->ops->port_fdb_del)
|
||||
return NOTIFY_DONE;
|
||||
@@ -2187,18 +2236,13 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2185,18 +2234,13 @@ static int dsa_slave_switchdev_event(str
|
||||
switchdev_work->port = dp->index;
|
||||
switchdev_work->event = event;
|
||||
|
||||
|
||||
@ -1047,7 +1047,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
"no valid MAC address supplied, using a random one\n");
|
||||
--- a/drivers/net/ethernet/renesas/sh_eth.c
|
||||
+++ b/drivers/net/ethernet/renesas/sh_eth.c
|
||||
@@ -3144,7 +3144,6 @@ static struct sh_eth_plat_data *sh_eth_p
|
||||
@@ -3145,7 +3145,6 @@ static struct sh_eth_plat_data *sh_eth_p
|
||||
struct device_node *np = dev->of_node;
|
||||
struct sh_eth_plat_data *pdata;
|
||||
phy_interface_t interface;
|
||||
@ -1055,7 +1055,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int ret;
|
||||
|
||||
pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
|
||||
@@ -3156,9 +3155,7 @@ static struct sh_eth_plat_data *sh_eth_p
|
||||
@@ -3157,9 +3156,7 @@ static struct sh_eth_plat_data *sh_eth_p
|
||||
return NULL;
|
||||
pdata->phy_interface = interface;
|
||||
|
||||
@ -1566,7 +1566,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
of_id = of_match_device(w5100_of_match, &spi->dev);
|
||||
--- a/drivers/net/ethernet/wiznet/w5100.c
|
||||
+++ b/drivers/net/ethernet/wiznet/w5100.c
|
||||
@@ -1157,7 +1157,7 @@ int w5100_probe(struct device *dev, cons
|
||||
@@ -1159,7 +1159,7 @@ int w5100_probe(struct device *dev, cons
|
||||
INIT_WORK(&priv->setrx_work, w5100_setrx_work);
|
||||
INIT_WORK(&priv->restart_work, w5100_restart_work);
|
||||
|
||||
@ -1902,7 +1902,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
break;
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -1857,7 +1857,7 @@ int dsa_slave_create(struct dsa_port *po
|
||||
@@ -1855,7 +1855,7 @@ int dsa_slave_create(struct dsa_port *po
|
||||
slave_dev->hw_features |= NETIF_F_HW_TC;
|
||||
slave_dev->features |= NETIF_F_LLTX;
|
||||
slave_dev->ethtool_ops = &dsa_slave_ethtool_ops;
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_priv.h
|
||||
+++ b/drivers/net/dsa/b53/b53_priv.h
|
||||
@@ -185,11 +185,7 @@ static inline int is531x5(struct b53_dev
|
||||
@@ -186,11 +186,7 @@ static inline int is531x5(struct b53_dev
|
||||
|
||||
static inline int is63xx(struct b53_device *dev)
|
||||
{
|
||||
|
||||
@ -76,7 +76,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
vl->untag &= ~(BIT(port));
|
||||
|
||||
b53_set_vlan_entry(dev, vid, vl);
|
||||
@@ -2623,7 +2635,6 @@ struct b53_device *b53_switch_alloc(stru
|
||||
@@ -2644,7 +2656,6 @@ struct b53_device *b53_switch_alloc(stru
|
||||
dev->ops = ops;
|
||||
ds->ops = &b53_switch_ops;
|
||||
ds->configure_vlan_while_not_filtering = true;
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
From cdb067d31c0fe4cce98b9d15f1f2ef525acaa094 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 2 Sep 2021 10:30:50 +0200
|
||||
Subject: [PATCH] net: dsa: b53: Fix calculating number of switch ports
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It isn't true that CPU port is always the last one. Switches BCM5301x
|
||||
have 9 ports (port 6 being inactive) and they use port 5 as CPU by
|
||||
default (depending on design some other may be CPU ports too).
|
||||
|
||||
A more reliable way of determining number of ports is to check for the
|
||||
last set bit in the "enabled_ports" bitfield.
|
||||
|
||||
This fixes b53 internal state, it will allow providing accurate info to
|
||||
the DSA and is required to fix BCM5301x support.
|
||||
|
||||
Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_common.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2584,9 +2584,8 @@ static int b53_switch_init(struct b53_de
|
||||
dev->cpu_port = 5;
|
||||
}
|
||||
|
||||
- /* cpu port is always last */
|
||||
- dev->num_ports = dev->cpu_port + 1;
|
||||
dev->enabled_ports |= BIT(dev->cpu_port);
|
||||
+ dev->num_ports = fls(dev->enabled_ports);
|
||||
|
||||
/* Include non standard CPU port built-in PHYs to be probed */
|
||||
if (is539x(dev) || is531x5(dev)) {
|
||||
@ -1,43 +0,0 @@
|
||||
From d12e1c4649883e8ca5e8ff341e1948b3b6313259 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 2 Sep 2021 10:30:51 +0200
|
||||
Subject: [PATCH] net: dsa: b53: Set correct number of ports in the DSA struct
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Setting DSA_MAX_PORTS caused DSA to call b53 callbacks (e.g.
|
||||
b53_disable_port() during dsa_register_switch()) for invalid
|
||||
(non-existent) ports. That made b53 modify unrelated registers and is
|
||||
one of reasons for a broken BCM5301x support.
|
||||
|
||||
This problem exists for years but DSA_MAX_PORTS usage has changed few
|
||||
times. It seems the most accurate to reference commit dropping
|
||||
dsa_switch_alloc() in the Fixes tag.
|
||||
|
||||
Fixes: 7e99e3470172 ("net: dsa: remove dsa_switch_alloc helper")
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_common.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2587,6 +2587,8 @@ static int b53_switch_init(struct b53_de
|
||||
dev->enabled_ports |= BIT(dev->cpu_port);
|
||||
dev->num_ports = fls(dev->enabled_ports);
|
||||
|
||||
+ dev->ds->num_ports = min_t(unsigned int, dev->num_ports, DSA_MAX_PORTS);
|
||||
+
|
||||
/* Include non standard CPU port built-in PHYs to be probed */
|
||||
if (is539x(dev) || is531x5(dev)) {
|
||||
for (i = 0; i < dev->num_ports; i++) {
|
||||
@@ -2631,7 +2633,6 @@ struct b53_device *b53_switch_alloc(stru
|
||||
return NULL;
|
||||
|
||||
ds->dev = base;
|
||||
- ds->num_ports = DSA_MAX_PORTS;
|
||||
|
||||
dev = devm_kzalloc(base, sizeof(*dev), GFP_KERNEL);
|
||||
if (!dev)
|
||||
@ -1,237 +0,0 @@
|
||||
From 63f8428b4077de3664eb0b252393c839b0b293ec Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Sun, 5 Sep 2021 19:23:28 +0200
|
||||
Subject: [PATCH] net: dsa: b53: Fix IMP port setup on BCM5301x
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Broadcom's b53 switches have one IMP (Inband Management Port) that needs
|
||||
to be programmed using its own designed register. IMP port may be
|
||||
different than CPU port - especially on devices with multiple CPU ports.
|
||||
|
||||
For that reason it's required to explicitly note IMP port index and
|
||||
check for it when choosing a register to use.
|
||||
|
||||
This commit fixes BCM5301x support. Those switches use CPU port 5 while
|
||||
their IMP port is 8. Before this patch b53 was trying to program port 5
|
||||
with B53_PORT_OVERRIDE_CTRL instead of B53_GMII_PORT_OVERRIDE_CTRL(5).
|
||||
|
||||
It may be possible to also replace "cpu_port" usages with
|
||||
dsa_is_cpu_port() but that is out of the scope of thix BCM5301x fix.
|
||||
|
||||
Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_common.c | 28 +++++++++++++++++++++++++---
|
||||
drivers/net/dsa/b53/b53_priv.h | 1 +
|
||||
2 files changed, 26 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -1109,7 +1109,7 @@ static void b53_force_link(struct b53_de
|
||||
u8 reg, val, off;
|
||||
|
||||
/* Override the port settings */
|
||||
- if (port == dev->cpu_port) {
|
||||
+ if (port == dev->imp_port) {
|
||||
off = B53_PORT_OVERRIDE_CTRL;
|
||||
val = PORT_OVERRIDE_EN;
|
||||
} else {
|
||||
@@ -1133,7 +1133,7 @@ static void b53_force_port_config(struct
|
||||
u8 reg, val, off;
|
||||
|
||||
/* Override the port settings */
|
||||
- if (port == dev->cpu_port) {
|
||||
+ if (port == dev->imp_port) {
|
||||
off = B53_PORT_OVERRIDE_CTRL;
|
||||
val = PORT_OVERRIDE_EN;
|
||||
} else {
|
||||
@@ -1201,7 +1201,7 @@ static void b53_adjust_link(struct dsa_s
|
||||
b53_force_link(dev, port, phydev->link);
|
||||
|
||||
if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
|
||||
- if (port == 8)
|
||||
+ if (port == dev->imp_port)
|
||||
off = B53_RGMII_CTRL_IMP;
|
||||
else
|
||||
off = B53_RGMII_CTRL_P(port);
|
||||
@@ -2266,6 +2266,7 @@ struct b53_chip_data {
|
||||
const char *dev_name;
|
||||
u16 vlans;
|
||||
u16 enabled_ports;
|
||||
+ u8 imp_port;
|
||||
u8 cpu_port;
|
||||
u8 vta_regs[3];
|
||||
u8 arl_bins;
|
||||
@@ -2290,6 +2291,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 2,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 5,
|
||||
.cpu_port = B53_CPU_PORT_25,
|
||||
.duplex_reg = B53_DUPLEX_STAT_FE,
|
||||
},
|
||||
@@ -2300,6 +2302,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 2,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 5,
|
||||
.cpu_port = B53_CPU_PORT_25,
|
||||
.duplex_reg = B53_DUPLEX_STAT_FE,
|
||||
},
|
||||
@@ -2310,6 +2313,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2323,6 +2327,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2336,6 +2341,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS_9798,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2349,6 +2355,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x7f,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS_9798,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2363,6 +2370,7 @@ static const struct b53_chip_data b53_sw
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
|
||||
@@ -2375,6 +2383,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0xff,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2388,6 +2397,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1ff,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2401,6 +2411,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0, /* pdata must provide them */
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS_63XX,
|
||||
.duplex_reg = B53_DUPLEX_STAT_63XX,
|
||||
@@ -2414,6 +2425,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2427,6 +2439,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1bf,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2440,6 +2453,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1bf,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2453,6 +2467,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2466,6 +2481,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1f,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2479,6 +2495,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1ff,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2492,6 +2509,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x103,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2505,6 +2523,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1ff,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 1024,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2518,6 +2537,7 @@ static const struct b53_chip_data b53_sw
|
||||
.enabled_ports = 0x1ff,
|
||||
.arl_bins = 4,
|
||||
.arl_buckets = 256,
|
||||
+ .imp_port = 8,
|
||||
.cpu_port = B53_CPU_PORT,
|
||||
.vta_regs = B53_VTA_REGS,
|
||||
.duplex_reg = B53_DUPLEX_STAT_GE,
|
||||
@@ -2543,6 +2563,7 @@ static int b53_switch_init(struct b53_de
|
||||
dev->vta_regs[1] = chip->vta_regs[1];
|
||||
dev->vta_regs[2] = chip->vta_regs[2];
|
||||
dev->jumbo_pm_reg = chip->jumbo_pm_reg;
|
||||
+ dev->imp_port = chip->imp_port;
|
||||
dev->cpu_port = chip->cpu_port;
|
||||
dev->num_vlans = chip->vlans;
|
||||
dev->num_arl_bins = chip->arl_bins;
|
||||
--- a/drivers/net/dsa/b53/b53_priv.h
|
||||
+++ b/drivers/net/dsa/b53/b53_priv.h
|
||||
@@ -122,6 +122,7 @@ struct b53_device {
|
||||
|
||||
/* used ports mask */
|
||||
u16 enabled_ports;
|
||||
+ unsigned int imp_port;
|
||||
unsigned int cpu_port;
|
||||
|
||||
/* connect specific data */
|
||||
@ -1,48 +0,0 @@
|
||||
From: Rob Herring <robh@kernel.org>
|
||||
Date: Tue, 3 Aug 2021 15:56:55 -0600
|
||||
Subject: [PATCH] PCI: of: Don't fail devm_pci_alloc_host_bridge() on missing
|
||||
'ranges'
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Commit 669cbc708122 ("PCI: Move DT resource setup into
|
||||
devm_pci_alloc_host_bridge()") made devm_pci_alloc_host_bridge() fail on
|
||||
any DT resource parsing errors, but Broadcom iProc uses
|
||||
devm_pci_alloc_host_bridge() on BCMA bus devices that don't have DT
|
||||
resources. In particular, there is no 'ranges' property. Fix iProc by
|
||||
making 'ranges' optional.
|
||||
|
||||
If 'ranges' is required by a platform, there's going to be more errors
|
||||
latter on if it is missing.
|
||||
|
||||
Fixes: 669cbc708122 ("PCI: Move DT resource setup into devm_pci_alloc_host_bridge()")
|
||||
Reported-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
Cc: Srinath Mannam <srinath.mannam@broadcom.com>
|
||||
Cc: Roman Bacik <roman.bacik@broadcom.com>
|
||||
Cc: Bharat Gooty <bharat.gooty@broadcom.com>
|
||||
Cc: Abhishek Shah <abhishek.shah@broadcom.com>
|
||||
Cc: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
|
||||
Cc: Ray Jui <ray.jui@broadcom.com>
|
||||
Cc: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Cc: BCM Kernel Feedback <bcm-kernel-feedback-list@broadcom.com>
|
||||
Cc: Scott Branden <sbranden@broadcom.com>
|
||||
Cc: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
||||
Signed-off-by: Rob Herring <robh@kernel.org>
|
||||
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
|
||||
---
|
||||
drivers/pci/of.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/pci/of.c
|
||||
+++ b/drivers/pci/of.c
|
||||
@@ -295,7 +295,7 @@ static int devm_of_pci_get_host_bridge_r
|
||||
/* Check for ranges property */
|
||||
err = of_pci_range_parser_init(&parser, dev_node);
|
||||
if (err)
|
||||
- goto failed;
|
||||
+ return 0;
|
||||
|
||||
dev_dbg(dev, "Parsing ranges property...\n");
|
||||
for_each_of_pci_range(&parser, &range) {
|
||||
@ -1,74 +0,0 @@
|
||||
From: Rob Herring <robh@kernel.org>
|
||||
Date: Tue, 3 Aug 2021 15:56:56 -0600
|
||||
Subject: [PATCH] PCI: iproc: Fix BCMA probe resource handling
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In commit 7ef1c871da16 ("PCI: iproc: Use
|
||||
pci_parse_request_of_pci_ranges()"), calling
|
||||
devm_request_pci_bus_resources() was dropped from the common iProc
|
||||
probe code, but is still needed for BCMA bus probing. Without it, there
|
||||
will be lots of warnings like this:
|
||||
|
||||
pci 0000:00:00.0: BAR 8: no space for [mem size 0x00c00000]
|
||||
pci 0000:00:00.0: BAR 8: failed to assign [mem size 0x00c00000]
|
||||
|
||||
Add back calling devm_request_pci_bus_resources() and adding the
|
||||
resources to pci_host_bridge.windows for BCMA bus probe.
|
||||
|
||||
Fixes: 7ef1c871da16 ("PCI: iproc: Use pci_parse_request_of_pci_ranges()")
|
||||
Reported-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
Cc: Srinath Mannam <srinath.mannam@broadcom.com>
|
||||
Cc: Roman Bacik <roman.bacik@broadcom.com>
|
||||
Cc: Bharat Gooty <bharat.gooty@broadcom.com>
|
||||
Cc: Abhishek Shah <abhishek.shah@broadcom.com>
|
||||
Cc: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
|
||||
Cc: Ray Jui <ray.jui@broadcom.com>
|
||||
Cc: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Cc: BCM Kernel Feedback <bcm-kernel-feedback-list@broadcom.com>
|
||||
Cc: Scott Branden <sbranden@broadcom.com>
|
||||
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
||||
Cc: "Krzysztof Wilczyński" <kw@linux.com>
|
||||
Cc: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Signed-off-by: Rob Herring <robh@kernel.org>
|
||||
---
|
||||
drivers/pci/controller/pcie-iproc-bcma.c | 16 ++++++----------
|
||||
1 file changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
--- a/drivers/pci/controller/pcie-iproc-bcma.c
|
||||
+++ b/drivers/pci/controller/pcie-iproc-bcma.c
|
||||
@@ -35,7 +35,6 @@ static int iproc_pcie_bcma_probe(struct
|
||||
{
|
||||
struct device *dev = &bdev->dev;
|
||||
struct iproc_pcie *pcie;
|
||||
- LIST_HEAD(resources);
|
||||
struct pci_host_bridge *bridge;
|
||||
int ret;
|
||||
|
||||
@@ -60,19 +59,16 @@ static int iproc_pcie_bcma_probe(struct
|
||||
pcie->mem.end = bdev->addr_s[0] + SZ_128M - 1;
|
||||
pcie->mem.name = "PCIe MEM space";
|
||||
pcie->mem.flags = IORESOURCE_MEM;
|
||||
- pci_add_resource(&resources, &pcie->mem);
|
||||
+ pci_add_resource(&bridge->windows, &pcie->mem);
|
||||
+ ret = devm_request_pci_bus_resources(dev, &bridge->windows);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
|
||||
pcie->map_irq = iproc_pcie_bcma_map_irq;
|
||||
|
||||
- ret = iproc_pcie_setup(pcie, &resources);
|
||||
- if (ret) {
|
||||
- dev_err(dev, "PCIe controller setup failed\n");
|
||||
- pci_free_resource_list(&resources);
|
||||
- return ret;
|
||||
- }
|
||||
-
|
||||
bcma_set_drvdata(bdev, pcie);
|
||||
- return 0;
|
||||
+
|
||||
+ return iproc_pcie_setup(pcie, &bridge->windows);
|
||||
}
|
||||
|
||||
static void iproc_pcie_bcma_remove(struct bcma_device *bdev)
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
select OF_EARLY_FLATTREE if OF
|
||||
--- a/arch/arm/boot/compressed/Makefile
|
||||
+++ b/arch/arm/boot/compressed/Makefile
|
||||
@@ -98,6 +98,7 @@ $(foreach o, $(libfdt_objs) atags_to_fdt
|
||||
@@ -100,6 +100,7 @@ $(foreach o, $(libfdt_objs) atags_to_fdt
|
||||
ifdef building_out_of_srctree
|
||||
$(shell rm -f $(addprefix $(obj)/, fdt_rw.c fdt_ro.c fdt_wip.c fdt.c))
|
||||
endif
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/block/blk.h
|
||||
+++ b/block/blk.h
|
||||
@@ -353,6 +353,7 @@ char *disk_name(struct gendisk *hd, int
|
||||
@@ -355,6 +355,7 @@ char *disk_name(struct gendisk *hd, int
|
||||
#define ADDPART_FLAG_NONE 0
|
||||
#define ADDPART_FLAG_RAID 1
|
||||
#define ADDPART_FLAG_WHOLEDISK 2
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/sched/sch_fq_codel.c
|
||||
+++ b/net/sched/sch_fq_codel.c
|
||||
@@ -461,7 +461,11 @@ static int fq_codel_init(struct Qdisc *s
|
||||
@@ -469,7 +469,11 @@ static int fq_codel_init(struct Qdisc *s
|
||||
|
||||
sch->limit = 10*1024;
|
||||
q->flows_cnt = 1024;
|
||||
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
register_qdisc(&pfifo_head_drop_qdisc_ops);
|
||||
--- a/net/sched/sch_fq_codel.c
|
||||
+++ b/net/sched/sch_fq_codel.c
|
||||
@@ -701,7 +701,7 @@ static const struct Qdisc_class_ops fq_c
|
||||
@@ -709,7 +709,7 @@ static const struct Qdisc_class_ops fq_c
|
||||
.walk = fq_codel_walk,
|
||||
};
|
||||
|
||||
@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
.cl_ops = &fq_codel_class_ops,
|
||||
.id = "fq_codel",
|
||||
.priv_size = sizeof(struct fq_codel_sched_data),
|
||||
@@ -716,6 +716,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
|
||||
@@ -724,6 +724,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
|
||||
.dump_stats = fq_codel_dump_stats,
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+MODULE_LICENSE("GPL");
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -3049,6 +3049,7 @@ int wake_up_state(struct task_struct *p,
|
||||
@@ -3062,6 +3062,7 @@ int wake_up_state(struct task_struct *p,
|
||||
{
|
||||
return try_to_wake_up(p, state, 0);
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/compiler.h
|
||||
+++ b/include/linux/compiler.h
|
||||
@@ -211,6 +211,8 @@ void ftrace_likely_update(struct ftrace_
|
||||
@@ -213,6 +213,8 @@ void ftrace_likely_update(struct ftrace_
|
||||
__v; \
|
||||
})
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
/*
|
||||
@@ -243,6 +245,4 @@ static inline void *offset_to_ptr(const
|
||||
@@ -245,6 +247,4 @@ static inline void *offset_to_ptr(const
|
||||
*/
|
||||
#define prevent_tail_call_optimization() mb()
|
||||
|
||||
|
||||
@ -1,24 +0,0 @@
|
||||
--- a/drivers/mtd/mtdconcat.c
|
||||
+++ b/drivers/mtd/mtdconcat.c
|
||||
@@ -683,8 +683,12 @@ struct mtd_info *mtd_concat_create(struc
|
||||
concat->mtd._writev = concat_writev;
|
||||
if (subdev[0]->_read_oob)
|
||||
concat->mtd._read_oob = concat_read_oob;
|
||||
+ else
|
||||
+ concat->mtd._read = concat_read;
|
||||
if (subdev[0]->_write_oob)
|
||||
concat->mtd._write_oob = concat_write_oob;
|
||||
+ else
|
||||
+ concat->mtd._write = concat_write;
|
||||
if (subdev[0]->_block_isbad)
|
||||
concat->mtd._block_isbad = concat_block_isbad;
|
||||
if (subdev[0]->_block_markbad)
|
||||
@@ -744,8 +748,6 @@ struct mtd_info *mtd_concat_create(struc
|
||||
concat->mtd.name = name;
|
||||
|
||||
concat->mtd._erase = concat_erase;
|
||||
- concat->mtd._read = concat_read;
|
||||
- concat->mtd._write = concat_write;
|
||||
concat->mtd._sync = concat_sync;
|
||||
concat->mtd._lock = concat_lock;
|
||||
concat->mtd._unlock = concat_unlock;
|
||||
@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case RTN_THROW:
|
||||
case RTN_UNREACHABLE:
|
||||
default:
|
||||
@@ -4426,6 +4445,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
@@ -4429,6 +4448,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
/*
|
||||
* Allocate a dst for local (unicast / anycast) address.
|
||||
*/
|
||||
@@ -4906,7 +4936,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
@@ -4909,7 +4939,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||
rtm->rtm_type == RTN_PROHIBIT ||
|
||||
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -6076,6 +6107,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6079,6 +6110,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -6087,6 +6120,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6090,6 +6123,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||
#endif
|
||||
}
|
||||
@@ -6278,6 +6312,8 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6281,6 +6315,8 @@ static int __net_init ip6_route_net_init
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.fib6_has_custom_rules = false;
|
||||
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
|
||||
sizeof(*net->ipv6.ip6_prohibit_entry),
|
||||
GFP_KERNEL);
|
||||
@@ -6288,11 +6324,21 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6291,11 +6327,21 @@ static int __net_init ip6_route_net_init
|
||||
ip6_template_metrics, true);
|
||||
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
|
||||
|
||||
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@@ -6319,6 +6365,8 @@ out:
|
||||
@@ -6322,6 +6368,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -6338,6 +6386,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -6341,6 +6389,7 @@ static void __net_exit ip6_route_net_exi
|
||||
kfree(net->ipv6.ip6_null_entry);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
@@ -6415,6 +6464,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -6418,6 +6467,9 @@ void __init ip6_route_init_special_entri
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2194,10 +2194,12 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2192,10 +2192,12 @@ static int dsa_slave_switchdev_event(str
|
||||
fdb_info = ptr;
|
||||
|
||||
if (dsa_slave_dev_check(dev)) {
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2208,7 +2208,11 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2206,7 +2206,11 @@ static int dsa_slave_switchdev_event(str
|
||||
struct net_device *br_dev;
|
||||
struct dsa_slave_priv *p;
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -2201,9 +2201,12 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2199,9 +2199,12 @@ static int dsa_slave_switchdev_event(str
|
||||
else if (!fdb_info->added_by_user)
|
||||
return NOTIFY_OK;
|
||||
} else {
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
*/
|
||||
struct net_device *br_dev;
|
||||
struct dsa_slave_priv *p;
|
||||
@@ -2225,7 +2228,8 @@ static int dsa_slave_switchdev_event(str
|
||||
@@ -2223,7 +2226,8 @@ static int dsa_slave_switchdev_event(str
|
||||
|
||||
dp = p->dp->cpu_dp;
|
||||
|
||||
|
||||
@ -50,20 +50,14 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
if (err)
|
||||
--- a/drivers/bcma/main.c
|
||||
+++ b/drivers/bcma/main.c
|
||||
@@ -236,12 +236,16 @@ EXPORT_SYMBOL(bcma_core_irq);
|
||||
|
||||
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core)
|
||||
{
|
||||
+ struct device *dev = &core->dev;
|
||||
+
|
||||
core->dev.release = bcma_release_core_dev;
|
||||
@@ -241,8 +241,10 @@ void bcma_prepare_core(struct bcma_bus *
|
||||
core->dev.bus = &bcma_bus_type;
|
||||
dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index);
|
||||
core->dev.parent = bus->dev;
|
||||
- if (bus->dev)
|
||||
+ if (bus->dev) {
|
||||
bcma_of_fill_device(bus->dev, core);
|
||||
+ dma_coerce_mask_and_coherent(dev, bus->dev->coherent_dma_mask);
|
||||
+ dma_coerce_mask_and_coherent(&core->dev, bus->dev->coherent_dma_mask);
|
||||
+ }
|
||||
|
||||
switch (bus->hosttype) {
|
||||
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
||||
* device with a broken_parity_status to allow PCI scanning code to "skip"
|
||||
@@ -3322,6 +3323,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
@@ -3323,6 +3324,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
|
||||
* To work around this, query the size it should be configured to by the
|
||||
@@ -3347,6 +3350,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||
@@ -3348,6 +3351,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
|
||||
* though no one is handling them (e.g., if the i915 driver is never
|
||||
@@ -3385,6 +3390,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
@@ -3386,6 +3391,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif /* __LINUX_USB_PCI_QUIRKS_H */
|
||||
--- a/include/linux/usb/hcd.h
|
||||
+++ b/include/linux/usb/hcd.h
|
||||
@@ -484,7 +484,14 @@ extern int usb_hcd_pci_probe(struct pci_
|
||||
@@ -486,7 +486,14 @@ extern int usb_hcd_pci_probe(struct pci_
|
||||
extern void usb_hcd_pci_remove(struct pci_dev *dev);
|
||||
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
|
||||
|
||||
|
||||
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @tf: Target ATA taskfile
|
||||
@@ -4513,6 +4526,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
@@ -4517,6 +4530,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
if (tag < 0)
|
||||
return NULL;
|
||||
}
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
qc = __ata_qc_from_tag(ap, tag);
|
||||
qc->tag = qc->hw_tag = tag;
|
||||
@@ -5291,6 +5307,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -5295,6 +5311,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
return ap;
|
||||
@@ -5326,6 +5345,12 @@ static void ata_host_release(struct kref
|
||||
@@ -5330,6 +5349,12 @@ static void ata_host_release(struct kref
|
||||
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
host->ports[i] = NULL;
|
||||
}
|
||||
@@ -5732,7 +5757,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -5736,7 +5761,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
|
||||
val = stmmac_get_platform_resources(pdev, &stmmac_res);
|
||||
if (val)
|
||||
@@ -346,6 +388,17 @@ static int ipq806x_gmac_probe(struct pla
|
||||
@@ -339,6 +381,17 @@ static int ipq806x_gmac_probe(struct pla
|
||||
0x1ul << QSGMII_PHY_RX_INPUT_EQU_OFFSET |
|
||||
0x2ul << QSGMII_PHY_CDR_PI_SLEW_OFFSET |
|
||||
0xCul << QSGMII_PHY_TX_DRV_AMP_OFFSET);
|
||||
|
||||
@ -6,7 +6,7 @@ ARCH:=arm
|
||||
BOARD:=mediatek
|
||||
BOARDNAME:=MediaTek Ralink ARM
|
||||
SUBTARGETS:=mt7622 mt7623 mt7629
|
||||
FEATURES:=squashfs nand separate_ramdisk fpu dt-overlay
|
||||
FEATURES:=dt-overlay fpu gpio nand pci pcie separate_ramdisk squashfs usb
|
||||
|
||||
KERNEL_PATCHVER:=5.10
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ BOARDNAME:=MT7623
|
||||
CPU_TYPE:=cortex-a7
|
||||
CPU_SUBTYPE:=neon-vfpv4
|
||||
KERNELNAME:=Image dtbs zImage
|
||||
FEATURES+=usb
|
||||
FEATURES+=display usbgadget
|
||||
DEFAULT_PACKAGES+=blockdev uboot-envtools
|
||||
|
||||
define Target/Description
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
#define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */
|
||||
--- a/drivers/tty/serial/8250/8250_port.c
|
||||
+++ b/drivers/tty/serial/8250/8250_port.c
|
||||
@@ -287,7 +287,7 @@ static const struct serial8250_config ua
|
||||
@@ -288,7 +288,7 @@ static const struct serial8250_config ua
|
||||
.tx_loadsz = 16,
|
||||
.fcr = UART_FCR_ENABLE_FIFO |
|
||||
UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT,
|
||||
@ -19,7 +19,7 @@
|
||||
},
|
||||
[PORT_NPCM] = {
|
||||
.name = "Nuvoton 16550",
|
||||
@@ -2718,6 +2718,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
@@ -2719,6 +2719,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
unsigned long flags;
|
||||
unsigned int baud, quot, frac = 0;
|
||||
|
||||
|
||||
@ -1,14 +1,6 @@
|
||||
--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
||||
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
||||
@@ -297,14 +297,14 @@
|
||||
&pcie1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie1_pins>;
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
};
|
||||
|
||||
&pio {
|
||||
@@ -304,7 +304,7 @@
|
||||
/* Attention: GPIO 90 is used to switch between PCIe@1,0 and
|
||||
* SATA functions. i.e. output-high: PCIe, output-low: SATA
|
||||
*/
|
||||
@ -53,7 +45,7 @@
|
||||
+};
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64-pcie1.dts
|
||||
@@ -0,0 +1,24 @@
|
||||
@@ -0,0 +1,17 @@
|
||||
+/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
@ -70,11 +62,4 @@
|
||||
+ gpios = <90 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&pcie1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
|
||||
@ -21,8 +21,8 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||||
+#include <linux/of.h>
|
||||
#include <linux/platform_data/x86/apple.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/switchtec.h>
|
||||
@@ -5625,3 +5626,34 @@ static void apex_pci_fixup_class(struct
|
||||
#include <linux/suspend.h>
|
||||
@@ -5762,3 +5763,34 @@ static void apex_pci_fixup_class(struct
|
||||
}
|
||||
DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
|
||||
PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
/* initialize internal qc */
|
||||
qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
|
||||
|
||||
@@ -4520,6 +4528,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
@@ -4524,6 +4532,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
|
||||
return NULL;
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
/* libsas case */
|
||||
if (ap->flags & ATA_FLAG_SAS_HOST) {
|
||||
tag = ata_sas_allocate_tag(ap);
|
||||
@@ -4565,6 +4576,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
||||
@@ -4569,6 +4580,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
||||
qc->tag = ATA_TAG_POISON;
|
||||
if (ap->flags & ATA_FLAG_SAS_HOST)
|
||||
ata_sas_free_tag(tag, ap);
|
||||
|
||||
15
target/linux/ramips/dts/mt7621_netgear_r6900-v2.dts
Normal file
15
target/linux/ramips/dts/mt7621_netgear_r6900-v2.dts
Normal file
@ -0,0 +1,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include "mt7621_netgear_sercomm_bzv.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "netgear,r6900-v2", "mediatek,mt7621-soc";
|
||||
model = "Netgear R6900 v2";
|
||||
};
|
||||
|
||||
&leds {
|
||||
guest_wifi {
|
||||
gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>;
|
||||
label = "white:guest_wifi";
|
||||
};
|
||||
};
|
||||
15
target/linux/ramips/dts/mt7621_netgear_r7200.dts
Normal file
15
target/linux/ramips/dts/mt7621_netgear_r7200.dts
Normal file
@ -0,0 +1,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include "mt7621_netgear_sercomm_bzv.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "netgear,r7200", "mediatek,mt7621-soc";
|
||||
model = "Netgear R7200";
|
||||
};
|
||||
|
||||
&leds {
|
||||
guest_wifi {
|
||||
gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>;
|
||||
label = "white:guest_wifi";
|
||||
};
|
||||
};
|
||||
15
target/linux/ramips/dts/mt7621_netgear_r7450.dts
Normal file
15
target/linux/ramips/dts/mt7621_netgear_r7450.dts
Normal file
@ -0,0 +1,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include "mt7621_netgear_sercomm_bzv.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "netgear,r7450", "mediatek,mt7621-soc";
|
||||
model = "Netgear R7450";
|
||||
};
|
||||
|
||||
&leds {
|
||||
guest_wifi {
|
||||
gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>;
|
||||
label = "white:guest_wifi";
|
||||
};
|
||||
};
|
||||
@ -1066,7 +1066,7 @@ define Device/netgear_r6700-v2
|
||||
DEVICE_ALT0_MODEL := Nighthawk AC2400
|
||||
DEVICE_ALT0_VARIANT := v1
|
||||
DEVICE_ALT1_VENDOR := NETGEAR
|
||||
DEVICE_ALT1_MODEL := R7200
|
||||
DEVICE_ALT1_MODEL := Nighthawk AC2100
|
||||
DEVICE_ALT1_VARIANT := v1
|
||||
SERCOMM_HWNAME := R6950
|
||||
SERCOMM_HWID := BZV
|
||||
@ -1101,6 +1101,43 @@ define Device/netgear_r6850
|
||||
endef
|
||||
TARGET_DEVICES += netgear_r6850
|
||||
|
||||
define Device/netgear_r6900-v2
|
||||
$(Device/netgear_sercomm_nand)
|
||||
DEVICE_MODEL := R6900
|
||||
DEVICE_VARIANT := v2
|
||||
SERCOMM_HWNAME := R6950
|
||||
SERCOMM_HWID := BZV
|
||||
SERCOMM_HWVER := A001
|
||||
SERCOMM_SWVER := 0x1032
|
||||
IMAGE_SIZE := 40960k
|
||||
DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
|
||||
endef
|
||||
TARGET_DEVICES += netgear_r6900-v2
|
||||
|
||||
define Device/netgear_r7200
|
||||
$(Device/netgear_sercomm_nand)
|
||||
DEVICE_MODEL := R7200
|
||||
SERCOMM_HWNAME := R6950
|
||||
SERCOMM_HWID := BZV
|
||||
SERCOMM_HWVER := A001
|
||||
SERCOMM_SWVER := 0x1032
|
||||
IMAGE_SIZE := 40960k
|
||||
DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
|
||||
endef
|
||||
TARGET_DEVICES += netgear_r7200
|
||||
|
||||
define Device/netgear_r7450
|
||||
$(Device/netgear_sercomm_nand)
|
||||
DEVICE_MODEL := R7450
|
||||
SERCOMM_HWNAME := R6950
|
||||
SERCOMM_HWID := BZV
|
||||
SERCOMM_HWVER := A001
|
||||
SERCOMM_SWVER := 0x1032
|
||||
IMAGE_SIZE := 40960k
|
||||
DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
|
||||
endef
|
||||
TARGET_DEVICES += netgear_r7450
|
||||
|
||||
define Device/netgear_wac104
|
||||
$(Device/netgear_sercomm_nand)
|
||||
DEVICE_MODEL := WAC104
|
||||
|
||||
@ -89,7 +89,10 @@ netgear,wndr3700-v5)
|
||||
ucidef_set_led_netdev "wan" "wan" "green:wan" "wan"
|
||||
;;
|
||||
netgear,r6700-v2|\
|
||||
netgear,r6800)
|
||||
netgear,r6800|\
|
||||
netgear,r6900-v2|\
|
||||
netgear,r7200|\
|
||||
netgear,r7450)
|
||||
ucidef_set_led_netdev "wan" "WAN" "white:wan" "wan"
|
||||
ucidef_set_led_netdev "lan1" "LAN1" "white:lan1" "lan1"
|
||||
ucidef_set_led_netdev "lan2" "LAN2" "white:lan2" "lan2"
|
||||
|
||||
@ -71,6 +71,9 @@ platform_do_upgrade() {
|
||||
netgear,r6700-v2|\
|
||||
netgear,r6800|\
|
||||
netgear,r6850|\
|
||||
netgear,r6900-v2|\
|
||||
netgear,r7200|\
|
||||
netgear,r7450|\
|
||||
netgear,wac104|\
|
||||
netgear,wac124|\
|
||||
netis,wf2881|\
|
||||
|
||||
@ -20,9 +20,6 @@ Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
||||
1 file changed, 78 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
|
||||
new file mode 100644
|
||||
index 0000000000000..100f20cebd76a
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
|
||||
@@ -0,0 +1,78 @@
|
||||
@ -104,6 +101,3 @@ index 0000000000000..100f20cebd76a
|
||||
+ };
|
||||
+
|
||||
+...
|
||||
--
|
||||
cgit 1.2.3-1.el7
|
||||
|
||||
|
||||
@ -11,9 +11,6 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
1 file changed, 41 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml b/Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml
|
||||
new file mode 100644
|
||||
index 0000000000000..30a62a211984f
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml
|
||||
@@ -0,0 +1,41 @@
|
||||
@ -58,6 +55,3 @@ index 0000000000000..30a62a211984f
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
--
|
||||
cgit 1.2.3-1.el7
|
||||
|
||||
|
||||
@ -16,9 +16,6 @@ Link: https://lore.kernel.org/r/20210122204224.509124-2-bert@biot.com
|
||||
1 file changed, 57 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml
|
||||
new file mode 100644
|
||||
index 0000000000000..9e76fff20323c
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml
|
||||
@@ -0,0 +1,57 @@
|
||||
@ -79,6 +76,3 @@ index 0000000000000..9e76fff20323c
|
||||
+ <30 &cpuintc 1>,
|
||||
+ <29 &cpuintc 5>;
|
||||
+ };
|
||||
--
|
||||
cgit 1.2.3-1.el7
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
return phy_ethtool_ksettings_set(pl->phydev, kset);
|
||||
}
|
||||
|
||||
@@ -1700,8 +1705,11 @@ int phylink_ethtool_get_eee(struct phyli
|
||||
@@ -1726,8 +1731,11 @@ int phylink_ethtool_get_eee(struct phyli
|
||||
|
||||
ASSERT_RTNL();
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1718,8 +1726,11 @@ int phylink_ethtool_set_eee(struct phyli
|
||||
@@ -1744,8 +1752,11 @@ int phylink_ethtool_set_eee(struct phyli
|
||||
|
||||
ASSERT_RTNL();
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user