Re: [PATCH RFT] pinctrl: single: Fix build error

From: Haojian Zhuang
Date: Mon Mar 04 2013 - 00:56:56 EST


On 4 March 2013 13:47, Axel Lin <axel.lin@xxxxxxxxxx> wrote:
> 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@xxxxxxxxxx>
> ---
> drivers/pinctrl/pinctrl-single.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
> index 4cdcf85..e35dabd 100644
> --- a/drivers/pinctrl/pinctrl-single.c
> +++ b/drivers/pinctrl/pinctrl-single.c
> @@ -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,

There's two cases for is_generic. Your fix only make thing worse.

By the way, I already sent a patch to fix it.

Regards
Haojian
> };
>
> /**
> @@ -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)
> --
> 1.7.9.5
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/