From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH v3 2/3] clocksource: Add NPS400 timers driver
Date: Tue, 9 Feb 2016 14:38:15 +0100 [thread overview]
Message-ID: <56B9EBC7.4010703@linaro.org> (raw)
In-Reply-To: <HE1PR02MB138769C4BA48A4D8884BC516D6D60@HE1PR02MB1387.eurprd02.prod.outlook.com>
On 02/09/2016 01:36 PM, Noam Camus wrote:
>> From: Daniel Lezcano [mailto:daniel.lezcano at linaro.org] Sent:
>> Monday, February 08, 2016 4:22 PM
>
>>> + ret = clk_prepare_enable(clk); + if (ret) + pr_err("Couldn't
>>> enable parent clock\n"); + + nps_timer_rate = clk_get_rate(clk);
>
>> If there is an error, you continue the execution of the code. I
>> guess you expect the system to hang in any case with the error in
>> the >console, right ?
>
> Since our clock is root then returned value will always be valid. I
> am far from being expert here, but no one checks for clk_get_rate()
> return value for error. Could you refer to a single place at
> clocksource drivers that checks for error in the return value.
Actually I was referring to clk_prepare_enable, clocksource_register_hz.
Agree clk_get_rate is always valid.
>>> + ret = clocksource_register_hz(clksrc, nps_timer_rate);
>
>> You can simplify the driver even more by using
>> clocksource_mmio_init.
> Since my base address depends on cluster number, which CPU is part
> of, this interface is not much of a use. On top of that it assumes
> that I am little endian by using readl family accessories.
Why can't you use ?
clocksource_mmio_init(nps_msu_reg_low_addr, "EZnps-tick",
nps_timer_rate, 32, nps_clksrc_read);
--
<http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Noam Camus <noamc@ezchip.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: "linux-snps-arc@lists.infradead.org"
<linux-snps-arc@lists.infradead.org>,
"marc.zyngier@arm.com" <marc.zyngier@arm.com>,
Chris Metcalf <cmetcalf@ezchip.com>, Tal Zilcer <talz@ezchip.com>,
Gilad Ben Yossef <giladb@ezchip.com>,
Rob Herring <robh+dt@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
John Stultz <john.stultz@linaro.org>
Subject: Re: [PATCH v3 2/3] clocksource: Add NPS400 timers driver
Date: Tue, 9 Feb 2016 14:38:15 +0100 [thread overview]
Message-ID: <56B9EBC7.4010703@linaro.org> (raw)
In-Reply-To: <HE1PR02MB138769C4BA48A4D8884BC516D6D60@HE1PR02MB1387.eurprd02.prod.outlook.com>
On 02/09/2016 01:36 PM, Noam Camus wrote:
>> From: Daniel Lezcano [mailto:daniel.lezcano@linaro.org] Sent:
>> Monday, February 08, 2016 4:22 PM
>
>>> + ret = clk_prepare_enable(clk); + if (ret) + pr_err("Couldn't
>>> enable parent clock\n"); + + nps_timer_rate = clk_get_rate(clk);
>
>> If there is an error, you continue the execution of the code. I
>> guess you expect the system to hang in any case with the error in
>> the >console, right ?
>
> Since our clock is root then returned value will always be valid. I
> am far from being expert here, but no one checks for clk_get_rate()
> return value for error. Could you refer to a single place at
> clocksource drivers that checks for error in the return value.
Actually I was referring to clk_prepare_enable, clocksource_register_hz.
Agree clk_get_rate is always valid.
>>> + ret = clocksource_register_hz(clksrc, nps_timer_rate);
>
>> You can simplify the driver even more by using
>> clocksource_mmio_init.
> Since my base address depends on cluster number, which CPU is part
> of, this interface is not much of a use. On top of that it assumes
> that I am little endian by using readl family accessories.
Why can't you use ?
clocksource_mmio_init(nps_msu_reg_low_addr, "EZnps-tick",
nps_timer_rate, 32, nps_clksrc_read);
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
next prev parent reply other threads:[~2016-02-09 13:38 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-02 13:14 [PATCH v2 0/3] Adding NPS400 drivers Noam Camus
2016-02-02 13:14 ` Noam Camus
2016-02-02 13:14 ` [PATCH v2 1/3] soc: Support for EZchip SoC Noam Camus
2016-02-02 13:14 ` Noam Camus
2016-02-02 13:14 ` [PATCH v2 2/3] clocksource: Add NPS400 timers driver Noam Camus
2016-02-02 13:14 ` Noam Camus
2016-02-02 14:36 ` kbuild test robot
2016-02-02 14:36 ` kbuild test robot
2016-02-02 13:14 ` [PATCH v2 3/3] irqchip: add nps Internal and external irqchips Noam Camus
2016-02-02 13:14 ` Noam Camus
2016-02-02 13:35 ` Thomas Gleixner
2016-02-02 13:35 ` Thomas Gleixner
2016-02-02 20:40 ` kbuild test robot
2016-02-02 20:40 ` kbuild test robot
2016-02-06 16:16 ` [PATCH v3 0/3] Adding NPS400 drivers Noam Camus
2016-02-06 16:16 ` Noam Camus
2016-02-11 3:02 ` [PATCH v4 " Noam Camus
2016-02-11 3:02 ` Noam Camus
2016-02-11 18:40 ` [PATCH v5 " Noam Camus
2016-02-11 18:40 ` Noam Camus
2016-02-17 7:05 ` Noam Camus
2016-02-17 7:05 ` Noam Camus
2016-02-11 18:40 ` [PATCH v5 1/3] soc: Support for EZchip SoC Noam Camus
2016-02-11 18:40 ` Noam Camus
2016-02-11 18:40 ` [PATCH v5 2/3] clocksource: Add NPS400 timers driver Noam Camus
2016-02-11 18:40 ` Noam Camus
2016-02-11 20:29 ` Daniel Lezcano
2016-02-11 20:29 ` Daniel Lezcano
2016-02-11 18:40 ` [PATCH v5 3/3] irqchip: add nps Internal and external irqchips Noam Camus
2016-02-11 18:40 ` Noam Camus
2016-02-19 14:03 ` Jason Cooper
2016-02-19 14:03 ` Jason Cooper
2016-02-19 14:42 ` Noam Camus
2016-02-19 14:42 ` Noam Camus
2016-02-11 3:02 ` [PATCH v4 1/3] soc: Support for EZchip SoC Noam Camus
2016-02-11 3:02 ` Noam Camus
2016-02-11 3:02 ` [PATCH v4 2/3] clocksource: Add NPS400 timers driver Noam Camus
2016-02-11 3:02 ` Noam Camus
2016-02-11 8:18 ` Daniel Lezcano
2016-02-11 8:18 ` Daniel Lezcano
2016-02-11 3:02 ` [PATCH v4 3/3] irqchip: add nps Internal and external irqchips Noam Camus
2016-02-11 3:02 ` Noam Camus
2016-02-06 16:16 ` [PATCH v3 1/3] soc: Support for EZchip SoC Noam Camus
2016-02-06 16:16 ` Noam Camus
2016-02-06 16:16 ` [PATCH v3 2/3] clocksource: Add NPS400 timers driver Noam Camus
2016-02-06 16:16 ` Noam Camus
2016-02-08 14:21 ` Daniel Lezcano
2016-02-08 14:21 ` Daniel Lezcano
2016-02-09 12:36 ` Noam Camus
2016-02-09 12:36 ` Noam Camus
2016-02-09 13:38 ` Daniel Lezcano [this message]
2016-02-09 13:38 ` Daniel Lezcano
2016-02-09 21:47 ` Noam Camus
2016-02-09 21:47 ` Noam Camus
2016-02-09 22:55 ` Daniel Lezcano
2016-02-09 22:55 ` Daniel Lezcano
2016-02-10 8:01 ` Noam Camus
2016-02-10 8:01 ` Noam Camus
2016-02-06 16:16 ` [PATCH v3 3/3] irqchip: add nps Internal and external irqchips Noam Camus
2016-02-06 16:16 ` Noam Camus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56B9EBC7.4010703@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=linux-snps-arc@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.