diff mbox series

clocksource: clint: Avoid remove __iomem in get_cycles_hi()

Message ID 20201222053230.3229427-1-palmer@dabbelt.com (mailing list archive)
State New, archived
Headers show
Series clocksource: clint: Avoid remove __iomem in get_cycles_hi() | expand

Commit Message

Palmer Dabbelt Dec. 22, 2020, 5:32 a.m. UTC
From: Palmer Dabbelt <palmerdabbelt@google.com>

This cast loses the __iomem qualifier from clint_timer_val, which
triggers an sparse warning.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
---
 drivers/clocksource/timer-clint.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Laight Dec. 22, 2020, 9:34 a.m. UTC | #1
From: Palmer Dabbelt
> Sent: 22 December 2020 05:33
> 
> From: Palmer Dabbelt <palmerdabbelt@google.com>
> 
> This cast loses the __iomem qualifier from clint_timer_val, which
> triggers an sparse warning.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
> ---
>  drivers/clocksource/timer-clint.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/clocksource/timer-clint.c b/drivers/clocksource/timer-clint.c
> index 6cfe2ab73eb0..83a8b38d46f6 100644
> --- a/drivers/clocksource/timer-clint.c
> +++ b/drivers/clocksource/timer-clint.c
> @@ -63,7 +63,7 @@ static struct riscv_ipi_ops clint_ipi_ops = {
>  #define clint_get_cycles()	readq_relaxed(clint_timer_val)
>  #else
>  #define clint_get_cycles()	readl_relaxed(clint_timer_val)
> -#define clint_get_cycles_hi()	readl_relaxed(((u32 *)clint_timer_val) + 1)
> +#define clint_get_cycles_hi()	readl_relaxed(((u32 __iomem *)clint_timer_val) + 1)
>  #endif

The correct fix is (probably) to define clint_timer_val as u32 on 32bit systems.

Oh - and get rid of those #defines, they are only used in the
functions just below them.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Christoph Hellwig Dec. 23, 2020, 8:23 a.m. UTC | #2
On Mon, Dec 21, 2020 at 09:32:30PM -0800, Palmer Dabbelt wrote:
> From: Palmer Dabbelt <palmerdabbelt@google.com>
> 
> This cast loses the __iomem qualifier from clint_timer_val, which
> triggers an sparse warning.

I'm not a native speaker, but the subject line sounds strange to me.
Shouldn't this be:

	"don't cast away the __iommu annotation"

or something similar?

Also this adds an overly long line.  Otherwise it looks fine.
Palmer Dabbelt Dec. 24, 2020, 2:59 a.m. UTC | #3
On Wed, 23 Dec 2020 00:23:30 PST (-0800), Christoph Hellwig wrote:
> On Mon, Dec 21, 2020 at 09:32:30PM -0800, Palmer Dabbelt wrote:
>> From: Palmer Dabbelt <palmerdabbelt@google.com>
>>
>> This cast loses the __iomem qualifier from clint_timer_val, which
>> triggers an sparse warning.
>
> I'm not a native speaker, but the subject line sounds strange to me.
> Shouldn't this be:
>
> 	"don't cast away the __iommu annotation"
>
> or something similar?

The title is also nonsense, I was probably trying to do two things at once when
I wrote this.  I'll send another one.

> Also this adds an overly long line.  Otherwise it looks fine.

Aren't we OK with lines longer than 80 characters now?  Or was that some other
project?  checkpatch doesn't complain, which I guess is why I didn't notice, so
hopefully that means I'm not crazy (though I guess the commit message and title
don't provide the best argument there... ;)).
Christoph Hellwig Dec. 24, 2020, 6:39 a.m. UTC | #4
On Wed, Dec 23, 2020 at 06:59:34PM -0800, Palmer Dabbelt wrote:
> Aren't we OK with lines longer than 80 characters now?  Or was that some other
> project?  checkpatch doesn't complain, which I guess is why I didn't notice, so
> hopefully that means I'm not crazy (though I guess the commit message and title
> don't provide the best argument there... ;)).

They are allowed as an exception, not the norm.  Take a look at the
coding style document.  And checkpath has for a while not been doing the
right thing unfortunately.
diff mbox series

Patch

diff --git a/drivers/clocksource/timer-clint.c b/drivers/clocksource/timer-clint.c
index 6cfe2ab73eb0..83a8b38d46f6 100644
--- a/drivers/clocksource/timer-clint.c
+++ b/drivers/clocksource/timer-clint.c
@@ -63,7 +63,7 @@  static struct riscv_ipi_ops clint_ipi_ops = {
 #define clint_get_cycles()	readq_relaxed(clint_timer_val)
 #else
 #define clint_get_cycles()	readl_relaxed(clint_timer_val)
-#define clint_get_cycles_hi()	readl_relaxed(((u32 *)clint_timer_val) + 1)
+#define clint_get_cycles_hi()	readl_relaxed(((u32 __iomem *)clint_timer_val) + 1)
 #endif
 
 #ifdef CONFIG_64BIT