From: David Mosberger The "addr" member in the time-interpolator is sometimes used as a function-pointer and sometimes as an I/O-memory pointer. The attached patch tells sparse that this is OK. Signed-off-by: David Mosberger-Tang Signed-off-by: Andrew Morton --- 25-akpm/kernel/timer.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN kernel/timer.c~avoid-sparse-warning-due-to-time-interpolator kernel/timer.c --- 25/kernel/timer.c~avoid-sparse-warning-due-to-time-interpolator 2005-01-16 00:56:51.427826512 -0800 +++ 25-akpm/kernel/timer.c 2005-01-16 00:56:51.431825904 -0800 @@ -1421,10 +1421,10 @@ static inline u64 time_interpolator_get_ return x(); case TIME_SOURCE_MMIO64 : - return readq(time_interpolator->addr); + return readq((void __iomem *) time_interpolator->addr); case TIME_SOURCE_MMIO32 : - return readl(time_interpolator->addr); + return readl((void __iomem *) time_interpolator->addr); default: return get_cycles(); } _