All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Ferre <nicolas.ferre@atmel.com>
To: Boris BREZILLON <boris.brezillon@free-electrons.com>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	"Jean-Christophe Plagniol-Villard" <plagnioj@jcrosoft.com>,
	Andrew Victor <linux@maxim.org.za>,
	Alessandro Zummo <a.zummo@towertech.it>,
	<rtc-linux@googlegroups.com>, "Rob Herring" <robh+dt@kernel.org>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	"Kumar Gala" <galak@codeaurora.org>, <devicetree@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 4/5] rtc: at91sam9: retain slow clock and check its rate
Date: Tue, 9 Sep 2014 10:36:39 +0200	[thread overview]
Message-ID: <540EBC17.50407@atmel.com> (raw)
In-Reply-To: <20140908213743.27d7a1bc@bbrezillon>

On 08/09/2014 21:37, Boris BREZILLON :
> On Mon, 8 Sep 2014 21:22:18 +0200
> Boris BREZILLON <boris.brezillon@free-electrons.com> wrote:
> 
>> On Mon, 8 Sep 2014 19:33:38 +0200
>> Alexandre Belloni <alexandre.belloni@free-electrons.com> wrote:
>>
>>> On 03/09/2014 at 10:45:33 +0200, Boris Brezillon wrote :
>>>> The RTT block is using the slow clock and expect it to run at 32KHz.
>>>> Now that we moved to the CCF it's better to retain the clk reference so
>>>> that the CCF can't disable the slow clock considering it is unused.
>>>>
>>>> Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
>>>> ---
>>>>  drivers/rtc/rtc-at91sam9.c | 24 ++++++++++++++++++++++++
>>>>  1 file changed, 24 insertions(+)
>>>>
>>>> diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
>>>> index 57014b7..5c5093b 100644
>>>> --- a/drivers/rtc/rtc-at91sam9.c
>>>> +++ b/drivers/rtc/rtc-at91sam9.c
>>>> @@ -21,6 +21,7 @@
>>>>  #include <linux/slab.h>
>>>>  #include <linux/platform_data/atmel.h>
>>>>  #include <linux/io.h>
>>>> +#include <linux/clk.h>
>>>>  
>>>>  /*
>>>>   * This driver uses two configurable hardware resources that live in the
>>>> @@ -74,6 +75,7 @@ struct sam9_rtc {
>>>>  	u32			imr;
>>>>  	void __iomem		*gpbr;
>>>>  	int 			irq;
>>>> +	struct clk		*sclk;
>>>>  };
>>>>  
>>>>  #define rtt_readl(rtc, field) \
>>>> @@ -373,6 +375,25 @@ static int at91_rtc_probe(struct platform_device *pdev)
>>>>  		return ret;
>>>>  	}
>>>>  
>>>> +	/* Retain slow clk if it is specified in the DT.
>>>> +	 * Do not complain if slow clk is missing, but check its rate
>>>> +	 * if it is available.
>>>> +	 */
>>>> +	rtc->sclk = devm_clk_get(&pdev->dev, NULL);
>>>> +	if (!IS_ERR(rtc->sclk)) {
>>>> +		if (clk_get_rate(rtc->sclk) != AT91_SLOW_CLOCK) {
>>>
>>> I would not bother doing that check but use the value for MR instead of
>>> AT91_SLOW_CLOCK (see my previous mail).
>>
>> Unfortunately, we can't get rid of this macro without modifying the
>> clk_lookup table in several arch/arm/mach-at91/<soc-name>.c files in
>> order to handle non DT/CCF cases (which will remain until all non DT
>> boards are moved to DT).
> 
> After taking a closer look at what should be modified, I think it's
> worth it: there's only 5 impacted files (at91sam9260.c, at91sam9261.c,
> at91sam9263.c, at91sam9rl.c and at91sam9g45.c) and adding a clk_lookup
> entry is pretty easy.
> 
> Moreover we'll end up with a clean driver and won't have to bother
> about cleaning it up when dropping non DT boards support.

I vote for this => +1 ;-)

Bye,
-- 
Nicolas Ferre

WARNING: multiple messages have this Message-ID (diff)
From: nicolas.ferre@atmel.com (Nicolas Ferre)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/5] rtc: at91sam9: retain slow clock and check its rate
Date: Tue, 9 Sep 2014 10:36:39 +0200	[thread overview]
Message-ID: <540EBC17.50407@atmel.com> (raw)
In-Reply-To: <20140908213743.27d7a1bc@bbrezillon>

On 08/09/2014 21:37, Boris BREZILLON :
> On Mon, 8 Sep 2014 21:22:18 +0200
> Boris BREZILLON <boris.brezillon@free-electrons.com> wrote:
> 
>> On Mon, 8 Sep 2014 19:33:38 +0200
>> Alexandre Belloni <alexandre.belloni@free-electrons.com> wrote:
>>
>>> On 03/09/2014 at 10:45:33 +0200, Boris Brezillon wrote :
>>>> The RTT block is using the slow clock and expect it to run at 32KHz.
>>>> Now that we moved to the CCF it's better to retain the clk reference so
>>>> that the CCF can't disable the slow clock considering it is unused.
>>>>
>>>> Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
>>>> ---
>>>>  drivers/rtc/rtc-at91sam9.c | 24 ++++++++++++++++++++++++
>>>>  1 file changed, 24 insertions(+)
>>>>
>>>> diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
>>>> index 57014b7..5c5093b 100644
>>>> --- a/drivers/rtc/rtc-at91sam9.c
>>>> +++ b/drivers/rtc/rtc-at91sam9.c
>>>> @@ -21,6 +21,7 @@
>>>>  #include <linux/slab.h>
>>>>  #include <linux/platform_data/atmel.h>
>>>>  #include <linux/io.h>
>>>> +#include <linux/clk.h>
>>>>  
>>>>  /*
>>>>   * This driver uses two configurable hardware resources that live in the
>>>> @@ -74,6 +75,7 @@ struct sam9_rtc {
>>>>  	u32			imr;
>>>>  	void __iomem		*gpbr;
>>>>  	int 			irq;
>>>> +	struct clk		*sclk;
>>>>  };
>>>>  
>>>>  #define rtt_readl(rtc, field) \
>>>> @@ -373,6 +375,25 @@ static int at91_rtc_probe(struct platform_device *pdev)
>>>>  		return ret;
>>>>  	}
>>>>  
>>>> +	/* Retain slow clk if it is specified in the DT.
>>>> +	 * Do not complain if slow clk is missing, but check its rate
>>>> +	 * if it is available.
>>>> +	 */
>>>> +	rtc->sclk = devm_clk_get(&pdev->dev, NULL);
>>>> +	if (!IS_ERR(rtc->sclk)) {
>>>> +		if (clk_get_rate(rtc->sclk) != AT91_SLOW_CLOCK) {
>>>
>>> I would not bother doing that check but use the value for MR instead of
>>> AT91_SLOW_CLOCK (see my previous mail).
>>
>> Unfortunately, we can't get rid of this macro without modifying the
>> clk_lookup table in several arch/arm/mach-at91/<soc-name>.c files in
>> order to handle non DT/CCF cases (which will remain until all non DT
>> boards are moved to DT).
> 
> After taking a closer look at what should be modified, I think it's
> worth it: there's only 5 impacted files (at91sam9260.c, at91sam9261.c,
> at91sam9263.c, at91sam9rl.c and at91sam9g45.c) and adding a clk_lookup
> entry is pretty easy.
> 
> Moreover we'll end up with a clean driver and won't have to bother
> about cleaning it up when dropping non DT boards support.

I vote for this => +1 ;-)

Bye,
-- 
Nicolas Ferre

WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Ferre <nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
To: Boris BREZILLON
	<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: Alexandre Belloni
	<alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Jean-Christophe Plagniol-Villard
	<plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>,
	Andrew Victor <linux-PelNFVqkFnVyf+4FbqDuWQ@public.gmane.org>,
	Alessandro Zummo
	<a.zummo-BfzFCNDTiLLj+vYz1yj4TQ@public.gmane.org>,
	rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 4/5] rtc: at91sam9: retain slow clock and check its rate
Date: Tue, 9 Sep 2014 10:36:39 +0200	[thread overview]
Message-ID: <540EBC17.50407@atmel.com> (raw)
In-Reply-To: <20140908213743.27d7a1bc@bbrezillon>

On 08/09/2014 21:37, Boris BREZILLON :
> On Mon, 8 Sep 2014 21:22:18 +0200
> Boris BREZILLON <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
> 
>> On Mon, 8 Sep 2014 19:33:38 +0200
>> Alexandre Belloni <alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
>>
>>> On 03/09/2014 at 10:45:33 +0200, Boris Brezillon wrote :
>>>> The RTT block is using the slow clock and expect it to run at 32KHz.
>>>> Now that we moved to the CCF it's better to retain the clk reference so
>>>> that the CCF can't disable the slow clock considering it is unused.
>>>>
>>>> Signed-off-by: Boris BREZILLON <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
>>>> ---
>>>>  drivers/rtc/rtc-at91sam9.c | 24 ++++++++++++++++++++++++
>>>>  1 file changed, 24 insertions(+)
>>>>
>>>> diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
>>>> index 57014b7..5c5093b 100644
>>>> --- a/drivers/rtc/rtc-at91sam9.c
>>>> +++ b/drivers/rtc/rtc-at91sam9.c
>>>> @@ -21,6 +21,7 @@
>>>>  #include <linux/slab.h>
>>>>  #include <linux/platform_data/atmel.h>
>>>>  #include <linux/io.h>
>>>> +#include <linux/clk.h>
>>>>  
>>>>  /*
>>>>   * This driver uses two configurable hardware resources that live in the
>>>> @@ -74,6 +75,7 @@ struct sam9_rtc {
>>>>  	u32			imr;
>>>>  	void __iomem		*gpbr;
>>>>  	int 			irq;
>>>> +	struct clk		*sclk;
>>>>  };
>>>>  
>>>>  #define rtt_readl(rtc, field) \
>>>> @@ -373,6 +375,25 @@ static int at91_rtc_probe(struct platform_device *pdev)
>>>>  		return ret;
>>>>  	}
>>>>  
>>>> +	/* Retain slow clk if it is specified in the DT.
>>>> +	 * Do not complain if slow clk is missing, but check its rate
>>>> +	 * if it is available.
>>>> +	 */
>>>> +	rtc->sclk = devm_clk_get(&pdev->dev, NULL);
>>>> +	if (!IS_ERR(rtc->sclk)) {
>>>> +		if (clk_get_rate(rtc->sclk) != AT91_SLOW_CLOCK) {
>>>
>>> I would not bother doing that check but use the value for MR instead of
>>> AT91_SLOW_CLOCK (see my previous mail).
>>
>> Unfortunately, we can't get rid of this macro without modifying the
>> clk_lookup table in several arch/arm/mach-at91/<soc-name>.c files in
>> order to handle non DT/CCF cases (which will remain until all non DT
>> boards are moved to DT).
> 
> After taking a closer look at what should be modified, I think it's
> worth it: there's only 5 impacted files (at91sam9260.c, at91sam9261.c,
> at91sam9263.c, at91sam9rl.c and at91sam9g45.c) and adding a clk_lookup
> entry is pretty easy.
> 
> Moreover we'll end up with a clean driver and won't have to bother
> about cleaning it up when dropping non DT boards support.

I vote for this => +1 ;-)

Bye,
-- 
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2014-09-09  8:36 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-03  8:45 [PATCH 0/5] rtc: at91sam9: add DT support Boris BREZILLON
2014-09-03  8:45 ` Boris BREZILLON
2014-09-03  8:45 ` Boris BREZILLON
2014-09-03  8:45 ` [PATCH 1/5] rtc: at91sam9: remove references to mach specific headers Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-08 17:32   ` Alexandre Belloni
2014-09-08 17:32     ` Alexandre Belloni
2014-09-08 17:32     ` Alexandre Belloni
2014-09-03  8:45 ` [PATCH 2/5] rtc: at91sam9: use standard readl/writel functions instead of raw versions Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-03  8:45 ` [PATCH 3/5] rtc: at91sam9: add DT support Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-03  8:45 ` [PATCH 4/5] rtc: at91sam9: retain slow clock and check its rate Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-08 17:33   ` Alexandre Belloni
2014-09-08 17:33     ` Alexandre Belloni
2014-09-08 17:33     ` Alexandre Belloni
2014-09-08 19:22     ` Boris BREZILLON
2014-09-08 19:22       ` Boris BREZILLON
2014-09-08 19:37       ` Boris BREZILLON
2014-09-08 19:37         ` Boris BREZILLON
2014-09-08 19:37         ` Boris BREZILLON
2014-09-09  8:36         ` Nicolas Ferre [this message]
2014-09-09  8:36           ` Nicolas Ferre
2014-09-09  8:36           ` Nicolas Ferre
2014-09-03  8:45 ` [PATCH 5/5] rtc: at91sam9: add DT bindings documentation Boris BREZILLON
2014-09-03  8:45   ` Boris BREZILLON
2014-09-10 12:14   ` Johan Hovold
2014-09-10 12:14     ` Johan Hovold
2014-09-10 12:14     ` Johan Hovold
2014-09-10 12:43     ` Boris BREZILLON
2014-09-10 12:43       ` Boris BREZILLON
2014-09-10 12:43       ` Boris BREZILLON
2014-09-10 13:16       ` Johan Hovold
2014-09-10 13:16         ` Johan Hovold
2014-09-10 13:16         ` Johan Hovold
2014-09-10 13:20     ` Boris BREZILLON
2014-09-10 13:20       ` Boris BREZILLON
2014-09-10 13:20       ` Boris BREZILLON
2014-09-10 15:07       ` Johan Hovold
2014-09-10 15:07         ` Johan Hovold
2014-09-10 15:07         ` Johan Hovold
2014-09-10 15:31         ` Boris BREZILLON
2014-09-10 15:31           ` Boris BREZILLON
2014-09-10 15:52           ` Johan Hovold
2014-09-10 15:52             ` Johan Hovold
2014-09-10 15:52             ` Johan Hovold
2014-09-10 16:55             ` Nicolas Ferre
2014-09-10 16:55               ` Nicolas Ferre
2014-09-10 16:55               ` Nicolas Ferre
2014-09-10 15:35         ` Boris BREZILLON
2014-09-10 15:35           ` Boris BREZILLON
2014-09-10 15:35           ` Boris BREZILLON
2014-09-10 15:57           ` Johan Hovold
2014-09-10 15:57             ` Johan Hovold
2014-09-03  9:31 ` [PATCH 0/5] rtc: at91sam9: add DT support Boris BREZILLON
2014-09-03  9:31   ` Boris BREZILLON
2014-09-03  9:31   ` Boris BREZILLON

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=540EBC17.50407@atmel.com \
    --to=nicolas.ferre@atmel.com \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=boris.brezillon@free-electrons.com \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@maxim.org.za \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=plagnioj@jcrosoft.com \
    --cc=robh+dt@kernel.org \
    --cc=rtc-linux@googlegroups.com \
    /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.