mfd: da9063: Fix DT probing with constraints
authorPhilipp Zabel <p.zabel@pengutronix.de>
Fri, 31 Aug 2018 12:34:02 +0000 (14:34 +0200)
committerLee Jones <lee.jones@linaro.org>
Mon, 10 Sep 2018 15:58:36 +0000 (16:58 +0100)
commita318c2432218d3cd189ec8228b8a795666899c2a
tree930dc0244b7176d8dc686485277525795cd4651a
parent5b394b2ddf0347bef56e50c69a58773c94343ff3
mfd: da9063: Fix DT probing with constraints

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.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>
include/linux/mfd/da9063/pdata.h