mfd: da9063: Fix DT probing with constraints

Commit 1c892e38ce ("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: 1c892e38ce ("regulator: da9063: Handle less LDOs on DA9063L")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Marek Vasut <marek.vasut@gmail.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
Philipp Zabel 2018-08-31 14:34:02 +02:00 коммит произвёл Lee Jones
Родитель 5b394b2ddf
Коммит a318c24322
1 изменённых файлов: 10 добавлений и 8 удалений

Просмотреть файл

@ -21,7 +21,7 @@
/* /*
* Regulator configuration * Regulator configuration
*/ */
/* DA9063 regulator IDs */ /* DA9063 and DA9063L regulator IDs */
enum { enum {
/* BUCKs */ /* BUCKs */
DA9063_ID_BCORE1, DA9063_ID_BCORE1,
@ -37,18 +37,20 @@ enum {
DA9063_ID_BMEM_BIO_MERGED, DA9063_ID_BMEM_BIO_MERGED,
/* When two BUCKs are merged, they cannot be reused separately */ /* When two BUCKs are merged, they cannot be reused separately */
/* LDOs */ /* LDOs on both DA9063 and DA9063L */
DA9063_ID_LDO1,
DA9063_ID_LDO2,
DA9063_ID_LDO3, DA9063_ID_LDO3,
DA9063_ID_LDO4,
DA9063_ID_LDO5,
DA9063_ID_LDO6,
DA9063_ID_LDO7, DA9063_ID_LDO7,
DA9063_ID_LDO8, DA9063_ID_LDO8,
DA9063_ID_LDO9, DA9063_ID_LDO9,
DA9063_ID_LDO10,
DA9063_ID_LDO11, DA9063_ID_LDO11,
/* DA9063-only LDOs */
DA9063_ID_LDO1,
DA9063_ID_LDO2,
DA9063_ID_LDO4,
DA9063_ID_LDO5,
DA9063_ID_LDO6,
DA9063_ID_LDO10,
}; };
/* Regulators platform data */ /* Regulators platform data */