* [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y
@ 2014-04-23 2:11 Xiubo Li
2014-04-23 2:12 ` [PATCHv2 2/2] clocksource: fix clocksource_mmio_readX_down Xiubo Li
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Xiubo Li @ 2014-04-23 2:11 UTC (permalink / raw)
To: daniel.lezcano, tglx, linux-kernel; +Cc: Xiubo Li
The types' definations are:
o cycle_t -> u64
o readl_relaxed -> u32
o readw_relaxed -> u16
So let clocksource_mmio_readX_Ys return a cast to cycle_t, though
this maybe look reduntant sometimes, it make sense and they will be
more readable and less confusion...
This patch clarifies the functions type and fix it.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
---
drivers/clocksource/mmio.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/clocksource/mmio.c b/drivers/clocksource/mmio.c
index c0e2512..19a6b3f 100644
--- a/drivers/clocksource/mmio.c
+++ b/drivers/clocksource/mmio.c
@@ -22,22 +22,22 @@ static inline struct clocksource_mmio *to_mmio_clksrc(struct clocksource *c)
cycle_t clocksource_mmio_readl_up(struct clocksource *c)
{
- return readl_relaxed(to_mmio_clksrc(c)->reg);
+ return (cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
}
cycle_t clocksource_mmio_readl_down(struct clocksource *c)
{
- return ~readl_relaxed(to_mmio_clksrc(c)->reg);
+ return ~(cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
}
cycle_t clocksource_mmio_readw_up(struct clocksource *c)
{
- return readw_relaxed(to_mmio_clksrc(c)->reg);
+ return (cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
}
cycle_t clocksource_mmio_readw_down(struct clocksource *c)
{
- return ~(unsigned)readw_relaxed(to_mmio_clksrc(c)->reg);
+ return ~(cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
}
/**
--
1.8.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCHv2 2/2] clocksource: fix clocksource_mmio_readX_down
2014-04-23 2:11 [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Xiubo Li
@ 2014-04-23 2:12 ` Xiubo Li
2014-05-19 2:35 ` [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Li.Xiubo
2014-05-19 14:19 ` Daniel Lezcano
2 siblings, 0 replies; 6+ messages in thread
From: Xiubo Li @ 2014-04-23 2:12 UTC (permalink / raw)
To: daniel.lezcano, tglx, linux-kernel; +Cc: Xiubo Li
For some clocksource devices, for example, the registers are 32-bit, while
the lower 16-bit is used for timer counting(And reading the upper 16-bit
will return 0).
For example, when the counter value is 0x00001111, and then the
~readl_relaxed(to_mmio_clksrc(c)->reg) will return the value of 0xFFFFEEEE,
but it should be 0x0000EEEE.
So just using the c->mask to mask the unused bits.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
---
drivers/clocksource/mmio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clocksource/mmio.c b/drivers/clocksource/mmio.c
index 19a6b3f..1593ade 100644
--- a/drivers/clocksource/mmio.c
+++ b/drivers/clocksource/mmio.c
@@ -27,7 +27,7 @@ cycle_t clocksource_mmio_readl_up(struct clocksource *c)
cycle_t clocksource_mmio_readl_down(struct clocksource *c)
{
- return ~(cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
+ return ~(cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg) & c->mask;
}
cycle_t clocksource_mmio_readw_up(struct clocksource *c)
@@ -37,7 +37,7 @@ cycle_t clocksource_mmio_readw_up(struct clocksource *c)
cycle_t clocksource_mmio_readw_down(struct clocksource *c)
{
- return ~(cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
+ return ~(cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg) & c->mask;
}
/**
--
1.8.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* RE: [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y
2014-04-23 2:11 [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Xiubo Li
2014-04-23 2:12 ` [PATCHv2 2/2] clocksource: fix clocksource_mmio_readX_down Xiubo Li
@ 2014-05-19 2:35 ` Li.Xiubo
2014-05-19 9:09 ` Daniel Lezcano
2014-05-19 14:19 ` Daniel Lezcano
2 siblings, 1 reply; 6+ messages in thread
From: Li.Xiubo @ 2014-05-19 2:35 UTC (permalink / raw)
To: daniel.lezcano@linaro.org, tglx@linutronix.de,
linux-kernel@vger.kernel.org
Cc: Li.Xiubo@freescale.com
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 2168 bytes --]
Hi,
I'd like to know the status about this patch series...
:£©
Thanks,
BRs
Xiubo
> -----Original Message-----
> From: Xiubo Li [mailto:Li.Xiubo@freescale.com]
> Sent: Wednesday, April 23, 2014 10:12 AM
> To: daniel.lezcano@linaro.org; tglx@linutronix.de; linux-
> kernel@vger.kernel.org
> Cc: Xiubo Li-B47053
> Subject: [PATCHv2 1/2] clocksource: fix type confusion for
> clocksource_mmio_readX_Y
>
> The types' definations are:
> o cycle_t -> u64
> o readl_relaxed -> u32
> o readw_relaxed -> u16
>
> So let clocksource_mmio_readX_Ys return a cast to cycle_t, though
> this maybe look reduntant sometimes, it make sense and they will be
> more readable and less confusion...
>
> This patch clarifies the functions type and fix it.
>
> Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
> drivers/clocksource/mmio.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/clocksource/mmio.c b/drivers/clocksource/mmio.c
> index c0e2512..19a6b3f 100644
> --- a/drivers/clocksource/mmio.c
> +++ b/drivers/clocksource/mmio.c
> @@ -22,22 +22,22 @@ static inline struct clocksource_mmio
> *to_mmio_clksrc(struct clocksource *c)
>
> cycle_t clocksource_mmio_readl_up(struct clocksource *c)
> {
> - return readl_relaxed(to_mmio_clksrc(c)->reg);
> + return (cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
> }
>
> cycle_t clocksource_mmio_readl_down(struct clocksource *c)
> {
> - return ~readl_relaxed(to_mmio_clksrc(c)->reg);
> + return ~(cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
> }
>
> cycle_t clocksource_mmio_readw_up(struct clocksource *c)
> {
> - return readw_relaxed(to_mmio_clksrc(c)->reg);
> + return (cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
> }
>
> cycle_t clocksource_mmio_readw_down(struct clocksource *c)
> {
> - return ~(unsigned)readw_relaxed(to_mmio_clksrc(c)->reg);
> + return ~(cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
> }
>
> /**
> --
> 1.8.4
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y
2014-05-19 2:35 ` [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Li.Xiubo
@ 2014-05-19 9:09 ` Daniel Lezcano
2014-05-19 9:12 ` Li.Xiubo
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Lezcano @ 2014-05-19 9:09 UTC (permalink / raw)
To: Li.Xiubo@freescale.com, tglx@linutronix.de,
linux-kernel@vger.kernel.org
On 05/19/2014 04:35 AM, Li.Xiubo@freescale.com wrote:
> Hi,
>
> I'd like to know the status about this patch series...
> :)
I think the patches are ok. I have them in my queue for 3.16.
>> -----Original Message-----
>> From: Xiubo Li [mailto:Li.Xiubo@freescale.com]
>> Sent: Wednesday, April 23, 2014 10:12 AM
>> To: daniel.lezcano@linaro.org; tglx@linutronix.de; linux-
>> kernel@vger.kernel.org
>> Cc: Xiubo Li-B47053
>> Subject: [PATCHv2 1/2] clocksource: fix type confusion for
>> clocksource_mmio_readX_Y
>>
>> The types' definations are:
>> o cycle_t -> u64
>> o readl_relaxed -> u32
>> o readw_relaxed -> u16
>>
>> So let clocksource_mmio_readX_Ys return a cast to cycle_t, though
>> this maybe look reduntant sometimes, it make sense and they will be
>> more readable and less confusion...
>>
>> This patch clarifies the functions type and fix it.
>>
>> Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
>> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
>> ---
>> drivers/clocksource/mmio.c | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/clocksource/mmio.c b/drivers/clocksource/mmio.c
>> index c0e2512..19a6b3f 100644
>> --- a/drivers/clocksource/mmio.c
>> +++ b/drivers/clocksource/mmio.c
>> @@ -22,22 +22,22 @@ static inline struct clocksource_mmio
>> *to_mmio_clksrc(struct clocksource *c)
>>
>> cycle_t clocksource_mmio_readl_up(struct clocksource *c)
>> {
>> - return readl_relaxed(to_mmio_clksrc(c)->reg);
>> + return (cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
>> }
>>
>> cycle_t clocksource_mmio_readl_down(struct clocksource *c)
>> {
>> - return ~readl_relaxed(to_mmio_clksrc(c)->reg);
>> + return ~(cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
>> }
>>
>> cycle_t clocksource_mmio_readw_up(struct clocksource *c)
>> {
>> - return readw_relaxed(to_mmio_clksrc(c)->reg);
>> + return (cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
>> }
>>
>> cycle_t clocksource_mmio_readw_down(struct clocksource *c)
>> {
>> - return ~(unsigned)readw_relaxed(to_mmio_clksrc(c)->reg);
>> + return ~(cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
>> }
>>
>> /**
>> --
>> 1.8.4
>
--
<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
^ permalink raw reply [flat|nested] 6+ messages in thread* RE: [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y
2014-05-19 9:09 ` Daniel Lezcano
@ 2014-05-19 9:12 ` Li.Xiubo
0 siblings, 0 replies; 6+ messages in thread
From: Li.Xiubo @ 2014-05-19 9:12 UTC (permalink / raw)
To: Daniel Lezcano, tglx@linutronix.de, linux-kernel@vger.kernel.org
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 2857 bytes --]
> Subject: Re: [PATCHv2 1/2] clocksource: fix type confusion for
> clocksource_mmio_readX_Y
>
> On 05/19/2014 04:35 AM, Li.Xiubo@freescale.com wrote:
> > Hi,
> >
> > I'd like to know the status about this patch series...
> > :£©
>
> I think the patches are ok. I have them in my queue for 3.16.
>
That's nice.
Thanks,
BRs
Xiubo
> >> -----Original Message-----
> >> From: Xiubo Li [mailto:Li.Xiubo@freescale.com]
> >> Sent: Wednesday, April 23, 2014 10:12 AM
> >> To: daniel.lezcano@linaro.org; tglx@linutronix.de; linux-
> >> kernel@vger.kernel.org
> >> Cc: Xiubo Li-B47053
> >> Subject: [PATCHv2 1/2] clocksource: fix type confusion for
> >> clocksource_mmio_readX_Y
> >>
> >> The types' definations are:
> >> o cycle_t -> u64
> >> o readl_relaxed -> u32
> >> o readw_relaxed -> u16
> >>
> >> So let clocksource_mmio_readX_Ys return a cast to cycle_t, though
> >> this maybe look reduntant sometimes, it make sense and they will be
> >> more readable and less confusion...
> >>
> >> This patch clarifies the functions type and fix it.
> >>
> >> Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
> >> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> >> ---
> >> drivers/clocksource/mmio.c | 8 ++++----
> >> 1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/clocksource/mmio.c b/drivers/clocksource/mmio.c
> >> index c0e2512..19a6b3f 100644
> >> --- a/drivers/clocksource/mmio.c
> >> +++ b/drivers/clocksource/mmio.c
> >> @@ -22,22 +22,22 @@ static inline struct clocksource_mmio
> >> *to_mmio_clksrc(struct clocksource *c)
> >>
> >> cycle_t clocksource_mmio_readl_up(struct clocksource *c)
> >> {
> >> - return readl_relaxed(to_mmio_clksrc(c)->reg);
> >> + return (cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
> >> }
> >>
> >> cycle_t clocksource_mmio_readl_down(struct clocksource *c)
> >> {
> >> - return ~readl_relaxed(to_mmio_clksrc(c)->reg);
> >> + return ~(cycle_t)readl_relaxed(to_mmio_clksrc(c)->reg);
> >> }
> >>
> >> cycle_t clocksource_mmio_readw_up(struct clocksource *c)
> >> {
> >> - return readw_relaxed(to_mmio_clksrc(c)->reg);
> >> + return (cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
> >> }
> >>
> >> cycle_t clocksource_mmio_readw_down(struct clocksource *c)
> >> {
> >> - return ~(unsigned)readw_relaxed(to_mmio_clksrc(c)->reg);
> >> + return ~(cycle_t)readw_relaxed(to_mmio_clksrc(c)->reg);
> >> }
> >>
> >> /**
> >> --
> >> 1.8.4
> >
>
>
> --
> <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
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y
2014-04-23 2:11 [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Xiubo Li
2014-04-23 2:12 ` [PATCHv2 2/2] clocksource: fix clocksource_mmio_readX_down Xiubo Li
2014-05-19 2:35 ` [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Li.Xiubo
@ 2014-05-19 14:19 ` Daniel Lezcano
2 siblings, 0 replies; 6+ messages in thread
From: Daniel Lezcano @ 2014-05-19 14:19 UTC (permalink / raw)
To: Xiubo Li, tglx, linux-kernel
On 04/23/2014 04:11 AM, Xiubo Li wrote:
> The types' definations are:
> o cycle_t -> u64
> o readl_relaxed -> u32
> o readw_relaxed -> u16
>
> So let clocksource_mmio_readX_Ys return a cast to cycle_t, though
> this maybe look reduntant sometimes, it make sense and they will be
> more readable and less confusion...
>
> This patch clarifies the functions type and fix it.
>
> Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
Applied to my tree for 3.16
Thanks
-- Daniel
--
<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
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-05-19 14:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-23 2:11 [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Xiubo Li
2014-04-23 2:12 ` [PATCHv2 2/2] clocksource: fix clocksource_mmio_readX_down Xiubo Li
2014-05-19 2:35 ` [PATCHv2 1/2] clocksource: fix type confusion for clocksource_mmio_readX_Y Li.Xiubo
2014-05-19 9:09 ` Daniel Lezcano
2014-05-19 9:12 ` Li.Xiubo
2014-05-19 14:19 ` Daniel Lezcano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox