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

Reply via email to