From: Nathan Chancellor <natechancellor@gmail.com> To: Linus Walleij <linus.walleij@linaro.org> Cc: Nick Desaulniers <ndesaulniers@google.com>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Subject: Re: [PATCH] pinctrl: generic: Avoid several implicit enum conversions Date: Wed, 31 Oct 2018 17:03:38 -0700 [thread overview] Message-ID: <20181101000338.GA32577@flashbox> (raw) In-Reply-To: <CACRpkda9LhdQybgci8gYs13L5pHWvDx43_Ftn5s+ERLLFPvLjQ@mail.gmail.com> On Wed, Oct 31, 2018 at 02:33:24PM +0100, Linus Walleij wrote: > On Thu, Oct 25, 2018 at 11:04 PM Nathan Chancellor > <natechancellor@gmail.com> wrote: > > > In my opinion, there are enough of these warnings to warrant changing > > the type of param globally (arm64 allyesconfig): > > Yeah as it is from the compiler, sure we need to get rid of it. > > > Linus, did you have any other objections to this patch given my > > reasoning in these past couple of emails or would you like me to try > > adding explicit casts to all of these call sites? > > I would favor the model to: > > 1. Replace all occurences of enum pin_config_param with unsigned > int. > Given that there are 57 files with this definition and some include it multiple time, this doesn't seem super reasonable in my opinion. > 2. Replace the whole definition of enum pin_config_param with > #define PIN_CONFIG_BIAS_BUS_HOLD 0 > #define PIN_CONFIG_BIAS_DISABLE 1 > etc etc. > > I think it is not a good idea to try to do both at the same time. > > A slightly lesser evil variant is to add a few PIN_CONFIG_CUSTOM_1 > PIN_CONFIG_CUSTOM_2 etc at the end of the enum and just > #define MY_CONFIG PIN_CONFIG_CUSTOM_1 > in all drivers that use these. > Some drivers actually just define their pin config params like: #define VAR (PIN_CONFIG_END + 1) In fact, more drivers do that than not. I will go ahead and draft some patches tonight and send them out tonight to see what driver authors think. Example with drivers/pinctrl/sprd/pinctrl-sprd.c ================================================ diff --git a/drivers/pinctrl/sprd/pinctrl-sprd.c b/drivers/pinctrl/sprd/pinctrl-sprd.c index 4537b5453996..7d9a44bd0047 100644 --- a/drivers/pinctrl/sprd/pinctrl-sprd.c +++ b/drivers/pinctrl/sprd/pinctrl-sprd.c @@ -159,10 +159,8 @@ struct sprd_pinctrl { struct sprd_pinctrl_soc_info *info; }; -enum sprd_pinconf_params { - SPRD_PIN_CONFIG_CONTROL = PIN_CONFIG_END + 1, - SPRD_PIN_CONFIG_SLEEP_MODE = PIN_CONFIG_END + 2, -}; +#define SPRD_PIN_CONFIG_CONTROL (PIN_CONFIG_END + 1) +#define SPRD_PIN_CONFIG_SLEEP_MODE (PIN_CONFIG_END + 2) static int sprd_pinctrl_get_id_by_name(struct sprd_pinctrl *sprd_pctl, const char *name) > Yours, > Linus Walleij Thank you for the reply and advice! Nathan
next prev parent reply other threads:[~2018-11-01 0:03 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-09-25 6:18 Nathan Chancellor 2018-09-25 10:58 ` Linus Walleij 2018-09-25 16:14 ` Nathan Chancellor 2018-09-25 16:23 ` Nick Desaulniers 2018-10-25 21:04 ` Nathan Chancellor 2018-10-31 13:33 ` Linus Walleij 2018-11-01 0:03 ` Nathan Chancellor [this message] 2018-11-01 11:46 ` David Laight 2018-11-09 9:29 ` Linus Walleij 2018-11-09 15:21 ` Nathan Chancellor
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=20181101000338.GA32577@flashbox \ --to=natechancellor@gmail.com \ --cc=linus.walleij@linaro.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=ndesaulniers@google.com \ --subject='Re: [PATCH] pinctrl: generic: Avoid several implicit enum conversions' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).