]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 6.1
authorSasha Levin <sashal@kernel.org>
Mon, 2 Oct 2023 11:02:51 +0000 (07:02 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 2 Oct 2023 11:02:51 +0000 (07:02 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
30 files changed:
queue-6.1/arm-dts-omap-correct-indentation.patch [new file with mode: 0644]
queue-6.1/arm-dts-ti-omap-fix-bandgap-thermal-cells-addressing.patch [new file with mode: 0644]
queue-6.1/arm-dts-ti-omap-motorola-mapphone-fix-abe_clkctrl-wa.patch [new file with mode: 0644]
queue-6.1/arm-dts-unify-pinctrl-single-pin-group-nodes-for-oma.patch [new file with mode: 0644]
queue-6.1/arm-dts-unify-pwm-omap-dmtimer-node-names.patch [new file with mode: 0644]
queue-6.1/arm64-dts-imx-add-imx8mm-prt8mm.dtb-to-build.patch [new file with mode: 0644]
queue-6.1/bus-ti-sysc-fix-missing-am35xx-soc-matching.patch [new file with mode: 0644]
queue-6.1/bus-ti-sysc-fix-sysc_quirk_swsup_sidle_act-handling-.patch [new file with mode: 0644]
queue-6.1/bus-ti-sysc-use-fsleep-instead-of-usleep_range-in-sy.patch [new file with mode: 0644]
queue-6.1/clk-sprd-fix-thm_parents-incorrect-configuration.patch [new file with mode: 0644]
queue-6.1/clk-tegra-fix-error-return-case-for-recalc_rate.patch [new file with mode: 0644]
queue-6.1/firmware-arm_ffa-don-t-set-the-memory-region-attribu.patch [new file with mode: 0644]
queue-6.1/firmware-arm_scmi-fixup-perf-power-cost-microwatt-su.patch [new file with mode: 0644]
queue-6.1/firmware-arm_scmi-harden-perf-domain-info-access.patch [new file with mode: 0644]
queue-6.1/firmware-imx-dsp-fix-an-error-handling-path-in-imx_d.patch [new file with mode: 0644]
queue-6.1/gpio-pmic-eic-sprd-add-can_sleep-flag-for-pmic-eic-c.patch [new file with mode: 0644]
queue-6.1/i2c-npcm7xx-fix-callback-completion-ordering.patch [new file with mode: 0644]
queue-6.1/power-supply-mt6370-fix-missing-error-code-in-mt6370.patch [new file with mode: 0644]
queue-6.1/power-supply-rk817-fix-node-refcount-leak.patch [new file with mode: 0644]
queue-6.1/power-supply-ucs1002-fix-error-code-in-ucs1002_get_p.patch [new file with mode: 0644]
queue-6.1/selftests-powerpc-fix-emit_tests-to-work-with-run_ks.patch [new file with mode: 0644]
queue-6.1/selftests-powerpc-pass-make-context-to-children.patch [new file with mode: 0644]
queue-6.1/selftests-powerpc-use-clean-macro-to-fix-make-warnin.patch [new file with mode: 0644]
queue-6.1/series
queue-6.1/soc-imx8m-enable-ocotp-clock-for-imx8mm-before-readi.patch [new file with mode: 0644]
queue-6.1/xtensa-add-default-definition-for-xchal_have_div32.patch [new file with mode: 0644]
queue-6.1/xtensa-boot-don-t-add-include-dirs.patch [new file with mode: 0644]
queue-6.1/xtensa-boot-lib-fix-function-prototypes.patch [new file with mode: 0644]
queue-6.1/xtensa-iss-network-make-functions-static.patch [new file with mode: 0644]
queue-6.1/xtensa-umulsidi3-fix-conditional-expression.patch [new file with mode: 0644]

diff --git a/queue-6.1/arm-dts-omap-correct-indentation.patch b/queue-6.1/arm-dts-omap-correct-indentation.patch
new file mode 100644 (file)
index 0000000..921ebc4
--- /dev/null
@@ -0,0 +1,393 @@
+From 84d0e97562ea43f7bb908e98a60fcec87cfbf858 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 2 Oct 2022 11:20:02 +0200
+Subject: ARM: dts: omap: correct indentation
+
+From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+
+[ Upstream commit 8ae9c7a69fa14e95d032e64d8d758e3f85bee132 ]
+
+Do not use spaces for indentation.
+
+Link: https://lore.kernel.org/r/20221002092002.68880-1-krzysztof.kozlowski@linaro.org
+Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Stable-dep-of: 6469b2feade8 ("ARM: dts: ti: omap: Fix bandgap thermal cells addressing for omap3/4")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi |  6 +--
+ arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi |  6 +--
+ arch/arm/boot/dts/omap3-cm-t3517.dts      | 12 ++---
+ arch/arm/boot/dts/omap3-gta04.dtsi        |  6 +--
+ arch/arm/boot/dts/omap3-ldp.dts           |  2 +-
+ arch/arm/boot/dts/omap3-n900.dts          | 38 +++++++-------
+ arch/arm/boot/dts/omap3-zoom3.dts         | 44 ++++++++--------
+ arch/arm/boot/dts/omap4-cpu-thermal.dtsi  | 24 ++++-----
+ arch/arm/boot/dts/omap5-cm-t54.dts        | 64 +++++++++++------------
+ 9 files changed, 101 insertions(+), 101 deletions(-)
+
+diff --git a/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi b/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi
+index ce6c235f68ec6..3046ec572632d 100644
+--- a/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi
++++ b/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi
+@@ -8,9 +8,9 @@
+ / {
+       vddvario: regulator-vddvario {
+-                compatible = "regulator-fixed";
+-                regulator-name = "vddvario";
+-                regulator-always-on;
++              compatible = "regulator-fixed";
++              regulator-name = "vddvario";
++              regulator-always-on;
+       };
+       vdd33a: regulator-vdd33a {
+diff --git a/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi b/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi
+index e7534fe9c53cf..bc8961f3690f0 100644
+--- a/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi
++++ b/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi
+@@ -12,9 +12,9 @@
+ / {
+       vddvario: regulator-vddvario {
+-                compatible = "regulator-fixed";
+-                regulator-name = "vddvario";
+-                regulator-always-on;
++              compatible = "regulator-fixed";
++              regulator-name = "vddvario";
++              regulator-always-on;
+       };
+       vdd33a: regulator-vdd33a {
+diff --git a/arch/arm/boot/dts/omap3-cm-t3517.dts b/arch/arm/boot/dts/omap3-cm-t3517.dts
+index 3b8349094baa6..f25c0a84a190c 100644
+--- a/arch/arm/boot/dts/omap3-cm-t3517.dts
++++ b/arch/arm/boot/dts/omap3-cm-t3517.dts
+@@ -11,12 +11,12 @@
+       model = "CompuLab CM-T3517";
+       compatible = "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3";
+-      vmmc:  regulator-vmmc {
+-                compatible = "regulator-fixed";
+-                regulator-name = "vmmc";
+-                regulator-min-microvolt = <3300000>;
+-                regulator-max-microvolt = <3300000>;
+-        };
++      vmmc: regulator-vmmc {
++              compatible = "regulator-fixed";
++              regulator-name = "vmmc";
++              regulator-min-microvolt = <3300000>;
++              regulator-max-microvolt = <3300000>;
++      };
+       wl12xx_vmmc2: wl12xx_vmmc2 {
+               compatible = "regulator-fixed";
+diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi
+index 2dbee248a126f..da578719ac5a2 100644
+--- a/arch/arm/boot/dts/omap3-gta04.dtsi
++++ b/arch/arm/boot/dts/omap3-gta04.dtsi
+@@ -332,7 +332,7 @@
+                       OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)   /* dss_data22.dss_data22 */
+                       OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)   /* dss_data23.dss_data23 */
+               >;
+-       };
++      };
+       gps_pins: pinmux_gps_pins {
+               pinctrl-single,pins = <
+@@ -869,8 +869,8 @@
+ };
+ &hdqw1w {
+-        pinctrl-names = "default";
+-        pinctrl-0 = <&hdq_pins>;
++      pinctrl-names = "default";
++      pinctrl-0 = <&hdq_pins>;
+ };
+ /* image signal processor within OMAP3 SoC */
+diff --git a/arch/arm/boot/dts/omap3-ldp.dts b/arch/arm/boot/dts/omap3-ldp.dts
+index 36fc8805e0c15..85f33bbb566f9 100644
+--- a/arch/arm/boot/dts/omap3-ldp.dts
++++ b/arch/arm/boot/dts/omap3-ldp.dts
+@@ -301,5 +301,5 @@
+ &vaux1 {
+       /* Needed for ads7846 */
+-        regulator-name = "vcc";
++      regulator-name = "vcc";
+ };
+diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
+index dd79715564498..98a67581bdd23 100644
+--- a/arch/arm/boot/dts/omap3-n900.dts
++++ b/arch/arm/boot/dts/omap3-n900.dts
+@@ -236,27 +236,27 @@
+               pinctrl-single,pins = <
+                       /* address lines */
+-                        OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a1.gpmc_a1 */
+-                        OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a2.gpmc_a2 */
+-                        OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a3.gpmc_a3 */
++                      OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a1.gpmc_a1 */
++                      OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a2.gpmc_a2 */
++                      OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a3.gpmc_a3 */
+                       /* data lines, gpmc_d0..d7 not muxable according to TRM */
+-                        OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0)        /* gpmc_d8.gpmc_d8 */
+-                        OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0)        /* gpmc_d9.gpmc_d9 */
+-                        OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0)        /* gpmc_d10.gpmc_d10 */
+-                        OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0)        /* gpmc_d11.gpmc_d11 */
+-                        OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0)        /* gpmc_d12.gpmc_d12 */
+-                        OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0)        /* gpmc_d13.gpmc_d13 */
+-                        OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0)        /* gpmc_d14.gpmc_d14 */
+-                        OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0)        /* gpmc_d15.gpmc_d15 */
++                      OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0)        /* gpmc_d8.gpmc_d8 */
++                      OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0)        /* gpmc_d9.gpmc_d9 */
++                      OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0)        /* gpmc_d10.gpmc_d10 */
++                      OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0)        /* gpmc_d11.gpmc_d11 */
++                      OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0)        /* gpmc_d12.gpmc_d12 */
++                      OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0)        /* gpmc_d13.gpmc_d13 */
++                      OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0)        /* gpmc_d14.gpmc_d14 */
++                      OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0)        /* gpmc_d15.gpmc_d15 */
+                       /*
+                        * gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable
+                        * according to TRM. OneNAND seems to require PIN_INPUT on clock.
+                        */
+-                        OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0)       /* gpmc_ncs1.gpmc_ncs1 */
+-                        OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0)        /* gpmc_clk.gpmc_clk */
+-              >;
++                      OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0)       /* gpmc_ncs1.gpmc_ncs1 */
++                      OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0)        /* gpmc_clk.gpmc_clk */
++                      >;
+       };
+       i2c1_pins: pinmux_i2c1_pins {
+@@ -738,12 +738,12 @@
+       si4713: si4713@63 {
+               compatible = "silabs,si4713";
+-                reg = <0x63>;
++              reg = <0x63>;
+-                interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */
+-                reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */
+-                vio-supply = <&vio>;
+-                vdd-supply = <&vaux1>;
++              interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */
++              reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */
++              vio-supply = <&vio>;
++              vdd-supply = <&vaux1>;
+       };
+       bq24150a: bq24150a@6b {
+diff --git a/arch/arm/boot/dts/omap3-zoom3.dts b/arch/arm/boot/dts/omap3-zoom3.dts
+index 0482676d18306..ce58b1f208e81 100644
+--- a/arch/arm/boot/dts/omap3-zoom3.dts
++++ b/arch/arm/boot/dts/omap3-zoom3.dts
+@@ -23,9 +23,9 @@
+       };
+       vddvario: regulator-vddvario {
+-                compatible = "regulator-fixed";
+-                regulator-name = "vddvario";
+-                regulator-always-on;
++              compatible = "regulator-fixed";
++              regulator-name = "vddvario";
++              regulator-always-on;
+       };
+       vdd33a: regulator-vdd33a {
+@@ -84,28 +84,28 @@
+       uart1_pins: pinmux_uart1_pins {
+               pinctrl-single,pins = <
+-                        OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT | MUX_MODE0)              /* uart1_cts.uart1_cts */
+-                        OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE0)             /* uart1_rts.uart1_rts */
+-                        OMAP3_CORE1_IOPAD(0x2182, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */
+-                        OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0)             /* uart1_tx.uart1_tx */
++                      OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT | MUX_MODE0)                /* uart1_cts.uart1_cts */
++                      OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE0)               /* uart1_rts.uart1_rts */
++                      OMAP3_CORE1_IOPAD(0x2182, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */
++                      OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0)               /* uart1_tx.uart1_tx */
+               >;
+       };
+       uart2_pins: pinmux_uart2_pins {
+               pinctrl-single,pins = <
+-                        OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0)       /* uart2_cts.uart2_cts */
+-                        OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0)             /* uart2_rts.uart2_rts */
+-                        OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0)              /* uart2_rx.uart2_rx */
+-                        OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0)             /* uart2_tx.uart2_tx */
++                      OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
++                      OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0)               /* uart2_rts.uart2_rts */
++                      OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0)                /* uart2_rx.uart2_rx */
++                      OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0)               /* uart2_tx.uart2_tx */
+               >;
+       };
+       uart3_pins: pinmux_uart3_pins {
+               pinctrl-single,pins = <
+-                        OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLDOWN | MUX_MODE0)     /* uart3_cts_rctx.uart3_cts_rctx */
+-                        OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE0)             /* uart3_rts_sd.uart3_rts_sd */
+-                        OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0)              /* uart3_rx_irrx.uart3_rx_irrx */
+-                        OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)             /* uart3_tx_irtx.uart3_tx_irtx */
++                      OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLDOWN | MUX_MODE0)       /* uart3_cts_rctx.uart3_cts_rctx */
++                      OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE0)               /* uart3_rts_sd.uart3_rts_sd */
++                      OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0)                /* uart3_rx_irrx.uart3_rx_irrx */
++                      OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)               /* uart3_tx_irtx.uart3_tx_irtx */
+               >;
+       };
+@@ -205,22 +205,22 @@
+ };
+ &uart1 {
+-       pinctrl-names = "default";
+-       pinctrl-0 = <&uart1_pins>;
++      pinctrl-names = "default";
++      pinctrl-0 = <&uart1_pins>;
+ };
+ &uart2 {
+-       pinctrl-names = "default";
+-       pinctrl-0 = <&uart2_pins>;
++      pinctrl-names = "default";
++      pinctrl-0 = <&uart2_pins>;
+ };
+ &uart3 {
+-       pinctrl-names = "default";
+-       pinctrl-0 = <&uart3_pins>;
++      pinctrl-names = "default";
++      pinctrl-0 = <&uart3_pins>;
+ };
+ &uart4 {
+-       status = "disabled";
++      status = "disabled";
+ };
+ &usb_otg_hs {
+diff --git a/arch/arm/boot/dts/omap4-cpu-thermal.dtsi b/arch/arm/boot/dts/omap4-cpu-thermal.dtsi
+index 4d7eeb133dadd..801b4f10350c1 100644
+--- a/arch/arm/boot/dts/omap4-cpu-thermal.dtsi
++++ b/arch/arm/boot/dts/omap4-cpu-thermal.dtsi
+@@ -13,20 +13,20 @@ cpu_thermal: cpu_thermal {
+       polling-delay = <1000>; /* milliseconds */
+                       /* sensor       ID */
+-        thermal-sensors = <&bandgap     0>;
++      thermal-sensors = <&bandgap     0>;
+       cpu_trips: trips {
+-                cpu_alert0: cpu_alert {
+-                        temperature = <100000>; /* millicelsius */
+-                        hysteresis = <2000>; /* millicelsius */
+-                        type = "passive";
+-                };
+-                cpu_crit: cpu_crit {
+-                        temperature = <125000>; /* millicelsius */
+-                        hysteresis = <2000>; /* millicelsius */
+-                        type = "critical";
+-                };
+-        };
++              cpu_alert0: cpu_alert {
++                      temperature = <100000>; /* millicelsius */
++                      hysteresis = <2000>; /* millicelsius */
++                      type = "passive";
++              };
++              cpu_crit: cpu_crit {
++                      temperature = <125000>; /* millicelsius */
++                      hysteresis = <2000>; /* millicelsius */
++                      type = "critical";
++              };
++      };
+       cpu_cooling_maps: cooling-maps {
+               map0 {
+diff --git a/arch/arm/boot/dts/omap5-cm-t54.dts b/arch/arm/boot/dts/omap5-cm-t54.dts
+index e62ea8b6d53fd..af288d63a26a4 100644
+--- a/arch/arm/boot/dts/omap5-cm-t54.dts
++++ b/arch/arm/boot/dts/omap5-cm-t54.dts
+@@ -84,36 +84,36 @@
+       };
+       lcd0: display {
+-                compatible = "startek,startek-kd050c", "panel-dpi";
+-                label = "lcd";
+-
+-                pinctrl-names = "default";
+-                pinctrl-0 = <&lcd_pins>;
+-
+-                enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>;
+-
+-                panel-timing {
+-                        clock-frequency = <33000000>;
+-                        hactive = <800>;
+-                        vactive = <480>;
+-                        hfront-porch = <40>;
+-                        hback-porch = <40>;
+-                        hsync-len = <43>;
+-                        vback-porch = <29>;
+-                        vfront-porch = <13>;
+-                        vsync-len = <3>;
+-                        hsync-active = <0>;
+-                        vsync-active = <0>;
+-                        de-active = <1>;
+-                        pixelclk-active = <1>;
+-                };
+-
+-                port {
+-                        lcd_in: endpoint {
+-                                remote-endpoint = <&dpi_lcd_out>;
+-                        };
+-                };
+-        };
++              compatible = "startek,startek-kd050c", "panel-dpi";
++              label = "lcd";
++
++              pinctrl-names = "default";
++              pinctrl-0 = <&lcd_pins>;
++
++              enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>;
++
++              panel-timing {
++                      clock-frequency = <33000000>;
++                      hactive = <800>;
++                      vactive = <480>;
++                      hfront-porch = <40>;
++                      hback-porch = <40>;
++                      hsync-len = <43>;
++                      vback-porch = <29>;
++                      vfront-porch = <13>;
++                      vsync-len = <3>;
++                      hsync-active = <0>;
++                      vsync-active = <0>;
++                      de-active = <1>;
++                      pixelclk-active = <1>;
++              };
++
++              port {
++                      lcd_in: endpoint {
++                              remote-endpoint = <&dpi_lcd_out>;
++                      };
++              };
++      };
+       hdmi0: connector0 {
+               compatible = "hdmi-connector";
+@@ -644,8 +644,8 @@
+ };
+ &usb3 {
+-       extcon = <&extcon_usb3>;
+-       vbus-supply = <&smps10_out1_reg>;
++      extcon = <&extcon_usb3>;
++      vbus-supply = <&smps10_out1_reg>;
+ };
+ &cpu0 {
+-- 
+2.40.1
+
diff --git a/queue-6.1/arm-dts-ti-omap-fix-bandgap-thermal-cells-addressing.patch b/queue-6.1/arm-dts-ti-omap-fix-bandgap-thermal-cells-addressing.patch
new file mode 100644 (file)
index 0000000..746046e
--- /dev/null
@@ -0,0 +1,89 @@
+From 579c747d57520a10bfbc1a5fb7b4920b5674c884 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 11 Sep 2023 07:07:38 +0300
+Subject: ARM: dts: ti: omap: Fix bandgap thermal cells addressing for omap3/4
+
+From: Tony Lindgren <tony@atomide.com>
+
+[ Upstream commit 6469b2feade8fd82d224dd3734e146536f3e9f0e ]
+
+Fix "thermal_sys: cpu_thermal: Failed to read thermal-sensors cells: -2"
+error on boot for omap3/4. This is caused by wrong addressing in the dts
+for bandgap sensor for single sensor instances.
+
+Note that omap4-cpu-thermal.dtsi is shared across omap4/5 and dra7, so
+we can't just change the addressing in omap4-cpu-thermal.dtsi.
+
+Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
+Cc: Carl Philipp Klemm <philipp@uvos.xyz>
+Cc: Merlijn Wajer <merlijn@wizzup.org>
+Cc: Pavel Machek <pavel@ucw.cz>
+Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+Fixes: a761d517bbb1 ("ARM: dts: omap3: Add cpu_thermal zone")
+Fixes: 0bbf6c54d100 ("arm: dts: add omap4 CPU thermal data")
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/boot/dts/omap3-cpu-thermal.dtsi | 3 +--
+ arch/arm/boot/dts/omap4-cpu-thermal.dtsi | 5 ++++-
+ arch/arm/boot/dts/omap443x.dtsi          | 1 +
+ arch/arm/boot/dts/omap4460.dtsi          | 1 +
+ 4 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/boot/dts/omap3-cpu-thermal.dtsi b/arch/arm/boot/dts/omap3-cpu-thermal.dtsi
+index 0da759f8e2c2d..7dd2340bc5e45 100644
+--- a/arch/arm/boot/dts/omap3-cpu-thermal.dtsi
++++ b/arch/arm/boot/dts/omap3-cpu-thermal.dtsi
+@@ -12,8 +12,7 @@ cpu_thermal: cpu-thermal {
+       polling-delay = <1000>; /* milliseconds */
+       coefficients = <0 20000>;
+-                      /* sensor       ID */
+-      thermal-sensors = <&bandgap     0>;
++      thermal-sensors = <&bandgap>;
+       cpu_trips: trips {
+               cpu_alert0: cpu_alert {
+diff --git a/arch/arm/boot/dts/omap4-cpu-thermal.dtsi b/arch/arm/boot/dts/omap4-cpu-thermal.dtsi
+index 801b4f10350c1..d484ec1e4fd86 100644
+--- a/arch/arm/boot/dts/omap4-cpu-thermal.dtsi
++++ b/arch/arm/boot/dts/omap4-cpu-thermal.dtsi
+@@ -12,7 +12,10 @@ cpu_thermal: cpu_thermal {
+       polling-delay-passive = <250>; /* milliseconds */
+       polling-delay = <1000>; /* milliseconds */
+-                      /* sensor       ID */
++      /*
++       * See 44xx files for single sensor addressing, omap5 and dra7 need
++       * also sensor ID for addressing.
++       */
+       thermal-sensors = <&bandgap     0>;
+       cpu_trips: trips {
+diff --git a/arch/arm/boot/dts/omap443x.dtsi b/arch/arm/boot/dts/omap443x.dtsi
+index 238aceb799f89..2104170fe2cd7 100644
+--- a/arch/arm/boot/dts/omap443x.dtsi
++++ b/arch/arm/boot/dts/omap443x.dtsi
+@@ -69,6 +69,7 @@
+ };
+ &cpu_thermal {
++      thermal-sensors = <&bandgap>;
+       coefficients = <0 20000>;
+ };
+diff --git a/arch/arm/boot/dts/omap4460.dtsi b/arch/arm/boot/dts/omap4460.dtsi
+index 1b27a862ae810..a6764750d4476 100644
+--- a/arch/arm/boot/dts/omap4460.dtsi
++++ b/arch/arm/boot/dts/omap4460.dtsi
+@@ -79,6 +79,7 @@
+ };
+ &cpu_thermal {
++      thermal-sensors = <&bandgap>;
+       coefficients = <348 (-9301)>;
+ };
+-- 
+2.40.1
+
diff --git a/queue-6.1/arm-dts-ti-omap-motorola-mapphone-fix-abe_clkctrl-wa.patch b/queue-6.1/arm-dts-ti-omap-motorola-mapphone-fix-abe_clkctrl-wa.patch
new file mode 100644 (file)
index 0000000..338fe0a
--- /dev/null
@@ -0,0 +1,56 @@
+From 3cc1a4d831578d368c103af60b5d10f2d4aedbd0 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 11 Sep 2023 07:07:38 +0300
+Subject: ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on
+ boot
+
+From: Tony Lindgren <tony@atomide.com>
+
+[ Upstream commit ac08bda1569b06b7a62c7b4dd00d4c3b28ceaaec ]
+
+Commit 0840242e8875 ("ARM: dts: Configure clock parent for pwm vibra")
+attempted to fix the PWM settings but ended up causin an additional clock
+reparenting error:
+
+clk: failed to reparent abe-clkctrl:0060:24 to sys_clkin_ck: -22
+
+Only timer9 is in the PER domain and can use the sys_clkin_ck clock source.
+For timer8, the there is no sys_clkin_ck available as it's in the ABE
+domain, instead it should use syc_clk_div_ck. However, for power
+management, we want to use the always on sys_32k_ck instead.
+
+Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
+Cc: Carl Philipp Klemm <philipp@uvos.xyz>
+Cc: Merlijn Wajer <merlijn@wizzup.org>
+Cc: Pavel Machek <pavel@ucw.cz>
+Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+Fixes: 0840242e8875 ("ARM: dts: Configure clock parent for pwm vibra")
+Depends-on: 61978617e905 ("ARM: dts: Add minimal support for Droid Bionic xt875")
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/boot/dts/motorola-mapphone-common.dtsi | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/motorola-mapphone-common.dtsi b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
+index 091ba310053eb..d69f0f4b4990d 100644
+--- a/arch/arm/boot/dts/motorola-mapphone-common.dtsi
++++ b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
+@@ -614,12 +614,12 @@
+ /* Configure pwm clock source for timers 8 & 9 */
+ &timer8 {
+       assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>;
+-      assigned-clock-parents = <&sys_clkin_ck>;
++      assigned-clock-parents = <&sys_32k_ck>;
+ };
+ &timer9 {
+       assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>;
+-      assigned-clock-parents = <&sys_clkin_ck>;
++      assigned-clock-parents = <&sys_32k_ck>;
+ };
+ /*
+-- 
+2.40.1
+
diff --git a/queue-6.1/arm-dts-unify-pinctrl-single-pin-group-nodes-for-oma.patch b/queue-6.1/arm-dts-unify-pinctrl-single-pin-group-nodes-for-oma.patch
new file mode 100644 (file)
index 0000000..b6463ac
--- /dev/null
@@ -0,0 +1,990 @@
+From 0657e14bea401ce606ded1ac1e1a4bdac5ecda22 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 17 May 2023 12:52:53 +0300
+Subject: ARM: dts: Unify pinctrl-single pin group nodes for omap4
+
+From: Tony Lindgren <tony@atomide.com>
+
+[ Upstream commit 7fff6f6d6e198ad619fea9dbbe9731999af56070 ]
+
+We want to unify the pinctrl-single pin group nodes to use naming "pins".
+Otherwise non-standad pin group names will add make dtbs checks errors
+when the pinctrl-single yaml binding gets merged.
+
+Cc: Conor Dooley <conor+dt@kernel.org>
+Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
+Cc: Rob Herring <robh+dt@kernel.org>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Stable-dep-of: ac08bda1569b ("ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ .../boot/dts/motorola-mapphone-common.dtsi    | 40 +++++++++----------
+ arch/arm/boot/dts/omap4-duovero-parlor.dts    | 12 +++---
+ arch/arm/boot/dts/omap4-duovero.dtsi          | 18 ++++-----
+ arch/arm/boot/dts/omap4-kc1.dts               | 14 +++----
+ arch/arm/boot/dts/omap4-mcpdm.dtsi            |  2 +-
+ arch/arm/boot/dts/omap4-panda-common.dtsi     | 30 +++++++-------
+ arch/arm/boot/dts/omap4-panda-es.dts          |  8 ++--
+ arch/arm/boot/dts/omap4-sdp.dts               | 36 ++++++++---------
+ .../boot/dts/omap4-var-om44customboard.dtsi   | 24 +++++------
+ .../arm/boot/dts/omap4-var-som-om44-wlan.dtsi |  6 +--
+ arch/arm/boot/dts/omap4-var-som-om44.dtsi     | 22 +++++-----
+ arch/arm/boot/dts/twl6030_omap4.dtsi          |  4 +-
+ 12 files changed, 108 insertions(+), 108 deletions(-)
+
+diff --git a/arch/arm/boot/dts/motorola-mapphone-common.dtsi b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
+index f7cc8fc678fa5..091ba310053eb 100644
+--- a/arch/arm/boot/dts/motorola-mapphone-common.dtsi
++++ b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
+@@ -352,13 +352,13 @@
+ &omap4_pmx_core {
+       /* hdmi_hpd.gpio_63 */
+-      hdmi_hpd_gpio: pinmux_hdmi_hpd_pins {
++      hdmi_hpd_gpio: hdmi-hpd-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3)
+               >;
+       };
+-      hdq_pins: pinmux_hdq_pins {
++      hdq_pins: hdq-pins {
+               pinctrl-single,pins = <
+               /* 0x4a100120 hdq_sio.hdq_sio aa27 */
+               OMAP4_IOPAD(0x120, PIN_INPUT | MUX_MODE0)
+@@ -366,7 +366,7 @@
+       };
+       /* hdmi_cec.hdmi_cec, hdmi_scl.hdmi_scl, hdmi_sda.hdmi_sda */
+-      dss_hdmi_pins: pinmux_dss_hdmi_pins {
++      dss_hdmi_pins: dss-hdmi-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)
+               OMAP4_IOPAD(0x09c, PIN_INPUT | MUX_MODE0)
+@@ -380,7 +380,7 @@
+        * devices. Off mode value should be tested if we have off mode working
+        * later on.
+        */
+-      mmc3_pins: pinmux_mmc3_pins {
++      mmc3_pins: mmc3-pins {
+               pinctrl-single,pins = <
+               /* 0x4a10008e gpmc_wait2.gpio_100 d23 */
+               OMAP4_IOPAD(0x08e, PIN_INPUT | MUX_MODE3)
+@@ -406,40 +406,40 @@
+       };
+       /* gpmc_ncs0.gpio_50 */
+-      poweroff_gpio: pinmux_poweroff_pins {
++      poweroff_gpio: poweroff-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x074, PIN_OUTPUT_PULLUP | MUX_MODE3)
+               >;
+       };
+       /* kpd_row0.gpio_178 */
+-      tmp105_irq: pinmux_tmp105_irq {
++      tmp105_irq: tmp105-irq-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x18e, PIN_INPUT_PULLUP | MUX_MODE3)
+               >;
+       };
+-      usb_gpio_mux_sel1: pinmux_usb_gpio_mux_sel1_pins {
++      usb_gpio_mux_sel1: usb-gpio-mux-sel1-pins {
+               /* gpio_60 */
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)
+               >;
+       };
+-      touchscreen_pins: pinmux_touchscreen_pins {
++      touchscreen_pins: touchscreen-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3)
+               OMAP4_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE3)
+               >;
+       };
+-      als_proximity_pins: pinmux_als_proximity_pins {
++      als_proximity_pins: als-proximity-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x18c, PIN_INPUT_PULLUP | MUX_MODE3)
+               >;
+       };
+-      usb_mdm6600_pins: pinmux_usb_mdm6600_pins {
++      usb_mdm6600_pins: usb-mdm6600-pins {
+               pinctrl-single,pins = <
+               /* enable 0x4a1000d8 usbb1_ulpitll_dat7.gpio_95 ag16 */
+               OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3)
+@@ -476,7 +476,7 @@
+               >;
+       };
+-      usb_ulpi_pins: pinmux_usb_ulpi_pins {
++      usb_ulpi_pins: usb-ulpi-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x196, MUX_MODE7)
+               OMAP4_IOPAD(0x198, MUX_MODE7)
+@@ -496,7 +496,7 @@
+       };
+       /* usb0_otg_dp and usb0_otg_dm */
+-      usb_utmi_pins: pinmux_usb_utmi_pins {
++      usb_utmi_pins: usb-utmi-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)
+               OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0)
+@@ -521,7 +521,7 @@
+        * when not used. If needed, we can add rts pin remux later based
+        * on power measurements.
+        */
+-      uart1_pins: pinmux_uart1_pins {
++      uart1_pins: uart1-pins {
+               pinctrl-single,pins = <
+               /* 0x4a10013c mcspi1_cs2.uart1_cts ag23 */
+               OMAP4_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE1)
+@@ -538,7 +538,7 @@
+       };
+       /* uart3_tx_irtx and uart3_rx_irrx */
+-      uart3_pins: pinmux_uart3_pins {
++      uart3_pins: uart3-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x196, MUX_MODE7)
+               OMAP4_IOPAD(0x198, MUX_MODE7)
+@@ -557,7 +557,7 @@
+               >;
+       };
+-      uart4_pins: pinmux_uart4_pins {
++      uart4_pins: uart4-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0)               /* uart4_rx */
+               OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0)              /* uart4_tx */
+@@ -566,7 +566,7 @@
+               >;
+       };
+-      mcbsp2_pins: pinmux_mcbsp2_pins {
++      mcbsp2_pins: mcbsp2-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_clkx */
+               OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_dr */
+@@ -575,7 +575,7 @@
+               >;
+       };
+-      mcbsp3_pins: pinmux_mcbsp3_pins {
++      mcbsp3_pins: mcbsp3-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x106, PIN_INPUT | MUX_MODE1)       /* abe_mcbsp3_dr */
+               OMAP4_IOPAD(0x108, PIN_OUTPUT | MUX_MODE1)      /* abe_mcbsp3_dx */
+@@ -584,13 +584,13 @@
+               >;
+       };
+-      vibrator_direction_pin: pinmux_vibrator_direction_pin {
++      vibrator_direction_pin: vibrator-direction-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1)      /* dmtimer8_pwm_evt (gpio_27) */
+               >;
+       };
+-      vibrator_enable_pin: pinmux_vibrator_enable_pin {
++      vibrator_enable_pin: vibrator-enable-pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1)      /* dmtimer9_pwm_evt (gpio_28) */
+               >;
+@@ -598,7 +598,7 @@
+ };
+ &omap4_pmx_wkup {
+-      usb_gpio_mux_sel2: pinmux_usb_gpio_mux_sel2_pins {
++      usb_gpio_mux_sel2: usb-gpio-mux-sel2-pins {
+               /* gpio_wk0 */
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x040, PIN_OUTPUT_PULLDOWN | MUX_MODE3)
+diff --git a/arch/arm/boot/dts/omap4-duovero-parlor.dts b/arch/arm/boot/dts/omap4-duovero-parlor.dts
+index b294c22177cbf..6d1beb453234e 100644
+--- a/arch/arm/boot/dts/omap4-duovero-parlor.dts
++++ b/arch/arm/boot/dts/omap4-duovero-parlor.dts
+@@ -62,33 +62,33 @@
+                       &smsc_pins
+       >;
+-      led_pins: pinmux_led_pins {
++      led_pins: led-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3)              /* abe_dmic_din3.gpio_122 */
+               >;
+       };
+-      button_pins: pinmux_button_pins {
++      button_pins: button-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)        /* abe_dmic_din2.gpio_121 */
+               >;
+       };
+-      i2c2_pins: pinmux_i2c2_pins {
++      i2c2_pins: i2c2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_scl */
+                       OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_sda */
+               >;
+       };
+-      i2c3_pins: pinmux_i2c3_pins {
++      i2c3_pins: i2c3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_scl */
+                       OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_sda */
+               >;
+       };
+-      smsc_pins: pinmux_smsc_pins {
++      smsc_pins: smsc-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x068, PIN_INPUT | MUX_MODE3)               /* gpmc_a20.gpio_44: IRQ */
+                       OMAP4_IOPAD(0x06a, PIN_INPUT_PULLUP | MUX_MODE3)        /* gpmc_a21.gpio_45: nReset */
+@@ -96,7 +96,7 @@
+               >;
+       };
+-      dss_hdmi_pins: pinmux_dss_hdmi_pins {
++      dss_hdmi_pins: dss-hdmi-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3)               /* hdmi_hpd.gpio_63 */
+                       OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)               /* hdmi_cec.hdmi_cec */
+diff --git a/arch/arm/boot/dts/omap4-duovero.dtsi b/arch/arm/boot/dts/omap4-duovero.dtsi
+index 805dfd40030dc..b8af455b411a9 100644
+--- a/arch/arm/boot/dts/omap4-duovero.dtsi
++++ b/arch/arm/boot/dts/omap4-duovero.dtsi
+@@ -73,14 +73,14 @@
+                       &hsusbb1_pins
+       >;
+-      twl6040_pins: pinmux_twl6040_pins {
++      twl6040_pins: twl6040-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE3)              /* usbb2_ulpitll_nxt.gpio_160 */
+                       OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)               /* sys_nirq2.sys_nirq2 */
+               >;
+       };
+-      mcbsp1_pins: pinmux_mcbsp1_pins {
++      mcbsp1_pins: mcbsp1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
+                       OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_mcbsp1_dr.abe_mcbsp1_dr */
+@@ -89,7 +89,7 @@
+               >;
+       };
+-      hsusbb1_pins: pinmux_hsusbb1_pins {
++      hsusbb1_pins: hsusbb1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
+                       OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)              /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
+@@ -106,34 +106,34 @@
+               >;
+       };
+-      hsusb1phy_pins: pinmux_hsusb1phy_pins {
++      hsusb1phy_pins: hsusb1phy-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x08c, PIN_OUTPUT | MUX_MODE3)              /* gpmc_wait1.gpio_62 */
+               >;
+       };
+-      w2cbw0015_pins: pinmux_w2cbw0015_pins {
++      w2cbw0015_pins: w2cbw0015-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a19.gpio_43 */
+                       OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)               /* gpmc_ncs3.gpio_53 */
+               >;
+       };
+-      i2c1_pins: pinmux_i2c1_pins {
++      i2c1_pins: i2c1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
+                       OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
+               >;
+       };
+-      i2c4_pins: pinmux_i2c4_pins {
++      i2c4_pins: i2c4-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
+                       OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
+               >;
+       };
+-      mmc1_pins: pinmux_mmc1_pins {
++      mmc1_pins: mmc1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc1_clk */
+                       OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmcc1_cmd */
+@@ -144,7 +144,7 @@
+               >;
+       };
+-      mmc5_pins: pinmux_mmc5_pins {
++      mmc5_pins: mmc5-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_clk */
+                       OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmcc5_cmd */
+diff --git a/arch/arm/boot/dts/omap4-kc1.dts b/arch/arm/boot/dts/omap4-kc1.dts
+index e59d17b25a1d9..c6b79ba8bbc91 100644
+--- a/arch/arm/boot/dts/omap4-kc1.dts
++++ b/arch/arm/boot/dts/omap4-kc1.dts
+@@ -35,42 +35,42 @@
+ &omap4_pmx_core {
+       pinctrl-names = "default";
+-      uart3_pins: pinmux_uart3_pins {
++      uart3_pins: uart3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)               /* uart3_rx_irrx */
+                       OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0)              /* uart3_tx_irtx */
+               >;
+       };
+-      i2c1_pins: pinmux_i2c1_pins {
++      i2c1_pins: i2c1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
+                       OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
+               >;
+       };
+-      i2c2_pins: pinmux_i2c2_pins {
++      i2c2_pins: i2c2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_scl */
+                       OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_sda */
+               >;
+       };
+-      i2c3_pins: pinmux_i2c3_pins {
++      i2c3_pins: i2c3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_scl */
+                       OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_sda */
+               >;
+       };
+-      i2c4_pins: pinmux_i2c4_pins {
++      i2c4_pins: i2c4-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
+                       OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
+               >;
+       };
+-      mmc2_pins: pinmux_mmc2_pins {
++      mmc2_pins: mmc2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x040, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat0 */
+                       OMAP4_IOPAD(0x042, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat1 */
+@@ -85,7 +85,7 @@
+               >;
+       };
+-      usb_otg_hs_pins: pinmux_usb_otg_hs_pins {
++      usb_otg_hs_pins: usb-otg-hs-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x194, PIN_OUTPUT_PULLDOWN | MUX_MODE0)     /* usba0_otg_ce */
+                       OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)               /* usba0_otg_dp */
+diff --git a/arch/arm/boot/dts/omap4-mcpdm.dtsi b/arch/arm/boot/dts/omap4-mcpdm.dtsi
+index 915a9b31a33b4..03ade47431fbe 100644
+--- a/arch/arm/boot/dts/omap4-mcpdm.dtsi
++++ b/arch/arm/boot/dts/omap4-mcpdm.dtsi
+@@ -7,7 +7,7 @@
+  */
+ &omap4_pmx_core {
+-      mcpdm_pins: pinmux_mcpdm_pins {
++      mcpdm_pins: mcpdm-pins {
+               pinctrl-single,pins = <
+               /* 0x4a100106 abe_pdm_ul_data.abe_pdm_ul_data ag25 */
+               OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0)
+diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
+index 518652a599bd7..53b99004b19cf 100644
+--- a/arch/arm/boot/dts/omap4-panda-common.dtsi
++++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
+@@ -237,14 +237,14 @@
+                       &hsusbb1_pins
+       >;
+-      twl6040_pins: pinmux_twl6040_pins {
++      twl6040_pins: twl6040-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3)      /* hdq_sio.gpio_127 */
+                       OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)       /* sys_nirq2.sys_nirq2 */
+               >;
+       };
+-      mcbsp1_pins: pinmux_mcbsp1_pins {
++      mcbsp1_pins: mcbsp1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
+                       OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_mcbsp1_dr.abe_mcbsp1_dr */
+@@ -253,7 +253,7 @@
+               >;
+       };
+-      dss_dpi_pins: pinmux_dss_dpi_pins {
++      dss_dpi_pins: dss-dpi-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5)      /* dispc2_data23 */
+                       OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5)      /* dispc2_data22 */
+@@ -288,13 +288,13 @@
+               >;
+       };
+-      tfp410_pins: pinmux_tfp410_pins {
++      tfp410_pins: tfp410-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x184, PIN_OUTPUT | MUX_MODE3)      /* gpio_0 */
+               >;
+       };
+-      dss_hdmi_pins: pinmux_dss_hdmi_pins {
++      dss_hdmi_pins: dss-hdmi-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)               /* hdmi_cec.hdmi_cec */
+                       OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)        /* hdmi_scl.hdmi_scl */
+@@ -302,7 +302,7 @@
+               >;
+       };
+-      tpd12s015_pins: pinmux_tpd12s015_pins {
++      tpd12s015_pins: tpd12s015-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a17.gpio_41 */
+                       OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)              /* gpmc_nbe1.gpio_60 */
+@@ -310,7 +310,7 @@
+               >;
+       };
+-      hsusbb1_pins: pinmux_hsusbb1_pins {
++      hsusbb1_pins: hsusbb1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
+                       OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)              /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
+@@ -327,28 +327,28 @@
+               >;
+       };
+-      i2c1_pins: pinmux_i2c1_pins {
++      i2c1_pins: i2c1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
+                       OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
+               >;
+       };
+-      i2c2_pins: pinmux_i2c2_pins {
++      i2c2_pins: i2c2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_scl */
+                       OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_sda */
+               >;
+       };
+-      i2c3_pins: pinmux_i2c3_pins {
++      i2c3_pins: i2c3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_scl */
+                       OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_sda */
+               >;
+       };
+-      i2c4_pins: pinmux_i2c4_pins {
++      i2c4_pins: i2c4-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
+                       OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
+@@ -359,7 +359,7 @@
+        * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
+        * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
+        */
+-      wl12xx_gpio: pinmux_wl12xx_gpio {
++      wl12xx_gpio: wl12xx-gpio-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a19.gpio_43 */
+                       OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a22.gpio_46 */
+@@ -369,7 +369,7 @@
+       };
+       /* wl12xx GPIO inputs and SDIO pins */
+-      wl12xx_pins: pinmux_wl12xx_pins {
++      wl12xx_pins: wl12xx-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)               /* gpmc_ncs2.gpio_52 */
+                       OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)               /* gpmc_ncs3.gpio_53 */
+@@ -382,7 +382,7 @@
+               >;
+       };
+-      button_pins: pinmux_button_pins {
++      button_pins: button-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)        /* gpio_121 */
+               >;
+@@ -390,7 +390,7 @@
+ };
+ &omap4_pmx_wkup {
+-      led_wkgpio_pins: pinmux_leds_wkpins {
++      led_wkgpio_pins: leds-wkpins-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE3)      /* gpio_wk7 */
+                       OMAP4_IOPAD(0x05c, PIN_OUTPUT | MUX_MODE3)      /* gpio_wk8 */
+diff --git a/arch/arm/boot/dts/omap4-panda-es.dts b/arch/arm/boot/dts/omap4-panda-es.dts
+index 7c6886cd738f0..6c08dff58beae 100644
+--- a/arch/arm/boot/dts/omap4-panda-es.dts
++++ b/arch/arm/boot/dts/omap4-panda-es.dts
+@@ -38,26 +38,26 @@
+ };
+ &omap4_pmx_core {
+-      led_gpio_pins: gpio_led_pmx {
++      led_gpio_pins: gpio-led-pmx-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0f6, PIN_OUTPUT | MUX_MODE3)      /* gpio_110 */
+               >;
+       };
+-      button_pins: pinmux_button_pins {
++      button_pins: button-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0fc, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */
+               >;
+       };
+-      bt_pins: pinmux_bt_pins {
++      bt_pins: bt-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a22.gpio_46 - BTEN */
+                       OMAP4_IOPAD(0x072, PIN_OUTPUT_PULLUP | MUX_MODE3)       /* gpmc_a25.gpio_49 - BTWAKEUP */
+               >;
+       };
+-      uart2_pins: pinmux_uart2_pins {
++      uart2_pins: uart2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)        /* uart2_cts.uart2_cts - HCI */
+                       OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)              /* uart2_rts.uart2_rts */
+diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
+index 9e976140f34a6..b2cb93edbc3a6 100644
+--- a/arch/arm/boot/dts/omap4-sdp.dts
++++ b/arch/arm/boot/dts/omap4-sdp.dts
+@@ -214,7 +214,7 @@
+                       &tpd12s015_pins
+       >;
+-      uart2_pins: pinmux_uart2_pins {
++      uart2_pins: uart2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)        /* uart2_cts.uart2_cts */
+                       OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)              /* uart2_rts.uart2_rts */
+@@ -223,7 +223,7 @@
+               >;
+       };
+-      uart3_pins: pinmux_uart3_pins {
++      uart3_pins: uart3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0)        /* uart3_cts_rctx.uart3_cts_rctx */
+                       OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0)              /* uart3_rts_sd.uart3_rts_sd */
+@@ -232,21 +232,21 @@
+               >;
+       };
+-      uart4_pins: pinmux_uart4_pins {
++      uart4_pins: uart4-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0)               /* uart4_rx.uart4_rx */
+                       OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0)              /* uart4_tx.uart4_tx */
+               >;
+       };
+-      twl6040_pins: pinmux_twl6040_pins {
++      twl6040_pins: twl6040-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3)              /* hdq_sio.gpio_127 */
+                       OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)               /* sys_nirq2.sys_nirq2 */
+               >;
+       };
+-      dmic_pins: pinmux_dmic_pins {
++      dmic_pins: dmic-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0)              /* abe_dmic_clk1.abe_dmic_clk1 */
+                       OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0)               /* abe_dmic_din1.abe_dmic_din1 */
+@@ -255,7 +255,7 @@
+               >;
+       };
+-      mcbsp1_pins: pinmux_mcbsp1_pins {
++      mcbsp1_pins: mcbsp1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
+                       OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_mcbsp1_dr.abe_mcbsp1_dr */
+@@ -264,7 +264,7 @@
+               >;
+       };
+-      mcbsp2_pins: pinmux_mcbsp2_pins {
++      mcbsp2_pins: mcbsp2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
+                       OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_mcbsp2_dr.abe_mcbsp2_dr */
+@@ -273,7 +273,7 @@
+               >;
+       };
+-      mcspi1_pins: pinmux_mcspi1_pins {
++      mcspi1_pins: mcspi1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0)               /*  mcspi1_clk.mcspi1_clk */
+                       OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0)               /*  mcspi1_somi.mcspi1_somi */
+@@ -282,7 +282,7 @@
+               >;
+       };
+-      dss_hdmi_pins: pinmux_dss_hdmi_pins {
++      dss_hdmi_pins: dss-hdmi-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)               /* hdmi_cec.hdmi_cec */
+                       OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)        /* hdmi_scl.hdmi_scl */
+@@ -290,7 +290,7 @@
+               >;
+       };
+-      tpd12s015_pins: pinmux_tpd12s015_pins {
++      tpd12s015_pins: tpd12s015-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a17.gpio_41 */
+                       OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)              /* gpmc_nbe1.gpio_60 */
+@@ -298,28 +298,28 @@
+               >;
+       };
+-      i2c1_pins: pinmux_i2c1_pins {
++      i2c1_pins: i2c1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
+                       OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
+               >;
+       };
+-      i2c2_pins: pinmux_i2c2_pins {
++      i2c2_pins: i2c2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_scl */
+                       OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_sda */
+               >;
+       };
+-      i2c3_pins: pinmux_i2c3_pins {
++      i2c3_pins: i2c3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_scl */
+                       OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_sda */
+               >;
+       };
+-      i2c4_pins: pinmux_i2c4_pins {
++      i2c4_pins: i2c4-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
+                       OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
+@@ -327,14 +327,14 @@
+       };
+       /* wl12xx GPIO output for WLAN_EN */
+-      wl12xx_gpio: pinmux_wl12xx_gpio {
++      wl12xx_gpio: wl12xx-gpio-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)              /* gpmc_nwp.gpio_54 */
+               >;
+       };
+       /* wl12xx GPIO inputs and SDIO pins */
+-      wl12xx_pins: pinmux_wl12xx_pins {
++      wl12xx_pins: wl12xx-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)               /* gpmc_ncs3.gpio_53 */
+                       OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_clk.sdmmc5_clk */
+@@ -347,13 +347,13 @@
+       };
+       /* gpio_48 for ENET_ENABLE */
+-      enet_enable_gpio: pinmux_enet_enable_gpio {
++      enet_enable_gpio: enet-enable-gpio-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3)     /* gpmc_a24.gpio_48 */
+               >;
+       };
+-      ks8851_pins: pinmux_ks8851_pins {
++      ks8851_pins: ks8851-pins {
+               pinctrl-single,pins = <
+                       /* ENET_INT */
+                       OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3)        /* gpmc_ad10.gpio_34 */
+diff --git a/arch/arm/boot/dts/omap4-var-om44customboard.dtsi b/arch/arm/boot/dts/omap4-var-om44customboard.dtsi
+index 458cb53dd3d18..cadc7e02592bf 100644
+--- a/arch/arm/boot/dts/omap4-var-om44customboard.dtsi
++++ b/arch/arm/boot/dts/omap4-var-om44customboard.dtsi
+@@ -60,7 +60,7 @@
+ };
+ &omap4_pmx_core {
+-      uart1_pins: pinmux_uart1_pins {
++      uart1_pins: uart1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE1)        /* mcspi1_cs2.uart1_cts */
+                       OMAP4_IOPAD(0x13e, PIN_OUTPUT | MUX_MODE1)              /* mcspi1_cs3.uart1_rts */
+@@ -69,7 +69,7 @@
+               >;
+       };
+-      mcspi1_pins: pinmux_mcspi1_pins {
++      mcspi1_pins: mcspi1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0)               /*  mcspi1_clk.mcspi1_clk */
+                       OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0)               /*  mcspi1_somi.mcspi1_somi */
+@@ -78,13 +78,13 @@
+               >;
+       };
+-      mcasp_pins: pinmux_mcsasp_pins {
++      mcasp_pins: mcsasp-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0f8, PIN_OUTPUT | MUX_MODE2)              /*  mcbsp2_dr.abe_mcasp_axr */
+               >;
+       };
+-      dss_dpi_pins: pinmux_dss_dpi_pins {
++      dss_dpi_pins: dss-dpi-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5)              /* dispc2_data23 */
+                       OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5)              /* dispc2_data22 */
+@@ -117,7 +117,7 @@
+               >;
+       };
+-      dss_hdmi_pins: pinmux_dss_hdmi_pins {
++      dss_hdmi_pins: dss-hdmi-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)               /* hdmi_cec.hdmi_cec */
+                       OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)        /* hdmi_scl.hdmi_scl */
+@@ -125,14 +125,14 @@
+               >;
+       };
+-      i2c4_pins: pinmux_i2c4_pins {
++      i2c4_pins: i2c4-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
+                       OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
+               >;
+       };
+-      mmc5_pins: pinmux_mmc5_pins {
++      mmc5_pins: mmc5-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE3)               /* abe_mcbsp2_clkx.gpio_110 */
+                       OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_clk.sdmmc5_clk */
+@@ -144,32 +144,32 @@
+               >;
+       };
+-      gpio_led_pins: pinmux_gpio_led_pins {
++      gpio_led_pins: gpio-led-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x17e, PIN_OUTPUT | MUX_MODE3)              /* kpd_col4.gpio_172 */
+                       OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3)              /* kpd_col5.gpio_173 */
+               >;
+       };
+-      gpio_key_pins: pinmux_gpio_key_pins {
++      gpio_key_pins: gpio-key-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x1a2, PIN_INPUT | MUX_MODE3)               /* sys_boot0.gpio_184 */
+               >;
+       };
+-      ks8851_irq_pins: pinmux_ks8851_irq_pins {
++      ks8851_irq_pins: ks8851-irq-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x17c, PIN_INPUT_PULLUP | MUX_MODE3)        /* kpd_col3.gpio_171 */
+               >;
+       };
+-      hdmi_hpd_pins: pinmux_hdmi_hpd_pins {
++      hdmi_hpd_pins: hdmi-hpd-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3)      /* hdmi_hpd.gpio_63 */
+               >;
+       };
+-      backlight_pins: pinmux_backlight_pins {
++      backlight_pins: backlight-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3)              /* abe_dmic_din3.gpio_122 */
+               >;
+diff --git a/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi b/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi
+index d0032213101e6..de779d2d7c3e9 100644
+--- a/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi
++++ b/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi
+@@ -19,7 +19,7 @@
+ };
+ &omap4_pmx_core {
+-      uart2_pins: pinmux_uart2_pins {
++      uart2_pins: uart2-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)        /* uart2_cts.uart2_cts */
+                       OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)              /* uart2_rts.uart2_rts */
+@@ -28,7 +28,7 @@
+               >;
+       };
+-      wl12xx_ctrl_pins: pinmux_wl12xx_ctrl_pins {
++      wl12xx_ctrl_pins: wl12xx-ctrl-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x062, PIN_INPUT_PULLUP | MUX_MODE3)        /* gpmc_a17.gpio_41 (WLAN_IRQ) */
+                       OMAP4_IOPAD(0x064, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a18.gpio_42 (BT_EN) */
+@@ -36,7 +36,7 @@
+               >;
+       };
+-      mmc4_pins: pinmux_mmc4_pins {
++      mmc4_pins: mmc4-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x154, PIN_INPUT_PULLUP | MUX_MODE1)        /* mcspi4_clk.sdmmc4_clk */
+                       OMAP4_IOPAD(0x156, PIN_INPUT_PULLUP | MUX_MODE1)        /* mcspi4_simo.sdmmc4_cmd */
+diff --git a/arch/arm/boot/dts/omap4-var-som-om44.dtsi b/arch/arm/boot/dts/omap4-var-som-om44.dtsi
+index 334cbbaa5b8b0..37d56b3010cff 100644
+--- a/arch/arm/boot/dts/omap4-var-som-om44.dtsi
++++ b/arch/arm/boot/dts/omap4-var-som-om44.dtsi
+@@ -65,21 +65,21 @@
+                       &hsusbb1_pins
+       >;
+-      twl6040_pins: pinmux_twl6040_pins {
++      twl6040_pins: twl6040-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x19c, PIN_OUTPUT | MUX_MODE3)              /* fref_clk2_out.gpio_182 */
+                       OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)               /* sys_nirq2.sys_nirq2 */
+               >;
+       };
+-      tsc2004_pins: pinmux_tsc2004_pins {
++      tsc2004_pins: tsc2004-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x090, PIN_INPUT | MUX_MODE3)               /* gpmc_ncs4.gpio_101 (irq) */
+                       OMAP4_IOPAD(0x092, PIN_OUTPUT | MUX_MODE3)              /* gpmc_ncs5.gpio_102 (rst) */
+               >;
+       };
+-      uart3_pins: pinmux_uart3_pins {
++      uart3_pins: uart3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0)        /* uart3_cts_rctx.uart3_cts_rctx */
+                       OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0)              /* uart3_rts_sd.uart3_rts_sd */
+@@ -88,7 +88,7 @@
+               >;
+       };
+-      hsusbb1_pins: pinmux_hsusbb1_pins {
++      hsusbb1_pins: hsusbb1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
+                       OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)              /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
+@@ -105,27 +105,27 @@
+               >;
+       };
+-      hsusbb1_phy_rst_pins: pinmux_hsusbb1_phy_rst_pins {
++      hsusbb1_phy_rst_pins: hsusbb1-phy-rst-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x18c, PIN_OUTPUT | MUX_MODE3)              /* kpd_row2.gpio_177 */
+               >;
+       };
+-      i2c1_pins: pinmux_i2c1_pins {
++      i2c1_pins: i2c1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
+                       OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
+               >;
+       };
+-      i2c3_pins: pinmux_i2c3_pins {
++      i2c3_pins: i2c3-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_scl */
+                       OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_sda */
+               >;
+       };
+-      mmc1_pins: pinmux_mmc1_pins {
++      mmc1_pins: mmc1-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc1_clk.sdmmc1_clk */
+                       OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc1_cmd.sdmmc1_cmd */
+@@ -144,19 +144,19 @@
+               &lan7500_rst_pins
+       >;
+-      hsusbb1_phy_clk_pins: pinmux_hsusbb1_phy_clk_pins {
++      hsusbb1_phy_clk_pins: hsusbb1-phy-clk-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x058, PIN_OUTPUT | MUX_MODE0)      /* fref_clk3_out */
+               >;
+       };
+-      hsusbb1_hub_rst_pins: pinmux_hsusbb1_hub_rst_pins {
++      hsusbb1_hub_rst_pins: hsusbb1-hub-rst-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x042, PIN_OUTPUT | MUX_MODE3)      /* gpio_wk1 */
+               >;
+       };
+-      lan7500_rst_pins: pinmux_lan7500_rst_pins {
++      lan7500_rst_pins: lan7500-rst-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x040, PIN_OUTPUT | MUX_MODE3)      /* gpio_wk0 */
+               >;
+diff --git a/arch/arm/boot/dts/twl6030_omap4.dtsi b/arch/arm/boot/dts/twl6030_omap4.dtsi
+index 5730e46b00677..64e38c7c8be70 100644
+--- a/arch/arm/boot/dts/twl6030_omap4.dtsi
++++ b/arch/arm/boot/dts/twl6030_omap4.dtsi
+@@ -19,7 +19,7 @@
+ };
+ &omap4_pmx_wkup {
+-      twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
++      twl6030_wkup_pins: twl6030-wkup-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x054, PIN_OUTPUT | MUX_MODE2)              /* fref_clk0_out.sys_drm_msecure */
+               >;
+@@ -27,7 +27,7 @@
+ };
+ &omap4_pmx_core {
+-      twl6030_pins: pinmux_twl6030_pins {
++      twl6030_pins: twl6030-pins {
+               pinctrl-single,pins = <
+                       OMAP4_IOPAD(0x19e, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)    /* sys_nirq1.sys_nirq1 */
+               >;
+-- 
+2.40.1
+
diff --git a/queue-6.1/arm-dts-unify-pwm-omap-dmtimer-node-names.patch b/queue-6.1/arm-dts-unify-pwm-omap-dmtimer-node-names.patch
new file mode 100644 (file)
index 0000000..e550f41
--- /dev/null
@@ -0,0 +1,117 @@
+From 5db6ab41dbea66e5f96a455827a5967744b15e88 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 18 Nov 2022 14:19:24 +0200
+Subject: ARM: dts: Unify pwm-omap-dmtimer node names
+
+From: Tony Lindgren <tony@atomide.com>
+
+[ Upstream commit 4f15fc7c0f28ffcd6e9a56396db6edcdfa4c9925 ]
+
+There is no reg property for pwm-omap-dmtimer.
+
+Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
+Cc: Rob Herring <robh+dt@kernel.org>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Stable-dep-of: ac08bda1569b ("ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/boot/dts/am335x-guardian.dts            | 3 ++-
+ arch/arm/boot/dts/am3517-evm.dts                 | 2 +-
+ arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi | 2 +-
+ arch/arm/boot/dts/motorola-mapphone-common.dtsi  | 4 ++--
+ arch/arm/boot/dts/omap3-gta04.dtsi               | 2 +-
+ arch/arm/boot/dts/omap3-n900.dts                 | 2 +-
+ 6 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/arch/arm/boot/dts/am335x-guardian.dts b/arch/arm/boot/dts/am335x-guardian.dts
+index f6356266564c8..b357364e93f99 100644
+--- a/arch/arm/boot/dts/am335x-guardian.dts
++++ b/arch/arm/boot/dts/am335x-guardian.dts
+@@ -103,8 +103,9 @@
+       };
+-      guardian_beeper: dmtimer-pwm@7 {
++      guardian_beeper: pwm-7 {
+               compatible = "ti,omap-dmtimer-pwm";
++              #pwm-cells = <3>;
+               ti,timers = <&timer7>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&guardian_beeper_pins>;
+diff --git a/arch/arm/boot/dts/am3517-evm.dts b/arch/arm/boot/dts/am3517-evm.dts
+index 35b653014f2b0..7bab0a9dadb30 100644
+--- a/arch/arm/boot/dts/am3517-evm.dts
++++ b/arch/arm/boot/dts/am3517-evm.dts
+@@ -150,7 +150,7 @@
+               enable-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* gpio_182 */
+       };
+-      pwm11: dmtimer-pwm@11 {
++      pwm11: pwm-11 {
+               compatible = "ti,omap-dmtimer-pwm";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm_pins>;
+diff --git a/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi b/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi
+index d3da8b1b473b8..e0cbac500e172 100644
+--- a/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi
++++ b/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi
+@@ -59,7 +59,7 @@
+               };
+       };
+-      pwm10: dmtimer-pwm {
++      pwm10: pwm-10 {
+               compatible = "ti,omap-dmtimer-pwm";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm_pins>;
+diff --git a/arch/arm/boot/dts/motorola-mapphone-common.dtsi b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
+index c7a1f3ffc48ca..f7cc8fc678fa5 100644
+--- a/arch/arm/boot/dts/motorola-mapphone-common.dtsi
++++ b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
+@@ -133,7 +133,7 @@
+               dais = <&mcbsp2_port>, <&mcbsp3_port>;
+       };
+-      pwm8: dmtimer-pwm-8 {
++      pwm8: pwm-8 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&vibrator_direction_pin>;
+@@ -143,7 +143,7 @@
+               ti,clock-source = <0x01>;
+       };
+-      pwm9: dmtimer-pwm-9 {
++      pwm9: pwm-9 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&vibrator_enable_pin>;
+diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi
+index da578719ac5a2..e0be0fb23f80f 100644
+--- a/arch/arm/boot/dts/omap3-gta04.dtsi
++++ b/arch/arm/boot/dts/omap3-gta04.dtsi
+@@ -147,7 +147,7 @@
+               pinctrl-0 = <&backlight_pins>;
+       };
+-      pwm11: dmtimer-pwm {
++      pwm11: pwm-11 {
+               compatible = "ti,omap-dmtimer-pwm";
+               ti,timers = <&timer11>;
+               #pwm-cells = <3>;
+diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
+index 98a67581bdd23..89ab08d83261a 100644
+--- a/arch/arm/boot/dts/omap3-n900.dts
++++ b/arch/arm/boot/dts/omap3-n900.dts
+@@ -156,7 +156,7 @@
+               io-channel-names = "temp", "bsi", "vbat";
+       };
+-      pwm9: dmtimer-pwm {
++      pwm9: pwm-9 {
+               compatible = "ti,omap-dmtimer-pwm";
+               #pwm-cells = <3>;
+               ti,timers = <&timer9>;
+-- 
+2.40.1
+
diff --git a/queue-6.1/arm64-dts-imx-add-imx8mm-prt8mm.dtb-to-build.patch b/queue-6.1/arm64-dts-imx-add-imx8mm-prt8mm.dtb-to-build.patch
new file mode 100644 (file)
index 0000000..da466d1
--- /dev/null
@@ -0,0 +1,34 @@
+From c1e283412c431976b0844cf8a0ec385be08bba3c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 11 Sep 2023 16:45:37 -0500
+Subject: arm64: dts: imx: Add imx8mm-prt8mm.dtb to build
+
+From: Rob Herring <robh@kernel.org>
+
+[ Upstream commit f09752eaf0e8f8befc26b44c4d3e15633e56d16a ]
+
+imx8mm-prt8mm.dts was not getting built. Add it to the build.
+
+Fixes: 58497d7a13ed ("arm64: dts: imx: add Protonic PRT8MM board")
+Signed-off-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm64/boot/dts/freescale/Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
+index 3ea9edc87909a..ac6f780dc1914 100644
+--- a/arch/arm64/boot/dts/freescale/Makefile
++++ b/arch/arm64/boot/dts/freescale/Makefile
+@@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl-osm-s.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-mx8menlo.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-nitrogen-r2.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-rdk.dtb
++dtb-$(CONFIG_ARCH_MXC) += imx8mm-prt8mm.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-tqma8mqml-mba8mx.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw71xx-0x.dtb
+-- 
+2.40.1
+
diff --git a/queue-6.1/bus-ti-sysc-fix-missing-am35xx-soc-matching.patch b/queue-6.1/bus-ti-sysc-fix-missing-am35xx-soc-matching.patch
new file mode 100644 (file)
index 0000000..55b549b
--- /dev/null
@@ -0,0 +1,83 @@
+From 3099c04ab04933fd3d2b589d791e836b9862a049 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 6 Sep 2023 18:34:42 -0500
+Subject: bus: ti-sysc: Fix missing AM35xx SoC matching
+
+From: Adam Ford <aford173@gmail.com>
+
+[ Upstream commit 11729caa520950e17cd81bc43ffc477c46cf791e ]
+
+Commit feaa8baee82a ("bus: ti-sysc: Implement SoC revision handling")
+created a list of SoC types searching for strings based on names
+and wildcards which associates the SoC to different families.
+
+The OMAP34xx and OMAP35xx are treated as SOC_3430 while
+OMAP36xx and OMAP37xx are treated as SOC_3630, but the AM35xx
+isn't listed.
+
+The AM35xx is mostly an OMAP3430, and a later commit a12315d6d270
+("bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific") looks
+for the SOC type and behaves in a certain way if it's SOC_3430.
+
+This caused a regression on the AM3517 causing it to return two
+errors:
+
+ ti-sysc: probe of 48318000.target-module failed with error -16
+ ti-sysc: probe of 49032000.target-module failed with error -16
+
+Fix this by treating the creating SOC_AM35 and inserting it between
+the SOC_3430 and SOC_3630.  If it is treaed the same way as the
+SOC_3430 when checking the status of sysc_check_active_timer,
+the error conditions will disappear.
+
+Fixes: a12315d6d270 ("bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific")
+Fixes: feaa8baee82a ("bus: ti-sysc: Implement SoC revision handling")
+Signed-off-by: Adam Ford <aford173@gmail.com>
+Message-ID: <20230906233442.270835-1-aford173@gmail.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/bus/ti-sysc.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
+index 6ac79417b5120..d56e7b61bb5a9 100644
+--- a/drivers/bus/ti-sysc.c
++++ b/drivers/bus/ti-sysc.c
+@@ -38,6 +38,7 @@ enum sysc_soc {
+       SOC_2420,
+       SOC_2430,
+       SOC_3430,
++      SOC_AM35,
+       SOC_3630,
+       SOC_4430,
+       SOC_4460,
+@@ -1878,7 +1879,7 @@ static void sysc_pre_reset_quirk_dss(struct sysc *ddata)
+               dev_warn(ddata->dev, "%s: timed out %08x !+ %08x\n",
+                        __func__, val, irq_mask);
+-      if (sysc_soc->soc == SOC_3430) {
++      if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35) {
+               /* Clear DSS_SDI_CONTROL */
+               sysc_write(ddata, 0x44, 0);
+@@ -3042,6 +3043,7 @@ static void ti_sysc_idle(struct work_struct *work)
+ static const struct soc_device_attribute sysc_soc_match[] = {
+       SOC_FLAG("OMAP242*", SOC_2420),
+       SOC_FLAG("OMAP243*", SOC_2430),
++      SOC_FLAG("AM35*", SOC_AM35),
+       SOC_FLAG("OMAP3[45]*", SOC_3430),
+       SOC_FLAG("OMAP3[67]*", SOC_3630),
+       SOC_FLAG("OMAP443*", SOC_4430),
+@@ -3248,7 +3250,7 @@ static int sysc_check_active_timer(struct sysc *ddata)
+        * can be dropped if we stop supporting old beagleboard revisions
+        * A to B4 at some point.
+        */
+-      if (sysc_soc->soc == SOC_3430)
++      if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35)
+               error = -ENXIO;
+       else
+               error = -EBUSY;
+-- 
+2.40.1
+
diff --git a/queue-6.1/bus-ti-sysc-fix-sysc_quirk_swsup_sidle_act-handling-.patch b/queue-6.1/bus-ti-sysc-fix-sysc_quirk_swsup_sidle_act-handling-.patch
new file mode 100644 (file)
index 0000000..3a5b9f8
--- /dev/null
@@ -0,0 +1,85 @@
+From 0288650d50e3d6ac296644b7a3b0a59d978a3bc2 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 7 Sep 2023 08:53:28 +0300
+Subject: bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart
+ wake-up
+
+From: Tony Lindgren <tony@atomide.com>
+
+[ Upstream commit e5deb8f76e64d94ccef715e75ebafffd0c312d80 ]
+
+The uarts should be tagged with SYSC_QUIRK_SWSUP_SIDLE instead of
+SYSC_QUIRK_SWSUP_SIDLE_ACT. The difference is that SYSC_QUIRK_SWSUP_SIDLE
+is used to force idle target modules rather than block idle during usage.
+
+The SYSC_QUIRK_SWSUP_SIDLE_ACT should disable autoidle and wake-up when
+a target module is active, and configure autoidle and wake-up when a
+target module is inactive. We are missing configuring the target module
+on sysc_disable_module(), and missing toggling of the wake-up bit.
+
+Let's fix the issue to allow uart wake-up to work.
+
+Fixes: fb685f1c190e ("bus: ti-sysc: Handle swsup idle mode quirks")
+Tested-by: Dhruva Gole <d-gole@ti.com>
+Tested-by: Kevin Hilman <khilman@baylibre.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/bus/ti-sysc.c | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
+index d56e7b61bb5a9..59a2fe2448f17 100644
+--- a/drivers/bus/ti-sysc.c
++++ b/drivers/bus/ti-sysc.c
+@@ -1120,6 +1120,11 @@ static int sysc_enable_module(struct device *dev)
+       if (ddata->cfg.quirks & (SYSC_QUIRK_SWSUP_SIDLE |
+                                SYSC_QUIRK_SWSUP_SIDLE_ACT)) {
+               best_mode = SYSC_IDLE_NO;
++
++              /* Clear WAKEUP */
++              if (regbits->enwkup_shift >= 0 &&
++                  ddata->cfg.sysc_val & BIT(regbits->enwkup_shift))
++                      reg &= ~BIT(regbits->enwkup_shift);
+       } else {
+               best_mode = fls(ddata->cfg.sidlemodes) - 1;
+               if (best_mode > SYSC_IDLE_MASK) {
+@@ -1247,6 +1252,13 @@ static int sysc_disable_module(struct device *dev)
+               }
+       }
++      if (ddata->cfg.quirks & SYSC_QUIRK_SWSUP_SIDLE_ACT) {
++              /* Set WAKEUP */
++              if (regbits->enwkup_shift >= 0 &&
++                  ddata->cfg.sysc_val & BIT(regbits->enwkup_shift))
++                      reg |= BIT(regbits->enwkup_shift);
++      }
++
+       reg &= ~(SYSC_IDLE_MASK << regbits->sidle_shift);
+       reg |= best_mode << regbits->sidle_shift;
+       if (regbits->autoidle_shift >= 0 &&
+@@ -1541,16 +1553,16 @@ struct sysc_revision_quirk {
+ static const struct sysc_revision_quirk sysc_revision_quirks[] = {
+       /* These drivers need to be fixed to not use pm_runtime_irq_safe() */
+       SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000046, 0xffffffff,
+-                 SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
++                 SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE),
+       SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff,
+-                 SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
++                 SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE),
+       /* Uarts on omap4 and later */
+       SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x50411e03, 0xffff00ff,
+-                 SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
++                 SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE),
+       SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47422e03, 0xffffffff,
+-                 SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
++                 SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE),
+       SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47424e03, 0xffffffff,
+-                 SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
++                 SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE),
+       /* Quirks that need to be set based on the module address */
+       SYSC_QUIRK("mcpdm", 0x40132000, 0, 0x10, -ENODEV, 0x50000800, 0xffffffff,
+-- 
+2.40.1
+
diff --git a/queue-6.1/bus-ti-sysc-use-fsleep-instead-of-usleep_range-in-sy.patch b/queue-6.1/bus-ti-sysc-use-fsleep-instead-of-usleep_range-in-sy.patch
new file mode 100644 (file)
index 0000000..20cea87
--- /dev/null
@@ -0,0 +1,49 @@
+From 81abe1567805ad369c355504b30ca859c9395dcc Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 21 Aug 2023 16:24:18 +0200
+Subject: bus: ti-sysc: Use fsleep() instead of usleep_range() in sysc_reset()
+
+From: Julien Panis <jpanis@baylibre.com>
+
+[ Upstream commit d929b2b7464f95ec01e47f560b1e687482ba8929 ]
+
+The am335x-evm started producing boot errors because of subtle timing
+changes:
+
+Unhandled fault: external abort on non-linefetch (0x1008) at 0xf03c1010
+...
+sysc_reset from sysc_probe+0xf60/0x1514
+sysc_probe from platform_probe+0x5c/0xbc
+...
+
+The fix consists in using the appropriate sleep function in sysc reset.
+For flexible sleeping, fsleep is recommended. Here, sysc delay parameter
+can take any value in [0 - 255] us range. As a result, fsleep() should
+be used, calling udelay() for a sysc delay lower than 10 us.
+
+Signed-off-by: Julien Panis <jpanis@baylibre.com>
+Fixes: e709ed70d122 ("bus: ti-sysc: Fix missing reset delay handling")
+Message-ID: <20230821-fix-ti-sysc-reset-v1-1-5a0a5d8fae55@baylibre.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/bus/ti-sysc.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
+index ddde1427c90c7..6ac79417b5120 100644
+--- a/drivers/bus/ti-sysc.c
++++ b/drivers/bus/ti-sysc.c
+@@ -2166,8 +2166,7 @@ static int sysc_reset(struct sysc *ddata)
+       }
+       if (ddata->cfg.srst_udelay)
+-              usleep_range(ddata->cfg.srst_udelay,
+-                           ddata->cfg.srst_udelay * 2);
++              fsleep(ddata->cfg.srst_udelay);
+       if (ddata->post_reset_quirk)
+               ddata->post_reset_quirk(ddata);
+-- 
+2.40.1
+
diff --git a/queue-6.1/clk-sprd-fix-thm_parents-incorrect-configuration.patch b/queue-6.1/clk-sprd-fix-thm_parents-incorrect-configuration.patch
new file mode 100644 (file)
index 0000000..7e14d44
--- /dev/null
@@ -0,0 +1,38 @@
+From 3756d2bc1ba468c0a52b1aa5cdd099ecc0ae219e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 24 Aug 2023 17:26:24 +0800
+Subject: clk: sprd: Fix thm_parents incorrect configuration
+
+From: Zhifeng Tang <zhifeng.tang@unisoc.com>
+
+[ Upstream commit b7b20cfe6f849c2682c5f7d3f50ede6321a5d04c ]
+
+The thm*_clk have two clock sources 32k and 250k,excluding 32m.
+
+Fixes: af3bd36573e3 ("clk: sprd: Add clocks support for UMS512")
+Signed-off-by: Zhifeng Tang <zhifeng.tang@unisoc.com>
+Acked-by: Chunyan Zhang <zhang.lyra@gmail.com>
+Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
+Link: https://lore.kernel.org/r/20230824092624.20020-1-zhifeng.tang@unisoc.com
+Signed-off-by: Stephen Boyd <sboyd@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/clk/sprd/ums512-clk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/clk/sprd/ums512-clk.c b/drivers/clk/sprd/ums512-clk.c
+index fc25bdd85e4ea..f43bb10bd5ae2 100644
+--- a/drivers/clk/sprd/ums512-clk.c
++++ b/drivers/clk/sprd/ums512-clk.c
+@@ -800,7 +800,7 @@ static SPRD_MUX_CLK_DATA(uart1_clk, "uart1-clk", uart_parents,
+                        0x250, 0, 3, UMS512_MUX_FLAG);
+ static const struct clk_parent_data thm_parents[] = {
+-      { .fw_name = "ext-32m" },
++      { .fw_name = "ext-32k" },
+       { .hw = &clk_250k.hw  },
+ };
+ static SPRD_MUX_CLK_DATA(thm0_clk, "thm0-clk", thm_parents,
+-- 
+2.40.1
+
diff --git a/queue-6.1/clk-tegra-fix-error-return-case-for-recalc_rate.patch b/queue-6.1/clk-tegra-fix-error-return-case-for-recalc_rate.patch
new file mode 100644 (file)
index 0000000..147e8f4
--- /dev/null
@@ -0,0 +1,40 @@
+From 4ae3acd1c8e03a028ff3dfcd57beb510ef30934c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 12 Sep 2023 14:29:50 +0300
+Subject: clk: tegra: fix error return case for recalc_rate
+
+From: Timo Alho <talho@nvidia.com>
+
+[ Upstream commit a47b44fbb13f5e7a981b4515dcddc93a321ae89c ]
+
+tegra-bpmp clocks driver makes implicit conversion of signed error
+code to unsigned value in recalc_rate operation. The behavior for
+recalc_rate, according to it's specification, should be that "If the
+driver cannot figure out a rate for this clock, it must return 0."
+
+Fixes: ca6f2796eef7 ("clk: tegra: Add BPMP clock driver")
+Signed-off-by: Timo Alho <talho@nvidia.com>
+Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
+Link: https://lore.kernel.org/r/20230912112951.2330497-1-cyndis@kapsi.fi
+Signed-off-by: Stephen Boyd <sboyd@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/clk/tegra/clk-bpmp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/clk/tegra/clk-bpmp.c b/drivers/clk/tegra/clk-bpmp.c
+index d82a71f10c2c1..39241662a412a 100644
+--- a/drivers/clk/tegra/clk-bpmp.c
++++ b/drivers/clk/tegra/clk-bpmp.c
+@@ -159,7 +159,7 @@ static unsigned long tegra_bpmp_clk_recalc_rate(struct clk_hw *hw,
+       err = tegra_bpmp_clk_transfer(clk->bpmp, &msg);
+       if (err < 0)
+-              return err;
++              return 0;
+       return response.rate;
+ }
+-- 
+2.40.1
+
diff --git a/queue-6.1/firmware-arm_ffa-don-t-set-the-memory-region-attribu.patch b/queue-6.1/firmware-arm_ffa-don-t-set-the-memory-region-attribu.patch
new file mode 100644 (file)
index 0000000..18d2a29
--- /dev/null
@@ -0,0 +1,65 @@
+From f9b3b05e08a3187bfa36aab47f928668c379fd5a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 19 Sep 2023 18:41:01 +0100
+Subject: firmware: arm_ffa: Don't set the memory region attributes for
+ MEM_LEND
+
+From: Sudeep Holla <sudeep.holla@arm.com>
+
+[ Upstream commit 9dda1178479aa0a73fe0eaabfe2d9a1c603cfeed ]
+
+As per the FF-A specification: section "Usage of other memory region
+attributes", in a transaction to donate memory or lend memory to a single
+borrower, if the receiver is a PE or Proxy endpoint, the owner must not
+specify the attributes and the relayer will return INVALID_PARAMETERS
+if the attributes are set.
+
+Let us not set the memory region attributes for MEM_LEND.
+
+Fixes: 82a8daaecfd9 ("firmware: arm_ffa: Add support for MEM_LEND")
+Reported-by: Joao Alves <joao.alves@arm.com>
+Reported-by: Olivier Deprez <olivier.deprez@arm.com>
+Link: https://lore.kernel.org/r/20230919-ffa_v1-1_notif-v2-13-6f3a3ca3923c@arm.com
+Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/firmware/arm_ffa/driver.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
+index c37e823590055..21481fc05800f 100644
+--- a/drivers/firmware/arm_ffa/driver.c
++++ b/drivers/firmware/arm_ffa/driver.c
+@@ -478,6 +478,19 @@ static u32 ffa_get_num_pages_sg(struct scatterlist *sg)
+       return num_pages;
+ }
++static u8 ffa_memory_attributes_get(u32 func_id)
++{
++      /*
++       * For the memory lend or donate operation, if the receiver is a PE or
++       * a proxy endpoint, the owner/sender must not specify the attributes
++       */
++      if (func_id == FFA_FN_NATIVE(MEM_LEND) ||
++          func_id == FFA_MEM_LEND)
++              return 0;
++
++      return FFA_MEM_NORMAL | FFA_MEM_WRITE_BACK | FFA_MEM_INNER_SHAREABLE;
++}
++
+ static int
+ ffa_setup_and_transmit(u32 func_id, void *buffer, u32 max_fragsize,
+                      struct ffa_mem_ops_args *args)
+@@ -494,8 +507,7 @@ ffa_setup_and_transmit(u32 func_id, void *buffer, u32 max_fragsize,
+       mem_region->tag = args->tag;
+       mem_region->flags = args->flags;
+       mem_region->sender_id = drv_info->vm_id;
+-      mem_region->attributes = FFA_MEM_NORMAL | FFA_MEM_WRITE_BACK |
+-                               FFA_MEM_INNER_SHAREABLE;
++      mem_region->attributes = ffa_memory_attributes_get(func_id);
+       ep_mem_access = &mem_region->ep_mem_access[0];
+       for (idx = 0; idx < args->nattrs; idx++, ep_mem_access++) {
+-- 
+2.40.1
+
diff --git a/queue-6.1/firmware-arm_scmi-fixup-perf-power-cost-microwatt-su.patch b/queue-6.1/firmware-arm_scmi-fixup-perf-power-cost-microwatt-su.patch
new file mode 100644 (file)
index 0000000..ae5d86e
--- /dev/null
@@ -0,0 +1,50 @@
+From df00b87d2b9147943cb2755938f1d4463c58f814 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 12 Aug 2023 02:18:18 +0530
+Subject: firmware: arm_scmi: Fixup perf power-cost/microwatt support
+
+From: Sibi Sankar <quic_sibis@quicinc.com>
+
+[ Upstream commit c3638b851bc1ca0022dca9d6ca4beaa6ef03a216 ]
+
+The perf power scale value would currently be reported as bogowatts if the
+platform firmware supports microwatt power scale and meets the perf major
+version requirements. Fix this by populating version information in the
+driver private data before the call to protocol attributes is made.
+
+CC: Chandra Sekhar Lingutla <quic_lingutla@quicinc.com>
+Fixes: 3630cd8130ce ("firmware: arm_scmi: Add SCMI v3.1 perf power-cost in microwatts")
+Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
+Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
+Link: https://lore.kernel.org/r/20230811204818.30928-1-quic_sibis@quicinc.com
+Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/firmware/arm_scmi/perf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/firmware/arm_scmi/perf.c b/drivers/firmware/arm_scmi/perf.c
+index 43dd242ecc49c..431bda9165c3d 100644
+--- a/drivers/firmware/arm_scmi/perf.c
++++ b/drivers/firmware/arm_scmi/perf.c
+@@ -858,6 +858,8 @@ static int scmi_perf_protocol_init(const struct scmi_protocol_handle *ph)
+       if (!pinfo)
+               return -ENOMEM;
++      pinfo->version = version;
++
+       ret = scmi_perf_attributes_get(ph, pinfo);
+       if (ret)
+               return ret;
+@@ -877,8 +879,6 @@ static int scmi_perf_protocol_init(const struct scmi_protocol_handle *ph)
+                       scmi_perf_domain_init_fc(ph, domain, &dom->fc_info);
+       }
+-      pinfo->version = version;
+-
+       return ph->set_priv(ph, pinfo);
+ }
+-- 
+2.40.1
+
diff --git a/queue-6.1/firmware-arm_scmi-harden-perf-domain-info-access.patch b/queue-6.1/firmware-arm_scmi-harden-perf-domain-info-access.patch
new file mode 100644 (file)
index 0000000..e6c4d60
--- /dev/null
@@ -0,0 +1,215 @@
+From aa3fef7f96432154d9b9fb758bb7ffe15dd2b3ed Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 17 Jul 2023 17:12:45 +0100
+Subject: firmware: arm_scmi: Harden perf domain info access
+
+From: Cristian Marussi <cristian.marussi@arm.com>
+
+[ Upstream commit 3da82112355bba263597fcbb24d275fc57e69e7e ]
+
+Harden internal accesses to domain info in the SCMI perf protocol.
+
+Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
+Link: https://lore.kernel.org/r/20230717161246.1761777-2-cristian.marussi@arm.com
+Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
+Stable-dep-of: c3638b851bc1 ("firmware: arm_scmi: Fixup perf power-cost/microwatt support")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/firmware/arm_scmi/perf.c | 89 +++++++++++++++++++++++---------
+ 1 file changed, 64 insertions(+), 25 deletions(-)
+
+diff --git a/drivers/firmware/arm_scmi/perf.c b/drivers/firmware/arm_scmi/perf.c
+index ecf5c4de851b7..43dd242ecc49c 100644
+--- a/drivers/firmware/arm_scmi/perf.c
++++ b/drivers/firmware/arm_scmi/perf.c
+@@ -139,7 +139,7 @@ struct perf_dom_info {
+ struct scmi_perf_info {
+       u32 version;
+-      int num_domains;
++      u16 num_domains;
+       enum scmi_power_scale power_scale;
+       u64 stats_addr;
+       u32 stats_size;
+@@ -356,11 +356,26 @@ static int scmi_perf_mb_limits_set(const struct scmi_protocol_handle *ph,
+       return ret;
+ }
++static inline struct perf_dom_info *
++scmi_perf_domain_lookup(const struct scmi_protocol_handle *ph, u32 domain)
++{
++      struct scmi_perf_info *pi = ph->get_priv(ph);
++
++      if (domain >= pi->num_domains)
++              return ERR_PTR(-EINVAL);
++
++      return pi->dom_info + domain;
++}
++
+ static int scmi_perf_limits_set(const struct scmi_protocol_handle *ph,
+                               u32 domain, u32 max_perf, u32 min_perf)
+ {
+       struct scmi_perf_info *pi = ph->get_priv(ph);
+-      struct perf_dom_info *dom = pi->dom_info + domain;
++      struct perf_dom_info *dom;
++
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+       if (PROTOCOL_REV_MAJOR(pi->version) >= 0x3 && !max_perf && !min_perf)
+               return -EINVAL;
+@@ -408,8 +423,11 @@ static int scmi_perf_mb_limits_get(const struct scmi_protocol_handle *ph,
+ static int scmi_perf_limits_get(const struct scmi_protocol_handle *ph,
+                               u32 domain, u32 *max_perf, u32 *min_perf)
+ {
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+-      struct perf_dom_info *dom = pi->dom_info + domain;
++      struct perf_dom_info *dom;
++
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+       if (dom->fc_info && dom->fc_info[PERF_FC_LIMIT].get_addr) {
+               struct scmi_fc_info *fci = &dom->fc_info[PERF_FC_LIMIT];
+@@ -449,8 +467,11 @@ static int scmi_perf_mb_level_set(const struct scmi_protocol_handle *ph,
+ static int scmi_perf_level_set(const struct scmi_protocol_handle *ph,
+                              u32 domain, u32 level, bool poll)
+ {
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+-      struct perf_dom_info *dom = pi->dom_info + domain;
++      struct perf_dom_info *dom;
++
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+       if (dom->fc_info && dom->fc_info[PERF_FC_LEVEL].set_addr) {
+               struct scmi_fc_info *fci = &dom->fc_info[PERF_FC_LEVEL];
+@@ -490,8 +511,11 @@ static int scmi_perf_mb_level_get(const struct scmi_protocol_handle *ph,
+ static int scmi_perf_level_get(const struct scmi_protocol_handle *ph,
+                              u32 domain, u32 *level, bool poll)
+ {
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+-      struct perf_dom_info *dom = pi->dom_info + domain;
++      struct perf_dom_info *dom;
++
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+       if (dom->fc_info && dom->fc_info[PERF_FC_LEVEL].get_addr) {
+               *level = ioread32(dom->fc_info[PERF_FC_LEVEL].get_addr);
+@@ -574,13 +598,14 @@ static int scmi_dvfs_device_opps_add(const struct scmi_protocol_handle *ph,
+       unsigned long freq;
+       struct scmi_opp *opp;
+       struct perf_dom_info *dom;
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+       domain = scmi_dev_domain_id(dev);
+       if (domain < 0)
+-              return domain;
++              return -EINVAL;
+-      dom = pi->dom_info + domain;
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+       for (opp = dom->opp, idx = 0; idx < dom->opp_count; idx++, opp++) {
+               freq = opp->perf * dom->mult_factor;
+@@ -603,14 +628,17 @@ static int
+ scmi_dvfs_transition_latency_get(const struct scmi_protocol_handle *ph,
+                                struct device *dev)
+ {
++      int domain;
+       struct perf_dom_info *dom;
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+-      int domain = scmi_dev_domain_id(dev);
++      domain = scmi_dev_domain_id(dev);
+       if (domain < 0)
+-              return domain;
++              return -EINVAL;
++
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+-      dom = pi->dom_info + domain;
+       /* uS to nS */
+       return dom->opp[dom->opp_count - 1].trans_latency_us * 1000;
+ }
+@@ -618,8 +646,11 @@ scmi_dvfs_transition_latency_get(const struct scmi_protocol_handle *ph,
+ static int scmi_dvfs_freq_set(const struct scmi_protocol_handle *ph, u32 domain,
+                             unsigned long freq, bool poll)
+ {
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+-      struct perf_dom_info *dom = pi->dom_info + domain;
++      struct perf_dom_info *dom;
++
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+       return scmi_perf_level_set(ph, domain, freq / dom->mult_factor, poll);
+ }
+@@ -630,11 +661,14 @@ static int scmi_dvfs_freq_get(const struct scmi_protocol_handle *ph, u32 domain,
+       int ret;
+       u32 level;
+       struct scmi_perf_info *pi = ph->get_priv(ph);
+-      struct perf_dom_info *dom = pi->dom_info + domain;
+       ret = scmi_perf_level_get(ph, domain, &level, poll);
+-      if (!ret)
++      if (!ret) {
++              struct perf_dom_info *dom = pi->dom_info + domain;
++
++              /* Note domain is validated implicitly by scmi_perf_level_get */
+               *freq = level * dom->mult_factor;
++      }
+       return ret;
+ }
+@@ -643,15 +677,14 @@ static int scmi_dvfs_est_power_get(const struct scmi_protocol_handle *ph,
+                                  u32 domain, unsigned long *freq,
+                                  unsigned long *power)
+ {
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+       struct perf_dom_info *dom;
+       unsigned long opp_freq;
+       int idx, ret = -EINVAL;
+       struct scmi_opp *opp;
+-      dom = pi->dom_info + domain;
+-      if (!dom)
+-              return -EIO;
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return PTR_ERR(dom);
+       for (opp = dom->opp, idx = 0; idx < dom->opp_count; idx++, opp++) {
+               opp_freq = opp->perf * dom->mult_factor;
+@@ -670,10 +703,16 @@ static int scmi_dvfs_est_power_get(const struct scmi_protocol_handle *ph,
+ static bool scmi_fast_switch_possible(const struct scmi_protocol_handle *ph,
+                                     struct device *dev)
+ {
++      int domain;
+       struct perf_dom_info *dom;
+-      struct scmi_perf_info *pi = ph->get_priv(ph);
+-      dom = pi->dom_info + scmi_dev_domain_id(dev);
++      domain = scmi_dev_domain_id(dev);
++      if (domain < 0)
++              return false;
++
++      dom = scmi_perf_domain_lookup(ph, domain);
++      if (IS_ERR(dom))
++              return false;
+       return dom->fc_info && dom->fc_info[PERF_FC_LEVEL].set_addr;
+ }
+-- 
+2.40.1
+
diff --git a/queue-6.1/firmware-imx-dsp-fix-an-error-handling-path-in-imx_d.patch b/queue-6.1/firmware-imx-dsp-fix-an-error-handling-path-in-imx_d.patch
new file mode 100644 (file)
index 0000000..81fcbd9
--- /dev/null
@@ -0,0 +1,37 @@
+From cab9ad279cddd38677f78b7499d500d410b63ce8 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 15 Jan 2023 19:13:46 +0100
+Subject: firmware: imx-dsp: Fix an error handling path in
+ imx_dsp_setup_channels()
+
+From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
+
+[ Upstream commit e527adfb9b7d9d05a4577c116519e59a2bda4b05 ]
+
+If mbox_request_channel_byname() fails, the memory allocated a few lines
+above still need to be freed before going to the error handling path.
+
+Fixes: 046326989a18 ("firmware: imx: Save channel name for further use")
+Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
+Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/firmware/imx/imx-dsp.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/firmware/imx/imx-dsp.c b/drivers/firmware/imx/imx-dsp.c
+index a6c06d7476c32..1f410809d3ee4 100644
+--- a/drivers/firmware/imx/imx-dsp.c
++++ b/drivers/firmware/imx/imx-dsp.c
+@@ -115,6 +115,7 @@ static int imx_dsp_setup_channels(struct imx_dsp_ipc *dsp_ipc)
+               dsp_chan->idx = i % 2;
+               dsp_chan->ch = mbox_request_channel_byname(cl, chan_name);
+               if (IS_ERR(dsp_chan->ch)) {
++                      kfree(dsp_chan->name);
+                       ret = PTR_ERR(dsp_chan->ch);
+                       if (ret != -EPROBE_DEFER)
+                               dev_err(dev, "Failed to request mbox chan %s ret %d\n",
+-- 
+2.40.1
+
diff --git a/queue-6.1/gpio-pmic-eic-sprd-add-can_sleep-flag-for-pmic-eic-c.patch b/queue-6.1/gpio-pmic-eic-sprd-add-can_sleep-flag-for-pmic-eic-c.patch
new file mode 100644 (file)
index 0000000..15f67b4
--- /dev/null
@@ -0,0 +1,39 @@
+From 1e4c8c2e14b7210d8db8a5b8fa46da9bf0792ec2 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 21 Sep 2023 20:25:27 +0800
+Subject: gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip
+
+From: Wenhua Lin <Wenhua.Lin@unisoc.com>
+
+[ Upstream commit 26d9e5640d2130ee16df7b1fb6a908f460ab004c ]
+
+The drivers uses a mutex and I2C bus access in its PMIC EIC chip
+get implementation. This means these functions can sleep and the PMIC EIC
+chip should set the can_sleep property to true.
+
+This will ensure that a warning is printed when trying to get the
+value from a context that potentially can't sleep.
+
+Fixes: 348f3cde84ab ("gpio: Add Spreadtrum PMIC EIC driver support")
+Signed-off-by: Wenhua Lin <Wenhua.Lin@unisoc.com>
+Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpio/gpio-pmic-eic-sprd.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/gpio/gpio-pmic-eic-sprd.c b/drivers/gpio/gpio-pmic-eic-sprd.c
+index e518490c4b681..ebbbcb54270d1 100644
+--- a/drivers/gpio/gpio-pmic-eic-sprd.c
++++ b/drivers/gpio/gpio-pmic-eic-sprd.c
+@@ -337,6 +337,7 @@ static int sprd_pmic_eic_probe(struct platform_device *pdev)
+       pmic_eic->chip.set_config = sprd_pmic_eic_set_config;
+       pmic_eic->chip.set = sprd_pmic_eic_set;
+       pmic_eic->chip.get = sprd_pmic_eic_get;
++      pmic_eic->chip.can_sleep = true;
+       pmic_eic->intc.name = dev_name(&pdev->dev);
+       pmic_eic->intc.irq_mask = sprd_pmic_eic_irq_mask;
+-- 
+2.40.1
+
diff --git a/queue-6.1/i2c-npcm7xx-fix-callback-completion-ordering.patch b/queue-6.1/i2c-npcm7xx-fix-callback-completion-ordering.patch
new file mode 100644 (file)
index 0000000..261f287
--- /dev/null
@@ -0,0 +1,77 @@
+From b942dbe6fca57babd4dc9e65d977fef5555f87af Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 23 Sep 2023 18:02:14 -0700
+Subject: i2c: npcm7xx: Fix callback completion ordering
+
+From: William A. Kennington III <william@wkennington.com>
+
+[ Upstream commit 92e73d807b68b2214fcafca4e130b5300a9d4b3c ]
+
+Sometimes, our completions race with new master transfers and override
+the bus->operation and bus->master_or_slave variables. This causes
+transactions to timeout and kernel crashes less frequently.
+
+To remedy this, we re-order all completions to the very end of the
+function.
+
+Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver")
+Signed-off-by: William A. Kennington III <william@wkennington.com>
+Reviewed-by: Tali Perry <tali.perry1@gmail.com>
+Signed-off-by: Wolfram Sang <wsa@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/i2c/busses/i2c-npcm7xx.c | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/i2c/busses/i2c-npcm7xx.c b/drivers/i2c/busses/i2c-npcm7xx.c
+index 83457359ec450..767dd15b3c881 100644
+--- a/drivers/i2c/busses/i2c-npcm7xx.c
++++ b/drivers/i2c/busses/i2c-npcm7xx.c
+@@ -696,6 +696,7 @@ static void npcm_i2c_callback(struct npcm_i2c *bus,
+ {
+       struct i2c_msg *msgs;
+       int msgs_num;
++      bool do_complete = false;
+       msgs = bus->msgs;
+       msgs_num = bus->msgs_num;
+@@ -724,23 +725,17 @@ static void npcm_i2c_callback(struct npcm_i2c *bus,
+                                msgs[1].flags & I2C_M_RD)
+                               msgs[1].len = info;
+               }
+-              if (completion_done(&bus->cmd_complete) == false)
+-                      complete(&bus->cmd_complete);
+-      break;
+-
++              do_complete = true;
++              break;
+       case I2C_NACK_IND:
+               /* MASTER transmit got a NACK before tx all bytes */
+               bus->cmd_err = -ENXIO;
+-              if (bus->master_or_slave == I2C_MASTER)
+-                      complete(&bus->cmd_complete);
+-
++              do_complete = true;
+               break;
+       case I2C_BUS_ERR_IND:
+               /* Bus error */
+               bus->cmd_err = -EAGAIN;
+-              if (bus->master_or_slave == I2C_MASTER)
+-                      complete(&bus->cmd_complete);
+-
++              do_complete = true;
+               break;
+       case I2C_WAKE_UP_IND:
+               /* I2C wake up */
+@@ -754,6 +749,8 @@ static void npcm_i2c_callback(struct npcm_i2c *bus,
+       if (bus->slave)
+               bus->master_or_slave = I2C_SLAVE;
+ #endif
++      if (do_complete)
++              complete(&bus->cmd_complete);
+ }
+ static u8 npcm_i2c_fifo_usage(struct npcm_i2c *bus)
+-- 
+2.40.1
+
diff --git a/queue-6.1/power-supply-mt6370-fix-missing-error-code-in-mt6370.patch b/queue-6.1/power-supply-mt6370-fix-missing-error-code-in-mt6370.patch
new file mode 100644 (file)
index 0000000..1744467
--- /dev/null
@@ -0,0 +1,40 @@
+From b0dbc489fe039f07dff80045e5f98c1ee44d674a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 6 Sep 2023 01:48:15 -0700
+Subject: power: supply: mt6370: Fix missing error code in
+ mt6370_chg_toggle_cfo()
+
+From: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+
+[ Upstream commit 779873ec81306d2c40c459fa7c91a5d40655510d ]
+
+When mt6370_chg_field_get() suceeds, ret is set to zero and returning
+zero when flash led is still in strobe mode looks incorrect.
+
+Fixes: 233cb8a47d65 ("power: supply: mt6370: Add MediaTek MT6370 charger driver")
+Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Reviewed-by: ChiaEn Wu <chiaen_wu@richtek.com>
+Link: https://lore.kernel.org/r/20230906084815.2827930-1-harshit.m.mogalapalli@oracle.com
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/power/supply/mt6370-charger.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/power/supply/mt6370-charger.c b/drivers/power/supply/mt6370-charger.c
+index f27dae5043f5b..a9641bd3d8cf8 100644
+--- a/drivers/power/supply/mt6370-charger.c
++++ b/drivers/power/supply/mt6370-charger.c
+@@ -324,7 +324,7 @@ static int mt6370_chg_toggle_cfo(struct mt6370_priv *priv)
+       if (fl_strobe) {
+               dev_err(priv->dev, "Flash led is still in strobe mode\n");
+-              return ret;
++              return -EINVAL;
+       }
+       /* cfo off */
+-- 
+2.40.1
+
diff --git a/queue-6.1/power-supply-rk817-fix-node-refcount-leak.patch b/queue-6.1/power-supply-rk817-fix-node-refcount-leak.patch
new file mode 100644 (file)
index 0000000..566fddc
--- /dev/null
@@ -0,0 +1,64 @@
+From 54dfab9dbfe1f16aba01a97fcdf6ac2aac7e9b53 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 20 Sep 2023 09:56:44 -0500
+Subject: power: supply: rk817: Fix node refcount leak
+
+From: Chris Morgan <macromorgan@hotmail.com>
+
+[ Upstream commit 488ef44c068e79752dba8eda0b75f524f111a695 ]
+
+Dan Carpenter reports that the Smatch static checker warning has found
+that there is another refcount leak in the probe function. While
+of_node_put() was added in one of the return paths, it should in
+fact be added for ALL return paths that return an error and at driver
+removal time.
+
+Fixes: 54c03bfd094f ("power: supply: Fix refcount leak in rk817_charger_probe")
+Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
+Closes: https://lore.kernel.org/linux-pm/dc0bb0f8-212d-4be7-be69-becd2a3f9a80@kili.mountain/
+Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
+Link: https://lore.kernel.org/r/20230920145644.57964-1-macroalpha82@gmail.com
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/power/supply/rk817_charger.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/power/supply/rk817_charger.c b/drivers/power/supply/rk817_charger.c
+index f1b431aa0e4f2..e30ef601d91da 100644
+--- a/drivers/power/supply/rk817_charger.c
++++ b/drivers/power/supply/rk817_charger.c
+@@ -1058,6 +1058,13 @@ static void rk817_charging_monitor(struct work_struct *work)
+       queue_delayed_work(system_wq, &charger->work, msecs_to_jiffies(8000));
+ }
++static void rk817_cleanup_node(void *data)
++{
++      struct device_node *node = data;
++
++      of_node_put(node);
++}
++
+ static int rk817_charger_probe(struct platform_device *pdev)
+ {
+       struct rk808 *rk808 = dev_get_drvdata(pdev->dev.parent);
+@@ -1074,11 +1081,13 @@ static int rk817_charger_probe(struct platform_device *pdev)
+       if (!node)
+               return -ENODEV;
++      ret = devm_add_action_or_reset(&pdev->dev, rk817_cleanup_node, node);
++      if (ret)
++              return ret;
++
+       charger = devm_kzalloc(&pdev->dev, sizeof(*charger), GFP_KERNEL);
+-      if (!charger) {
+-              of_node_put(node);
++      if (!charger)
+               return -ENOMEM;
+-      }
+       charger->rk808 = rk808;
+-- 
+2.40.1
+
diff --git a/queue-6.1/power-supply-ucs1002-fix-error-code-in-ucs1002_get_p.patch b/queue-6.1/power-supply-ucs1002-fix-error-code-in-ucs1002_get_p.patch
new file mode 100644 (file)
index 0000000..f7ec3b5
--- /dev/null
@@ -0,0 +1,39 @@
+From ba19389307cef7f186613b07902546d8ceed44a1 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 19 Jun 2023 12:44:17 +0300
+Subject: power: supply: ucs1002: fix error code in ucs1002_get_property()
+
+From: Dan Carpenter <dan.carpenter@linaro.org>
+
+[ Upstream commit e35059949daa83f8dadf710d0f829ab3c3a72fe2 ]
+
+This function is supposed to return 0 for success instead of returning
+the val->intval.  This makes it the same as the other case statements
+in this function.
+
+Fixes: 81196e2e57fc ("power: supply: ucs1002: fix some health status issues")
+Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
+Link: https://lore.kernel.org/r/687f64a4-4c6e-4536-8204-98ad1df934e5@moroto.mountain
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/power/supply/ucs1002_power.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/power/supply/ucs1002_power.c b/drivers/power/supply/ucs1002_power.c
+index ef673ec3db568..332cb50d9fb4f 100644
+--- a/drivers/power/supply/ucs1002_power.c
++++ b/drivers/power/supply/ucs1002_power.c
+@@ -384,7 +384,8 @@ static int ucs1002_get_property(struct power_supply *psy,
+       case POWER_SUPPLY_PROP_USB_TYPE:
+               return ucs1002_get_usb_type(info, val);
+       case POWER_SUPPLY_PROP_HEALTH:
+-              return val->intval = info->health;
++              val->intval = info->health;
++              return 0;
+       case POWER_SUPPLY_PROP_PRESENT:
+               val->intval = info->present;
+               return 0;
+-- 
+2.40.1
+
diff --git a/queue-6.1/selftests-powerpc-fix-emit_tests-to-work-with-run_ks.patch b/queue-6.1/selftests-powerpc-fix-emit_tests-to-work-with-run_ks.patch
new file mode 100644 (file)
index 0000000..f2a41c1
--- /dev/null
@@ -0,0 +1,97 @@
+From 52863a625d4d0c58d85bed3ca076ee70ef01cdaf Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 21 Sep 2023 17:26:10 +1000
+Subject: selftests/powerpc: Fix emit_tests to work with run_kselftest.sh
+
+From: Michael Ellerman <mpe@ellerman.id.au>
+
+[ Upstream commit 58b33e78a31782ffe25d404d5eba9a45fe636e27 ]
+
+In order to use run_kselftest.sh the list of tests must be emitted to
+populate kselftest-list.txt.
+
+The powerpc Makefile is written to use EMIT_TESTS. But support for
+EMIT_TESTS was dropped in commit d4e59a536f50 ("selftests: Use runner.sh
+for emit targets"). Although prior to that commit a548de0fe8e1
+("selftests: lib.mk: add test execute bit check to EMIT_TESTS") had
+already broken run_kselftest.sh for powerpc due to the executable check
+using the wrong path.
+
+It can be fixed by replacing the EMIT_TESTS definitions with actual
+emit_tests rules in the powerpc Makefiles. This makes run_kselftest.sh
+able to run powerpc tests:
+
+  $ cd linux
+  $ export ARCH=powerpc
+  $ export CROSS_COMPILE=powerpc64le-linux-gnu-
+  $ make headers
+  $ make -j -C tools/testing/selftests install
+  $ grep -c "^powerpc" tools/testing/selftests/kselftest_install/kselftest-list.txt
+  182
+
+Fixes: d4e59a536f50 ("selftests: Use runner.sh for emit targets")
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://msgid.link/20230921072623.828772-1-mpe@ellerman.id.au
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ tools/testing/selftests/powerpc/Makefile     |  7 +++----
+ tools/testing/selftests/powerpc/pmu/Makefile | 11 ++++++-----
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/tools/testing/selftests/powerpc/Makefile b/tools/testing/selftests/powerpc/Makefile
+index ae2bfc0d822f2..c8c085fa05b05 100644
+--- a/tools/testing/selftests/powerpc/Makefile
++++ b/tools/testing/selftests/powerpc/Makefile
+@@ -58,12 +58,11 @@ override define INSTALL_RULE
+       done;
+ endef
+-override define EMIT_TESTS
++emit_tests:
+       +@for TARGET in $(SUB_DIRS); do \
+               BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
+-              $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
++              $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET $@;\
+       done;
+-endef
+ override define CLEAN
+       +@for TARGET in $(SUB_DIRS); do \
+@@ -76,4 +75,4 @@ endef
+ tags:
+       find . -name '*.c' -o -name '*.h' | xargs ctags
+-.PHONY: tags $(SUB_DIRS)
++.PHONY: tags $(SUB_DIRS) emit_tests
+diff --git a/tools/testing/selftests/powerpc/pmu/Makefile b/tools/testing/selftests/powerpc/pmu/Makefile
+index 2b95e44d20ff9..a284fa874a9f1 100644
+--- a/tools/testing/selftests/powerpc/pmu/Makefile
++++ b/tools/testing/selftests/powerpc/pmu/Makefile
+@@ -30,13 +30,14 @@ override define RUN_TESTS
+       +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
+ endef
+-DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
+-override define EMIT_TESTS
+-      $(DEFAULT_EMIT_TESTS)
++emit_tests:
++      for TEST in $(TEST_GEN_PROGS); do \
++              BASENAME_TEST=`basename $$TEST`;        \
++              echo "$(COLLECTION):$$BASENAME_TEST";   \
++      done
+       +TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
+       +TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
+       +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
+-endef
+ DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
+ override define INSTALL_RULE
+@@ -64,4 +65,4 @@ sampling_tests:
+ event_code_tests:
+       TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all
+-.PHONY: all run_tests ebb sampling_tests event_code_tests
++.PHONY: all run_tests ebb sampling_tests event_code_tests emit_tests
+-- 
+2.40.1
+
diff --git a/queue-6.1/selftests-powerpc-pass-make-context-to-children.patch b/queue-6.1/selftests-powerpc-pass-make-context-to-children.patch
new file mode 100644 (file)
index 0000000..53106ff
--- /dev/null
@@ -0,0 +1,122 @@
+From fc5898361275cb83db94a64d318b97e54b5d85c7 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 28 Feb 2023 11:07:08 +1100
+Subject: selftests/powerpc: Pass make context to children
+
+From: Benjamin Gray <bgray@linux.ibm.com>
+
+[ Upstream commit 4ecd0868c5138238dec8a1549bb6ff8e5b48208b ]
+
+Make supports passing the 'jobserver' (parallel make support) to child
+invocations of make when either
+       1. The target command uses $(MAKE) directly
+       2. The command starts with '+'
+
+This context is not passed through expansions that result in $(MAKE), so
+the macros used in several places fail to pass on the jobserver context.
+Warnings are also raised by the child mentioning this.
+
+Prepend macros lines that invoke $(MAKE) with '+' to allow passing the
+jobserver context to these children.
+
+Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://msgid.link/20230228000709.124727-3-bgray@linux.ibm.com
+Stable-dep-of: 58b33e78a317 ("selftests/powerpc: Fix emit_tests to work with run_kselftest.sh")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ tools/testing/selftests/powerpc/Makefile     |  8 +++----
+ tools/testing/selftests/powerpc/pmu/Makefile | 24 ++++++++++----------
+ 2 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/tools/testing/selftests/powerpc/Makefile b/tools/testing/selftests/powerpc/Makefile
+index 6ba95cd19e423..ae2bfc0d822f2 100644
+--- a/tools/testing/selftests/powerpc/Makefile
++++ b/tools/testing/selftests/powerpc/Makefile
+@@ -45,28 +45,28 @@ $(SUB_DIRS):
+ include ../lib.mk
+ override define RUN_TESTS
+-      @for TARGET in $(SUB_DIRS); do \
++      +@for TARGET in $(SUB_DIRS); do \
+               BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
+               $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
+       done;
+ endef
+ override define INSTALL_RULE
+-      @for TARGET in $(SUB_DIRS); do \
++      +@for TARGET in $(SUB_DIRS); do \
+               BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
+               $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\
+       done;
+ endef
+ override define EMIT_TESTS
+-      @for TARGET in $(SUB_DIRS); do \
++      +@for TARGET in $(SUB_DIRS); do \
+               BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
+               $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
+       done;
+ endef
+ override define CLEAN
+-      @for TARGET in $(SUB_DIRS); do \
++      +@for TARGET in $(SUB_DIRS); do \
+               BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
+               $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
+       done;
+diff --git a/tools/testing/selftests/powerpc/pmu/Makefile b/tools/testing/selftests/powerpc/pmu/Makefile
+index d2c1accc2e69c..2b95e44d20ff9 100644
+--- a/tools/testing/selftests/powerpc/pmu/Makefile
++++ b/tools/testing/selftests/powerpc/pmu/Makefile
+@@ -25,34 +25,34 @@ $(OUTPUT)/per_event_excludes: ../utils.c
+ DEFAULT_RUN_TESTS := $(RUN_TESTS)
+ override define RUN_TESTS
+       $(DEFAULT_RUN_TESTS)
+-      TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
+-      TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
+-      TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
++      +TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
++      +TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
++      +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
+ endef
+ DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
+ override define EMIT_TESTS
+       $(DEFAULT_EMIT_TESTS)
+-      TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
+-      TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
+-      TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
++      +TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
++      +TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
++      +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
+ endef
+ DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
+ override define INSTALL_RULE
+       $(DEFAULT_INSTALL_RULE)
+-      TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
+-      TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
+-      TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
++      +TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
++      +TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
++      +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
+ endef
+ DEFAULT_CLEAN := $(CLEAN)
+ override define CLEAN
+       $(DEFAULT_CLEAN)
+       $(RM) $(TEST_GEN_PROGS) $(OUTPUT)/loop.o
+-      TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
+-      TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
+-      TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
++      +TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
++      +TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
++      +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
+ endef
+ ebb:
+-- 
+2.40.1
+
diff --git a/queue-6.1/selftests-powerpc-use-clean-macro-to-fix-make-warnin.patch b/queue-6.1/selftests-powerpc-use-clean-macro-to-fix-make-warnin.patch
new file mode 100644 (file)
index 0000000..ac90b9d
--- /dev/null
@@ -0,0 +1,55 @@
+From 29f380e7b7d192237b471537f23e47ec3e573653 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 28 Feb 2023 11:07:07 +1100
+Subject: selftests/powerpc: Use CLEAN macro to fix make warning
+
+From: Benjamin Gray <bgray@linux.ibm.com>
+
+[ Upstream commit 69608683a65be5322ef44091eaeb9890472b2eea ]
+
+The CLEAN macro was added in 337f1e36 to prevent the
+
+    Makefile:50: warning: overriding recipe for target 'clean'
+    ../../lib.mk:124: warning: ignoring old recipe for target 'clean'
+
+style warnings. Expand it's use to fix another case of redefining a
+target directly.
+
+Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://msgid.link/20230228000709.124727-2-bgray@linux.ibm.com
+Stable-dep-of: 58b33e78a317 ("selftests/powerpc: Fix emit_tests to work with run_kselftest.sh")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ tools/testing/selftests/powerpc/pmu/Makefile | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/tools/testing/selftests/powerpc/pmu/Makefile b/tools/testing/selftests/powerpc/pmu/Makefile
+index 30803353bd7cc..d2c1accc2e69c 100644
+--- a/tools/testing/selftests/powerpc/pmu/Makefile
++++ b/tools/testing/selftests/powerpc/pmu/Makefile
+@@ -46,11 +46,14 @@ override define INSTALL_RULE
+       TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
+ endef
+-clean:
++DEFAULT_CLEAN := $(CLEAN)
++override define CLEAN
++      $(DEFAULT_CLEAN)
+       $(RM) $(TEST_GEN_PROGS) $(OUTPUT)/loop.o
+       TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
+       TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
+       TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
++endef
+ ebb:
+       TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all
+@@ -61,4 +64,4 @@ sampling_tests:
+ event_code_tests:
+       TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all
+-.PHONY: all run_tests clean ebb sampling_tests event_code_tests
++.PHONY: all run_tests ebb sampling_tests event_code_tests
+-- 
+2.40.1
+
index ba13108734eb2c4968feb5acd76cf4f262f2a23a..f4093fcaa423b13a8ee49905f0f5ce00278526f6 100644 (file)
@@ -109,3 +109,32 @@ vfio-mdev-fix-a-null-ptr-deref-bug-for-mdev_unregist.patch
 mips-alchemy-only-build-mmc-support-helpers-if-au1xm.patch
 spi-spi-gxp-bug-correct-spi-write-return-value.patch
 drm-bridge-ti-sn65dsi83-do-not-generate-hfp-hbp-hsa-.patch
+bus-ti-sysc-use-fsleep-instead-of-usleep_range-in-sy.patch
+bus-ti-sysc-fix-missing-am35xx-soc-matching.patch
+firmware-arm_scmi-harden-perf-domain-info-access.patch
+firmware-arm_scmi-fixup-perf-power-cost-microwatt-su.patch
+power-supply-mt6370-fix-missing-error-code-in-mt6370.patch
+clk-sprd-fix-thm_parents-incorrect-configuration.patch
+clk-tegra-fix-error-return-case-for-recalc_rate.patch
+arm-dts-omap-correct-indentation.patch
+arm-dts-ti-omap-fix-bandgap-thermal-cells-addressing.patch
+arm-dts-unify-pwm-omap-dmtimer-node-names.patch
+arm-dts-unify-pinctrl-single-pin-group-nodes-for-oma.patch
+arm-dts-ti-omap-motorola-mapphone-fix-abe_clkctrl-wa.patch
+bus-ti-sysc-fix-sysc_quirk_swsup_sidle_act-handling-.patch
+power-supply-ucs1002-fix-error-code-in-ucs1002_get_p.patch
+firmware-imx-dsp-fix-an-error-handling-path-in-imx_d.patch
+xtensa-add-default-definition-for-xchal_have_div32.patch
+xtensa-iss-network-make-functions-static.patch
+xtensa-boot-don-t-add-include-dirs.patch
+xtensa-umulsidi3-fix-conditional-expression.patch
+xtensa-boot-lib-fix-function-prototypes.patch
+power-supply-rk817-fix-node-refcount-leak.patch
+selftests-powerpc-use-clean-macro-to-fix-make-warnin.patch
+selftests-powerpc-pass-make-context-to-children.patch
+selftests-powerpc-fix-emit_tests-to-work-with-run_ks.patch
+soc-imx8m-enable-ocotp-clock-for-imx8mm-before-readi.patch
+arm64-dts-imx-add-imx8mm-prt8mm.dtb-to-build.patch
+firmware-arm_ffa-don-t-set-the-memory-region-attribu.patch
+gpio-pmic-eic-sprd-add-can_sleep-flag-for-pmic-eic-c.patch
+i2c-npcm7xx-fix-callback-completion-ordering.patch
diff --git a/queue-6.1/soc-imx8m-enable-ocotp-clock-for-imx8mm-before-readi.patch b/queue-6.1/soc-imx8m-enable-ocotp-clock-for-imx8mm-before-readi.patch
new file mode 100644 (file)
index 0000000..766e21b
--- /dev/null
@@ -0,0 +1,65 @@
+From c8852eb4be07ee4576269a09ef4030dd8f81cd07 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 14 Aug 2023 01:57:00 +0000
+Subject: soc: imx8m: Enable OCOTP clock for imx8mm before reading registers
+
+From: Nathan Rossi <nathan.rossi@digi.com>
+
+[ Upstream commit 9d1e8275a28f51599d754ce661c91e0a689c0234 ]
+
+Commit 836fb30949d9 ("soc: imx8m: Enable OCOTP clock before reading the
+register") added configuration to enable the OCOTP clock before
+attempting to read from the associated registers.
+
+This same kexec issue is present with the imx8m SoCs that use the
+imx8mm_soc_uid function (e.g. imx8mp). This requires the imx8mm_soc_uid
+function to configure the OCOTP clock before accessing the associated
+registers. This change implements the same clock enable functionality
+that is present in the imx8mq_soc_revision function for the
+imx8mm_soc_uid function.
+
+Signed-off-by: Nathan Rossi <nathan.rossi@digi.com>
+Reviewed-by: Fabio Estevam <festevam@gmail.com>
+Fixes: 836fb30949d9 ("soc: imx8m: Enable OCOTP clock before reading the register")
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/soc/imx/soc-imx8m.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/drivers/soc/imx/soc-imx8m.c b/drivers/soc/imx/soc-imx8m.c
+index 32ed9dc88e455..08197b03955dd 100644
+--- a/drivers/soc/imx/soc-imx8m.c
++++ b/drivers/soc/imx/soc-imx8m.c
+@@ -100,6 +100,7 @@ static void __init imx8mm_soc_uid(void)
+ {
+       void __iomem *ocotp_base;
+       struct device_node *np;
++      struct clk *clk;
+       u32 offset = of_machine_is_compatible("fsl,imx8mp") ?
+                    IMX8MP_OCOTP_UID_OFFSET : 0;
+@@ -109,11 +110,20 @@ static void __init imx8mm_soc_uid(void)
+       ocotp_base = of_iomap(np, 0);
+       WARN_ON(!ocotp_base);
++      clk = of_clk_get_by_name(np, NULL);
++      if (IS_ERR(clk)) {
++              WARN_ON(IS_ERR(clk));
++              return;
++      }
++
++      clk_prepare_enable(clk);
+       soc_uid = readl_relaxed(ocotp_base + OCOTP_UID_HIGH + offset);
+       soc_uid <<= 32;
+       soc_uid |= readl_relaxed(ocotp_base + OCOTP_UID_LOW + offset);
++      clk_disable_unprepare(clk);
++      clk_put(clk);
+       iounmap(ocotp_base);
+       of_node_put(np);
+ }
+-- 
+2.40.1
+
diff --git a/queue-6.1/xtensa-add-default-definition-for-xchal_have_div32.patch b/queue-6.1/xtensa-add-default-definition-for-xchal_have_div32.patch
new file mode 100644 (file)
index 0000000..c9b01a2
--- /dev/null
@@ -0,0 +1,45 @@
+From 8bbd7c06ddbdf96e3f50899cfd2a23f89ffbcd1b Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 20 Sep 2023 04:15:22 -0700
+Subject: xtensa: add default definition for XCHAL_HAVE_DIV32
+
+From: Max Filippov <jcmvbkbc@gmail.com>
+
+[ Upstream commit 494e87ffa0159b3f879694a9231089707792a44d ]
+
+When variant FSF is set, XCHAL_HAVE_DIV32 is not defined. Add default
+definition for that macro to prevent build warnings:
+
+arch/xtensa/lib/divsi3.S:9:5: warning: "XCHAL_HAVE_DIV32" is not defined, evaluates to 0 [-Wundef]
+    9 | #if XCHAL_HAVE_DIV32
+arch/xtensa/lib/modsi3.S:9:5: warning: "XCHAL_HAVE_DIV32" is not defined, evaluates to 0 [-Wundef]
+    9 | #if XCHAL_HAVE_DIV32
+
+Fixes: 173d6681380a ("xtensa: remove extra header files")
+Suggested-by: Randy Dunlap <rdunlap@infradead.org>
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+Reported-by: kernel test robot <lkp@intel.com>
+Closes: lore.kernel.org/r/202309150556.t0yCdv3g-lkp@intel.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/xtensa/include/asm/core.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/xtensa/include/asm/core.h b/arch/xtensa/include/asm/core.h
+index 7cef85ad9741a..25293269e1edd 100644
+--- a/arch/xtensa/include/asm/core.h
++++ b/arch/xtensa/include/asm/core.h
+@@ -6,6 +6,10 @@
+ #include <variant/core.h>
++#ifndef XCHAL_HAVE_DIV32
++#define XCHAL_HAVE_DIV32 0
++#endif
++
+ #ifndef XCHAL_HAVE_EXCLUSIVE
+ #define XCHAL_HAVE_EXCLUSIVE 0
+ #endif
+-- 
+2.40.1
+
diff --git a/queue-6.1/xtensa-boot-don-t-add-include-dirs.patch b/queue-6.1/xtensa-boot-don-t-add-include-dirs.patch
new file mode 100644 (file)
index 0000000..847d4fb
--- /dev/null
@@ -0,0 +1,43 @@
+From 992aa07e20bde6e88860287fb174c77163d3d166 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 19 Sep 2023 22:21:37 -0700
+Subject: xtensa: boot: don't add include-dirs
+
+From: Randy Dunlap <rdunlap@infradead.org>
+
+[ Upstream commit 54d3d7d363823782c3444ddc41bb8cf1edc80514 ]
+
+Drop the -I<include-dir> options to prevent build warnings since there
+is not boot/include directory:
+
+cc1: warning: arch/xtensa/boot/include: No such file or directory [-Wmissing-include-dirs]
+
+Fixes: 437374e9a950 ("restore arch/{ppc/xtensa}/boot cflags")
+Fixes: 4bedea945451 ("xtensa: Architecture support for Tensilica Xtensa Part 2")
+Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
+Cc: Chris Zankel <chris@zankel.net>
+Cc: Max Filippov <jcmvbkbc@gmail.com>
+Message-Id: <20230920052139.10570-15-rdunlap@infradead.org>
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/xtensa/boot/Makefile | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/arch/xtensa/boot/Makefile b/arch/xtensa/boot/Makefile
+index a65b7a9ebff28..d8b0fadf429a9 100644
+--- a/arch/xtensa/boot/Makefile
++++ b/arch/xtensa/boot/Makefile
+@@ -9,8 +9,7 @@
+ # KBUILD_CFLAGS used when building rest of boot (takes effect recursively)
+-KBUILD_CFLAGS += -fno-builtin -Iarch/$(ARCH)/boot/include
+-HOSTFLAGS     += -Iarch/$(ARCH)/boot/include
++KBUILD_CFLAGS += -fno-builtin
+ subdir-y      := lib
+ targets               += vmlinux.bin vmlinux.bin.gz
+-- 
+2.40.1
+
diff --git a/queue-6.1/xtensa-boot-lib-fix-function-prototypes.patch b/queue-6.1/xtensa-boot-lib-fix-function-prototypes.patch
new file mode 100644 (file)
index 0000000..c9fe2e7
--- /dev/null
@@ -0,0 +1,52 @@
+From c7dfe5a91643dc6f0cc57a2798ba4208a439c764 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 20 Sep 2023 04:41:09 -0700
+Subject: xtensa: boot/lib: fix function prototypes
+
+From: Max Filippov <jcmvbkbc@gmail.com>
+
+[ Upstream commit f54d02c8f2cc4b46ba2a3bd8252a6750453b6f2b ]
+
+Add function prototype for gunzip() to the boot library code and make
+exit() and zalloc() static.
+
+arch/xtensa/boot/lib/zmem.c:8:6: warning: no previous prototype for 'exit' [-Wmissing-prototypes]
+    8 | void exit (void)
+arch/xtensa/boot/lib/zmem.c:13:7: warning: no previous prototype for 'zalloc' [-Wmissing-prototypes]
+   13 | void *zalloc(unsigned size)
+arch/xtensa/boot/lib/zmem.c:35:6: warning: no previous prototype for 'gunzip' [-Wmissing-prototypes]
+   35 | void gunzip (void *dst, int dstlen, unsigned char *src, int *lenp)
+
+Fixes: 4bedea945451 ("xtensa: Architecture support for Tensilica Xtensa Part 2")
+Fixes: e7d163f76665 ("xtensa: Removed local copy of zlib and fixed O= support")
+Suggested-by: Randy Dunlap <rdunlap@infradead.org>
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/xtensa/boot/lib/zmem.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/arch/xtensa/boot/lib/zmem.c b/arch/xtensa/boot/lib/zmem.c
+index e3ecd743c5153..b89189355122a 100644
+--- a/arch/xtensa/boot/lib/zmem.c
++++ b/arch/xtensa/boot/lib/zmem.c
+@@ -4,13 +4,14 @@
+ /* bits taken from ppc */
+ extern void *avail_ram, *end_avail;
++void gunzip(void *dst, int dstlen, unsigned char *src, int *lenp);
+-void exit (void)
++static void exit(void)
+ {
+   for (;;);
+ }
+-void *zalloc(unsigned size)
++static void *zalloc(unsigned int size)
+ {
+         void *p = avail_ram;
+-- 
+2.40.1
+
diff --git a/queue-6.1/xtensa-iss-network-make-functions-static.patch b/queue-6.1/xtensa-iss-network-make-functions-static.patch
new file mode 100644 (file)
index 0000000..330e867
--- /dev/null
@@ -0,0 +1,53 @@
+From cba94853fa227a225abd06a36303dad7c9028b15 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 19 Sep 2023 22:21:36 -0700
+Subject: xtensa: iss/network: make functions static
+
+From: Randy Dunlap <rdunlap@infradead.org>
+
+[ Upstream commit 1b59efeb59851277266318f4e0132aa61ce3455e ]
+
+Make 2 functions static to prevent build warnings:
+
+arch/xtensa/platforms/iss/network.c:204:16: warning: no previous prototype for 'tuntap_protocol' [-Wmissing-prototypes]
+  204 | unsigned short tuntap_protocol(struct sk_buff *skb)
+arch/xtensa/platforms/iss/network.c:444:6: warning: no previous prototype for 'iss_net_user_timer_expire' [-Wmissing-prototypes]
+  444 | void iss_net_user_timer_expire(struct timer_list *unused)
+
+Fixes: 7282bee78798 ("xtensa: Architecture support for Tensilica Xtensa Part 8")
+Fixes: d8479a21a98b ("xtensa: Convert timers to use timer_setup()")
+Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
+Cc: Chris Zankel <chris@zankel.net>
+Cc: Max Filippov <jcmvbkbc@gmail.com>
+Message-Id: <20230920052139.10570-14-rdunlap@infradead.org>
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/xtensa/platforms/iss/network.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c
+index 119345eeb04c9..bea539f9039a2 100644
+--- a/arch/xtensa/platforms/iss/network.c
++++ b/arch/xtensa/platforms/iss/network.c
+@@ -201,7 +201,7 @@ static int tuntap_write(struct iss_net_private *lp, struct sk_buff **skb)
+       return simc_write(lp->tp.info.tuntap.fd, (*skb)->data, (*skb)->len);
+ }
+-unsigned short tuntap_protocol(struct sk_buff *skb)
++static unsigned short tuntap_protocol(struct sk_buff *skb)
+ {
+       return eth_type_trans(skb, skb->dev);
+ }
+@@ -441,7 +441,7 @@ static int iss_net_change_mtu(struct net_device *dev, int new_mtu)
+       return -EINVAL;
+ }
+-void iss_net_user_timer_expire(struct timer_list *unused)
++static void iss_net_user_timer_expire(struct timer_list *unused)
+ {
+ }
+-- 
+2.40.1
+
diff --git a/queue-6.1/xtensa-umulsidi3-fix-conditional-expression.patch b/queue-6.1/xtensa-umulsidi3-fix-conditional-expression.patch
new file mode 100644 (file)
index 0000000..33525c8
--- /dev/null
@@ -0,0 +1,49 @@
+From 5996081dafd144e2e5e9f3b2c9c9a11002176a8f Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 19 Sep 2023 22:21:38 -0700
+Subject: xtensa: umulsidi3: fix conditional expression
+
+From: Randy Dunlap <rdunlap@infradead.org>
+
+[ Upstream commit 9aecda97ec3deecbfa7670877c8ddfd3d0fc87c4 ]
+
+Even when a variant has one or more of these defines set to 1, the
+multiplier code paths are not used. Change the expression so that the
+correct code paths are used.
+
+arch/xtensa/lib/umulsidi3.S:44:38: warning: "XCHAL_NO_MUL" is not defined, evaluates to 0 [-Wundef]
+   44 | #if defined(__XTENSA_CALL0_ABI__) && XCHAL_NO_MUL
+arch/xtensa/lib/umulsidi3.S:145:38: warning: "XCHAL_NO_MUL" is not defined, evaluates to 0 [-Wundef]
+  145 | #if defined(__XTENSA_CALL0_ABI__) && XCHAL_NO_MUL
+arch/xtensa/lib/umulsidi3.S:159:5: warning: "XCHAL_NO_MUL" is not defined, evaluates to 0 [-Wundef]
+  159 | #if XCHAL_NO_MUL
+
+Fixes: 8939c58d68f9 ("xtensa: add __umulsidi3 helper")
+Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
+Cc: Chris Zankel <chris@zankel.net>
+Cc: Max Filippov <jcmvbkbc@gmail.com>
+Message-Id: <20230920052139.10570-16-rdunlap@infradead.org>
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/xtensa/lib/umulsidi3.S | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/arch/xtensa/lib/umulsidi3.S b/arch/xtensa/lib/umulsidi3.S
+index 1360816479427..4d9ba2387de0f 100644
+--- a/arch/xtensa/lib/umulsidi3.S
++++ b/arch/xtensa/lib/umulsidi3.S
+@@ -3,7 +3,9 @@
+ #include <asm/asmmacro.h>
+ #include <asm/core.h>
+-#if !XCHAL_HAVE_MUL16 && !XCHAL_HAVE_MUL32 && !XCHAL_HAVE_MAC16
++#if XCHAL_HAVE_MUL16 || XCHAL_HAVE_MUL32 || XCHAL_HAVE_MAC16
++#define XCHAL_NO_MUL 0
++#else
+ #define XCHAL_NO_MUL 1
+ #endif
+-- 
+2.40.1
+