From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932148AbcF2QLY (ORCPT ); Wed, 29 Jun 2016 12:11:24 -0400 Received: from mail-wm0-f44.google.com ([74.125.82.44]:35355 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753136AbcF2QLV (ORCPT ); Wed, 29 Jun 2016 12:11:21 -0400 Subject: Re: [PATCH 3/6] Clocksource: add nuc970 clocksource driver To: Wan Zongshun References: <1466851042-22239-1-git-send-email-vw@iommu.org> <1466851042-22239-4-git-send-email-vw@iommu.org> <4184925.Jh1dkPbmzX@wuerfel> Cc: Arnd Bergmann , linux-arm-kernel@lists.infradead.org, Russell King , devicetree@vger.kernel.org, Thomas Gleixner , linux-kernel@vger.kernel.org, Wan Zongshun From: Daniel Lezcano Message-ID: <5773F30F.3020201@linaro.org> Date: Wed, 29 Jun 2016 18:10:55 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <4184925.Jh1dkPbmzX@wuerfel> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/29/2016 05:25 PM, Arnd Bergmann wrote: > On Saturday, June 25, 2016 6:37:19 PM CEST Wan Zongshun wrote: >> This patch is to add nuc970 clocksource driver support. >> >> Signed-off-by: Wan Zongshun >> --- >> .../mach-w90x900/include/mach/nuc970-regs-timer.h | 44 +++++ >> drivers/clocksource/Kconfig | 8 + >> drivers/clocksource/Makefile | 1 + >> drivers/clocksource/timer-nuc900.c | 207 +++++++++++++++++++++ >> 4 files changed, 260 insertions(+) >> create mode 100644 arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h >> create mode 100644 drivers/clocksource/timer-nuc900.c >> >> diff --git a/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h b/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h >> new file mode 100644 >> index 0000000..43d7e8b >> --- /dev/null >> +++ b/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h > > Please move the contents of the header file into the driver. We try to not > have any new mach/*.h headers. > >> + >> +static unsigned int timer0_load; >> +static void __iomem *tmr_base; >> + >> +static int nuc970_clockevent_set_oneshot(struct clock_event_device *evt) >> +{ >> + unsigned int val; >> + >> + val = __raw_readl(tmr_base + REG_TMR_TCSR0); >> + val &= ~(0x03 << 27); >> + >> + val |= (ONESHOT | COUNTEN | INTEN | PRESCALE); >> + >> + __raw_writel(val, tmr_base + REG_TMR_TCSR0); >> + return 0; >> +} >> + > > writel() instead of __raw_writel() Wan Zongshun, FYI : https://lkml.org/lkml/2015/12/18/422 Not sure it does a noticeable difference on arm926. Thanks Arnd for the clarification. -- Daniel -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Lezcano Subject: Re: [PATCH 3/6] Clocksource: add nuc970 clocksource driver Date: Wed, 29 Jun 2016 18:10:55 +0200 Message-ID: <5773F30F.3020201@linaro.org> References: <1466851042-22239-1-git-send-email-vw@iommu.org> <1466851042-22239-4-git-send-email-vw@iommu.org> <4184925.Jh1dkPbmzX@wuerfel> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <4184925.Jh1dkPbmzX@wuerfel> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Wan Zongshun Cc: devicetree@vger.kernel.org, Wan Zongshun , Arnd Bergmann , linux-kernel@vger.kernel.org, Russell King , Thomas Gleixner , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org T24gMDYvMjkvMjAxNiAwNToyNSBQTSwgQXJuZCBCZXJnbWFubiB3cm90ZToKPiBPbiBTYXR1cmRh eSwgSnVuZSAyNSwgMjAxNiA2OjM3OjE5IFBNIENFU1QgV2FuIFpvbmdzaHVuIHdyb3RlOgo+PiBU aGlzIHBhdGNoIGlzIHRvIGFkZCBudWM5NzAgY2xvY2tzb3VyY2UgZHJpdmVyIHN1cHBvcnQuCj4+ Cj4+IFNpZ25lZC1vZmYtYnk6IFdhbiBab25nc2h1biA8bWN1b3MuY29tQGdtYWlsLmNvbT4KPj4g LS0tCj4+ICAgLi4uL21hY2gtdzkweDkwMC9pbmNsdWRlL21hY2gvbnVjOTcwLXJlZ3MtdGltZXIu aCAgfCAgNDQgKysrKysKPj4gICBkcml2ZXJzL2Nsb2Nrc291cmNlL0tjb25maWcgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgOCArCj4+ICAgZHJpdmVycy9jbG9ja3NvdXJjZS9NYWtlZmlsZSAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+PiAgIGRyaXZlcnMvY2xvY2tzb3VyY2UvdGlt ZXItbnVjOTAwLmMgICAgICAgICAgICAgICAgIHwgMjA3ICsrKysrKysrKysrKysrKysrKysrKwo+ PiAgIDQgZmlsZXMgY2hhbmdlZCwgMjYwIGluc2VydGlvbnMoKykKPj4gICBjcmVhdGUgbW9kZSAx MDA2NDQgYXJjaC9hcm0vbWFjaC13OTB4OTAwL2luY2x1ZGUvbWFjaC9udWM5NzAtcmVncy10aW1l ci5oCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xvY2tzb3VyY2UvdGltZXItbnVj OTAwLmMKPj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtdzkweDkwMC9pbmNsdWRlL21h Y2gvbnVjOTcwLXJlZ3MtdGltZXIuaCBiL2FyY2gvYXJtL21hY2gtdzkweDkwMC9pbmNsdWRlL21h Y2gvbnVjOTcwLXJlZ3MtdGltZXIuaAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAw MDAwMDAwLi40M2Q3ZThiCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvYXJjaC9hcm0vbWFjaC13 OTB4OTAwL2luY2x1ZGUvbWFjaC9udWM5NzAtcmVncy10aW1lci5oCj4KPiBQbGVhc2UgbW92ZSB0 aGUgY29udGVudHMgb2YgdGhlIGhlYWRlciBmaWxlIGludG8gdGhlIGRyaXZlci4gV2UgdHJ5IHRv IG5vdAo+IGhhdmUgYW55IG5ldyBtYWNoLyouaCBoZWFkZXJzLgo+Cj4+ICsKPj4gK3N0YXRpYyB1 bnNpZ25lZCBpbnQgdGltZXIwX2xvYWQ7Cj4+ICtzdGF0aWMgdm9pZCBfX2lvbWVtICp0bXJfYmFz ZTsKPj4gKwo+PiArc3RhdGljIGludCBudWM5NzBfY2xvY2tldmVudF9zZXRfb25lc2hvdChzdHJ1 Y3QgY2xvY2tfZXZlbnRfZGV2aWNlICpldnQpCj4+ICt7Cj4+ICsJdW5zaWduZWQgaW50IHZhbDsK Pj4gKwo+PiArCXZhbCA9IF9fcmF3X3JlYWRsKHRtcl9iYXNlICsgUkVHX1RNUl9UQ1NSMCk7Cj4+ ICsJdmFsICY9IH4oMHgwMyA8PCAyNyk7Cj4+ICsKPj4gKwl2YWwgfD0gKE9ORVNIT1QgfCBDT1VO VEVOIHwgSU5URU4gfCBQUkVTQ0FMRSk7Cj4+ICsKPj4gKwlfX3Jhd193cml0ZWwodmFsLCB0bXJf YmFzZSArIFJFR19UTVJfVENTUjApOwo+PiArCXJldHVybiAwOwo+PiArfQo+PiArCj4KPiB3cml0 ZWwoKSBpbnN0ZWFkIG9mIF9fcmF3X3dyaXRlbCgpCgpXYW4gWm9uZ3NodW4sCgpGWUkgOiBodHRw czovL2xrbWwub3JnL2xrbWwvMjAxNS8xMi8xOC80MjIKCk5vdCBzdXJlIGl0IGRvZXMgYSBub3Rp Y2VhYmxlIGRpZmZlcmVuY2Ugb24gYXJtOTI2LgoKVGhhbmtzIEFybmQgZm9yIHRoZSBjbGFyaWZp Y2F0aW9uLgoKICAgLS0gRGFuaWVsCgoKLS0gCiAgPGh0dHA6Ly93d3cubGluYXJvLm9yZy8+IExp bmFyby5vcmcg4pSCIE9wZW4gc291cmNlIHNvZnR3YXJlIGZvciBBUk0gU29DcwoKRm9sbG93IExp bmFybzogIDxodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9wYWdlcy9MaW5hcm8+IEZhY2Vib29rIHwK PGh0dHA6Ly90d2l0dGVyLmNvbS8jIS9saW5hcm9vcmc+IFR3aXR0ZXIgfAo8aHR0cDovL3d3dy5s aW5hcm8ub3JnL2xpbmFyby1ibG9nLz4gQmxvZwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: daniel.lezcano@linaro.org (Daniel Lezcano) Date: Wed, 29 Jun 2016 18:10:55 +0200 Subject: [PATCH 3/6] Clocksource: add nuc970 clocksource driver In-Reply-To: <4184925.Jh1dkPbmzX@wuerfel> References: <1466851042-22239-1-git-send-email-vw@iommu.org> <1466851042-22239-4-git-send-email-vw@iommu.org> <4184925.Jh1dkPbmzX@wuerfel> Message-ID: <5773F30F.3020201@linaro.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 06/29/2016 05:25 PM, Arnd Bergmann wrote: > On Saturday, June 25, 2016 6:37:19 PM CEST Wan Zongshun wrote: >> This patch is to add nuc970 clocksource driver support. >> >> Signed-off-by: Wan Zongshun >> --- >> .../mach-w90x900/include/mach/nuc970-regs-timer.h | 44 +++++ >> drivers/clocksource/Kconfig | 8 + >> drivers/clocksource/Makefile | 1 + >> drivers/clocksource/timer-nuc900.c | 207 +++++++++++++++++++++ >> 4 files changed, 260 insertions(+) >> create mode 100644 arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h >> create mode 100644 drivers/clocksource/timer-nuc900.c >> >> diff --git a/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h b/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h >> new file mode 100644 >> index 0000000..43d7e8b >> --- /dev/null >> +++ b/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h > > Please move the contents of the header file into the driver. We try to not > have any new mach/*.h headers. > >> + >> +static unsigned int timer0_load; >> +static void __iomem *tmr_base; >> + >> +static int nuc970_clockevent_set_oneshot(struct clock_event_device *evt) >> +{ >> + unsigned int val; >> + >> + val = __raw_readl(tmr_base + REG_TMR_TCSR0); >> + val &= ~(0x03 << 27); >> + >> + val |= (ONESHOT | COUNTEN | INTEN | PRESCALE); >> + >> + __raw_writel(val, tmr_base + REG_TMR_TCSR0); >> + return 0; >> +} >> + > > writel() instead of __raw_writel() Wan Zongshun, FYI : https://lkml.org/lkml/2015/12/18/422 Not sure it does a noticeable difference on arm926. Thanks Arnd for the clarification. -- Daniel -- Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog