Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754771AbcKNQUe (ORCPT ); Mon, 14 Nov 2016 11:20:34 -0500 Received: from mail-lf0-f68.google.com ([209.85.215.68]:36031 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754566AbcKNQU0 (ORCPT ); Mon, 14 Nov 2016 11:20:26 -0500 MIME-Version: 1.0 In-Reply-To: <20161114165134.411ae04b@xhacker> References: <1479099731-28108-1-git-send-email-pankaj.dubey@samsung.com> <1479099731-28108-4-git-send-email-pankaj.dubey@samsung.com> <20161114165134.411ae04b@xhacker> From: Pankaj Dubey Date: Mon, 14 Nov 2016 21:50:04 +0530 X-Google-Sender-Auth: 1UFXtTWMC_chXjpFgebBTzKjTUc Message-ID: Subject: Re: [PATCH 03/16] ARM: berlin: use generic API for enabling SCU To: Jisheng Zhang Cc: geert+renesas@glider.be, Arnd Bergmann , vireshk@kernel.org, Magnus Damm , linux-kernel@vger.kernel.org, Krzysztof Kozlowski , rmk+kernel@armlinux.org.uk, Simon Horman , "thomas.ab@samsung.com" , Shiraz Hashim , "linux-arm-kernel@lists.infradead.org" , Sebastian Hesselbarth Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2344 Lines: 78 Hi Jisheng, On 14 November 2016 at 14:21, Jisheng Zhang wrote: > Hi Pankaj, > > On Mon, 14 Nov 2016 10:31:58 +0530 Pankaj Dubey wrote: > >> Now as we have of_scu_enable which takes care of mapping >> scu base from DT, lets use it. >> >> CC: Jisheng Zhang >> CC: Sebastian Hesselbarth >> Signed-off-by: Pankaj Dubey >> --- >> arch/arm/mach-berlin/platsmp.c | 17 +++++------------ >> 1 file changed, 5 insertions(+), 12 deletions(-) >> >> diff --git a/arch/arm/mach-berlin/platsmp.c b/arch/arm/mach-berlin/platsmp.c >> index 93f9068..25a6ca5 100644 >> --- a/arch/arm/mach-berlin/platsmp.c >> +++ b/arch/arm/mach-berlin/platsmp.c >> @@ -60,26 +60,21 @@ static int berlin_boot_secondary(unsigned int cpu, struct task_struct *idle) >> static void __init berlin_smp_prepare_cpus(unsigned int max_cpus) >> { >> struct device_node *np; >> - void __iomem *scu_base; >> void __iomem *vectors_base; >> >> - np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-scu"); >> - scu_base = of_iomap(np, 0); >> - of_node_put(np); >> - if (!scu_base) >> - return; >> - >> np = of_find_compatible_node(NULL, NULL, "marvell,berlin-cpu-ctrl"); >> cpu_ctrl = of_iomap(np, 0); >> of_node_put(np); >> if (!cpu_ctrl) >> - goto unmap_scu; >> + return; >> >> vectors_base = ioremap(CONFIG_VECTORS_BASE, SZ_32K); >> if (!vectors_base) >> - goto unmap_scu; >> + return; >> + >> + if (of_scu_enable()) > > In err code path, we need to unmap vectors_base before return > You are correct. I missed this, Will update in v2. Thanks for review. Pankaj Dubey >> + return; >> >> - scu_enable(scu_base); >> flush_cache_all(); >> >> /* >> @@ -95,8 +90,6 @@ static void __init berlin_smp_prepare_cpus(unsigned int max_cpus) >> writel(virt_to_phys(secondary_startup), vectors_base + SW_RESET_ADDR); >> >> iounmap(vectors_base); >> -unmap_scu: >> - iounmap(scu_base); >> } >> >> #ifdef CONFIG_HOTPLUG_CPU > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel