Mathieu Malaterre <ma...@debian.org> writes: > When neither CONFIG_ALTIVEC, nor CONFIG_VSX or CONFIG_PPC64 is defined, the > array feature_properties is defined as an empty array, which in turn > triggers the following warning (treated as error on W=1): > > CC arch/powerpc/kernel/prom.o > arch/powerpc/kernel/prom.c: In function ‘check_cpu_feature_properties’: > arch/powerpc/kernel/prom.c:298:16: error: comparison of unsigned expression < > 0 is always false [-Werror=type-limits] > for (i = 0; i < ARRAY_SIZE(feature_properties); ++i, ++fp) { > ^ > cc1: all warnings being treated as errors
Ugh, that's annoying. This seems to work? diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 4dffef947b8a..5215119e249c 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c @@ -291,11 +291,11 @@ static inline void identical_pvr_fixup(unsigned long node) static void __init check_cpu_feature_properties(unsigned long node) { - unsigned long i; struct feature_property *fp = feature_properties; const __be32 *prop; + int i; - for (i = 0; i < ARRAY_SIZE(feature_properties); ++i, ++fp) { + for (i = 0; i < (int)ARRAY_SIZE(feature_properties); ++i, ++fp) { prop = of_get_flat_dt_prop(node, fp->name, NULL); if (prop && be32_to_cpup(prop) >= fp->min_value) { cur_cpu_spec->cpu_features |= fp->cpu_feature; cheers