diff options
author | Stefan Agner <stefan@agner.ch> | 2015-02-06 11:30:56 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-03-17 21:02:11 -0400 |
commit | 4691dd0148e082097300239d4143311efc23f6ca (patch) | |
tree | 8f323039ff29b9f2a8a578c0de3f07f6f6e897e5 | |
parent | 407f5e392f9c5b9c16178c5e6b2112234fdf9fad (diff) |
pinctrl: imx: do not implicitly set pin regs to -1
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>
-rw-r--r-- | drivers/pinctrl/freescale/pinctrl-imx.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c index 448f10986c28..2ee0d9228e63 100644 --- a/drivers/pinctrl/freescale/pinctrl-imx.c +++ b/drivers/pinctrl/freescale/pinctrl-imx.c | |||
@@ -645,7 +645,7 @@ int imx_pinctrl_probe(struct platform_device *pdev, | |||
645 | { | 645 | { |
646 | struct imx_pinctrl *ipctl; | 646 | struct imx_pinctrl *ipctl; |
647 | struct resource *res; | 647 | struct resource *res; |
648 | int ret; | 648 | int ret, i; |
649 | 649 | ||
650 | if (!info || !info->pins || !info->npins) { | 650 | if (!info || !info->pins || !info->npins) { |
651 | dev_err(&pdev->dev, "wrong pinctrl info\n"); | 651 | dev_err(&pdev->dev, "wrong pinctrl info\n"); |
@@ -662,7 +662,11 @@ int imx_pinctrl_probe(struct platform_device *pdev, | |||
662 | info->npins, GFP_KERNEL); | 662 | info->npins, GFP_KERNEL); |
663 | if (!info->pin_regs) | 663 | if (!info->pin_regs) |
664 | return -ENOMEM; | 664 | return -ENOMEM; |
665 | memset(info->pin_regs, 0xff, sizeof(*info->pin_regs) * info->npins); | 665 | |
666 | for (i = 0; i < info->npins; i++) { | ||
667 | info->pin_regs[i].mux_reg = -1; | ||
668 | info->pin_regs[i].conf_reg = -1; | ||
669 | } | ||
666 | 670 | ||
667 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 671 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
668 | ipctl->base = devm_ioremap_resource(&pdev->dev, res); | 672 | ipctl->base = devm_ioremap_resource(&pdev->dev, res); |