lkml.org 
[lkml]   [2019]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 164/352] ARM: mmp: fix timer_init calls
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

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

    [ Upstream commit 12d3a30db4a3b3df5fbadf5974b9cf50544a9950 ]

    The change to passing the timer frequency as a function argument
    was a good idea, but caused a build failure for one user that
    was missed in the update:

    arch/arm/mach-mmp/time.c: In function 'mmp_dt_init_timer':
    arch/arm/mach-mmp/time.c:242:2: error: implicit declaration of function 'timer_init'; did you mean 'hrtimer_init'? [-Werror=implicit-function-declaration]

    Change that as well to fix the build error, and rename the
    function to put it into a proper namespace and make it clearer
    what is actually going on.

    I saw that the high 6500000 HZ frequency was previously only
    set with CONFIG_MMP2, but is now also used with MMP (pxa910),
    so I'm changing that back here. Please make sure that the
    frequencies are all correct now.

    Fixes: f36797ee4380 ("ARM: mmp/mmp2: dt: enable the clock")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm/mach-mmp/common.h | 2 +-
    arch/arm/mach-mmp/mmp2.c | 2 +-
    arch/arm/mach-mmp/pxa168.c | 2 +-
    arch/arm/mach-mmp/pxa910.c | 2 +-
    arch/arm/mach-mmp/time.c | 4 ++--
    5 files changed, 6 insertions(+), 6 deletions(-)

    diff --git a/arch/arm/mach-mmp/common.h b/arch/arm/mach-mmp/common.h
    index 5ac2851ef5d3..483b8b6d3005 100644
    --- a/arch/arm/mach-mmp/common.h
    +++ b/arch/arm/mach-mmp/common.h
    @@ -2,7 +2,7 @@
    #include <linux/reboot.h>
    #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)

    -extern void timer_init(int irq, unsigned long rate);
    +extern void mmp_timer_init(int irq, unsigned long rate);

    extern void __init mmp_map_io(void);
    extern void mmp_restart(enum reboot_mode, const char *);
    diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c
    index fb3e7e32c882..726c1a642dea 100644
    --- a/arch/arm/mach-mmp/mmp2.c
    +++ b/arch/arm/mach-mmp/mmp2.c
    @@ -134,7 +134,7 @@ void __init mmp2_timer_init(void)
    clk_rst = APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(1);
    __raw_writel(clk_rst, APBC_TIMERS);

    - timer_init(IRQ_MMP2_TIMER1, 6500000);
    + mmp_timer_init(IRQ_MMP2_TIMER1, 6500000);
    }

    /* on-chip devices */
    diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c
    index 77a358165a56..cdcf65ace3f9 100644
    --- a/arch/arm/mach-mmp/pxa168.c
    +++ b/arch/arm/mach-mmp/pxa168.c
    @@ -79,7 +79,7 @@ void __init pxa168_timer_init(void)
    /* 3.25MHz, bus/functional clock enabled, release reset */
    __raw_writel(TIMER_CLK_RST, APBC_TIMERS);

    - timer_init(IRQ_PXA168_TIMER1, 6500000);
    + mmp_timer_init(IRQ_PXA168_TIMER1, 3250000);
    }

    void pxa168_clear_keypad_wakeup(void)
    diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c
    index 1ccbba9ac495..d30a7d12bc98 100644
    --- a/arch/arm/mach-mmp/pxa910.c
    +++ b/arch/arm/mach-mmp/pxa910.c
    @@ -116,7 +116,7 @@ void __init pxa910_timer_init(void)
    __raw_writel(APBC_APBCLK | APBC_RST, APBC_TIMERS);
    __raw_writel(TIMER_CLK_RST, APBC_TIMERS);

    - timer_init(IRQ_PXA910_AP1_TIMER1);
    + mmp_timer_init(IRQ_PXA910_AP1_TIMER1, 3250000);
    }

    /* on-chip devices */
    diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
    index eab0fd8a7343..f9c295154b94 100644
    --- a/arch/arm/mach-mmp/time.c
    +++ b/arch/arm/mach-mmp/time.c
    @@ -184,7 +184,7 @@ static struct irqaction timer_irq = {
    .dev_id = &ckevt,
    };

    -void __init timer_init(int irq, unsigned long rate)
    +void __init mmp_timer_init(int irq, unsigned long rate)
    {
    timer_config();

    @@ -239,7 +239,7 @@ void __init mmp_dt_init_timer(void)
    ret = -ENOMEM;
    goto out;
    }
    - timer_init(irq, rate);
    + mmp_timer_init(irq, rate);
    return;
    out:
    pr_err("Failed to get timer from device tree with error:%d\n", ret);
    --
    2.19.1


    \
     
     \ /
      Last update: 2019-02-11 17:05    [W:4.121 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site