diff mbox series

regulator: s2mps11: Fix GPIO descriptor initialization

Message ID 20181120123844.3003-1-m.szyprowski@samsung.com (mailing list archive)
State Accepted
Commit d7c7fc442fa6f6f0cd0115d7b8dbdf6fe2eeea44
Headers show
Series regulator: s2mps11: Fix GPIO descriptor initialization | expand

Commit Message

Marek Szyprowski Nov. 20, 2018, 12:38 p.m. UTC
GPIO descriptor array must be zero initialized to ensure that core will
properly handle also the case when no external GPIO pin is defined.

Fixes: 1c984942f0a4 ("regulator: s2mps11: Pass descriptor instead of GPIO number")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
This fixes broken eMMC boot on Artik, Rinato and Odroid XU3/XU4/HC1
boards.
---
 drivers/regulator/s2mps11.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Krzysztof Kozlowski Nov. 20, 2018, 12:51 p.m. UTC | #1
On Tue, 20 Nov 2018 at 13:39, Marek Szyprowski <m.szyprowski@samsung.com> wrote:
>
> GPIO descriptor array must be zero initialized to ensure that core will
> properly handle also the case when no external GPIO pin is defined.
>
> Fixes: 1c984942f0a4 ("regulator: s2mps11: Pass descriptor instead of GPIO number")
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
> This fixes broken eMMC boot on Artik, Rinato and Odroid XU3/XU4/HC1
> boards.

I missed that on my review. Now it looks fine, thanks for fixing it!
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof


> ---
>  drivers/regulator/s2mps11.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c
> index 6fec45897194..63e66f485cc0 100644
> --- a/drivers/regulator/s2mps11.c
> +++ b/drivers/regulator/s2mps11.c
> @@ -1134,9 +1134,8 @@ static int s2mps11_pmic_probe(struct platform_device *pdev)
>                 return -EINVAL;
>         }
>
> -       s2mps11->ext_control_gpiod = devm_kmalloc_array(&pdev->dev,
> -                       rdev_num, sizeof(*s2mps11->ext_control_gpiod),
> -                       GFP_KERNEL);
> +       s2mps11->ext_control_gpiod = devm_kcalloc(&pdev->dev, rdev_num,
> +                              sizeof(*s2mps11->ext_control_gpiod), GFP_KERNEL);
>         if (!s2mps11->ext_control_gpiod)
>                 return -ENOMEM;
>
> --
> 2.17.1
>
diff mbox series

Patch

diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c
index 6fec45897194..63e66f485cc0 100644
--- a/drivers/regulator/s2mps11.c
+++ b/drivers/regulator/s2mps11.c
@@ -1134,9 +1134,8 @@  static int s2mps11_pmic_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	s2mps11->ext_control_gpiod = devm_kmalloc_array(&pdev->dev,
-			rdev_num, sizeof(*s2mps11->ext_control_gpiod),
-			GFP_KERNEL);
+	s2mps11->ext_control_gpiod = devm_kcalloc(&pdev->dev, rdev_num,
+			       sizeof(*s2mps11->ext_control_gpiod), GFP_KERNEL);
 	if (!s2mps11->ext_control_gpiod)
 		return -ENOMEM;