public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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