Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1469493

Re: [v.3] clocksource:clps711x-timer:- Unmap a region obtained by remap.

Path csiph.com!weretis.net!feeder4.news.weretis.net!news.unit0.net!news.panservice.it!bofh.it!news.nic.it!robomod
From arvind Yadav <arvind.yadav.cs@gmail.com>
Newsgroups linux.kernel
Subject Re: [v.3] clocksource:clps711x-timer:- Unmap a region obtained by remap.
Date Wed, 24 Aug 2016 16:40:02 +0200
Message-ID <s9Hvs-3yl-9@gated-at.bofh.it> (permalink)
References <s9Hc5-3pN-9@gated-at.bofh.it> <s9HlL-3tn-15@gated-at.bofh.it>
X-Original-To Daniel Lezcano <daniel.lezcano@linaro.org>, tglx@linutronix.de
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=idZ9l+SoWSUf45TLQtQnWKbcWcNBZwqZcFoW+x5zUNo=; b=YchlEseBiqxSJcy5vKEKp00SKdXcnT9k0HR/BAhbeNSMwGhpwYnX0WOQW8zfiejIps 0SOEOnIsxBXr5RL2mJyiJJ4jyAZUpk0OaVtAUvjqGEPt4ivYi7Ld/uwXcELp9XbBT8op TjoEZa05aQfWW1iG/I/qM2duyXTRTJ3LaXCg6mKrnmO/K+nGQ7juFOH6omseK9ZzDmAg rkBBgZELdUuLCehMXMeHhkHNGou/Y+yhBR4gAHqGWaFBmtVFLEGN6Q9s/dAAwdih5Xoy scjxHxkItHTsSr1qKehBNLOOgMB1GKW3pNLIH3OLZQtC2agnlKyiuKeAUaQpOJ432l07 Y0cw==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=idZ9l+SoWSUf45TLQtQnWKbcWcNBZwqZcFoW+x5zUNo=; b=itX/leNIPKbfDm8ogyI/0nMdUrWRvA6u50yPqFLyRTS8AxZOkDKxy++Os3c8+QKSZg IonYj6Upgb/gv7gtUQYfZGWsUuRYLSK6YNJ7G/0AGEdidEabFMh8n8Xl2E5E3JTZW7XS ldF/CGQj0rm/CTg0vig04O8/A5dK2H4nH4ekQYTpQ7bCMCeh9zQmuIG9isvfrr/twntz FgqIbHf7luoW4cBrgMH6xWX6sz5QUzkp/kJ5KHsmlV0wBFaR3TIlkg8i/7XYkiz7esYV gdInWlwOtIBUTEair43JxyHYPbXeJMBKktlKJUs2ciMcSVlOfvEM4d1gebv4Igup/ucV 0NgA==
X-Gm-Message-State AE9vXwPnr7XRUQPRH1wq6qHrOIWMWg6Icha0px9xTv9LprlpGrFJrkgv4Zu7fy30ej42cQ==
X-Received by 10.98.60.217 with SMTP id b86mr6266025pfk.129.1472049357590; Wed, 24 Aug 2016 07:35:57 -0700 (PDT)
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 95
Organization linux.* mail to news gateway
X-Original-Cc shc_work@mail.ru, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
X-Original-Date Wed, 24 Aug 2016 20:05:54 +0530
X-Original-Message-ID <2af1fb67-5e3e-24aa-8915-ff530375a65a@gmail.com>
X-Original-References <1472047821-5539-1-git-send-email-arvind.yadav.cs@gmail.com> <57BDAD4D.7060602@linaro.org>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1469493

Show key headers only | View raw


This clocksource(_clps711x_clksrc_init) initialization is not depend on irq.

We should check irq only for clockevent(_clps711x_clkevt_init) 
initialization.

In V2, I was checking irq for both the initialization.

--Arvind Y


On Wednesday 24 August 2016 07:51 PM, Daniel Lezcano wrote:
> On 08/24/2016 04:10 PM, Arvind Yadav wrote:
>> iounmap frees the mapping when timer id is not matching.
>>
>> Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
> What is the difference with the V2 ?
>
>> ---
>>   drivers/clocksource/clps711x-timer.c | 41 +++++++++++++++++++-----------------
>>   1 file changed, 22 insertions(+), 19 deletions(-)
>>
>> diff --git a/drivers/clocksource/clps711x-timer.c b/drivers/clocksource/clps711x-timer.c
>> index 24db6d6..784c000 100644
>> --- a/drivers/clocksource/clps711x-timer.c
>> +++ b/drivers/clocksource/clps711x-timer.c
>> @@ -33,14 +33,7 @@ static u64 notrace clps711x_sched_clock_read(void)
>>   
>>   static int __init _clps711x_clksrc_init(struct clk *clock, void __iomem *base)
>>   {
>> -	unsigned long rate;
>> -
>> -	if (!base)
>> -		return -ENOMEM;
>> -	if (IS_ERR(clock))
>> -		return PTR_ERR(clock);
>> -
>> -	rate = clk_get_rate(clock);
>> +	unsigned long rate = clk_get_rate(clock);
>>   
>>   	tcd = base;
>>   
>> @@ -67,13 +60,6 @@ static int __init _clps711x_clkevt_init(struct clk *clock, void __iomem *base,
>>   	struct clock_event_device *clkevt;
>>   	unsigned long rate;
>>   
>> -	if (!irq)
>> -		return -EINVAL;
>> -	if (!base)
>> -		return -ENOMEM;
>> -	if (IS_ERR(clock))
>> -		return PTR_ERR(clock);
>> -
>>   	clkevt = kzalloc(sizeof(*clkevt), GFP_KERNEL);
>>   	if (!clkevt)
>>   		return -ENOMEM;
>> @@ -106,16 +92,33 @@ void __init clps711x_clksrc_init(void __iomem *tc1_base, void __iomem *tc2_base,
>>   #ifdef CONFIG_CLKSRC_OF
>>   static int __init clps711x_timer_init(struct device_node *np)
>>   {
>> -	unsigned int irq = irq_of_parse_and_map(np, 0);
>> -	struct clk *clock = of_clk_get(np, 0);
>> -	void __iomem *base = of_iomap(np, 0);
>> +	unsigned int irq;
>> +	struct clk *clock;
>> +	void __iomem *base;
>> +	int ret;
>> +
>> +	clock = of_clk_get(np, 0);
>> +	if (IS_ERR(clock))
>> +		return PTR_ERR(clock);
>> +
>> +	base = of_iomap(np, 0);
>> +	if (!base)
>> +		return -ENOMEM;
>>   
>>   	switch (of_alias_get_id(np, "timer")) {
>>   	case CLPS711X_CLKSRC_CLOCKSOURCE:
>>   		return _clps711x_clksrc_init(clock, base);
>>   	case CLPS711X_CLKSRC_CLOCKEVENT:
>> -		return _clps711x_clkevt_init(clock, base, irq);
>> +		irq = irq_of_parse_and_map(np, 0);
>> +		if (!irq)
>> +			return -EINVAL;
>> +
>> +		ret = _clps711x_clkevt_init(clock, base, irq);
>> +		if (ret)
>> +			iounmap(base);
>> +		return ret;
>>   	default:
>> +		iounmap(base);
>>   		return -EINVAL;
>>   	}
>>   }
>>
>

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[v.3] clocksource:clps711x-timer:- Unmap a region obtained by remap. Arvind Yadav <arvind.yadav.cs@gmail.com> - 2016-08-24 16:20 +0200
  Re: [v.3] clocksource:clps711x-timer:- Unmap a region obtained by  remap. Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-08-24 16:30 +0200
    Re: [v.3] clocksource:clps711x-timer:- Unmap a region obtained by  remap. arvind Yadav <arvind.yadav.cs@gmail.com> - 2016-08-24 16:40 +0200

csiph-web