From: Nathan Chancellor <natechancellor@gmail.com>
To: Michal Simek <michal.simek@xilinx.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Nick Desaulniers <ndesaulniers@google.com>
Subject: Re: [PATCH] pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD
Date: Wed, 7 Nov 2018 01:55:03 -0700 [thread overview]
Message-ID: <20181107085503.GA31517@flashbox> (raw)
In-Reply-To: <68ae935a-aec3-915c-bfe6-d69bfb93d702@xilinx.com>
On Wed, Nov 07, 2018 at 09:46:12AM +0100, Michal Simek wrote:
> On 01. 11. 18 1:57, Nathan Chancellor wrote:
> > Clang warns when one enumerated type is implicitly converted to another:
> >
> > drivers/pinctrl/pinctrl-zynq.c:985:18: warning: implicit conversion from
> > enumeration type 'enum zynq_pin_config_param' to different enumeration
> > type 'enum pin_config_param' [-Wenum-conversion]
> > {"io-standard", PIN_CONFIG_IOSTANDARD, zynq_iostd_lvcmos18},
> > ~ ^~~~~~~~~~~~~~~~~~~~~
> > drivers/pinctrl/pinctrl-zynq.c:990:16: warning: implicit conversion from
> > enumeration type 'enum zynq_pin_config_param' to different enumeration
> > type 'enum pin_config_param' [-Wenum-conversion]
> > = { PCONFDUMP(PIN_CONFIG_IOSTANDARD, "IO-standard", NULL, true),
> > ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > ./include/linux/pinctrl/pinconf-generic.h:163:11: note: expanded from
> > macro 'PCONFDUMP'
> > .param = a, .display = b, .format = c, .has_arg = d \
> > ^
> > 2 warnings generated.
>
> This is interesting. I have never tried to use llvm for building the
> kernel. Do you have any description how this can be done?
>
Depending on what version of Clang you have access to, it is usually just as
simple as running 'make ARCH=arm CC=clang CROSS_COMPILE=arm-linux-gnueabi-'.
Clang 7.0+ is recommended but 6.0 might work too.
>
> >
> > It is expected that pinctrl drivers can extend pin_config_param because
> > of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion
> > isn't an issue. Most drivers that take advantage of this define the
> > PIN_CONFIG variables as constants, rather than enumerated values. Do the
> > same thing here so that Clang no longer warns.
> >
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> > drivers/pinctrl/pinctrl-zynq.c | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > diff --git a/drivers/pinctrl/pinctrl-zynq.c b/drivers/pinctrl/pinctrl-zynq.c
> > index a0daf27042bd..57046c221756 100644
> > --- a/drivers/pinctrl/pinctrl-zynq.c
> > +++ b/drivers/pinctrl/pinctrl-zynq.c
> > @@ -972,14 +972,11 @@ enum zynq_io_standards {
> > };
> >
> > /**
> > - * enum zynq_pin_config_param - possible pin configuration parameters
>
> This is wrong. kernel-doc is reporting issue with it.
>
> drivers/pinctrl/pinctrl-zynq.c:975: warning: Cannot understand *
> @PIN_CONFIG_IOSTANDARD: if the pin can select an IO standard, the
> argument to
> on line 975 - I thought it was a doc line
> 1 warnings
>
Ah yes, I forgot to send a v2 of this patch when someone pointed out
this problem in a different patch. I'll send that now, thanks for the
review!
>
> > * @PIN_CONFIG_IOSTANDARD: if the pin can select an IO standard, the argument to
> > * this parameter (on a custom format) tells the driver which alternative
> > * IO standard to use.
> > */
> > -enum zynq_pin_config_param {
> > - PIN_CONFIG_IOSTANDARD = PIN_CONFIG_END + 1,
> > -};
> > +#define PIN_CONFIG_IOSTANDARD (PIN_CONFIG_END + 1)
> >
> > static const struct pinconf_generic_params zynq_dt_params[] = {
> > {"io-standard", PIN_CONFIG_IOSTANDARD, zynq_iostd_lvcmos18},
> >
>
> This change is fine.
>
> Thanks,
> Michal
WARNING: multiple messages have this Message-ID (diff)
From: natechancellor@gmail.com (Nathan Chancellor)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD
Date: Wed, 7 Nov 2018 01:55:03 -0700 [thread overview]
Message-ID: <20181107085503.GA31517@flashbox> (raw)
In-Reply-To: <68ae935a-aec3-915c-bfe6-d69bfb93d702@xilinx.com>
On Wed, Nov 07, 2018 at 09:46:12AM +0100, Michal Simek wrote:
> On 01. 11. 18 1:57, Nathan Chancellor wrote:
> > Clang warns when one enumerated type is implicitly converted to another:
> >
> > drivers/pinctrl/pinctrl-zynq.c:985:18: warning: implicit conversion from
> > enumeration type 'enum zynq_pin_config_param' to different enumeration
> > type 'enum pin_config_param' [-Wenum-conversion]
> > {"io-standard", PIN_CONFIG_IOSTANDARD, zynq_iostd_lvcmos18},
> > ~ ^~~~~~~~~~~~~~~~~~~~~
> > drivers/pinctrl/pinctrl-zynq.c:990:16: warning: implicit conversion from
> > enumeration type 'enum zynq_pin_config_param' to different enumeration
> > type 'enum pin_config_param' [-Wenum-conversion]
> > = { PCONFDUMP(PIN_CONFIG_IOSTANDARD, "IO-standard", NULL, true),
> > ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > ./include/linux/pinctrl/pinconf-generic.h:163:11: note: expanded from
> > macro 'PCONFDUMP'
> > .param = a, .display = b, .format = c, .has_arg = d \
> > ^
> > 2 warnings generated.
>
> This is interesting. I have never tried to use llvm for building the
> kernel. Do you have any description how this can be done?
>
Depending on what version of Clang you have access to, it is usually just as
simple as running 'make ARCH=arm CC=clang CROSS_COMPILE=arm-linux-gnueabi-'.
Clang 7.0+ is recommended but 6.0 might work too.
>
> >
> > It is expected that pinctrl drivers can extend pin_config_param because
> > of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion
> > isn't an issue. Most drivers that take advantage of this define the
> > PIN_CONFIG variables as constants, rather than enumerated values. Do the
> > same thing here so that Clang no longer warns.
> >
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> > drivers/pinctrl/pinctrl-zynq.c | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > diff --git a/drivers/pinctrl/pinctrl-zynq.c b/drivers/pinctrl/pinctrl-zynq.c
> > index a0daf27042bd..57046c221756 100644
> > --- a/drivers/pinctrl/pinctrl-zynq.c
> > +++ b/drivers/pinctrl/pinctrl-zynq.c
> > @@ -972,14 +972,11 @@ enum zynq_io_standards {
> > };
> >
> > /**
> > - * enum zynq_pin_config_param - possible pin configuration parameters
>
> This is wrong. kernel-doc is reporting issue with it.
>
> drivers/pinctrl/pinctrl-zynq.c:975: warning: Cannot understand *
> @PIN_CONFIG_IOSTANDARD: if the pin can select an IO standard, the
> argument to
> on line 975 - I thought it was a doc line
> 1 warnings
>
Ah yes, I forgot to send a v2 of this patch when someone pointed out
this problem in a different patch. I'll send that now, thanks for the
review!
>
> > * @PIN_CONFIG_IOSTANDARD: if the pin can select an IO standard, the argument to
> > * this parameter (on a custom format) tells the driver which alternative
> > * IO standard to use.
> > */
> > -enum zynq_pin_config_param {
> > - PIN_CONFIG_IOSTANDARD = PIN_CONFIG_END + 1,
> > -};
> > +#define PIN_CONFIG_IOSTANDARD (PIN_CONFIG_END + 1)
> >
> > static const struct pinconf_generic_params zynq_dt_params[] = {
> > {"io-standard", PIN_CONFIG_IOSTANDARD, zynq_iostd_lvcmos18},
> >
>
> This change is fine.
>
> Thanks,
> Michal
next prev parent reply other threads:[~2018-11-07 8:55 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-01 0:57 [PATCH] pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD Nathan Chancellor
2018-11-01 0:57 ` Nathan Chancellor
2018-11-07 8:46 ` Michal Simek
2018-11-07 8:46 ` Michal Simek
2018-11-07 8:46 ` Michal Simek
2018-11-07 8:55 ` Nathan Chancellor [this message]
2018-11-07 8:55 ` Nathan Chancellor
2018-11-07 9:00 ` Michal Simek
2018-11-07 9:00 ` Michal Simek
2018-11-07 9:00 ` Michal Simek
2018-11-07 17:48 ` Nick Desaulniers
2018-11-07 17:48 ` Nick Desaulniers
2018-11-08 6:45 ` Michal Simek
2018-11-08 6:45 ` Michal Simek
2018-11-08 6:45 ` Michal Simek
2018-11-08 15:01 ` Nathan Chancellor
2018-11-08 15:01 ` Nathan Chancellor
2018-11-09 9:33 ` Michal Simek
2018-11-09 9:33 ` Michal Simek
2018-11-09 9:33 ` Michal Simek
2018-11-09 15:36 ` Nathan Chancellor
2018-11-09 15:36 ` Nathan Chancellor
2018-11-16 8:40 ` Michal Simek
2018-11-16 8:40 ` Michal Simek
2018-11-16 8:40 ` Michal Simek
2018-11-17 1:56 ` Nathan Chancellor
2018-11-17 1:56 ` Nathan Chancellor
2018-11-19 7:32 ` Michal Simek
2018-11-19 7:32 ` Michal Simek
2018-11-19 7:32 ` Michal Simek
2018-11-07 8:56 ` [PATCH v2] " Nathan Chancellor
2018-11-07 8:56 ` Nathan Chancellor
2018-11-07 9:02 ` Michal Simek
2018-11-07 9:02 ` Michal Simek
2018-11-07 9:02 ` Michal Simek
2018-11-09 9:26 ` Linus Walleij
2018-11-09 9:26 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181107085503.GA31517@flashbox \
--to=natechancellor@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.simek@xilinx.com \
--cc=ndesaulniers@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.