From: Sasha Levin Date: Mon, 2 Oct 2023 11:02:51 +0000 (-0400) Subject: Fixes for 6.1 X-Git-Tag: v6.5.6~69 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aa99e3d1a4aaa1eb38fdfc1b02b4d8b40fd1df38;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 6.1 Signed-off-by: Sasha Levin --- 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 index 00000000000..921ebc41110 --- /dev/null +++ b/queue-6.1/arm-dts-omap-correct-indentation.patch @@ -0,0 +1,393 @@ +From 84d0e97562ea43f7bb908e98a60fcec87cfbf858 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sun, 2 Oct 2022 11:20:02 +0200 +Subject: ARM: dts: omap: correct indentation + +From: Krzysztof Kozlowski + +[ 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 +Stable-dep-of: 6469b2feade8 ("ARM: dts: ti: omap: Fix bandgap thermal cells addressing for omap3/4") +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..746046ea369 --- /dev/null +++ b/queue-6.1/arm-dts-ti-omap-fix-bandgap-thermal-cells-addressing.patch @@ -0,0 +1,89 @@ +From 579c747d57520a10bfbc1a5fb7b4920b5674c884 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Cc: Carl Philipp Klemm +Cc: Merlijn Wajer +Cc: Pavel Machek +Reviewed-by: Sebastian Reichel +Fixes: a761d517bbb1 ("ARM: dts: omap3: Add cpu_thermal zone") +Fixes: 0bbf6c54d100 ("arm: dts: add omap4 CPU thermal data") +Signed-off-by: Tony Lindgren +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..338fe0a69dc --- /dev/null +++ b/queue-6.1/arm-dts-ti-omap-motorola-mapphone-fix-abe_clkctrl-wa.patch @@ -0,0 +1,56 @@ +From 3cc1a4d831578d368c103af60b5d10f2d4aedbd0 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Cc: Carl Philipp Klemm +Cc: Merlijn Wajer +Cc: Pavel Machek +Reviewed-by: Sebastian Reichel +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 +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..b6463ac8434 --- /dev/null +++ b/queue-6.1/arm-dts-unify-pinctrl-single-pin-group-nodes-for-oma.patch @@ -0,0 +1,990 @@ +From 0657e14bea401ce606ded1ac1e1a4bdac5ecda22 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 17 May 2023 12:52:53 +0300 +Subject: ARM: dts: Unify pinctrl-single pin group nodes for omap4 + +From: Tony Lindgren + +[ 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 +Cc: Krzysztof Kozlowski +Cc: Rob Herring +Signed-off-by: Tony Lindgren +Stable-dep-of: ac08bda1569b ("ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot") +Signed-off-by: Sasha Levin +--- + .../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 index 00000000000..e550f413ce8 --- /dev/null +++ b/queue-6.1/arm-dts-unify-pwm-omap-dmtimer-node-names.patch @@ -0,0 +1,117 @@ +From 5db6ab41dbea66e5f96a455827a5967744b15e88 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 18 Nov 2022 14:19:24 +0200 +Subject: ARM: dts: Unify pwm-omap-dmtimer node names + +From: Tony Lindgren + +[ Upstream commit 4f15fc7c0f28ffcd6e9a56396db6edcdfa4c9925 ] + +There is no reg property for pwm-omap-dmtimer. + +Cc: Krzysztof Kozlowski +Cc: Rob Herring +Signed-off-by: Tony Lindgren +Stable-dep-of: ac08bda1569b ("ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot") +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..da466d1caba --- /dev/null +++ b/queue-6.1/arm64-dts-imx-add-imx8mm-prt8mm.dtb-to-build.patch @@ -0,0 +1,34 @@ +From c1e283412c431976b0844cf8a0ec385be08bba3c Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 11 Sep 2023 16:45:37 -0500 +Subject: arm64: dts: imx: Add imx8mm-prt8mm.dtb to build + +From: Rob Herring + +[ 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 +Signed-off-by: Shawn Guo +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..55b549bbcf0 --- /dev/null +++ b/queue-6.1/bus-ti-sysc-fix-missing-am35xx-soc-matching.patch @@ -0,0 +1,83 @@ +From 3099c04ab04933fd3d2b589d791e836b9862a049 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 6 Sep 2023 18:34:42 -0500 +Subject: bus: ti-sysc: Fix missing AM35xx SoC matching + +From: Adam Ford + +[ 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 +Message-ID: <20230906233442.270835-1-aford173@gmail.com> +Signed-off-by: Tony Lindgren +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..3a5b9f8bca5 --- /dev/null +++ b/queue-6.1/bus-ti-sysc-fix-sysc_quirk_swsup_sidle_act-handling-.patch @@ -0,0 +1,85 @@ +From 0288650d50e3d6ac296644b7a3b0a59d978a3bc2 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Tested-by: Kevin Hilman +Signed-off-by: Tony Lindgren +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..20cea87bab3 --- /dev/null +++ b/queue-6.1/bus-ti-sysc-use-fsleep-instead-of-usleep_range-in-sy.patch @@ -0,0 +1,49 @@ +From 81abe1567805ad369c355504b30ca859c9395dcc Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +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 +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..7e14d44aba9 --- /dev/null +++ b/queue-6.1/clk-sprd-fix-thm_parents-incorrect-configuration.patch @@ -0,0 +1,38 @@ +From 3756d2bc1ba468c0a52b1aa5cdd099ecc0ae219e Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 24 Aug 2023 17:26:24 +0800 +Subject: clk: sprd: Fix thm_parents incorrect configuration + +From: Zhifeng Tang + +[ 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 +Acked-by: Chunyan Zhang +Reviewed-by: Baolin Wang +Link: https://lore.kernel.org/r/20230824092624.20020-1-zhifeng.tang@unisoc.com +Signed-off-by: Stephen Boyd +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..147e8f40e66 --- /dev/null +++ b/queue-6.1/clk-tegra-fix-error-return-case-for-recalc_rate.patch @@ -0,0 +1,40 @@ +From 4ae3acd1c8e03a028ff3dfcd57beb510ef30934c Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 12 Sep 2023 14:29:50 +0300 +Subject: clk: tegra: fix error return case for recalc_rate + +From: Timo Alho + +[ 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 +Signed-off-by: Mikko Perttunen +Link: https://lore.kernel.org/r/20230912112951.2330497-1-cyndis@kapsi.fi +Signed-off-by: Stephen Boyd +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..18d2a298a73 --- /dev/null +++ b/queue-6.1/firmware-arm_ffa-don-t-set-the-memory-region-attribu.patch @@ -0,0 +1,65 @@ +From f9b3b05e08a3187bfa36aab47f928668c379fd5a Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Reported-by: Olivier Deprez +Link: https://lore.kernel.org/r/20230919-ffa_v1-1_notif-v2-13-6f3a3ca3923c@arm.com +Signed-off-by: Sudeep Holla +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..ae5d86e7667 --- /dev/null +++ b/queue-6.1/firmware-arm_scmi-fixup-perf-power-cost-microwatt-su.patch @@ -0,0 +1,50 @@ +From df00b87d2b9147943cb2755938f1d4463c58f814 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sat, 12 Aug 2023 02:18:18 +0530 +Subject: firmware: arm_scmi: Fixup perf power-cost/microwatt support + +From: Sibi Sankar + +[ 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 +Fixes: 3630cd8130ce ("firmware: arm_scmi: Add SCMI v3.1 perf power-cost in microwatts") +Signed-off-by: Sibi Sankar +Reviewed-by: Cristian Marussi +Link: https://lore.kernel.org/r/20230811204818.30928-1-quic_sibis@quicinc.com +Signed-off-by: Sudeep Holla +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..e6c4d605795 --- /dev/null +++ b/queue-6.1/firmware-arm_scmi-harden-perf-domain-info-access.patch @@ -0,0 +1,215 @@ +From aa3fef7f96432154d9b9fb758bb7ffe15dd2b3ed Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 17 Jul 2023 17:12:45 +0100 +Subject: firmware: arm_scmi: Harden perf domain info access + +From: Cristian Marussi + +[ Upstream commit 3da82112355bba263597fcbb24d275fc57e69e7e ] + +Harden internal accesses to domain info in the SCMI perf protocol. + +Signed-off-by: Cristian Marussi +Link: https://lore.kernel.org/r/20230717161246.1761777-2-cristian.marussi@arm.com +Signed-off-by: Sudeep Holla +Stable-dep-of: c3638b851bc1 ("firmware: arm_scmi: Fixup perf power-cost/microwatt support") +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..81fcbd974d7 --- /dev/null +++ b/queue-6.1/firmware-imx-dsp-fix-an-error-handling-path-in-imx_d.patch @@ -0,0 +1,37 @@ +From cab9ad279cddd38677f78b7499d500d410b63ce8 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Reviewed-by: Daniel Baluta +Signed-off-by: Shawn Guo +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..15f67b45b11 --- /dev/null +++ b/queue-6.1/gpio-pmic-eic-sprd-add-can_sleep-flag-for-pmic-eic-c.patch @@ -0,0 +1,39 @@ +From 1e4c8c2e14b7210d8db8a5b8fa46da9bf0792ec2 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Signed-off-by: Bartosz Golaszewski +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..261f28742fc --- /dev/null +++ b/queue-6.1/i2c-npcm7xx-fix-callback-completion-ordering.patch @@ -0,0 +1,77 @@ +From b942dbe6fca57babd4dc9e65d977fef5555f87af Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sat, 23 Sep 2023 18:02:14 -0700 +Subject: i2c: npcm7xx: Fix callback completion ordering + +From: William A. Kennington III + +[ 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 +Reviewed-by: Tali Perry +Signed-off-by: Wolfram Sang +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..174446768ec --- /dev/null +++ b/queue-6.1/power-supply-mt6370-fix-missing-error-code-in-mt6370.patch @@ -0,0 +1,40 @@ +From b0dbc489fe039f07dff80045e5f98c1ee44d674a Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Reviewed-by: AngeloGioacchino Del Regno +Reviewed-by: ChiaEn Wu +Link: https://lore.kernel.org/r/20230906084815.2827930-1-harshit.m.mogalapalli@oracle.com +Signed-off-by: Sebastian Reichel +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..566fddc14fb --- /dev/null +++ b/queue-6.1/power-supply-rk817-fix-node-refcount-leak.patch @@ -0,0 +1,64 @@ +From 54dfab9dbfe1f16aba01a97fcdf6ac2aac7e9b53 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 20 Sep 2023 09:56:44 -0500 +Subject: power: supply: rk817: Fix node refcount leak + +From: Chris Morgan + +[ 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 +Closes: https://lore.kernel.org/linux-pm/dc0bb0f8-212d-4be7-be69-becd2a3f9a80@kili.mountain/ +Signed-off-by: Chris Morgan +Link: https://lore.kernel.org/r/20230920145644.57964-1-macroalpha82@gmail.com +Signed-off-by: Sebastian Reichel +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..f7ec3b5e036 --- /dev/null +++ b/queue-6.1/power-supply-ucs1002-fix-error-code-in-ucs1002_get_p.patch @@ -0,0 +1,39 @@ +From ba19389307cef7f186613b07902546d8ceed44a1 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 19 Jun 2023 12:44:17 +0300 +Subject: power: supply: ucs1002: fix error code in ucs1002_get_property() + +From: Dan Carpenter + +[ 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 +Link: https://lore.kernel.org/r/687f64a4-4c6e-4536-8204-98ad1df934e5@moroto.mountain +Signed-off-by: Sebastian Reichel +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..f2a41c1e3de --- /dev/null +++ b/queue-6.1/selftests-powerpc-fix-emit_tests-to-work-with-run_ks.patch @@ -0,0 +1,97 @@ +From 52863a625d4d0c58d85bed3ca076ee70ef01cdaf Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 21 Sep 2023 17:26:10 +1000 +Subject: selftests/powerpc: Fix emit_tests to work with run_kselftest.sh + +From: Michael Ellerman + +[ 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 +Link: https://msgid.link/20230921072623.828772-1-mpe@ellerman.id.au +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..53106ffe399 --- /dev/null +++ b/queue-6.1/selftests-powerpc-pass-make-context-to-children.patch @@ -0,0 +1,122 @@ +From fc5898361275cb83db94a64d318b97e54b5d85c7 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 28 Feb 2023 11:07:08 +1100 +Subject: selftests/powerpc: Pass make context to children + +From: Benjamin Gray + +[ 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 +Signed-off-by: Michael Ellerman +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 +--- + 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 index 00000000000..ac90b9d6366 --- /dev/null +++ b/queue-6.1/selftests-powerpc-use-clean-macro-to-fix-make-warnin.patch @@ -0,0 +1,55 @@ +From 29f380e7b7d192237b471537f23e47ec3e573653 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 28 Feb 2023 11:07:07 +1100 +Subject: selftests/powerpc: Use CLEAN macro to fix make warning + +From: Benjamin Gray + +[ 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 +Signed-off-by: Michael Ellerman +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 +--- + 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 + diff --git a/queue-6.1/series b/queue-6.1/series index ba13108734e..f4093fcaa42 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -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 index 00000000000..766e21b7fb7 --- /dev/null +++ b/queue-6.1/soc-imx8m-enable-ocotp-clock-for-imx8mm-before-readi.patch @@ -0,0 +1,65 @@ +From c8852eb4be07ee4576269a09ef4030dd8f81cd07 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 14 Aug 2023 01:57:00 +0000 +Subject: soc: imx8m: Enable OCOTP clock for imx8mm before reading registers + +From: Nathan Rossi + +[ 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 +Reviewed-by: Fabio Estevam +Fixes: 836fb30949d9 ("soc: imx8m: Enable OCOTP clock before reading the register") +Signed-off-by: Shawn Guo +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..c9b01a2c943 --- /dev/null +++ b/queue-6.1/xtensa-add-default-definition-for-xchal_have_div32.patch @@ -0,0 +1,45 @@ +From 8bbd7c06ddbdf96e3f50899cfd2a23f89ffbcd1b Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 20 Sep 2023 04:15:22 -0700 +Subject: xtensa: add default definition for XCHAL_HAVE_DIV32 + +From: Max Filippov + +[ 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 +Signed-off-by: Max Filippov +Reported-by: kernel test robot +Closes: lore.kernel.org/r/202309150556.t0yCdv3g-lkp@intel.com +Signed-off-by: Sasha Levin +--- + 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 + ++#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 index 00000000000..847d4fb1ffb --- /dev/null +++ b/queue-6.1/xtensa-boot-don-t-add-include-dirs.patch @@ -0,0 +1,43 @@ +From 992aa07e20bde6e88860287fb174c77163d3d166 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 19 Sep 2023 22:21:37 -0700 +Subject: xtensa: boot: don't add include-dirs + +From: Randy Dunlap + +[ Upstream commit 54d3d7d363823782c3444ddc41bb8cf1edc80514 ] + +Drop the -I 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 +Cc: Chris Zankel +Cc: Max Filippov +Message-Id: <20230920052139.10570-15-rdunlap@infradead.org> +Signed-off-by: Max Filippov +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..c9fe2e7ee99 --- /dev/null +++ b/queue-6.1/xtensa-boot-lib-fix-function-prototypes.patch @@ -0,0 +1,52 @@ +From c7dfe5a91643dc6f0cc57a2798ba4208a439c764 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 20 Sep 2023 04:41:09 -0700 +Subject: xtensa: boot/lib: fix function prototypes + +From: Max Filippov + +[ 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 +Signed-off-by: Max Filippov +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..330e8670287 --- /dev/null +++ b/queue-6.1/xtensa-iss-network-make-functions-static.patch @@ -0,0 +1,53 @@ +From cba94853fa227a225abd06a36303dad7c9028b15 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 19 Sep 2023 22:21:36 -0700 +Subject: xtensa: iss/network: make functions static + +From: Randy Dunlap + +[ 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 +Cc: Chris Zankel +Cc: Max Filippov +Message-Id: <20230920052139.10570-14-rdunlap@infradead.org> +Signed-off-by: Max Filippov +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..33525c838fa --- /dev/null +++ b/queue-6.1/xtensa-umulsidi3-fix-conditional-expression.patch @@ -0,0 +1,49 @@ +From 5996081dafd144e2e5e9f3b2c9c9a11002176a8f Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 19 Sep 2023 22:21:38 -0700 +Subject: xtensa: umulsidi3: fix conditional expression + +From: Randy Dunlap + +[ 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 +Cc: Chris Zankel +Cc: Max Filippov +Message-Id: <20230920052139.10570-16-rdunlap@infradead.org> +Signed-off-by: Max Filippov +Signed-off-by: Sasha Levin +--- + 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 + #include + +-#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 +