]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
pinctrl: imx: do not implicitly set pin regs to -1
authorStefan Agner <stefan@agner.ch>
Fri, 6 Feb 2015 16:30:56 +0000 (17:30 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 18 Mar 2015 01:02:11 +0000 (02:02 +0100)
Commit 3dac1918a491 ("pinctrl: imx: detect uninitialized pins") needs
the values in struct imx_pin_reg to be -1. This has been done in a
rather unorthodox way by setting the memory to 0xff using memset...
Use a proper for loop to initialize the whole array with -1.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/freescale/pinctrl-imx.c

index 448f10986c28499449fcb970b9376c83431ec647..2ee0d9228e63ae804a4c88ebfb8b1b16ffc940d3 100644 (file)
@@ -645,7 +645,7 @@ int imx_pinctrl_probe(struct platform_device *pdev,
 {
        struct imx_pinctrl *ipctl;
        struct resource *res;
-       int ret;
+       int ret, i;
 
        if (!info || !info->pins || !info->npins) {
                dev_err(&pdev->dev, "wrong pinctrl info\n");
@@ -662,7 +662,11 @@ int imx_pinctrl_probe(struct platform_device *pdev,
                                      info->npins, GFP_KERNEL);
        if (!info->pin_regs)
                return -ENOMEM;
-       memset(info->pin_regs, 0xff, sizeof(*info->pin_regs) * info->npins);
+
+       for (i = 0; i < info->npins; i++) {
+               info->pin_regs[i].mux_reg = -1;
+               info->pin_regs[i].conf_reg = -1;
+       }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        ipctl->base = devm_ioremap_resource(&pdev->dev, res);