lkml.org 
[lkml]   [2019]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 30/50] ARM: tango: Improve ARCH_MULTIPLATFORM compatibility
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Marc Gonzalez <marc.w.gonzalez@free.fr>

    commit d0f9f16788e15d9eb40f68b047732d49658c5a3a upstream.

    Calling platform-specific code unconditionally blows up when running
    an ARCH_MULTIPLATFORM kernel on a different platform. Don't do it.

    Reported-by: Paolo Pisati <p.pisati@gmail.com>
    Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Cc: stable@vger.kernel.org # v4.8+
    Fixes: a30eceb7a59d ("ARM: tango: add Suspend-to-RAM support")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/arm/mach-tango/pm.c | 6 ++----
    arch/arm/mach-tango/pm.h | 7 +++++++
    arch/arm/mach-tango/setup.c | 2 ++
    3 files changed, 11 insertions(+), 4 deletions(-)

    --- a/arch/arm/mach-tango/pm.c
    +++ b/arch/arm/mach-tango/pm.c
    @@ -3,6 +3,7 @@
    #include <linux/suspend.h>
    #include <asm/suspend.h>
    #include "smc.h"
    +#include "pm.h"

    static int tango_pm_powerdown(unsigned long arg)
    {
    @@ -24,10 +25,7 @@ static const struct platform_suspend_ops
    .valid = suspend_valid_only_mem,
    };

    -static int __init tango_pm_init(void)
    +void __init tango_pm_init(void)
    {
    suspend_set_ops(&tango_pm_ops);
    - return 0;
    }
    -
    -late_initcall(tango_pm_init);
    --- /dev/null
    +++ b/arch/arm/mach-tango/pm.h
    @@ -0,0 +1,7 @@
    +/* SPDX-License-Identifier: GPL-2.0 */
    +
    +#ifdef CONFIG_SUSPEND
    +void __init tango_pm_init(void);
    +#else
    +#define tango_pm_init NULL
    +#endif
    --- a/arch/arm/mach-tango/setup.c
    +++ b/arch/arm/mach-tango/setup.c
    @@ -2,6 +2,7 @@
    #include <asm/mach/arch.h>
    #include <asm/hardware/cache-l2x0.h>
    #include "smc.h"
    +#include "pm.h"

    static void tango_l2c_write(unsigned long val, unsigned int reg)
    {
    @@ -15,4 +16,5 @@ DT_MACHINE_START(TANGO_DT, "Sigma Tango
    .dt_compat = tango_dt_compat,
    .l2c_aux_mask = ~0,
    .l2c_write_sec = tango_l2c_write,
    + .init_late = tango_pm_init,
    MACHINE_END

    \
     
     \ /
      Last update: 2019-02-13 19:49    [W:4.180 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site