On Thursday 18 February 2016 09:35:07 Krzysztof Kozlowski 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 <a...@arndb.de> > Signed-off-by: Krzysztof Kozlowski <k.kozlow...@samsung.com>
I've verified that this is the exact patch I have successfully tested on locally and in Olof's autobuilder which reported the problem. > case S2MPS15X: > s2mps11->rdev_num = ARRAY_SIZE(s2mps15_regulators); > regulators = s2mps15_regulators; > + BUILD_BUG_ON(S2MPS_REGULATOR_MAX < > ARRAY_SIZE(s2mps15_regulators)); > break; > My version did not add this line, but it seems correct. Tested-by: Arnd Bergmann <a...@arndb.de> Reviewed-by: Arnd Bergmann <a...@arndb.de>