]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
regulator: ab8500: Remove AB8505 USB regulator
authorStephan Gerhold <stephan@gerhold.net>
Wed, 6 Nov 2019 17:31:24 +0000 (18:31 +0100)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 14 Feb 2020 06:00:53 +0000 (01:00 -0500)
BugLink: https://bugs.launchpad.net/bugs/1861710
commit 99c4f70df3a6446c56ca817c2d0f9c12d85d4e7c upstream.

The USB regulator was removed for AB8500 in
commit 41a06aa738ad ("regulator: ab8500: Remove USB regulator").
It was then added for AB8505 in
commit 547f384f33db ("regulator: ab8500: add support for ab8505").

However, there was never an entry added for it in
ab8505_regulator_match. This causes all regulators after it
to be initialized with the wrong device tree data, eventually
leading to an out-of-bounds array read.

Given that it is not used anywhere in the kernel, it seems
likely that similar arguments against supporting it exist for
AB8505 (it is controlled by hardware).

Therefore, simply remove it like for AB8500 instead of adding
an entry in ab8505_regulator_match.

Fixes: 547f384f33db ("regulator: ab8500: add support for ab8505")
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20191106173125.14496-1-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/regulator/ab8500.c
include/linux/regulator/ab8500.h

index efb2f01a910178c1b43efe6cfc96c2c8a2ff8596..f60e1b26c2d2813720384010e8e8044467ea786d 100644 (file)
@@ -953,23 +953,6 @@ static struct ab8500_regulator_info
                .update_val_idle        = 0x82,
                .update_val_normal      = 0x02,
        },
-       [AB8505_LDO_USB] = {
-               .desc = {
-                       .name           = "LDO-USB",
-                       .ops            = &ab8500_regulator_mode_ops,
-                       .type           = REGULATOR_VOLTAGE,
-                       .id             = AB8505_LDO_USB,
-                       .owner          = THIS_MODULE,
-                       .n_voltages     = 1,
-                       .volt_table     = fixed_3300000_voltage,
-               },
-               .update_bank            = 0x03,
-               .update_reg             = 0x82,
-               .update_mask            = 0x03,
-               .update_val             = 0x01,
-               .update_val_idle        = 0x03,
-               .update_val_normal      = 0x01,
-       },
        [AB8505_LDO_AUDIO] = {
                .desc = {
                        .name           = "LDO-AUDIO",
index 7cf8f797e13ac4c4e21265c8e73a66b2a4c26d5a..505e94a6e3e8967c6496550dcb3ee96c280c69b3 100644 (file)
@@ -37,7 +37,6 @@ enum ab8505_regulator_id {
        AB8505_LDO_AUX6,
        AB8505_LDO_INTCORE,
        AB8505_LDO_ADC,
-       AB8505_LDO_USB,
        AB8505_LDO_AUDIO,
        AB8505_LDO_ANAMIC1,
        AB8505_LDO_ANAMIC2,