Skip to contentSkip to conversation

Patch "ARM: OMAP3: Fix smartreflex platform data regression" has been added to the 4.10-stable tree

PATCH [email protected] 1 participant 1 message May 9, 2017

Subsystems (5)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ARM: OMAP3: Fix smartreflex platform data regression

to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
arm-omap3-fix-smartreflex-platform-data-regression.patch
and it can be found in the queue-4.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 179125085bd4ca70e8e028913193a93653bd12f7 Mon Sep 17 00:00:00 2001

From: Tony Lindgren <[email protected]>
Date: Tue, 14 Feb 2017 10:26:03 -0800
Subject: ARM: OMAP3: Fix smartreflex platform data regression

From: Tony Lindgren <[email protected]>

commit 179125085bd4ca70e8e028913193a93653bd12f7 upstream.

Commit d9d9cec02835 ("ARM: OMAP2+: Remove legacy data from hwmod for omap3") dropped platform data that should no longer be used as we're booting with device tree. It turns out that smartreflex is still using platform data and produces the following errors during probe:

smartreflex smartreflex.0: invalid resource smartreflex smartreflex.0: omap_sr_probe: ioremap fail
smartreflex: probe of smartreflex.0 failed with error -22 smartreflex smartreflex.1: invalid resource smartreflex smartreflex.1: omap_sr_probe: ioremap fail
smartreflex: probe of smartreflex.1 failed with error -22

Let's fix the regression by adding back the smartreflex hwmod data. The long term is to update the smartreflex driver to use device tree based probing.

Fixes d9d9cec02835 ("ARM: OMAP2+: Remove legacy data from hwmod

for omap3")

---
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +20 -0
@@ -2112,11 +2112,20 @@ static struct omap_hwmod_ocp_if omap3_l4
 };
 
 /* L4 CORE -> SR1 interface */
+static struct omap_hwmod_addr_space omap3_sr1_addr_space[] = {
+	{
+		.pa_start	= OMAP34XX_SR1_BASE,
+		.pa_end		= OMAP34XX_SR1_BASE + SZ_1K - 1,
+		.flags		= ADDR_TYPE_RT,
+	},
+	{ },
+};
 
 static struct omap_hwmod_ocp_if omap34xx_l4_core__sr1 = {
 	.master		= &omap3xxx_l4_core_hwmod,
 	.slave		= &omap34xx_sr1_hwmod,
 	.clk		= "sr_l4_ick",
+	.addr		= omap3_sr1_addr_space,
 	.user		= OCP_USER_MPU,
 };
 
@@ -2124,15 +2133,25 @@ static struct omap_hwmod_ocp_if omap36xx
 	.master		= &omap3xxx_l4_core_hwmod,
 	.slave		= &omap36xx_sr1_hwmod,
 	.clk		= "sr_l4_ick",
+	.addr		= omap3_sr1_addr_space,
 	.user		= OCP_USER_MPU,
 };
 
 /* L4 CORE -> SR1 interface */
+static struct omap_hwmod_addr_space omap3_sr2_addr_space[] = {
+	{
+		.pa_start	= OMAP34XX_SR2_BASE,
+		.pa_end		= OMAP34XX_SR2_BASE + SZ_1K - 1,
+		.flags		= ADDR_TYPE_RT,
+	},
+	{ },
+};
 
 static struct omap_hwmod_ocp_if omap34xx_l4_core__sr2 = {
 	.master		= &omap3xxx_l4_core_hwmod,
 	.slave		= &omap34xx_sr2_hwmod,
 	.clk		= "sr_l4_ick",
+	.addr		= omap3_sr2_addr_space,
 	.user		= OCP_USER_MPU,
 };
 
@@ -2140,6 +2159,7 @@ static struct omap_hwmod_ocp_if omap36xx
 	.master		= &omap3xxx_l4_core_hwmod,
 	.slave		= &omap36xx_sr2_hwmod,
 	.clk		= "sr_l4_ick",
+	.addr		= omap3_sr2_addr_space,
 	.user		= OCP_USER_MPU,
 };
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.10/power-supply-bq24190_charger-handle-fault-before-status-on-interrupt.patch queue-4.10/power-supply-bq24190_charger-call-power_supply_changed-for-relevant-component.patch queue-4.10/power-supply-bq24190_charger-install-irq_handler_thread-at-end-of-probe.patch queue-4.10/power-supply-bq24190_charger-call-set_mode_host-on-pm_resume.patch queue-4.10/arm-omap5-dra7-fix-hyp-mode-boot-for-thumb2-build.patch queue-4.10/serial-8250_omap-fix-probe-and-remove-for-pm-runtime.patch queue-4.10/arm-omap3-fix-smartreflex-platform-data-regression.patch queue-4.10/power-supply-bq24190_charger-don-t-read-fault-register-outside-irq_handle_thread.patch queue-4.10/power-supply-bq24190_charger-fix-irq-trigger-to-irqf_trigger_falling.patch queue-4.10/arm-dts-am57xx-idk-tpic2810-is-on-i2c-bus-not-spi.patch