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 <[email protected]> > Signed-off-by: Krzysztof Kozlowski <[email protected]>
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 <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>

