Re: [v2, 05/21] powerpc: Avoid comparison of unsigned long >= 0 in pfn_valid
From: Michael Ellerman <hidden>
Date: 2018-03-14 09:28:45
Also in:
lkml
On Wed, 2018-03-07 at 20:34:35 UTC, Mathieu Malaterre wrote:
Rewrite comparison since all values compared are of type `unsigned long`.
Instead of using unsigned properties and rewriting the original code as:
(originally suggested by Segher Boessenkool [off-list ref])
#define pfn_valid(pfn) \
(((pfn) - ARCH_PFN_OFFSET) < (max_mapnr - ARCH_PFN_OFFSET))
Prefer a static inline function to make code as readable as possible.
Fix a warning (treated as error in W=1):
CC arch/powerpc/kernel/irq.o
In file included from ./include/linux/bug.h:5:0,
from ./include/linux/cpumask.h:13,
from ./include/linux/smp.h:13,
from ./include/linux/kernel_stat.h:5,
from arch/powerpc/kernel/irq.c:35:
./include/linux/dma-mapping.h: In function ���dma_map_resource���:
./arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
Suggested-by: Christophe Leroy <redacted>
Signed-off-by: Mathieu Malaterre <redacted>Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/603b892200e653dd7e86a0e4a31556 cheers