pinctrl: single: Fix build error
authorAxel Lin <axel.lin@ingics.com>
Mon, 4 Mar 2013 05:47:39 +0000 (13:47 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 7 Mar 2013 04:27:31 +0000 (05:27 +0100)
If pcs->is_pinconf is false, it means does not support pinconf.
If pcs->is_pinconf is true, is_generic flag is always true.

This patch fixes below build error:

  CC [M]  drivers/pinctrl/pinctrl-single.o
drivers/pinctrl/pinctrl-single.c: In function 'pcs_probe':
drivers/pinctrl/pinctrl-single.c:1441:3: error: assignment of member 'is_generic' in read-only object
make[2]: *** [drivers/pinctrl/pinctrl-single.o] Error 1
make[1]: *** [drivers/pinctrl] Error 2
make: *** [drivers] Error 2

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-single.c

index 4cdcf858276494eabd562bc7019a5444005f2697..e35dabd3135dc8a9df4c816bfba0f8af268605d8 100644 (file)
@@ -734,6 +734,7 @@ static const struct pinconf_ops pcs_pinconf_ops = {
        .pin_config_dbg_show = pcs_pinconf_dbg_show,
        .pin_config_group_dbg_show = pcs_pinconf_group_dbg_show,
        .pin_config_config_dbg_show = pcs_pinconf_config_dbg_show,
+       .is_generic = true,
 };
 
 /**
@@ -1435,10 +1436,9 @@ static int pcs_probe(struct platform_device *pdev)
        pcs->desc.name = DRIVER_NAME;
        pcs->desc.pctlops = &pcs_pinctrl_ops;
        pcs->desc.pmxops = &pcs_pinmux_ops;
-       pcs->desc.confops = &pcs_pinconf_ops;
+       if (pcs->is_pinconf)
+               pcs->desc.confops = &pcs_pinconf_ops;
        pcs->desc.owner = THIS_MODULE;
-       if (match->data)
-               pcs_pinconf_ops.is_generic = true;
 
        ret = pcs_allocate_pin_table(pcs);
        if (ret < 0)