RE: [PATCH v3 2/2] regulator: max77857: Add ADI MAX77857/59/MAX77831 Regulator Support

From: Sahin, Okan
Date: Thu Jul 27 2023 - 04:54:44 EST




>-----Original Message-----
>From: Nathan Chancellor <nathan@xxxxxxxxxx>
>Sent: Wednesday, July 26, 2023 7:11 PM
>To: Sahin, Okan <Okan.Sahin@xxxxxxxxxx>
>Cc: Liam Girdwood <lgirdwood@xxxxxxxxx>; Mark Brown <broonie@xxxxxxxxxx>;
>Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski
><krzysztof.kozlowski+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>;
>zzzzTilki, zzzzIbrahim <Ibrahim.Tilki@xxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
>devicetree@xxxxxxxxxxxxxxx; llvm@xxxxxxxxxxxxxxx
>Subject: Re: [PATCH v3 2/2] regulator: max77857: Add ADI MAX77857/59/MAX77831
>Regulator Support
>
>[External]
>
>Hi Okan,
>
>On Tue, Jul 18, 2023 at 08:55:02AM -0700, Nathan Chancellor wrote:
>
><snip>
>
>> > +static struct regulator_desc max77857_regulator_desc = {
>> > + .ops = &max77857_regulator_ops,
>> > + .name = "max77857",
>> > + .linear_ranges = max77857_lin_ranges,
>> > + .n_linear_ranges = ARRAY_SIZE(max77857_lin_ranges),
>> > + .vsel_mask = 0xFF,
>> > + .vsel_reg = MAX77857_REG_CONT2,
>> > + .ramp_delay_table = max77857_ramp_table[0],
>> > + .n_ramp_values = ARRAY_SIZE(max77857_ramp_table[0]),
>> > + .ramp_reg = MAX77857_REG_CONT3,
>> > + .ramp_mask = GENMASK(1, 0),
>> > + .ramp_delay = max77857_ramp_table[0][0],
>>
>> This breaks the build with GCC 5.x through 7.x:
>>
>> drivers/regulator/max77857-regulator.c:312:16: error: initializer element is not
>constant
>> .ramp_delay = max77857_ramp_table[0][0],
>> ^~~~~~~~~~~~~~~~~~~
>> drivers/regulator/max77857-regulator.c:312:16: note: (near initialization for
>'max77857_regulator_desc.ramp_delay')
>>
>> and clang:
>>
>> drivers/regulator/max77857-regulator.c:312:16: error: initializer element is not a
>compile-time constant
>> 312 | .ramp_delay = max77857_ramp_table[0][0],
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~
>> 1 error generated.
>>
>> This relies on a GCC 8.x+ change that accepts more things as
>> compile-time constants, which is being worked on in clang
>>
>(https://urldefense.com/v3/__https://reviews.llvm.org/D76096__;!!A3Ni8CS0y2Y!7B
>eWxuzHgLzOprQA_madbvdR7hd0ZgmS73lUlDbgoxWUFWdDSIRXLnhyqLeRhu3uTaqpS
>kzZKwc5pHA$ ). Since the kernel supports older
>> compilers, this will have to be worked around somehow. Perhaps a define
>> that can be used in both places?
>
>Was there any update on this? I do not mind sending a patch for this
>myself if I have some sort of guidance on how you would prefer for this
>to be fixed, should you be too busy to look into it.
>
>Cheers,
>Nathan

Hi Nathan,

I thought that I should fix this issue after merging main branch that's why I did not send patch.
I sent patch v3 so should I send new patch as v4?

Regards,
Okan Sahin