Hi Okan, Have you sent a follow up fix? The build should not remain broken for so long. Otherwise I think Broonie should drop your patch. On Thu, Jul 27, 2023 at 7:51 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > On Thu, Jul 27, 2023 at 08:34:44AM +0000, Sahin, Okan wrote: > > >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. > > That is an understandable position but no, this issue should be fixed > before this change makes its way to Linus, not after. > > > I sent patch v3 so should I send new patch as v4? > > No, you should checkout Mark's branch that contains your patch and send > a new patch on top of it just fixing this issue, like the other two > patches that have already touched this driver: > > https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git/log/?h=for-6.6 > > https://git.kernel.org/broonie/regulator/c/2920e08bef609c8b59f9996fd6852a7b97119d75 > https://git.kernel.org/broonie/regulator/c/541e75954cadde0355ce7bebed5675625b2943a8 > > There are GCC 7.x and earlier toolchains at > https://kernel.org/pub/tools/crosstool/ and LLVM toolchains at > https://kernel.org/pub/tools/llvm/ should need to reproduce and verify > the fix. > > Cheers, > Nathan > -- Thanks, ~Nick Desaulniers