On 08/31/2018 02:34 PM, Philipp Zabel wrote: > Commit 1c892e38ce59 ("regulator: da9063: Handle less LDOs on DA9063L") > reordered the da9063_regulator_info[] array, but not the DA9063_ID_* > regulator ids and not the da9063_matches[] array, because ids are used > as indices in the array initializer. This mismatch between regulator id > and da9063_regulator_info[] array index causes the driver probe to fail > because constraints from DT are not applied to the correct regulator: > > da9063 0-0058: Device detected (chip-ID: 0x61, var-ID: 0x50) > DA9063_BMEM: Bringing 900000uV into 3300000-3300000uV > DA9063_LDO9: Bringing 3300000uV into 2500000-2500000uV > DA9063_LDO1: Bringing 900000uV into 3300000-3300000uV > DA9063_LDO1: failed to apply 3300000-3300000uV constraint(-22) > > This patch reorders the DA9063_ID_* as apparently intended, and with > them the entries in the da90630_matches[] array. > > Fixes: 1c892e38ce59 ("regulator: da9063: Handle less LDOs on DA9063L") > Signed-off-by: Philipp Zabel <p.za...@pengutronix.de> > Cc: Marek Vasut <marek.vasut+rene...@gmail.com> > Cc: Mark Brown <broo...@kernel.org> > Cc: Geert Uytterhoeven <geert+rene...@glider.be> > Cc: Lee Jones <lee.jo...@linaro.org>
Thanks Reviewed-by: Marek Vasut <marek.va...@gmail.com> > --- > include/linux/mfd/da9063/pdata.h | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/include/linux/mfd/da9063/pdata.h > b/include/linux/mfd/da9063/pdata.h > index 8a125701ef7b..50bed4f89c1a 100644 > --- a/include/linux/mfd/da9063/pdata.h > +++ b/include/linux/mfd/da9063/pdata.h > @@ -21,7 +21,7 @@ > /* > * Regulator configuration > */ > -/* DA9063 regulator IDs */ > +/* DA9063 and DA9063L regulator IDs */ > enum { > /* BUCKs */ > DA9063_ID_BCORE1, > @@ -37,18 +37,20 @@ enum { > DA9063_ID_BMEM_BIO_MERGED, > /* When two BUCKs are merged, they cannot be reused separately */ > > - /* LDOs */ > + /* LDOs on both DA9063 and DA9063L */ > + DA9063_ID_LDO3, > + DA9063_ID_LDO7, > + DA9063_ID_LDO8, > + DA9063_ID_LDO9, > + DA9063_ID_LDO11, > + > + /* DA9063-only LDOs */ > DA9063_ID_LDO1, > DA9063_ID_LDO2, > - DA9063_ID_LDO3, > DA9063_ID_LDO4, > DA9063_ID_LDO5, > DA9063_ID_LDO6, > - DA9063_ID_LDO7, > - DA9063_ID_LDO8, > - DA9063_ID_LDO9, > DA9063_ID_LDO10, > - DA9063_ID_LDO11, > }; > > /* Regulators platform data */ > -- Best regards, Marek Vasut