Patch "ARM: OMAP3: Fix smartreflex platform data regression" has been added to the 4.10-stable tree
Subsystems (5)
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
179125085bd4ca70e8e028913193a93653bd12f7Mon 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.
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