All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFT] pinctrl: single: Fix build error
@ 2013-03-04  5:47 Axel Lin
  2013-03-04  5:56 ` Haojian Zhuang
  2013-03-07  3:40 ` Linus Walleij
  0 siblings, 2 replies; 5+ messages in thread
From: Axel Lin @ 2013-03-04  5:47 UTC (permalink / raw)
  To: Linus Walleij; +Cc: Haojian Zhuang, Tony Lindgren, linux-kernel

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>
---
 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,
 };
 
 /**
@@ -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




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH RFT] pinctrl: single: Fix build error
  2013-03-04  5:47 [PATCH RFT] pinctrl: single: Fix build error Axel Lin
@ 2013-03-04  5:56 ` Haojian Zhuang
  2013-03-04  9:18   ` Axel Lin
  2013-03-07  3:40 ` Linus Walleij
  1 sibling, 1 reply; 5+ messages in thread
From: Haojian Zhuang @ 2013-03-04  5:56 UTC (permalink / raw)
  To: Axel Lin; +Cc: Linus Walleij, Tony Lindgren, linux-kernel

On 4 March 2013 13:47, Axel Lin <axel.lin@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.lin@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
>
>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RFT] pinctrl: single: Fix build error
  2013-03-04  5:56 ` Haojian Zhuang
@ 2013-03-04  9:18   ` Axel Lin
  2013-03-04  9:38     ` Haojian Zhuang
  0 siblings, 1 reply; 5+ messages in thread
From: Axel Lin @ 2013-03-04  9:18 UTC (permalink / raw)
  To: Haojian Zhuang; +Cc: Linus Walleij, Tony Lindgren, linux-kernel

2013/3/4 Haojian Zhuang <haojian.zhuang@linaro.org>:
> On 4 March 2013 13:47, Axel Lin <axel.lin@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.lin@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.

AFAICT, in current code ( linux-next 20130304, before applying this patch):
if match->data is false, pcs->is_pinconf is also false which means
pinconf isn't supported.

In the case pcs->is_pinconf is true, is_generic actually is *always*
true in current code.

>
> By the way, I already sent a patch to fix it.
Good to know that.
Can you point me the link to your patch?

Axel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RFT] pinctrl: single: Fix build error
  2013-03-04  9:18   ` Axel Lin
@ 2013-03-04  9:38     ` Haojian Zhuang
  0 siblings, 0 replies; 5+ messages in thread
From: Haojian Zhuang @ 2013-03-04  9:38 UTC (permalink / raw)
  To: Axel Lin; +Cc: Linus Walleij, Tony Lindgren, linux-kernel

On 4 March 2013 17:18, Axel Lin <axel.lin@ingics.com> wrote:
> 2013/3/4 Haojian Zhuang <haojian.zhuang@linaro.org>:
>> On 4 March 2013 13:47, Axel Lin <axel.lin@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.lin@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.
>
> AFAICT, in current code ( linux-next 20130304, before applying this patch):
> if match->data is false, pcs->is_pinconf is also false which means
> pinconf isn't supported.
>
> In the case pcs->is_pinconf is true, is_generic actually is *always*
> true in current code.
>
You're right. Your fix could work.

Reviewed-by: Haojian Zhuang <haojian.zhuang@linaro.org>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RFT] pinctrl: single: Fix build error
  2013-03-04  5:47 [PATCH RFT] pinctrl: single: Fix build error Axel Lin
  2013-03-04  5:56 ` Haojian Zhuang
@ 2013-03-07  3:40 ` Linus Walleij
  1 sibling, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2013-03-07  3:40 UTC (permalink / raw)
  To: Axel Lin; +Cc: Haojian Zhuang, Tony Lindgren, linux-kernel

On Mon, Mar 4, 2013 at 6:47 AM, Axel Lin <axel.lin@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.lin@ingics.com>

Patch applied with Haojian's ACK, thanks!

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-03-07  3:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-04  5:47 [PATCH RFT] pinctrl: single: Fix build error Axel Lin
2013-03-04  5:56 ` Haojian Zhuang
2013-03-04  9:18   ` Axel Lin
2013-03-04  9:38     ` Haojian Zhuang
2013-03-07  3:40 ` Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.