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]>

Reply via email to