kernel: bump 5.15 to 5.15.111
Removed upstreamed: 01. backport-5.15/424-v6.4-0001-mtd-core-provide-unique-name-for-nvmem-device-take-t.patch 02. backport-5.15/424-v6.4-0002-mtd-core-fix-nvmem-error-reporting.patch 03. generic-backport/424-v6.4-0003-mtd-core-fix-error-path-for-nvmem-provider.patch 04. generic-backport/828-v6.4-0001-of-Fix-modalias-string-generation.patch 05. bcm4908/patches-5.15/031-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch 06. bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit 07. bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgita 08. bcm4908/patches-5.15/033-v6.0-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patchgit 09. bcm4908/patches-5.15/034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch 10. bcm4908/patches-5.15/036-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch 11. bcm4908/patches-5.15/036-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch 12. ipq806x/patches-5.15/104-v6.0-06-ARM-dts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch Manually rebased: bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch bcm27xx/patches-5.15/950-0547-ARM-dts-Add-Pi-Zero-2-support.patch bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch bcm4908/patches-5.15/033-v6.0-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod 01. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=77112d23a671697f0f70695ab901f807e15d2093 02. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe07b3b5af01f42b291f5da0da09d047f50b33a6 03. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=273be36e420924237f6c9d43cdad96718c13dd52 04. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe8ab85ed4958e58e991bba0aa0a655b552b0273 05. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6ae67829fa5e9e71f458f69db42f0e216225616a 06. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=1994284cb9226b65ca3a6744ce3320218b584f26 07. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=a46878476c5549a4fde15a31922ce80a50b23492 08. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=112ff0f2530549d50510f116474924f9c4fad590 09. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=7c253e98685e6d884d12e2618ef4d2ad90b4fbd7 10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=8444b46e163aa9559a0af0381a1d230ec4146eb2 11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6d1af517817a760d7af3dee0fc4603645485495c 12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=cc4f0e168a5630ad0491ac5328f1a89f3cf3d04e Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							9145c4fbcb
						
					
				
				
					commit
					228e0e1039
				
			| @@ -1,2 +1,2 @@ | ||||
| LINUX_VERSION-5.15 = .110 | ||||
| LINUX_KERNEL_HASH-5.15.110 = 9829fcc77b9978dce97a26980dec445caf2410024696625dbb2314ead4830b5b | ||||
| LINUX_VERSION-5.15 = .111 | ||||
| LINUX_KERNEL_HASH-5.15.111 = 77ceea259c0158dd624304871170d09b2e59ed612f3a4d436fe0f07362dcaec2 | ||||
|   | ||||
| @@ -39,7 +39,7 @@ Changes from v1: | ||||
|  | ||||
| --- a/drivers/gpu/drm/drm_probe_helper.c | ||||
| +++ b/drivers/gpu/drm/drm_probe_helper.c | ||||
| @@ -795,6 +795,86 @@ void drm_kms_helper_poll_fini(struct drm | ||||
| @@ -796,6 +796,86 @@ void drm_kms_helper_poll_fini(struct drm | ||||
|  } | ||||
|  EXPORT_SYMBOL(drm_kms_helper_poll_fini); | ||||
|   | ||||
| @@ -126,7 +126,7 @@ Changes from v1: | ||||
|  /** | ||||
|   * drm_helper_hpd_irq_event - hotplug processing | ||||
|   * @dev: drm_device | ||||
| @@ -808,9 +888,10 @@ EXPORT_SYMBOL(drm_kms_helper_poll_fini); | ||||
| @@ -809,9 +889,10 @@ EXPORT_SYMBOL(drm_kms_helper_poll_fini); | ||||
|   * interrupts for each connector. | ||||
|   * | ||||
|   * Drivers which support hotplug interrupts for each connector individually and | ||||
| @@ -140,7 +140,7 @@ Changes from v1: | ||||
|   * | ||||
|   * This function must be called from process context with no mode | ||||
|   * setting locks held. | ||||
| @@ -822,9 +903,7 @@ bool drm_helper_hpd_irq_event(struct drm | ||||
| @@ -823,9 +904,7 @@ bool drm_helper_hpd_irq_event(struct drm | ||||
|  { | ||||
|  	struct drm_connector *connector; | ||||
|  	struct drm_connector_list_iter conn_iter; | ||||
| @@ -150,7 +150,7 @@ Changes from v1: | ||||
|   | ||||
|  	if (!dev->mode_config.poll_enabled) | ||||
|  		return false; | ||||
| @@ -832,37 +911,8 @@ bool drm_helper_hpd_irq_event(struct drm | ||||
| @@ -833,37 +912,8 @@ bool drm_helper_hpd_irq_event(struct drm | ||||
|  	mutex_lock(&dev->mode_config.mutex); | ||||
|  	drm_connector_list_iter_begin(dev, &conn_iter); | ||||
|  	drm_for_each_connector_iter(connector, &conn_iter) { | ||||
|   | ||||
| @@ -30043,7 +30043,7 @@ index 11eae3e3a944..5a90727064ee 100644 | ||||
| +dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb | ||||
| +dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb | ||||
|   | ||||
|  subdir-y	+= bcm4908 | ||||
|  subdir-y	+= bcmbca | ||||
|  subdir-y	+= northstar2 | ||||
|  subdir-y	+= stingray | ||||
| + | ||||
|   | ||||
| @@ -11,11 +11,11 @@ This matches nand-controller.yaml requirements. | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 2 +- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -298,7 +298,7 @@ | ||||
|  			status = "okay"; | ||||
|  		}; | ||||
|   | ||||
| @@ -1,81 +0,0 @@ | ||||
| From d0e68d354f345873e15876a7b35be1baaf5e3ec9 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||||
| Date: Fri, 5 Nov 2021 11:14:13 +0100 | ||||
| Subject: [PATCH] arm64: dts: broadcom: bcm4908: add DT for Netgear RAXE500 | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
|  | ||||
| It's a home router based on BCM4908 SoC. It has: 1 GiB of RAM, 512 MiB | ||||
| NAND flash, 6 Ethernet ports and 3 x BCM43684 (WiFi). One of Ethernet | ||||
| ports is "2.5 G Multi-Gig port" that isn't described yet (it isn't known | ||||
| how it's wired up). | ||||
|  | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/Makefile |  1 + | ||||
|  .../bcm4908/bcm4908-netgear-raxe500.dts       | 50 +++++++++++++++++++ | ||||
|  2 files changed, 51 insertions(+) | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/Makefile | ||||
| @@ -2,3 +2,4 @@ | ||||
|  dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb | ||||
|  dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-tplink-archer-c2300-v1.dtb | ||||
|  dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb | ||||
| +dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-netgear-raxe500.dtb | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | ||||
| @@ -0,0 +1,50 @@ | ||||
| +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| + | ||||
| +#include "bcm4908.dtsi" | ||||
| + | ||||
| +/ { | ||||
| +	compatible = "netgear,raxe500", "brcm,bcm4908"; | ||||
| +	model = "Netgear RAXE500"; | ||||
| + | ||||
| +	memory@0 { | ||||
| +		device_type = "memory"; | ||||
| +		reg = <0x00 0x00 0x00 0x40000000>; | ||||
| +	}; | ||||
| +}; | ||||
| + | ||||
| +&ehci { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&ohci { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&xhci { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&ports { | ||||
| +	port@0 { | ||||
| +		label = "lan4"; | ||||
| +	}; | ||||
| + | ||||
| +	port@1 { | ||||
| +		label = "lan3"; | ||||
| +	}; | ||||
| + | ||||
| +	port@2 { | ||||
| +		label = "lan2"; | ||||
| +	}; | ||||
| + | ||||
| +	port@3 { | ||||
| +		label = "lan1"; | ||||
| +	}; | ||||
| + | ||||
| +	port@7 { | ||||
| +		reg = <7>; | ||||
| +		phy-mode = "internal"; | ||||
| +		phy-handle = <&phy12>; | ||||
| +		label = "wan"; | ||||
| +	}; | ||||
| +}; | ||||
| @@ -11,11 +11,11 @@ Describe pinmux block with its maps. | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  .../boot/dts/broadcom/bcm4908/bcm4908.dtsi    | 135 ++++++++++++++++++ | ||||
|  .../boot/dts/broadcom/bcmbca/bcm4908.dtsi    | 135 ++++++++++++++++++ | ||||
|  1 file changed, 135 insertions(+) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -289,6 +289,141 @@ | ||||
|  			gpio-controller; | ||||
|  		}; | ||||
|   | ||||
| @@ -12,11 +12,11 @@ binding which matches the first SoC with that block. | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 9 +++++++++ | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 9 +++++++++ | ||||
|  1 file changed, 9 insertions(+) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -278,6 +278,15 @@ | ||||
|  		twd: timer-mfd@400 { | ||||
|  			compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon"; | ||||
|   | ||||
| @@ -11,11 +11,11 @@ BCM4908 uses the same I2C hw as BCM63xx / BCM67xx / BCM68xx SoCs. | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 9 +++++++++ | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 9 +++++++++ | ||||
|  1 file changed, 9 insertions(+) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -458,6 +458,15 @@ | ||||
|  			}; | ||||
|  		}; | ||||
|   | ||||
| @@ -1,199 +0,0 @@ | ||||
| From 076dcedc6628c6bf92bd17bfcf8fb7b1af62bfb6 Mon Sep 17 00:00:00 2001 | ||||
| From: William Zhang <william.zhang@broadcom.com> | ||||
| Date: Wed, 1 Jun 2022 15:56:51 -0700 | ||||
| Subject: [PATCH] arm64: dts: Add DTS files for bcmbca SoC BCM63158 | ||||
|  | ||||
| Add DTS for ARMv8 based broadband SoC BCM63158. bcm63158.dtsi is the | ||||
| SoC description DTS header and bcm963158.dts is a simple DTS file for | ||||
| Broadcom BCM963158 Reference board that only enable the UART port. | ||||
|  | ||||
| Signed-off-by: William Zhang <william.zhang@broadcom.com> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/Makefile         |   1 + | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   2 + | ||||
|  .../boot/dts/broadcom/bcmbca/bcm63158.dtsi    | 128 ++++++++++++++++++ | ||||
|  .../boot/dts/broadcom/bcmbca/bcm963158.dts    |  30 ++++ | ||||
|  4 files changed, 161 insertions(+) | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/Makefile | ||||
| @@ -7,5 +7,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rp | ||||
|  			      bcm2837-rpi-cm3-io3.dtb | ||||
|   | ||||
|  subdir-y	+= bcm4908 | ||||
| +subdir-y	+= bcmbca | ||||
|  subdir-y	+= northstar2 | ||||
|  subdir-y	+= stingray | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| @@ -0,0 +1,2 @@ | ||||
| +# SPDX-License-Identifier: GPL-2.0 | ||||
| +dtb-$(CONFIG_ARCH_BCMBCA) += bcm963158.dtb | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi | ||||
| @@ -0,0 +1,128 @@ | ||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| +/* | ||||
| + * Copyright 2022 Broadcom Ltd. | ||||
| + */ | ||||
| + | ||||
| +#include <dt-bindings/interrupt-controller/irq.h> | ||||
| +#include <dt-bindings/interrupt-controller/arm-gic.h> | ||||
| + | ||||
| +/ { | ||||
| +	compatible = "brcm,bcm63158", "brcm,bcmbca"; | ||||
| +	#address-cells = <2>; | ||||
| +	#size-cells = <2>; | ||||
| + | ||||
| +	interrupt-parent = <&gic>; | ||||
| + | ||||
| +	cpus { | ||||
| +		#address-cells = <2>; | ||||
| +		#size-cells = <0>; | ||||
| + | ||||
| +		B53_0: cpu@0 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x0>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_1: cpu@1 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x1>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_2: cpu@2 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x2>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_3: cpu@3 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x3>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		L2_0: l2-cache0 { | ||||
| +			compatible = "cache"; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	timer { | ||||
| +		compatible = "arm,armv8-timer"; | ||||
| +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | ||||
| +	}; | ||||
| + | ||||
| +	pmu: pmu { | ||||
| +		compatible = "arm,cortex-a53-pmu"; | ||||
| +		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | ||||
| +		interrupt-affinity = <&B53_0>, <&B53_1>, | ||||
| +			<&B53_2>, <&B53_3>; | ||||
| +	}; | ||||
| + | ||||
| +	clocks: clocks { | ||||
| +		periph_clk: periph-clk { | ||||
| +			compatible = "fixed-clock"; | ||||
| +			#clock-cells = <0>; | ||||
| +			clock-frequency = <200000000>; | ||||
| +		}; | ||||
| +		uart_clk: uart-clk { | ||||
| +			compatible = "fixed-factor-clock"; | ||||
| +			#clock-cells = <0>; | ||||
| +			clocks = <&periph_clk>; | ||||
| +			clock-div = <4>; | ||||
| +			clock-mult = <1>; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	psci { | ||||
| +		compatible = "arm,psci-0.2"; | ||||
| +		method = "smc"; | ||||
| +	}; | ||||
| + | ||||
| +	axi@81000000 { | ||||
| +		compatible = "simple-bus"; | ||||
| +		#address-cells = <1>; | ||||
| +		#size-cells = <1>; | ||||
| +		ranges = <0x0 0x0 0x81000000 0x8000>; | ||||
| + | ||||
| +		gic: interrupt-controller@1000 { | ||||
| +			compatible = "arm,gic-400"; | ||||
| +			#interrupt-cells = <3>; | ||||
| +			interrupt-controller; | ||||
| +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | ||||
| +			reg = <0x1000 0x1000>, | ||||
| +				<0x2000 0x2000>, | ||||
| +				<0x4000 0x2000>, | ||||
| +				<0x6000 0x2000>; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	bus@ff800000 { | ||||
| +		compatible = "simple-bus"; | ||||
| +		#address-cells = <1>; | ||||
| +		#size-cells = <1>; | ||||
| +		ranges = <0x0 0x0 0xff800000 0x800000>; | ||||
| + | ||||
| +		uart0: serial@12000 { | ||||
| +			compatible = "arm,pl011", "arm,primecell"; | ||||
| +			reg = <0x12000 0x1000>; | ||||
| +			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | ||||
| +			clocks = <&uart_clk>, <&uart_clk>; | ||||
| +			clock-names = "uartclk", "apb_pclk"; | ||||
| +			status = "disabled"; | ||||
| +		}; | ||||
| +	}; | ||||
| +}; | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts | ||||
| @@ -0,0 +1,30 @@ | ||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| +/* | ||||
| + * Copyright 2022 Broadcom Ltd. | ||||
| + */ | ||||
| + | ||||
| +/dts-v1/; | ||||
| + | ||||
| +#include "bcm63158.dtsi" | ||||
| + | ||||
| +/ { | ||||
| +	model = "Broadcom BCM963158 Reference Board"; | ||||
| +	compatible = "brcm,bcm963158", "brcm,bcm63158", "brcm,bcmbca"; | ||||
| + | ||||
| +	aliases { | ||||
| +		serial0 = &uart0; | ||||
| +	}; | ||||
| + | ||||
| +	chosen { | ||||
| +		stdout-path = "serial0:115200n8"; | ||||
| +	}; | ||||
| + | ||||
| +	memory@0 { | ||||
| +		device_type = "memory"; | ||||
| +		reg = <0x0 0x0 0x0 0x08000000>; | ||||
| +	}; | ||||
| +}; | ||||
| + | ||||
| +&uart0 { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| @@ -1,191 +0,0 @@ | ||||
| From 1ba56aeb391401c4cb2126c39f90b3cdbfabdb3f Mon Sep 17 00:00:00 2001 | ||||
| From: William Zhang <william.zhang@broadcom.com> | ||||
| Date: Wed, 1 Jun 2022 13:17:34 -0700 | ||||
| Subject: [PATCH] arm64: dts: Add DTS files for bcmbca SoC BCM4912 | ||||
|  | ||||
| Add DTS for ARMv8 based broadband SoC BCM4912. bcm4912.dtsi is the | ||||
| SoC description DTS header and bcm94912.dts is a simple DTS file for | ||||
| Broadcom BCM94912 Reference board that only enable the UART port. | ||||
|  | ||||
| Signed-off-by: William Zhang <william.zhang@broadcom.com> | ||||
| Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   3 +- | ||||
|  .../boot/dts/broadcom/bcmbca/bcm4912.dtsi     | 128 ++++++++++++++++++ | ||||
|  .../boot/dts/broadcom/bcmbca/bcm94912.dts     |  30 ++++ | ||||
|  3 files changed, 160 insertions(+), 1 deletion(-) | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| @@ -1,2 +1,3 @@ | ||||
|  # SPDX-License-Identifier: GPL-2.0 | ||||
| -dtb-$(CONFIG_ARCH_BCMBCA) += bcm963158.dtb | ||||
| +dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ | ||||
| +				bcm963158.dtb | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi | ||||
| @@ -0,0 +1,128 @@ | ||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| +/* | ||||
| + * Copyright 2022 Broadcom Ltd. | ||||
| + */ | ||||
| + | ||||
| +#include <dt-bindings/interrupt-controller/irq.h> | ||||
| +#include <dt-bindings/interrupt-controller/arm-gic.h> | ||||
| + | ||||
| +/ { | ||||
| +	compatible = "brcm,bcm4912", "brcm,bcmbca"; | ||||
| +	#address-cells = <2>; | ||||
| +	#size-cells = <2>; | ||||
| + | ||||
| +	interrupt-parent = <&gic>; | ||||
| + | ||||
| +	cpus { | ||||
| +		#address-cells = <2>; | ||||
| +		#size-cells = <0>; | ||||
| + | ||||
| +		B53_0: cpu@0 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x0>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_1: cpu@1 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x1>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_2: cpu@2 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x2>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_3: cpu@3 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x3>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		L2_0: l2-cache0 { | ||||
| +			compatible = "cache"; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	timer { | ||||
| +		compatible = "arm,armv8-timer"; | ||||
| +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | ||||
| +	}; | ||||
| + | ||||
| +	pmu: pmu { | ||||
| +		compatible = "arm,cortex-a53-pmu"; | ||||
| +		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; | ||||
| +		interrupt-affinity = <&B53_0>, <&B53_1>, | ||||
| +			<&B53_2>, <&B53_3>; | ||||
| +	}; | ||||
| + | ||||
| +	clocks: clocks { | ||||
| +		periph_clk: periph-clk { | ||||
| +			compatible = "fixed-clock"; | ||||
| +			#clock-cells = <0>; | ||||
| +			clock-frequency = <200000000>; | ||||
| +		}; | ||||
| +		uart_clk: uart-clk { | ||||
| +			compatible = "fixed-factor-clock"; | ||||
| +			#clock-cells = <0>; | ||||
| +			clocks = <&periph_clk>; | ||||
| +			clock-div = <4>; | ||||
| +			clock-mult = <1>; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	psci { | ||||
| +		compatible = "arm,psci-0.2"; | ||||
| +		method = "smc"; | ||||
| +	}; | ||||
| + | ||||
| +	axi@81000000 { | ||||
| +		compatible = "simple-bus"; | ||||
| +		#address-cells = <1>; | ||||
| +		#size-cells = <1>; | ||||
| +		ranges = <0x0 0x0 0x81000000 0x8000>; | ||||
| + | ||||
| +		gic: interrupt-controller@1000 { | ||||
| +			compatible = "arm,gic-400"; | ||||
| +			#interrupt-cells = <3>; | ||||
| +			interrupt-controller; | ||||
| +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | ||||
| +			reg = <0x1000 0x1000>, | ||||
| +				<0x2000 0x2000>, | ||||
| +				<0x4000 0x2000>, | ||||
| +				<0x6000 0x2000>; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	bus@ff800000 { | ||||
| +		compatible = "simple-bus"; | ||||
| +		#address-cells = <1>; | ||||
| +		#size-cells = <1>; | ||||
| +		ranges = <0x0 0x0 0xff800000 0x800000>; | ||||
| + | ||||
| +		uart0: serial@12000 { | ||||
| +			compatible = "arm,pl011", "arm,primecell"; | ||||
| +			reg = <0x12000 0x1000>; | ||||
| +			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | ||||
| +			clocks = <&uart_clk>, <&uart_clk>; | ||||
| +			clock-names = "uartclk", "apb_pclk"; | ||||
| +			status = "disabled"; | ||||
| +		}; | ||||
| +	}; | ||||
| +}; | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts | ||||
| @@ -0,0 +1,30 @@ | ||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| +/* | ||||
| + * Copyright 2022 Broadcom Ltd. | ||||
| + */ | ||||
| + | ||||
| +/dts-v1/; | ||||
| + | ||||
| +#include "bcm4912.dtsi" | ||||
| + | ||||
| +/ { | ||||
| +	model = "Broadcom BCM94912 Reference Board"; | ||||
| +	compatible = "brcm,bcm94912", "brcm,bcm4912", "brcm,bcmbca"; | ||||
| + | ||||
| +	aliases { | ||||
| +		serial0 = &uart0; | ||||
| +	}; | ||||
| + | ||||
| +	chosen { | ||||
| +		stdout-path = "serial0:115200n8"; | ||||
| +	}; | ||||
| + | ||||
| +	memory@0 { | ||||
| +		device_type = "memory"; | ||||
| +		reg = <0x0 0x0 0x0 0x08000000>; | ||||
| +	}; | ||||
| +}; | ||||
| + | ||||
| +&uart0 { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| @@ -1,184 +0,0 @@ | ||||
| From e663e06bd3f21e64bc2163910f626af68add6308 Mon Sep 17 00:00:00 2001 | ||||
| From: Anand Gore <anand.gore@broadcom.com> | ||||
| Date: Wed, 1 Jun 2022 13:19:56 -0700 | ||||
| Subject: [PATCH] ARM64: dts: Add DTS files for bcmbca SoC BCM6858 | ||||
|  | ||||
| Add DTS for ARMv8 based broadband SoC BCM6858. bcm6858.dtsi is the SoC | ||||
| description DTS header and bcm96858.dts is a simple DTS file for | ||||
| Broadcom BCM96858 Reference board that only enables the UART port. | ||||
|  | ||||
| Signed-off-by: Anand Gore <anand.gore@broadcom.com> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   3 +- | ||||
|  .../boot/dts/broadcom/bcmbca/bcm6858.dtsi     | 121 ++++++++++++++++++ | ||||
|  .../boot/dts/broadcom/bcmbca/bcm96858.dts     |  30 +++++ | ||||
|  3 files changed, 153 insertions(+), 1 deletion(-) | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| @@ -1,3 +1,4 @@ | ||||
|  # SPDX-License-Identifier: GPL-2.0 | ||||
|  dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ | ||||
| -				bcm963158.dtb | ||||
| +				bcm963158.dtb \ | ||||
| +				bcm96858.dtb | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi | ||||
| @@ -0,0 +1,121 @@ | ||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| +/* | ||||
| + * Copyright 2022 Broadcom Ltd. | ||||
| + */ | ||||
| + | ||||
| +#include <dt-bindings/interrupt-controller/irq.h> | ||||
| +#include <dt-bindings/interrupt-controller/arm-gic.h> | ||||
| + | ||||
| +/ { | ||||
| +	compatible = "brcm,bcm6858", "brcm,bcmbca"; | ||||
| +	#address-cells = <2>; | ||||
| +	#size-cells = <2>; | ||||
| + | ||||
| +	interrupt-parent = <&gic>; | ||||
| + | ||||
| +	cpus { | ||||
| +		#address-cells = <2>; | ||||
| +		#size-cells = <0>; | ||||
| + | ||||
| +		B53_0: cpu@0 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x0>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_1: cpu@1 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x1>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_2: cpu@2 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x2>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| + | ||||
| +		B53_3: cpu@3 { | ||||
| +			compatible = "brcm,brahma-b53"; | ||||
| +			device_type = "cpu"; | ||||
| +			reg = <0x0 0x3>; | ||||
| +			next-level-cache = <&L2_0>; | ||||
| +			enable-method = "psci"; | ||||
| +		}; | ||||
| +		L2_0: l2-cache0 { | ||||
| +			compatible = "cache"; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	timer { | ||||
| +		compatible = "arm,armv8-timer"; | ||||
| +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
| +			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | ||||
| +	}; | ||||
| + | ||||
| +	pmu: pmu { | ||||
| +		compatible = "arm,armv8-pmuv3"; | ||||
| +		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, | ||||
| +			<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | ||||
| +		interrupt-affinity = <&B53_0>, <&B53_1>, | ||||
| +			<&B53_2>, <&B53_3>; | ||||
| +	}; | ||||
| + | ||||
| +	clocks: clocks { | ||||
| +		periph_clk:periph-clk { | ||||
| +			compatible = "fixed-clock"; | ||||
| +			#clock-cells = <0>; | ||||
| +			clock-frequency = <200000000>; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	psci { | ||||
| +		compatible = "arm,psci-0.2"; | ||||
| +		method = "smc"; | ||||
| +	}; | ||||
| + | ||||
| +	axi@81000000 { | ||||
| +		compatible = "simple-bus"; | ||||
| +		#address-cells = <1>; | ||||
| +		#size-cells = <1>; | ||||
| +		ranges = <0x0 0x0 0x81000000 0x8000>; | ||||
| + | ||||
| +		gic: interrupt-controller@1000 { | ||||
| +			compatible = "arm,gic-400"; | ||||
| +			#interrupt-cells = <3>; | ||||
| +			interrupt-controller; | ||||
| +			reg = <0x1000 0x1000>, /* GICD */ | ||||
| +				<0x2000 0x2000>, /* GICC */ | ||||
| +				<0x4000 0x2000>, /* GICH */ | ||||
| +				<0x6000 0x2000>; /* GICV */ | ||||
| +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | | ||||
| +					IRQ_TYPE_LEVEL_HIGH)>; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	bus@ff800000 { | ||||
| +		compatible = "simple-bus"; | ||||
| +		#address-cells = <1>; | ||||
| +		#size-cells = <1>; | ||||
| +		ranges = <0x0 0x0 0xff800000 0x62000>; | ||||
| + | ||||
| +		uart0: serial@640 { | ||||
| +			compatible = "brcm,bcm6345-uart"; | ||||
| +			reg = <0x640 0x18>; | ||||
| +			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | ||||
| +			clocks = <&periph_clk>; | ||||
| +			clock-names = "refclk"; | ||||
| +			status = "disabled"; | ||||
| +		}; | ||||
| +	}; | ||||
| +}; | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts | ||||
| @@ -0,0 +1,30 @@ | ||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| +/* | ||||
| + * Copyright 2022 Broadcom Ltd. | ||||
| + */ | ||||
| + | ||||
| +/dts-v1/; | ||||
| + | ||||
| +#include "bcm6858.dtsi" | ||||
| + | ||||
| +/ { | ||||
| +	model = "Broadcom BCM96858 Reference Board"; | ||||
| +	compatible = "brcm,bcm96858", "brcm,bcm6858", "brcm,bcmbca"; | ||||
| + | ||||
| +	aliases { | ||||
| +		serial0 = &uart0; | ||||
| +	}; | ||||
| + | ||||
| +	chosen { | ||||
| +		stdout-path = "serial0:115200n8"; | ||||
| +	}; | ||||
| + | ||||
| +	memory@0 { | ||||
| +		device_type = "memory"; | ||||
| +		reg = <0x0 0x0 0x0 0x08000000>; | ||||
| +	}; | ||||
| +}; | ||||
| + | ||||
| +&uart0 { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| @@ -19,9 +19,9 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| @@ -1,4 +1,5 @@ | ||||
|  # SPDX-License-Identifier: GPL-2.0 | ||||
|  dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ | ||||
| @@ -7,4 +7,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \ | ||||
|  				bcm4912-asus-gt-ax6000.dtb \ | ||||
|  				bcm94912.dtb \ | ||||
|  				bcm963158.dtb \ | ||||
| -				bcm96858.dtb | ||||
| +				bcm96858.dtb \ | ||||
|   | ||||
| @@ -19,8 +19,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| @@ -2,4 +2,5 @@ | ||||
|  dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ | ||||
| @@ -8,4 +8,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \ | ||||
|  				bcm94912.dtb \ | ||||
|  				bcm963158.dtb \ | ||||
|  				bcm96858.dtb \ | ||||
| -				bcm963146.dtb | ||||
|   | ||||
| @@ -19,7 +19,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| @@ -3,4 +3,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dt | ||||
| @@ -9,4 +9,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \ | ||||
|  				bcm963158.dtb \ | ||||
|  				bcm96858.dtb \ | ||||
|  				bcm963146.dtb \ | ||||
|   | ||||
| @@ -9,12 +9,12 @@ The node names should be generic and DT schema expects certain pattern | ||||
| Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | ||||
| Link: https://lore.kernel.org/r/20220616005333.18491-6-krzysztof.kozlowski@linaro.org | ||||
| --- | ||||
|  .../broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts   | 8 ++++---- | ||||
|  .../boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts  | 8 ++++---- | ||||
|  .../broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts   | 8 ++++---- | ||||
|  .../boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts  | 8 ++++---- | ||||
|  2 files changed, 8 insertions(+), 8 deletions(-) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||
| @@ -83,25 +83,25 @@ | ||||
|  		compatible = "gpio-keys-polled"; | ||||
|  		poll-interval = <100>; | ||||
| @@ -45,8 +45,8 @@ Link: https://lore.kernel.org/r/20220616005333.18491-6-krzysztof.kozlowski@linar | ||||
|  			label = "Reset"; | ||||
|  			linux,code = <KEY_RESTART>; | ||||
|  			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||
| @@ -18,25 +18,25 @@ | ||||
|  		compatible = "gpio-keys-polled"; | ||||
|  		poll-interval = <100>; | ||||
|   | ||||
| @@ -11,11 +11,11 @@ Fixes: c8b404fb05dc ("arm64: dts: broadcom: bcm4908: add BCM4906 Netgear R8000P | ||||
| Signed-off-by: William Zhang <william.zhang@broadcom.com> | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi | 8 ++++++++ | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi | 8 ++++++++ | ||||
|  1 file changed, 8 insertions(+) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi | ||||
| @@ -17,6 +17,14 @@ | ||||
|  			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; | ||||
|  	}; | ||||
|   | ||||
| @@ -1,54 +0,0 @@ | ||||
| From f3f575c4bef95384e68de552c7b29938fd0d9201 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||||
| Date: Wed, 13 Jul 2022 22:03:51 +0200 | ||||
| Subject: [PATCH] arm64: dts: Add base DTS file for bcmbca device Asus | ||||
|  GT-AX6000 | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
|  | ||||
| It's a home router with 1 GiB of RAM, 6 Ethernet ports, 2 USB ports. | ||||
|  | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Acked-by: William Zhang <william.zhang@broadcom.com> | ||||
| Link: https://lore.kernel.org/r/20220713200351.28526-2-zajec5@gmail.com | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |  4 +++- | ||||
|  .../bcmbca/bcm4912-asus-gt-ax6000.dts         | 19 +++++++++++++++++++ | ||||
|  2 files changed, 22 insertions(+), 1 deletion(-) | ||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm4912-asus-gt-ax6000.dts | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||
| @@ -1,5 +1,7 @@ | ||||
|  # SPDX-License-Identifier: GPL-2.0 | ||||
| -dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ | ||||
| +dtb-$(CONFIG_ARCH_BCMBCA) += \ | ||||
| +				bcm4912-asus-gt-ax6000.dtb \ | ||||
| +				bcm94912.dtb \ | ||||
|  				bcm963158.dtb \ | ||||
|  				bcm96858.dtb \ | ||||
|  				bcm963146.dtb \ | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912-asus-gt-ax6000.dts | ||||
| @@ -0,0 +1,19 @@ | ||||
| +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| + | ||||
| +/dts-v1/; | ||||
| + | ||||
| +#include "bcm4912.dtsi" | ||||
| + | ||||
| +/ { | ||||
| +	compatible = "asus,gt-ax6000", "brcm,bcm4912", "brcm,bcmbca"; | ||||
| +	model = "Asus GT-AX6000"; | ||||
| + | ||||
| +	memory@0 { | ||||
| +		device_type = "memory"; | ||||
| +		reg = <0x00 0x00 0x00 0x40000000>; | ||||
| +	}; | ||||
| +}; | ||||
| + | ||||
| +&uart0 { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| @@ -12,11 +12,11 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Link: https://lore.kernel.org/r/20220718132100.13277-1-zajec5@gmail.com | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  .../boot/dts/broadcom/bcm4908/bcm4908.dtsi    | 75 +++++++++++++++++++ | ||||
|  .../boot/dts/broadcom/bcmbca/bcm4908.dtsi    | 75 +++++++++++++++++++ | ||||
|  1 file changed, 75 insertions(+) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -352,6 +352,61 @@ | ||||
|  				groups = "led_9_grp_a"; | ||||
|  			}; | ||||
|   | ||||
| @@ -13,11 +13,11 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Link: https://lore.kernel.org/r/20220718132100.13277-2-zajec5@gmail.com | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 8 ++++++++ | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 8 ++++++++ | ||||
|  1 file changed, 8 insertions(+) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -517,6 +517,14 @@ | ||||
|  			status = "okay"; | ||||
|  		}; | ||||
|   | ||||
| @@ -12,11 +12,11 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Link: https://lore.kernel.org/r/20220718132100.13277-3-zajec5@gmail.com | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  .../bcm4908/bcm4908-asus-gt-ac5300.dts        | 48 +++++++++++++++++++ | ||||
|  .../bcmbca/bcm4908-asus-gt-ac5300.dts        | 48 +++++++++++++++++++ | ||||
|  1 file changed, 48 insertions(+) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||
| @@ -2,6 +2,7 @@ | ||||
|   | ||||
|  #include <dt-bindings/gpio/gpio.h> | ||||
|   | ||||
| @@ -14,14 +14,14 @@ Acked-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Link: https://lore.kernel.org/r/20220803175455.47638-4-william.zhang@broadcom.com | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts | 2 +- | ||||
|  .../dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts     | 2 +- | ||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | 2 +- | ||||
|  .../arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | 2 +- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts | 2 +- | ||||
|  .../dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts     | 2 +- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | 2 +- | ||||
|  .../arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts | 2 +- | ||||
|  4 files changed, 4 insertions(+), 4 deletions(-) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts | ||||
| @@ -7,7 +7,7 @@ | ||||
|  #include "bcm4906.dtsi" | ||||
|   | ||||
| @@ -31,8 +31,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
|  	model = "Netgear R8000P"; | ||||
|   | ||||
|  	memory@0 { | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||
| @@ -7,7 +7,7 @@ | ||||
|  #include "bcm4906.dtsi" | ||||
|   | ||||
| @@ -42,8 +42,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
|  	model = "TP-Link Archer C2300 V1"; | ||||
|   | ||||
|  	memory@0 { | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||
| @@ -7,7 +7,7 @@ | ||||
|  #include "bcm4908.dtsi" | ||||
|   | ||||
| @@ -53,8 +53,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
|  	model = "Asus GT-AC5300"; | ||||
|   | ||||
|  	memory@0 { | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts | ||||
| @@ -3,7 +3,7 @@ | ||||
|  #include "bcm4908.dtsi" | ||||
|   | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,33 +0,0 @@ | ||||
| From 5cca02449490e767289bda38db1577e2c375c084 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||||
| Date: Tue, 28 Feb 2023 15:43:58 +0100 | ||||
| Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt | ||||
|  name | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
|  | ||||
| This fixes: | ||||
| arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: nand-controller@1800: interrupt-names:0: 'nand_ctlrdy' was expected | ||||
|         From schema: Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml | ||||
| arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: nand-controller@1800: Unevaluated properties are not allowed ('interrupt-names' was unexpected) | ||||
|         From schema: Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml | ||||
|  | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Link: https://lore.kernel.org/all/20230228144400.21689-1-zajec5@gmail.com/ | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -556,7 +556,7 @@ | ||||
|  			reg = <0x1800 0x600>, <0x2000 0x10>; | ||||
|  			reg-names = "nand", "nand-int-base"; | ||||
|  			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | ||||
| -			interrupt-names = "nand"; | ||||
| +			interrupt-names = "nand_ctlrdy"; | ||||
|  			status = "okay"; | ||||
|   | ||||
|  			nandcs: nand@0 { | ||||
| @@ -1,30 +0,0 @@ | ||||
| From f16a8294dd7a02c7ad042cd2e3acc5ea06698dc1 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||||
| Date: Tue, 28 Feb 2023 15:44:00 +0100 | ||||
| Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
|  | ||||
| This fixes: | ||||
| arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: syscon@280000: $nodename:0: 'syscon@280000' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$' | ||||
|         From schema: schemas/simple-bus.yaml | ||||
|  | ||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
| Link: https://lore.kernel.org/all/20230228144400.21689-3-zajec5@gmail.com/ | ||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| --- | ||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||
| @@ -260,7 +260,7 @@ | ||||
|  			}; | ||||
|  		}; | ||||
|   | ||||
| -		procmon: syscon@280000 { | ||||
| +		procmon: bus@280000 { | ||||
|  			compatible = "simple-bus"; | ||||
|  			reg = <0x280000 0x1000>; | ||||
|  			ranges; | ||||
| @@ -25,7 +25,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | ||||
|  | ||||
| --- a/drivers/mtd/mtdcore.c | ||||
| +++ b/drivers/mtd/mtdcore.c | ||||
| @@ -1229,6 +1229,34 @@ int __get_mtd_device(struct mtd_info *mt | ||||
| @@ -1236,6 +1236,34 @@ int __get_mtd_device(struct mtd_info *mt | ||||
|  EXPORT_SYMBOL_GPL(__get_mtd_device); | ||||
|   | ||||
|  /** | ||||
|   | ||||
| @@ -31,7 +31,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-2-kernel@kempniu.pl | ||||
|  | ||||
| --- a/drivers/mtd/mtdcore.c | ||||
| +++ b/drivers/mtd/mtdcore.c | ||||
| @@ -1669,6 +1669,9 @@ int mtd_read_oob(struct mtd_info *mtd, l | ||||
| @@ -1676,6 +1676,9 @@ int mtd_read_oob(struct mtd_info *mtd, l | ||||
|  	if (!master->_read_oob && (!master->_read || ops->oobbuf)) | ||||
|  		return -EOPNOTSUPP; | ||||
|   | ||||
| @@ -41,7 +41,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-2-kernel@kempniu.pl | ||||
|  	if (mtd->flags & MTD_SLC_ON_MLC_EMULATION) | ||||
|  		ret_code = mtd_io_emulated_slc(mtd, from, true, ops); | ||||
|  	else | ||||
| @@ -1686,6 +1689,8 @@ int mtd_read_oob(struct mtd_info *mtd, l | ||||
| @@ -1693,6 +1696,8 @@ int mtd_read_oob(struct mtd_info *mtd, l | ||||
|  		return ret_code; | ||||
|  	if (mtd->ecc_strength == 0) | ||||
|  		return 0;	/* device lacks ecc */ | ||||
|   | ||||
| @@ -1,43 +0,0 @@ | ||||
| From 1cd9ceaa5282ff10ea20a7fbadde5a476a1cc99e Mon Sep 17 00:00:00 2001 | ||||
| From: Michael Walle <michael@walle.cc> | ||||
| Date: Wed, 8 Mar 2023 09:20:18 +0100 | ||||
| Subject: [PATCH] mtd: core: provide unique name for nvmem device, take two | ||||
|  | ||||
| Commit c048b60d39e1 ("mtd: core: provide unique name for nvmem device") | ||||
| tries to give the nvmem device a unique name, but fails badly if the mtd | ||||
| device doesn't have a "struct device" associated with it, i.e. if | ||||
| CONFIG_MTD_PARTITIONED_MASTER is not set. This will result in the name | ||||
| "(null)-user-otp", which is not unique. It seems the best we can do is | ||||
| to use the compatible name together with a unique identifier added by | ||||
| the nvmem subsystem by using NVMEM_DEVID_AUTO. | ||||
|  | ||||
| Fixes: c048b60d39e1 ("mtd: core: provide unique name for nvmem device") | ||||
| Cc: stable@vger.kernel.org | ||||
| Signed-off-by: Michael Walle <michael@walle.cc> | ||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> | ||||
| Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-1-michael@walle.cc | ||||
| --- | ||||
|  drivers/mtd/mtdcore.c | 5 ++--- | ||||
|  1 file changed, 2 insertions(+), 3 deletions(-) | ||||
|  | ||||
| --- a/drivers/mtd/mtdcore.c | ||||
| +++ b/drivers/mtd/mtdcore.c | ||||
| @@ -895,8 +895,8 @@ static struct nvmem_device *mtd_otp_nvme | ||||
|   | ||||
|  	/* OTP nvmem will be registered on the physical device */ | ||||
|  	config.dev = mtd->dev.parent; | ||||
| -	config.name = kasprintf(GFP_KERNEL, "%s-%s", dev_name(&mtd->dev), compatible); | ||||
| -	config.id = NVMEM_DEVID_NONE; | ||||
| +	config.name = compatible; | ||||
| +	config.id = NVMEM_DEVID_AUTO; | ||||
|  	config.owner = THIS_MODULE; | ||||
|  	config.type = NVMEM_TYPE_OTP; | ||||
|  	config.root_only = true; | ||||
| @@ -912,7 +912,6 @@ static struct nvmem_device *mtd_otp_nvme | ||||
|  		nvmem = NULL; | ||||
|   | ||||
|  	of_node_put(np); | ||||
| -	kfree(config.name); | ||||
|   | ||||
|  	return nvmem; | ||||
|  } | ||||
| @@ -1,47 +0,0 @@ | ||||
| From 8bd1d24e6ca3c599dd455b0e1b22f77bab8290eb Mon Sep 17 00:00:00 2001 | ||||
| From: Michael Walle <michael@walle.cc> | ||||
| Date: Wed, 8 Mar 2023 09:20:19 +0100 | ||||
| Subject: [PATCH] mtd: core: fix nvmem error reporting | ||||
|  | ||||
| The master MTD will only have an associated device if | ||||
| CONFIG_MTD_PARTITIONED_MASTER is set, thus we cannot use dev_err() on | ||||
| mtd->dev. Instead use the parent device which is the physical flash | ||||
| memory. | ||||
|  | ||||
| Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") | ||||
| Cc: stable@vger.kernel.org | ||||
| Signed-off-by: Michael Walle <michael@walle.cc> | ||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> | ||||
| Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-2-michael@walle.cc | ||||
| --- | ||||
|  drivers/mtd/mtdcore.c | 5 +++-- | ||||
|  1 file changed, 3 insertions(+), 2 deletions(-) | ||||
|  | ||||
| --- a/drivers/mtd/mtdcore.c | ||||
| +++ b/drivers/mtd/mtdcore.c | ||||
| @@ -946,6 +946,7 @@ static int mtd_nvmem_fact_otp_reg_read(v | ||||
|   | ||||
|  static int mtd_otp_nvmem_add(struct mtd_info *mtd) | ||||
|  { | ||||
| +	struct device *dev = mtd->dev.parent; | ||||
|  	struct nvmem_device *nvmem; | ||||
|  	ssize_t size; | ||||
|  	int err; | ||||
| @@ -959,7 +960,7 @@ static int mtd_otp_nvmem_add(struct mtd_ | ||||
|  			nvmem = mtd_otp_nvmem_register(mtd, "user-otp", size, | ||||
|  						       mtd_nvmem_user_otp_reg_read); | ||||
|  			if (IS_ERR(nvmem)) { | ||||
| -				dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n"); | ||||
| +				dev_err(dev, "Failed to register OTP NVMEM device\n"); | ||||
|  				return PTR_ERR(nvmem); | ||||
|  			} | ||||
|  			mtd->otp_user_nvmem = nvmem; | ||||
| @@ -977,7 +978,7 @@ static int mtd_otp_nvmem_add(struct mtd_ | ||||
|  			nvmem = mtd_otp_nvmem_register(mtd, "factory-otp", size, | ||||
|  						       mtd_nvmem_fact_otp_reg_read); | ||||
|  			if (IS_ERR(nvmem)) { | ||||
| -				dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n"); | ||||
| +				dev_err(dev, "Failed to register OTP NVMEM device\n"); | ||||
|  				err = PTR_ERR(nvmem); | ||||
|  				goto err; | ||||
|  			} | ||||
| @@ -1,55 +0,0 @@ | ||||
| From e0489f6e221f5ddee6cb3bd51b992b790c5fa4b9 Mon Sep 17 00:00:00 2001 | ||||
| From: Michael Walle <michael@walle.cc> | ||||
| Date: Wed, 8 Mar 2023 09:20:20 +0100 | ||||
| Subject: [PATCH] mtd: core: fix error path for nvmem provider | ||||
|  | ||||
| If mtd_otp_nvmem_add() fails, the partitions won't be removed | ||||
| because there is simply no call to del_mtd_partitions(). | ||||
| Unfortunately, add_mtd_partitions() will print all partitions to | ||||
| the kernel console. If mtd_otp_nvmem_add() returns -EPROBE_DEFER | ||||
| this would print the partitions multiple times to the kernel | ||||
| console. Instead move mtd_otp_nvmem_add() to the beginning of the | ||||
| function. | ||||
|  | ||||
| Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") | ||||
| Cc: stable@vger.kernel.org | ||||
| Signed-off-by: Michael Walle <michael@walle.cc> | ||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> | ||||
| Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-3-michael@walle.cc | ||||
| --- | ||||
|  drivers/mtd/mtdcore.c | 13 ++++++++++--- | ||||
|  1 file changed, 10 insertions(+), 3 deletions(-) | ||||
|  | ||||
| --- a/drivers/mtd/mtdcore.c | ||||
| +++ b/drivers/mtd/mtdcore.c | ||||
| @@ -1031,10 +1031,14 @@ int mtd_device_parse_register(struct mtd | ||||
|   | ||||
|  	mtd_set_dev_defaults(mtd); | ||||
|   | ||||
| +	ret = mtd_otp_nvmem_add(mtd); | ||||
| +	if (ret) | ||||
| +		goto out; | ||||
| + | ||||
|  	if (IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) { | ||||
|  		ret = add_mtd_device(mtd); | ||||
|  		if (ret) | ||||
| -			return ret; | ||||
| +			goto out; | ||||
|  	} | ||||
|   | ||||
|  	/* Prefer parsed partitions over driver-provided fallback */ | ||||
| @@ -1069,9 +1073,12 @@ int mtd_device_parse_register(struct mtd | ||||
|  		register_reboot_notifier(&mtd->reboot_notifier); | ||||
|  	} | ||||
|   | ||||
| -	ret = mtd_otp_nvmem_add(mtd); | ||||
| - | ||||
|  out: | ||||
| +	if (ret) { | ||||
| +		nvmem_unregister(mtd->otp_user_nvmem); | ||||
| +		nvmem_unregister(mtd->otp_factory_nvmem); | ||||
| +	} | ||||
| + | ||||
|  	if (ret && device_is_registered(&mtd->dev)) | ||||
|  		del_mtd_device(mtd); | ||||
|   | ||||
| @@ -901,7 +901,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  static void axienet_mac_pcs_get_state(struct phylink_config *config, | ||||
| --- a/drivers/net/pcs/pcs-xpcs.c | ||||
| +++ b/drivers/net/pcs/pcs-xpcs.c | ||||
| @@ -646,7 +646,7 @@ void xpcs_validate(struct dw_xpcs *xpcs, | ||||
| @@ -637,7 +637,7 @@ void xpcs_validate(struct dw_xpcs *xpcs, | ||||
|  	if (state->interface == PHY_INTERFACE_MODE_NA) | ||||
|  		return; | ||||
|   | ||||
|   | ||||
| @@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  	ret = stmmac_hw_setup(dev, true); | ||||
|  	if (ret < 0) { | ||||
|  		netdev_err(priv->dev, "%s: Hw setup failed\n", __func__); | ||||
| @@ -6424,6 +6417,7 @@ void stmmac_enable_rx_queue(struct stmma | ||||
| @@ -6430,6 +6423,7 @@ void stmmac_enable_rx_queue(struct stmma | ||||
|  		return; | ||||
|  	} | ||||
|   | ||||
| @@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  	stmmac_clear_rx_descriptors(priv, queue); | ||||
|   | ||||
|  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||
| @@ -6485,6 +6479,7 @@ void stmmac_enable_tx_queue(struct stmma | ||||
| @@ -6491,6 +6485,7 @@ void stmmac_enable_tx_queue(struct stmma | ||||
|  		return; | ||||
|  	} | ||||
|   | ||||
| @@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  	stmmac_clear_tx_descriptors(priv, queue); | ||||
|   | ||||
|  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||
| @@ -7411,6 +7406,25 @@ int stmmac_suspend(struct device *dev) | ||||
| @@ -7417,6 +7412,25 @@ int stmmac_suspend(struct device *dev) | ||||
|  } | ||||
|  EXPORT_SYMBOL_GPL(stmmac_suspend); | ||||
|   | ||||
| @@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  /** | ||||
|   * stmmac_reset_queues_param - reset queue parameters | ||||
|   * @priv: device pointer | ||||
| @@ -7421,22 +7435,11 @@ static void stmmac_reset_queues_param(st | ||||
| @@ -7427,22 +7441,11 @@ static void stmmac_reset_queues_param(st | ||||
|  	u32 tx_cnt = priv->plat->tx_queues_to_use; | ||||
|  	u32 queue; | ||||
|   | ||||
|   | ||||
| @@ -1116,7 +1116,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  		} | ||||
|  	} | ||||
|   | ||||
| @@ -6398,7 +6402,7 @@ void stmmac_disable_rx_queue(struct stmm | ||||
| @@ -6404,7 +6408,7 @@ void stmmac_disable_rx_queue(struct stmm | ||||
|   | ||||
|  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) | ||||
|  { | ||||
| @@ -1125,7 +1125,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  	struct stmmac_channel *ch = &priv->channel[queue]; | ||||
|  	unsigned long flags; | ||||
|  	u32 buf_size; | ||||
| @@ -6435,7 +6439,7 @@ void stmmac_enable_rx_queue(struct stmma | ||||
| @@ -6441,7 +6445,7 @@ void stmmac_enable_rx_queue(struct stmma | ||||
|  				      rx_q->queue_index); | ||||
|  	} else { | ||||
|  		stmmac_set_dma_bfsize(priv, priv->ioaddr, | ||||
| @@ -1134,7 +1134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  				      rx_q->queue_index); | ||||
|  	} | ||||
|   | ||||
| @@ -6461,7 +6465,7 @@ void stmmac_disable_tx_queue(struct stmm | ||||
| @@ -6467,7 +6471,7 @@ void stmmac_disable_tx_queue(struct stmm | ||||
|   | ||||
|  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) | ||||
|  { | ||||
| @@ -1143,7 +1143,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  	struct stmmac_channel *ch = &priv->channel[queue]; | ||||
|  	unsigned long flags; | ||||
|  	int ret; | ||||
| @@ -6511,7 +6515,7 @@ void stmmac_xdp_release(struct net_devic | ||||
| @@ -6517,7 +6521,7 @@ void stmmac_xdp_release(struct net_devic | ||||
|  	stmmac_disable_all_queues(priv); | ||||
|   | ||||
|  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) | ||||
| @@ -1152,7 +1152,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	/* Free the IRQ lines */ | ||||
|  	stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0); | ||||
| @@ -6570,7 +6574,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
| @@ -6576,7 +6580,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
|   | ||||
|  	/* DMA RX Channel Configuration */ | ||||
|  	for (chan = 0; chan < rx_cnt; chan++) { | ||||
| @@ -1161,7 +1161,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  		stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||
|  				    rx_q->dma_rx_phy, chan); | ||||
| @@ -6588,7 +6592,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
| @@ -6594,7 +6598,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
|  					      rx_q->queue_index); | ||||
|  		} else { | ||||
|  			stmmac_set_dma_bfsize(priv, priv->ioaddr, | ||||
| @@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  					      rx_q->queue_index); | ||||
|  		} | ||||
|   | ||||
| @@ -6597,7 +6601,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
| @@ -6603,7 +6607,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
|   | ||||
|  	/* DMA TX Channel Configuration */ | ||||
|  	for (chan = 0; chan < tx_cnt; chan++) { | ||||
| @@ -1179,7 +1179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  		stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||
|  				    tx_q->dma_tx_phy, chan); | ||||
| @@ -6630,7 +6634,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
| @@ -6636,7 +6640,7 @@ int stmmac_xdp_open(struct net_device *d | ||||
|   | ||||
|  irq_error: | ||||
|  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) | ||||
| @@ -1188,7 +1188,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	stmmac_hw_teardown(dev); | ||||
|  init_error: | ||||
| @@ -6657,8 +6661,8 @@ int stmmac_xsk_wakeup(struct net_device | ||||
| @@ -6663,8 +6667,8 @@ int stmmac_xsk_wakeup(struct net_device | ||||
|  	    queue >= priv->plat->tx_queues_to_use) | ||||
|  		return -EINVAL; | ||||
|   | ||||
| @@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  	ch = &priv->channel[queue]; | ||||
|   | ||||
|  	if (!rx_q->xsk_pool && !tx_q->xsk_pool) | ||||
| @@ -6918,8 +6922,8 @@ int stmmac_reinit_ringparam(struct net_d | ||||
| @@ -6924,8 +6928,8 @@ int stmmac_reinit_ringparam(struct net_d | ||||
|  	if (netif_running(dev)) | ||||
|  		stmmac_release(dev); | ||||
|   | ||||
| @@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	if (netif_running(dev)) | ||||
|  		ret = stmmac_open(dev); | ||||
| @@ -7357,7 +7361,7 @@ int stmmac_suspend(struct device *dev) | ||||
| @@ -7363,7 +7367,7 @@ int stmmac_suspend(struct device *dev) | ||||
|  	stmmac_disable_all_queues(priv); | ||||
|   | ||||
|  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) | ||||
| @@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	if (priv->eee_enabled) { | ||||
|  		priv->tx_path_in_lpi_mode = false; | ||||
| @@ -7408,7 +7412,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); | ||||
| @@ -7414,7 +7418,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); | ||||
|   | ||||
|  static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue) | ||||
|  { | ||||
| @@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	rx_q->cur_rx = 0; | ||||
|  	rx_q->dirty_rx = 0; | ||||
| @@ -7416,7 +7420,7 @@ static void stmmac_reset_rx_queue(struct | ||||
| @@ -7422,7 +7426,7 @@ static void stmmac_reset_rx_queue(struct | ||||
|   | ||||
|  static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue) | ||||
|  { | ||||
|   | ||||
| @@ -1045,7 +1045,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	/* Disable the MAC Rx/Tx */ | ||||
|  	stmmac_mac_set(priv, priv->ioaddr, false); | ||||
| @@ -6397,7 +6513,7 @@ void stmmac_disable_rx_queue(struct stmm | ||||
| @@ -6403,7 +6519,7 @@ void stmmac_disable_rx_queue(struct stmm | ||||
|  	spin_unlock_irqrestore(&ch->lock, flags); | ||||
|   | ||||
|  	stmmac_stop_rx_dma(priv, queue); | ||||
| @@ -1054,7 +1054,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  } | ||||
|   | ||||
|  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) | ||||
| @@ -6408,21 +6524,21 @@ void stmmac_enable_rx_queue(struct stmma | ||||
| @@ -6414,21 +6530,21 @@ void stmmac_enable_rx_queue(struct stmma | ||||
|  	u32 buf_size; | ||||
|  	int ret; | ||||
|   | ||||
| @@ -1080,7 +1080,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||
|  			    rx_q->dma_rx_phy, rx_q->queue_index); | ||||
| @@ -6460,7 +6576,7 @@ void stmmac_disable_tx_queue(struct stmm | ||||
| @@ -6466,7 +6582,7 @@ void stmmac_disable_tx_queue(struct stmm | ||||
|  	spin_unlock_irqrestore(&ch->lock, flags); | ||||
|   | ||||
|  	stmmac_stop_tx_dma(priv, queue); | ||||
| @@ -1089,7 +1089,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  } | ||||
|   | ||||
|  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) | ||||
| @@ -6470,21 +6586,21 @@ void stmmac_enable_tx_queue(struct stmma | ||||
| @@ -6476,21 +6592,21 @@ void stmmac_enable_tx_queue(struct stmma | ||||
|  	unsigned long flags; | ||||
|  	int ret; | ||||
|   | ||||
| @@ -1115,7 +1115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||
|  			    tx_q->dma_tx_phy, tx_q->queue_index); | ||||
| @@ -6524,7 +6640,7 @@ void stmmac_xdp_release(struct net_devic | ||||
| @@ -6530,7 +6646,7 @@ void stmmac_xdp_release(struct net_devic | ||||
|  	stmmac_stop_all_dma(priv); | ||||
|   | ||||
|  	/* Release and free the Rx/Tx resources */ | ||||
| @@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|   | ||||
|  	/* Disable the MAC Rx/Tx */ | ||||
|  	stmmac_mac_set(priv, priv->ioaddr, false); | ||||
| @@ -6549,14 +6665,14 @@ int stmmac_xdp_open(struct net_device *d | ||||
| @@ -6555,14 +6671,14 @@ int stmmac_xdp_open(struct net_device *d | ||||
|  	u32 chan; | ||||
|  	int ret; | ||||
|   | ||||
| @@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  	if (ret < 0) { | ||||
|  		netdev_err(dev, "%s: DMA descriptors initialization failed\n", | ||||
|  			   __func__); | ||||
| @@ -6638,7 +6754,7 @@ irq_error: | ||||
| @@ -6644,7 +6760,7 @@ irq_error: | ||||
|   | ||||
|  	stmmac_hw_teardown(dev); | ||||
|  init_error: | ||||
| @@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||
|  dma_desc_error: | ||||
|  	return ret; | ||||
|  } | ||||
| @@ -7503,7 +7619,7 @@ int stmmac_resume(struct device *dev) | ||||
| @@ -7509,7 +7625,7 @@ int stmmac_resume(struct device *dev) | ||||
|  	stmmac_reset_queues_param(priv); | ||||
|   | ||||
|  	stmmac_free_tx_skbufs(priv); | ||||
|   | ||||
| @@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||||
|  		return -ENODEV; | ||||
|   | ||||
|  	/* Name & Type */ | ||||
| @@ -369,7 +369,7 @@ int of_device_uevent_modalias(struct dev | ||||
| @@ -372,7 +372,7 @@ int of_device_uevent_modalias(struct dev | ||||
|  { | ||||
|  	int sl; | ||||
|   | ||||
|   | ||||
| @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||||
|  | ||||
| --- a/drivers/of/device.c | ||||
| +++ b/drivers/of/device.c | ||||
| @@ -378,6 +378,8 @@ int of_device_uevent_modalias(struct dev | ||||
| @@ -381,6 +381,8 @@ int of_device_uevent_modalias(struct dev | ||||
|   | ||||
|  	sl = of_device_get_modalias(dev, &env->buf[env->buflen-1], | ||||
|  				    sizeof(env->buf) - env->buflen); | ||||
|   | ||||
| @@ -1,70 +0,0 @@ | ||||
| From b19a4266c52de78496fe40f0b37580a3b762e67d Mon Sep 17 00:00:00 2001 | ||||
| From: Miquel Raynal <miquel.raynal@bootlin.com> | ||||
| Date: Tue, 4 Apr 2023 18:21:09 +0100 | ||||
| Subject: [PATCH] of: Fix modalias string generation | ||||
|  | ||||
| The helper generating an OF based modalias (of_device_get_modalias()) | ||||
| works fine, but due to the use of snprintf() internally it needs a | ||||
| buffer one byte longer than what should be needed just for the entire | ||||
| string (excluding the '\0'). Most users of this helper are sysfs hooks | ||||
| providing the modalias string to users. They all provide a PAGE_SIZE | ||||
| buffer which is way above the number of bytes required to fit the | ||||
| modalias string and hence do not suffer from this issue. | ||||
|  | ||||
| There is another user though, of_device_request_module(), which is only | ||||
| called by drivers/usb/common/ulpi.c. This request module function is | ||||
| faulty, but maybe because in most cases there is an alternative, ULPI | ||||
| driver users have not noticed it. | ||||
|  | ||||
| In this function, of_device_get_modalias() is called twice. The first | ||||
| time without buffer just to get the number of bytes required by the | ||||
| modalias string (excluding the null byte), and a second time, after | ||||
| buffer allocation, to fill the buffer. The allocation asks for an | ||||
| additional byte, in order to store the trailing '\0'. However, the | ||||
| buffer *length* provided to of_device_get_modalias() excludes this extra | ||||
| byte. The internal use of snprintf() with a length that is exactly the | ||||
| number of bytes to be written has the effect of using the last available | ||||
| byte to store a '\0', which then smashes the last character of the | ||||
| modalias string. | ||||
|  | ||||
| Provide the actual size of the buffer to of_device_get_modalias() to fix | ||||
| this issue. | ||||
|  | ||||
| Note: the "str[size - 1] = '\0';" line is not really needed as snprintf | ||||
| will anyway end the string with a null byte, but there is a possibility | ||||
| that this function might be called on a struct device_node without | ||||
| compatible, in this case snprintf() would not be executed. So we keep it | ||||
| just to avoid possible unbounded strings. | ||||
|  | ||||
| Cc: Stephen Boyd <sboyd@kernel.org> | ||||
| Cc: Peter Chen <peter.chen@kernel.org> | ||||
| Fixes: 9c829c097f2f ("of: device: Support loading a module with OF based modalias") | ||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> | ||||
| Reviewed-by: Rob Herring <robh@kernel.org> | ||||
| Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | ||||
| Link: https://lore.kernel.org/r/20230404172148.82422-2-srinivas.kandagatla@linaro.org | ||||
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||||
| --- | ||||
|  drivers/of/device.c | 7 +++++-- | ||||
|  1 file changed, 5 insertions(+), 2 deletions(-) | ||||
|  | ||||
| --- a/drivers/of/device.c | ||||
| +++ b/drivers/of/device.c | ||||
| @@ -290,12 +290,15 @@ int of_device_request_module(struct devi | ||||
|  	if (size < 0) | ||||
|  		return size; | ||||
|   | ||||
| -	str = kmalloc(size + 1, GFP_KERNEL); | ||||
| +	/* Reserve an additional byte for the trailing '\0' */ | ||||
| +	size++; | ||||
| + | ||||
| +	str = kmalloc(size, GFP_KERNEL); | ||||
|  	if (!str) | ||||
|  		return -ENOMEM; | ||||
|   | ||||
|  	of_device_get_modalias(dev, str, size); | ||||
| -	str[size] = '\0'; | ||||
| +	str[size - 1] = '\0'; | ||||
|  	ret = request_module(str); | ||||
|  	kfree(str); | ||||
|   | ||||
| @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  #define PACKET_FANOUT_LB		1 | ||||
| --- a/net/packet/af_packet.c | ||||
| +++ b/net/packet/af_packet.c | ||||
| @@ -1825,6 +1825,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||
| @@ -1826,6 +1826,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||
|  { | ||||
|  	struct sock *sk; | ||||
|  	struct sockaddr_pkt *spkt; | ||||
| @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|   | ||||
|  	/* | ||||
|  	 *	When we registered the protocol we saved the socket in the data | ||||
| @@ -1832,6 +1833,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||
| @@ -1833,6 +1834,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||
|  	 */ | ||||
|   | ||||
|  	sk = pt->af_packet_priv; | ||||
| @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|   | ||||
|  	/* | ||||
|  	 *	Yank back the headers [hope the device set this | ||||
| @@ -1844,7 +1846,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||
| @@ -1845,7 +1847,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||
|  	 *	so that this procedure is noop. | ||||
|  	 */ | ||||
|   | ||||
| @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  		goto out; | ||||
|   | ||||
|  	if (!net_eq(dev_net(dev), sock_net(sk))) | ||||
| @@ -2092,12 +2094,12 @@ static int packet_rcv(struct sk_buff *sk | ||||
| @@ -2093,12 +2095,12 @@ static int packet_rcv(struct sk_buff *sk | ||||
|  	unsigned int snaplen, res; | ||||
|  	bool is_drop_n_account = false; | ||||
|   | ||||
| @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	if (!net_eq(dev_net(dev), sock_net(sk))) | ||||
|  		goto drop; | ||||
|   | ||||
| @@ -2223,12 +2225,12 @@ static int tpacket_rcv(struct sk_buff *s | ||||
| @@ -2224,12 +2226,12 @@ static int tpacket_rcv(struct sk_buff *s | ||||
|  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); | ||||
|  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); | ||||
|   | ||||
| @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	if (!net_eq(dev_net(dev), sock_net(sk))) | ||||
|  		goto drop; | ||||
|   | ||||
| @@ -3339,6 +3341,7 @@ static int packet_create(struct net *net | ||||
| @@ -3342,6 +3344,7 @@ static int packet_create(struct net *net | ||||
|  	mutex_init(&po->pg_vec_lock); | ||||
|  	po->rollover = NULL; | ||||
|  	po->prot_hook.func = packet_rcv; | ||||
| @@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	if (sock->type == SOCK_PACKET) | ||||
|  		po->prot_hook.func = packet_rcv_spkt; | ||||
| @@ -3979,6 +3982,16 @@ packet_setsockopt(struct socket *sock, i | ||||
|  		po->xmit = val ? packet_direct_xmit : dev_queue_xmit; | ||||
|  		WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit); | ||||
|  		return 0; | ||||
|  	} | ||||
| +	case PACKET_RECV_TYPE: | ||||
| @@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  		break; | ||||
| --- a/net/packet/internal.h | ||||
| +++ b/net/packet/internal.h | ||||
| @@ -137,6 +137,7 @@ struct packet_sock { | ||||
| @@ -136,6 +136,7 @@ struct packet_sock { | ||||
|  	int			(*xmit)(struct sk_buff *skb); | ||||
|  	struct packet_type	prot_hook ____cacheline_aligned_in_smp; | ||||
|  	atomic_t		tp_drops ____cacheline_aligned_in_smp; | ||||
|   | ||||
| @@ -1,51 +0,0 @@ | ||||
| From 8fafb7e5c041814876266259e5e439f93571dcef Mon Sep 17 00:00:00 2001 | ||||
| From: Christian Marangi <ansuelsmth@gmail.com> | ||||
| Date: Thu, 7 Jul 2022 03:09:40 +0200 | ||||
| Subject: [PATCH 6/8] ARM: dts: qcom: ipq8064: reduce pci IO size to 64K | ||||
|  | ||||
| The current value for pci IO is problematic for ath10k wifi card | ||||
| commonly connected to ipq8064 SoC. | ||||
| The current value is probably a typo and is actually uncommon to find | ||||
| 1MB IO space even on a x86 arch. Also with recent changes to the pci | ||||
| driver, pci1 and pci2 now fails to function as any connected device | ||||
| fails any reg read/write. Reduce this to 64K as it should be more than | ||||
| enough and 3 * 64K of total IO space doesn't exceed the IO_SPACE_LIMIT | ||||
| hardcoded for the ARM arch. | ||||
|  | ||||
| Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> | ||||
| Tested-by: Jonathan McDowell <noodles@earth.li> | ||||
| Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> | ||||
| Link: https://lore.kernel.org/r/20220707010943.20857-7-ansuelsmth@gmail.com | ||||
| --- | ||||
|  arch/arm/boot/dts/qcom-ipq8064.dtsi | 6 +++--- | ||||
|  1 file changed, 3 insertions(+), 3 deletions(-) | ||||
|  | ||||
| --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi | ||||
| +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi | ||||
| @@ -885,7 +885,7 @@ | ||||
|  			#address-cells = <3>; | ||||
|  			#size-cells = <2>; | ||||
|   | ||||
| -			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000   /* downstream I/O */ | ||||
| +			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00010000   /* downstream I/O */ | ||||
|  				  0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */ | ||||
|   | ||||
|  			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; | ||||
| @@ -936,7 +936,7 @@ | ||||
|  			#address-cells = <3>; | ||||
|  			#size-cells = <2>; | ||||
|   | ||||
| -			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000   /* downstream I/O */ | ||||
| +			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00010000   /* downstream I/O */ | ||||
|  				  0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */ | ||||
|   | ||||
|  			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; | ||||
| @@ -987,7 +987,7 @@ | ||||
|  			#address-cells = <3>; | ||||
|  			#size-cells = <2>; | ||||
|   | ||||
| -			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000   /* downstream I/O */ | ||||
| +			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00010000   /* downstream I/O */ | ||||
|  				  0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */ | ||||
|   | ||||
|  			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | ||||
| @@ -35,7 +35,7 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com | ||||
|  		watchdog: watchdog@b017000 { | ||||
|  			compatible = "qcom,kpss-wdt"; | ||||
|  			reg = <0xb017000 0x1000>; | ||||
| @@ -857,4 +849,12 @@ | ||||
| @@ -853,4 +845,12 @@ | ||||
|  			status = "disabled"; | ||||
|  		}; | ||||
|  	}; | ||||
|   | ||||
| @@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20220818220245.338396-5-robimarko@gmail.com | ||||
|  		cryptobam: dma-controller@704000 { | ||||
|  			compatible = "qcom,bam-v1.7.0"; | ||||
|  			reg = <0x00704000 0x20000>; | ||||
| @@ -878,4 +888,90 @@ | ||||
| @@ -874,4 +884,90 @@ | ||||
|  			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||
|  			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | ||||
|  	}; | ||||
|   | ||||
| @@ -19,7 +19,7 @@ Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> | ||||
|  | ||||
| --- a/drivers/spmi/spmi.c | ||||
| +++ b/drivers/spmi/spmi.c | ||||
| @@ -387,6 +387,23 @@ static struct bus_type spmi_bus_type = { | ||||
| @@ -388,6 +388,23 @@ static struct bus_type spmi_bus_type = { | ||||
|  }; | ||||
|   | ||||
|  /** | ||||
|   | ||||
| @@ -30,7 +30,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | ||||
|  struct qcom_pcie { | ||||
|  	struct dw_pcie *pci; | ||||
|  	void __iomem *parf;			/* DT parf */ | ||||
| @@ -1469,6 +1473,38 @@ static const struct qcom_pcie_ops ops_1_ | ||||
| @@ -1467,6 +1471,38 @@ static const struct qcom_pcie_ops ops_1_ | ||||
|  	.config_sid = qcom_pcie_config_sid_sm8250, | ||||
|  }; | ||||
|   | ||||
| @@ -69,7 +69,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | ||||
|  static const struct dw_pcie_ops dw_pcie_ops = { | ||||
|  	.link_up = qcom_pcie_link_up, | ||||
|  	.start_link = qcom_pcie_start_link, | ||||
| @@ -1480,6 +1516,7 @@ static int qcom_pcie_probe(struct platfo | ||||
| @@ -1478,6 +1514,7 @@ static int qcom_pcie_probe(struct platfo | ||||
|  	struct pcie_port *pp; | ||||
|  	struct dw_pcie *pci; | ||||
|  	struct qcom_pcie *pcie; | ||||
| @@ -77,7 +77,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | ||||
|  	int ret; | ||||
|   | ||||
|  	pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); | ||||
| @@ -1501,7 +1538,13 @@ static int qcom_pcie_probe(struct platfo | ||||
| @@ -1499,7 +1536,13 @@ static int qcom_pcie_probe(struct platfo | ||||
|   | ||||
|  	pcie->pci = pci; | ||||
|   | ||||
| @@ -92,7 +92,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | ||||
|   | ||||
|  	pcie->reset = devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_HIGH); | ||||
|  	if (IS_ERR(pcie->reset)) { | ||||
| @@ -1557,16 +1600,17 @@ err_pm_runtime_put: | ||||
| @@ -1555,16 +1598,17 @@ err_pm_runtime_put: | ||||
|  } | ||||
|   | ||||
|  static const struct of_device_id qcom_pcie_match[] = { | ||||
|   | ||||
| @@ -70,7 +70,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | ||||
|  }; | ||||
|   | ||||
|  struct qcom_pcie; | ||||
| @@ -1282,6 +1292,112 @@ static void qcom_pcie_post_deinit_2_7_0( | ||||
| @@ -1280,6 +1290,112 @@ static void qcom_pcie_post_deinit_2_7_0( | ||||
|  	clk_disable_unprepare(res->pipe_clk); | ||||
|  } | ||||
|   | ||||
| @@ -183,7 +183,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | ||||
|  static int qcom_pcie_link_up(struct dw_pcie *pci) | ||||
|  { | ||||
|  	u16 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); | ||||
| @@ -1473,6 +1589,15 @@ static const struct qcom_pcie_ops ops_1_ | ||||
| @@ -1471,6 +1587,15 @@ static const struct qcom_pcie_ops ops_1_ | ||||
|  	.config_sid = qcom_pcie_config_sid_sm8250, | ||||
|  }; | ||||
|   | ||||
| @@ -199,7 +199,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | ||||
|  static const struct qcom_pcie_cfg apq8084_cfg = { | ||||
|  	.ops = &ops_1_0_0, | ||||
|  }; | ||||
| @@ -1505,6 +1630,10 @@ static const struct qcom_pcie_cfg sc7280 | ||||
| @@ -1503,6 +1628,10 @@ static const struct qcom_pcie_cfg sc7280 | ||||
|  	.ops = &ops_1_9_0, | ||||
|  }; | ||||
|   | ||||
| @@ -210,7 +210,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | ||||
|  static const struct dw_pcie_ops dw_pcie_ops = { | ||||
|  	.link_up = qcom_pcie_link_up, | ||||
|  	.start_link = qcom_pcie_start_link, | ||||
| @@ -1611,6 +1740,7 @@ static const struct of_device_id qcom_pc | ||||
| @@ -1609,6 +1738,7 @@ static const struct of_device_id qcom_pc | ||||
|  	{ .compatible = "qcom,pcie-sdm845", .data = &sdm845_cfg }, | ||||
|  	{ .compatible = "qcom,pcie-sm8250", .data = &sm8250_cfg }, | ||||
|  	{ .compatible = "qcom,pcie-sc7280", .data = &sc7280_cfg }, | ||||
|   | ||||
| @@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | ||||
|  | ||||
| --- a/drivers/pci/controller/dwc/pcie-qcom.c | ||||
| +++ b/drivers/pci/controller/dwc/pcie-qcom.c | ||||
| @@ -1735,6 +1735,7 @@ static const struct of_device_id qcom_pc | ||||
| @@ -1733,6 +1733,7 @@ static const struct of_device_id qcom_pc | ||||
|  	{ .compatible = "qcom,pcie-apq8064", .data = &ipq8064_cfg }, | ||||
|  	{ .compatible = "qcom,pcie-msm8996", .data = &msm8996_cfg }, | ||||
|  	{ .compatible = "qcom,pcie-ipq8074", .data = &ipq8074_cfg }, | ||||
|   | ||||
| @@ -21,9 +21,9 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | ||||
|  				compatible = "arm,gic-v2m-frame"; | ||||
|  				msi-controller; | ||||
|  				reg = <0x0 0xffd>; | ||||
| @@ -813,8 +813,7 @@ | ||||
|  				 <0x82000000 0 0x10220000 0x10220000 | ||||
|  				  0 0xfde0000>; /* non-prefetchable memory */ | ||||
| @@ -811,8 +811,7 @@ | ||||
|  			ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>,   /* I/O */ | ||||
|  				 <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */ | ||||
|   | ||||
| -			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | ||||
| -			interrupt-names = "msi"; | ||||
| @@ -31,9 +31,9 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | ||||
|  			#interrupt-cells = <1>; | ||||
|  			interrupt-map-mask = <0 0 0 0x7>; | ||||
|  			interrupt-map = <0 0 0 1 &intc 0 142 | ||||
| @@ -877,8 +876,7 @@ | ||||
|  				 <0x82000000 0 0x20220000 0x20220000 | ||||
|  				  0 0xfde0000>; /* non-prefetchable memory */ | ||||
| @@ -873,8 +872,7 @@ | ||||
|  			ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>,   /* I/O */ | ||||
|  				 <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */ | ||||
|   | ||||
| -			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; | ||||
| -			interrupt-names = "msi"; | ||||
|   | ||||
| @@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | ||||
|  		spmi_bus: spmi@200f000 { | ||||
|  			compatible = "qcom,spmi-pmic-arb"; | ||||
|  			reg = <0x0200f000 0x001000>, | ||||
| @@ -917,6 +948,56 @@ | ||||
| @@ -913,6 +944,56 @@ | ||||
|  				      "axi_s_sticky"; | ||||
|  			status = "disabled"; | ||||
|  		}; | ||||
|   | ||||
| @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi | ||||
| +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi | ||||
| @@ -998,6 +998,117 @@ | ||||
| @@ -994,6 +994,117 @@ | ||||
|  				}; | ||||
|  			}; | ||||
|  		}; | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
|  #define UART_BUG_TXEN	BIT(1)	/* UART has buggy TX IIR status */ | ||||
| --- a/drivers/tty/serial/8250/8250_port.c | ||||
| +++ b/drivers/tty/serial/8250/8250_port.c | ||||
| @@ -288,7 +288,7 @@ static const struct serial8250_config ua | ||||
| @@ -289,7 +289,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", | ||||
| @@ -2756,6 +2756,11 @@ serial8250_do_set_termios(struct uart_po | ||||
| @@ -2760,6 +2760,11 @@ serial8250_do_set_termios(struct uart_po | ||||
|  	unsigned long flags; | ||||
|  	unsigned int baud, quot, frac = 0; | ||||
|   | ||||
|   | ||||
| @@ -42,7 +42,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> | ||||
|   | ||||
|  		/* | ||||
|  		 * The first read of a sensor often contains very high bogus | ||||
| @@ -1075,6 +1073,11 @@ static int mtk_thermal_probe(struct plat | ||||
| @@ -1085,6 +1083,11 @@ static int mtk_thermal_probe(struct plat | ||||
|  		mtk_thermal_release_periodic_ts(mt, auxadc_base); | ||||
|  	} | ||||
|   | ||||
|   | ||||
| @@ -210,7 +210,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> | ||||
|  		.compatible = "mediatek,mt8183-thermal", | ||||
|  		.data = (void *)&mt8183_thermal_data, | ||||
|  	}, { | ||||
| @@ -1068,15 +1186,24 @@ static int mtk_thermal_probe(struct plat | ||||
| @@ -1078,15 +1196,24 @@ static int mtk_thermal_probe(struct plat | ||||
|  		goto err_disable_clk_auxadc; | ||||
|  	} | ||||
|   | ||||
|   | ||||
		Reference in New Issue
	
	Block a user