From: nicolas.ferre@atmel.com (Nicolas Ferre)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2] rtc: rtc-at91rm9200: manage IMR depending on revision
Date: Wed, 3 Apr 2013 12:37:47 +0200 [thread overview]
Message-ID: <515C067B.6070503@atmel.com> (raw)
In-Reply-To: <20130403095150.GC27600@localhost>
On 04/03/2013 11:51 AM, Johan Hovold :
> On Tue, Apr 02, 2013 at 06:36:06PM +0200, Nicolas Ferre wrote:
>> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
>> ---
>> Hi again,
>>
>> Here is my latest revision of this fix. It depends on the patch that is already
>> in Andrew's patch stack: "drivers-rtc-rtc-at91rm9200c-add-dt-support.patch".
>
> That is a problem, as the patch in Andrew's stack is not (and should
> not) be marked for stable. Hence this patch cannot be applied to the
> stable trees and it won't even apply to 3.9-rc.
My intentions were to tag both patches for "stable". You highlight that
it is not a good practice: I admit that you are right.
> But there's more: The offending patch introduced the races we have been
> discussion while attempting to add support for the sam9x5 with the
> broken hardware register. But that family cannot be used without
> DT-support, which the driver currently does not support. Hence, we added
> a workaround (and introduced a regression by mistake), while adding
> support for a SoC which still could not use the driver. [ For example,
> the sam9x5 RTC-base register address can only be supplied from DT. ]
>
> I think the only reasonable thing to do is to revert the patch and add
> whatever version of the work-around on top of the device-tree support
> when that is added to the driver (hence, earliest v3.10).
Yes. Let's do this.
>> I now use a different compatibility string to figure out what is the IP
>> revision that has the "boggus IMR" error. I think this way to handle it
>> is much simpler than the "config" structure one from Johan.
>
> I wouldn't say it's much simpler. My solution is only more generic, but
> could of course also be reduced to "set a flag if compatible matches
> sam9x5".
The advantage is precisely to avoid the need for a "flag". Only function
pointers that are changed in case of the compatible string matching.
>> The small number of line changed and the "single patch" nature of it
>> make me think that it will be easier to send upstream and in the
>> "stable" trees...
>
> Unfortunately, the 130-line diff isn't very small. In fact, it violates
> the stable-kernel guide line of <100 lines. And as noted above, it
> depends on another patch which adds DT-support (which is a new feature
> and not a fix).
>
> But the fundamental problem remains: it does not fix anything which was
> working before the first work-around patch introduced the regression. I
> think this is a clear case where we need to revert.
Okay.
>> Please give feedback, but moreover, I would like to know if you (Johan and Douglas)
>> agree to give your "Signed-off-by" line because this patch is certainly
>> inspired by your comments, code and reviews.
>>
>> Thank you for your help. Best regards,
>>
>> .../bindings/rtc/atmel,at91rm9200-rtc.txt | 3 +-
>> drivers/rtc/rtc-at91rm9200.c | 126 ++++++++++++++++-----
>> drivers/rtc/rtc-at91rm9200.h | 1 +
>> 3 files changed, 101 insertions(+), 29 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt
>> index 2a3feab..9b87053 100644
>> --- a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt
>> +++ b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt
>> @@ -1,7 +1,8 @@
>> Atmel AT91RM9200 Real Time Clock
>>
>> Required properties:
>> -- compatible: should be: "atmel,at91rm9200-rtc"
>> +- compatible: should be: "atmel,at91rm9200-rtc", "atmel,at91sam9x5-rtc" or
>> + "atmel,at91sam9n12-rtc".
>
> Also at91sam9g45 and at91sam9rl use this driver.
Yes, sure, I did not want to add every single user of the RTC...
> As seems to be the case
> for other peripherals, I suggest we use "atmel,at91sam9x5-rtc" for
> sam9x5 and "atmel,at91rm9200-rtc" for the other SoCs, that is, the least
> (and first) common denominator.
... I was just following the habit of naming the changes in peripheral
revision by it first use in a SoC:
at91rm9200-rtc: from rm9200 up to 9g45
at91sam9x5-rtc: sam9x5 only (with IMR issue)
at91sam9n12-rtc: fist SoC that corrects the IMR issue with a new IP
revision, until now and sama5d3 SoC
> Either way, there's not need to add at91sam9n12-rtc in this patch.
>
>> - reg: physical base address of the controller and length of memory mapped
>> region.
>> - interrupts: rtc alarm/event interrupt
>
> I'll respond to this mail with a revert-patch, and an updated RFC-series
> based on top of the DT-patch in Andrew's queue.
Best regards,
--
Nicolas Ferre
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Ferre <nicolas.ferre@atmel.com>
To: Johan Hovold <jhovold@gmail.com>
Cc: <linux-arm-kernel@lists.infradead.org>, <dgilbert@interlog.com>,
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>,
Ludovic Desroches <ludovic.desroches@atmel.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH v2] rtc: rtc-at91rm9200: manage IMR depending on revision
Date: Wed, 3 Apr 2013 12:37:47 +0200 [thread overview]
Message-ID: <515C067B.6070503@atmel.com> (raw)
In-Reply-To: <20130403095150.GC27600@localhost>
On 04/03/2013 11:51 AM, Johan Hovold :
> On Tue, Apr 02, 2013 at 06:36:06PM +0200, Nicolas Ferre wrote:
>> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
>> ---
>> Hi again,
>>
>> Here is my latest revision of this fix. It depends on the patch that is already
>> in Andrew's patch stack: "drivers-rtc-rtc-at91rm9200c-add-dt-support.patch".
>
> That is a problem, as the patch in Andrew's stack is not (and should
> not) be marked for stable. Hence this patch cannot be applied to the
> stable trees and it won't even apply to 3.9-rc.
My intentions were to tag both patches for "stable". You highlight that
it is not a good practice: I admit that you are right.
> But there's more: The offending patch introduced the races we have been
> discussion while attempting to add support for the sam9x5 with the
> broken hardware register. But that family cannot be used without
> DT-support, which the driver currently does not support. Hence, we added
> a workaround (and introduced a regression by mistake), while adding
> support for a SoC which still could not use the driver. [ For example,
> the sam9x5 RTC-base register address can only be supplied from DT. ]
>
> I think the only reasonable thing to do is to revert the patch and add
> whatever version of the work-around on top of the device-tree support
> when that is added to the driver (hence, earliest v3.10).
Yes. Let's do this.
>> I now use a different compatibility string to figure out what is the IP
>> revision that has the "boggus IMR" error. I think this way to handle it
>> is much simpler than the "config" structure one from Johan.
>
> I wouldn't say it's much simpler. My solution is only more generic, but
> could of course also be reduced to "set a flag if compatible matches
> sam9x5".
The advantage is precisely to avoid the need for a "flag". Only function
pointers that are changed in case of the compatible string matching.
>> The small number of line changed and the "single patch" nature of it
>> make me think that it will be easier to send upstream and in the
>> "stable" trees...
>
> Unfortunately, the 130-line diff isn't very small. In fact, it violates
> the stable-kernel guide line of <100 lines. And as noted above, it
> depends on another patch which adds DT-support (which is a new feature
> and not a fix).
>
> But the fundamental problem remains: it does not fix anything which was
> working before the first work-around patch introduced the regression. I
> think this is a clear case where we need to revert.
Okay.
>> Please give feedback, but moreover, I would like to know if you (Johan and Douglas)
>> agree to give your "Signed-off-by" line because this patch is certainly
>> inspired by your comments, code and reviews.
>>
>> Thank you for your help. Best regards,
>>
>> .../bindings/rtc/atmel,at91rm9200-rtc.txt | 3 +-
>> drivers/rtc/rtc-at91rm9200.c | 126 ++++++++++++++++-----
>> drivers/rtc/rtc-at91rm9200.h | 1 +
>> 3 files changed, 101 insertions(+), 29 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt
>> index 2a3feab..9b87053 100644
>> --- a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt
>> +++ b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.txt
>> @@ -1,7 +1,8 @@
>> Atmel AT91RM9200 Real Time Clock
>>
>> Required properties:
>> -- compatible: should be: "atmel,at91rm9200-rtc"
>> +- compatible: should be: "atmel,at91rm9200-rtc", "atmel,at91sam9x5-rtc" or
>> + "atmel,at91sam9n12-rtc".
>
> Also at91sam9g45 and at91sam9rl use this driver.
Yes, sure, I did not want to add every single user of the RTC...
> As seems to be the case
> for other peripherals, I suggest we use "atmel,at91sam9x5-rtc" for
> sam9x5 and "atmel,at91rm9200-rtc" for the other SoCs, that is, the least
> (and first) common denominator.
... I was just following the habit of naming the changes in peripheral
revision by it first use in a SoC:
at91rm9200-rtc: from rm9200 up to 9g45
at91sam9x5-rtc: sam9x5 only (with IMR issue)
at91sam9n12-rtc: fist SoC that corrects the IMR issue with a new IP
revision, until now and sama5d3 SoC
> Either way, there's not need to add at91sam9n12-rtc in this patch.
>
>> - reg: physical base address of the controller and length of memory mapped
>> region.
>> - interrupts: rtc alarm/event interrupt
>
> I'll respond to this mail with a revert-patch, and an updated RFC-series
> based on top of the DT-patch in Andrew's queue.
Best regards,
--
Nicolas Ferre
next prev parent reply other threads:[~2013-04-03 10:37 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-29 16:03 [RFC 1/5] rtc-at91rm9200: add configuration support Johan Hovold
2013-03-29 16:03 ` Johan Hovold
2013-03-29 16:03 ` [RFC 2/5] rtc-at91rm9200: add device-tree support Johan Hovold
2013-03-29 16:12 ` Johan Hovold
2013-03-29 16:12 ` Johan Hovold
2013-03-29 16:03 ` [RFC 3/5] rtc-at91rm9200: refactor interrupt-register handling Johan Hovold
2013-03-29 16:03 ` [RFC 4/5] rtc-at91rm9200: add shadow interrupt mask Johan Hovold
2013-03-29 16:03 ` [RFC 5/5] rtc-at91rm9200: add support for at91sam9x5 Johan Hovold
2013-03-29 16:39 ` Douglas Gilbert
2013-03-29 16:39 ` Douglas Gilbert
2013-04-02 13:06 ` [RFC PATCH] rtc: rtc-at91rm9200: manage IMR depending on revision Nicolas Ferre
2013-04-02 13:06 ` Nicolas Ferre
2013-04-02 15:32 ` Douglas Gilbert
2013-04-02 15:32 ` Douglas Gilbert
2013-04-02 16:28 ` Nicolas Ferre
2013-04-02 16:28 ` Nicolas Ferre
2013-04-02 16:36 ` [RFC PATCH v2] " Nicolas Ferre
2013-04-02 16:36 ` Nicolas Ferre
2013-04-03 9:51 ` Johan Hovold
2013-04-03 9:51 ` Johan Hovold
2013-04-03 9:54 ` [PATCH] Revert "drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR" Johan Hovold
2013-04-03 9:54 ` Johan Hovold
2013-04-03 10:03 ` [RFC v2 0/4] rtc-at91rm9200: add support for at91sam9x5 Johan Hovold
2013-04-03 10:03 ` [RFC v2 1/4] rtc-at91rm9200: add configuration support Johan Hovold
2013-04-03 10:03 ` [RFC v2 2/4] rtc-at91rm9200: refactor interrupt-register handling Johan Hovold
2013-04-03 10:03 ` [RFC v2 3/4] rtc-at91rm9200: add shadow interrupt mask Johan Hovold
2013-04-03 10:03 ` [RFC v2 4/4] rtc-at91rm9200: add support for at91sam9x5 Johan Hovold
2013-05-23 8:38 ` [PATCH v3 0/5] rtc-at91rm9200: add shadow interrupt mask Johan Hovold
2013-05-23 8:38 ` Johan Hovold
2013-05-23 8:38 ` [PATCH v3 1/5] rtc-at91rm9200: add match-table compile guard Johan Hovold
2013-05-23 8:38 ` Johan Hovold
2013-05-23 8:38 ` [PATCH v3 2/5] rtc-at91rm9200: add configuration support Johan Hovold
2013-05-23 8:38 ` Johan Hovold
2013-05-23 8:38 ` [PATCH v3 3/5] rtc-at91rm9200: refactor interrupt-register handling Johan Hovold
2013-05-23 8:38 ` Johan Hovold
2013-05-23 8:38 ` [PATCH v3 4/5] rtc-at91rm9200: add shadow interrupt mask Johan Hovold
2013-05-23 8:38 ` Johan Hovold
2013-05-23 8:38 ` [PATCH v3 5/5] rtc-at91rm9200: use shadow IMR on at91sam9x5 Johan Hovold
2013-05-23 8:38 ` Johan Hovold
2013-05-29 20:33 ` [PATCH v3 0/5] rtc-at91rm9200: add shadow interrupt mask Andrew Morton
2013-05-29 20:33 ` Andrew Morton
2013-05-29 20:41 ` Robert Nelson
2013-05-29 20:41 ` Robert Nelson
2013-05-29 23:22 ` Douglas Gilbert
2013-05-29 23:22 ` Douglas Gilbert
2013-05-30 8:18 ` Nicolas Ferre
2013-05-30 8:18 ` Nicolas Ferre
2013-05-30 7:50 ` Nicolas Ferre
2013-05-30 7:50 ` Nicolas Ferre
2013-05-30 19:36 ` Andrew Morton
2013-05-30 19:36 ` Andrew Morton
2013-05-30 23:17 ` Douglas Gilbert
2013-05-30 23:17 ` Douglas Gilbert
2013-05-31 7:54 ` Nicolas Ferre
2013-05-31 7:54 ` Nicolas Ferre
2013-05-30 7:41 ` Nicolas Ferre
2013-05-30 7:41 ` Nicolas Ferre
2013-04-03 10:18 ` [PATCH] Revert "drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR" Nicolas Ferre
2013-04-03 10:18 ` Nicolas Ferre
2013-04-05 14:14 ` Nicolas Ferre
2013-04-05 14:14 ` Nicolas Ferre
2013-04-05 15:35 ` Greg KH
2013-04-05 15:35 ` Greg KH
2013-04-05 16:16 ` Nicolas Ferre
2013-04-05 16:16 ` Nicolas Ferre
2013-04-03 10:37 ` Nicolas Ferre [this message]
2013-04-03 10:37 ` [RFC PATCH v2] rtc: rtc-at91rm9200: manage IMR depending on revision Nicolas Ferre
2013-04-03 13:46 ` Johan Hovold
2013-04-03 13:46 ` Johan Hovold
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=515C067B.6070503@atmel.com \
--to=nicolas.ferre@atmel.com \
--cc=linux-arm-kernel@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.