On 18.02.2016 10:46, Andi Shyti wrote: >>>> Following BUILD_BUG_ON using a variable fails for some of the compilers >>>> and optimization levels (reported for gcc 4.9): >>>> var = ARRAY_SIZE(s2mps15_regulators); >>>> BUILD_BUG_ON(S2MPS_REGULATOR_MAX < var); >>>> Fix this by using ARRAY_SIZE directly. >>>> >>>> Additionally add missing BUILD_BUG_ON check for S2MPS15 device (the >>>> check ensures that internal arrays are big enough to hold data for all >>>> of regulators on all devices). >>>> >>>> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> >>>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> >>>> >>> >>> [...] >>> >>>> case S2MPS11X: >>>> s2mps11->rdev_num = ARRAY_SIZE(s2mps11_regulators); >>> >>> Why don't we remove rdev_num at all? It's not used that much >>> other than in the probe function. >> >> Remove from probe? It is used in probe and removal would make the code >> more complicated than it should be. > > no, I mean remove it from s2mps11_info. Other than in the probe > this value is used only once in s2mps11_pmic_dt_parse() (which is > called by probe()). Sure, it can be safely removed from s2mps11_info... but it won't affect this issue and this patch. Still the local variable would be used in probe leading to compiler optimization choices impacting BUILD_BUG_ON. BR, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html