Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S942852AbcJSRiB (ORCPT ); Wed, 19 Oct 2016 13:38:01 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:33654 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935535AbcJSRh6 (ORCPT ); Wed, 19 Oct 2016 13:37:58 -0400 DMARC-Filter: OpenDMARC Filter v1.3.1 smtp.codeaurora.org CB30D61886 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=pass smtp.mailfrom=sboyd@codeaurora.org Date: Wed, 19 Oct 2016 10:37:57 -0700 From: Stephen Boyd To: Marc Zyngier Cc: Mark Rutland , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Thomas Gleixner , Daniel Lezcano Subject: Re: [PATCH/RESEND] clocksource/arm_arch_timer: Map frame with of_io_request_and_map() Message-ID: <20161019173757.GX8871@codeaurora.org> References: <20161018234514.6175-1-sboyd@codeaurora.org> <5807255A.8060906@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5807255A.8060906@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1431 Lines: 38 On 10/19, Marc Zyngier wrote: > On 19/10/16 00:45, Stephen Boyd wrote: > > Let's use the of_io_request_and_map() API so that the frame > > region is protected and shows up in /proc/iomem. > > > > Signed-off-by: Stephen Boyd > > --- > > drivers/clocksource/arm_arch_timer.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c > > index 73c487da6d2a..cbfa3bc5be75 100644 > > --- a/drivers/clocksource/arm_arch_timer.c > > +++ b/drivers/clocksource/arm_arch_timer.c > > @@ -964,7 +964,8 @@ static int __init arch_timer_mem_init(struct device_node *np) > > } > > > > ret= -ENXIO; > > - base = arch_counter_base = of_iomap(best_frame, 0); > > + base = arch_counter_base = of_io_request_and_map(best_frame, 0, > > + "arch_mem_timer"); > > if (!base) { > > pr_err("arch_timer: Can't map frame's registers\n"); > > goto out; > > > > Careful here: of_io_request_and_map() returns an ERR_PTR() on failure, > while of_iomap just returns NULL. You want to change the error handling > if you're going down that road. > Eek! I was clearing out my pending queue and this one is especially old so perhaps that function signature changed. Or I just fail at life. Anyway, thanks! -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project