diff mbox series

UBUNTU: [Config] disable ARCH_TANGO

Message ID 1535021003-25466-2-git-send-email-paolo.pisati@canonical.com
State New
Headers show
Series UBUNTU: [Config] disable ARCH_TANGO | expand

Commit Message

Paolo Pisati Aug. 23, 2018, 10:43 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1787945

Impact:

The TANGO platform (an embedded soc used in home entertainment, connectivity and
control devices) is enabled by default in the generic arm kernel. During kernel
bootup, the tango platform blindly registers its pm ops in
arch/arm/mach-tango/pm.c via initcalls() (without checking whether it's actually
running on the correspondent hardware) and this causes OOPS during suspend on
tegra platforms since the tango pm .enter function directly pokes the underlying
hardware.

Given the narrow scope of this SOC, i propose to disable support for the TANGO
arch.

Fix:

Apply the attached patch and recompile.

How to test:

Suspend the tegra board and chek that it worked.

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
---
 debian.master/config/config.common.ubuntu | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

Comments

Seth Forshee Aug. 23, 2018, 8:08 p.m. UTC | #1
On Thu, Aug 23, 2018 at 12:43:23PM +0200, Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1787945
> 
> Impact:
> 
> The TANGO platform (an embedded soc used in home entertainment, connectivity and
> control devices) is enabled by default in the generic arm kernel. During kernel
> bootup, the tango platform blindly registers its pm ops in
> arch/arm/mach-tango/pm.c via initcalls() (without checking whether it's actually
> running on the correspondent hardware) and this causes OOPS during suspend on
> tegra platforms since the tango pm .enter function directly pokes the underlying
> hardware.
> 
> Given the narrow scope of this SOC, i propose to disable support for the TANGO
> arch.
> 
> Fix:
> 
> Apply the attached patch and recompile.
> 
> How to test:
> 
> Suspend the tegra board and chek that it worked.
> 
> Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>

This seems fine, except that I think it also needs to enforce
CONFIG_ARCH_TANGO=n in the annotations to prevent any accidental changes
to the option.

I'm guessing we should also change these configs in cosmic and unstable?

Thanks,
Seth
Paolo Pisati Aug. 27, 2018, 9:30 a.m. UTC | #2
On Thu, Aug 23, 2018 at 10:08 PM, Seth Forshee
<seth.forshee@canonical.com> wrote:
> I'm guessing we should also change these configs in cosmic and unstable?

The annotation part applies fine, while there are two conflicts in the
config part but as long as the:

# CONFIG_ARCH_TANGO is not set

applies, you can 'fdr update' and reconstruct the config section.

If it's too much of a trouble, i can send a patch for cosmic and unstable.
diff mbox series

Patch

diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
index 385e735..9839111 100644
--- a/debian.master/config/config.common.ubuntu
+++ b/debian.master/config/config.common.ubuntu
@@ -477,7 +477,7 @@  CONFIG_ARCH_SUPPORTS_TRUSTED_FOUNDATIONS=y
 CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_SYNQUACER=y
-CONFIG_ARCH_TANGO=y
+# CONFIG_ARCH_TANGO is not set
 CONFIG_ARCH_TEGRA_114_SOC=y
 CONFIG_ARCH_TEGRA_124_SOC=y
 CONFIG_ARCH_TEGRA_2x_SOC=y
@@ -655,7 +655,6 @@  CONFIG_ARM_SDE_INTERFACE=y
 CONFIG_ARM_SMMU_V3=y
 CONFIG_ARM_SP805_WATCHDOG=m
 CONFIG_ARM_SPE_PMU=m
-CONFIG_ARM_TANGO_CPUFREQ=y
 CONFIG_ARM_TEGRA124_CPUFREQ=m
 CONFIG_ARM_TEGRA20_CPUFREQ=y
 CONFIG_ARM_TEGRA_DEVFREQ=m
@@ -1381,7 +1380,6 @@  CONFIG_CLKSRC_I8253=y
 CONFIG_CLKSRC_IMX_GPT=y
 CONFIG_CLKSRC_MMIO=y
 CONFIG_CLKSRC_QCOM=y
-CONFIG_CLKSRC_TANGO_XTAL=y
 CONFIG_CLKSRC_TI_32K=y
 CONFIG_CLKSRC_VERSATILE=y
 CONFIG_CLK_BCM_NS2=y
@@ -3858,7 +3856,6 @@  CONFIG_I2C_VIPERBOARD=m
 CONFIG_I2C_XGENE_SLIMPRO=m
 CONFIG_I2C_XILINX=m
 CONFIG_I2C_XLP9XX=m
-# CONFIG_I2C_XLR is not set
 CONFIG_I40E=m
 CONFIG_I40EVF=m
 CONFIG_I40E_DCB=y
@@ -4466,7 +4463,6 @@  CONFIG_IR_SONY_DECODER=m
 CONFIG_IR_SPI=m
 CONFIG_IR_STREAMZAP=m
 CONFIG_IR_SUNXI=m
-CONFIG_IR_TANGO=m
 CONFIG_IR_TTUSBIR=m
 CONFIG_IR_WINBOND_CIR=m
 CONFIG_IR_XMP_DECODER=m
@@ -5576,7 +5572,6 @@  CONFIG_MTD_NAND_PXA3xx=m
 CONFIG_MTD_NAND_QCOM=m
 CONFIG_MTD_NAND_RICOH=m
 # CONFIG_MTD_NAND_SUNXI is not set
-CONFIG_MTD_NAND_TANGO=m
 CONFIG_MTD_NAND_TMIO=m
 # CONFIG_MTD_NAND_VF610_NFC is not set
 CONFIG_MTD_NETtel=m
@@ -8973,9 +8968,6 @@  CONFIG_TABLET_USB_KBTAB=m
 CONFIG_TABLET_USB_PEGASUS=m
 CONFIG_TAHVO_USB=m
 CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
-# CONFIG_TANGOX_WATCHDOG is not set
-CONFIG_TANGO_IRQ=y
-# CONFIG_TANGO_THERMAL is not set
 CONFIG_TAP=m
 CONFIG_TARGET_CORE=m
 CONFIG_TASKSTATS=y