On 4 March 2013 13:47, Axel Lin <axel....@ingics.com> 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....@ingics.com> > --- > 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/