Message ID | 20181101004653.7552-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | pinctrl: bcm2835: Use define directive for BCM2835_PINCONF_PARAM_PULL | expand |
Am 01.11.18 um 01:46 schrieb Nathan Chancellor: > Clang warns when one enumerated type is implicitly converted to another: > > drivers/pinctrl/bcm/pinctrl-bcm2835.c:707:40: warning: implicit > conversion from enumeration type 'enum bcm2835_pinconf_param' to > different enumeration type 'enum pin_config_param' [-Wenum-conversion] > configs[0] = pinconf_to_config_packed(BCM2835_PINCONF_PARAM_PULL, pull); > ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ > 1 warning generated. > > 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> > --- > Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
On Thu, Nov 1, 2018 at 1:47 AM Nathan Chancellor <natechancellor@gmail.com> wrote: > Clang warns when one enumerated type is implicitly converted to another: > > drivers/pinctrl/bcm/pinctrl-bcm2835.c:707:40: warning: implicit > conversion from enumeration type 'enum bcm2835_pinconf_param' to > different enumeration type 'enum pin_config_param' [-Wenum-conversion] > configs[0] = pinconf_to_config_packed(BCM2835_PINCONF_PARAM_PULL, pull); > ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ > 1 warning generated. > > 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> Patch applied with Stefan's ACK. Yours, Linus Walleij
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c index fa530913a2c8..b035c3fc0471 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -72,10 +72,8 @@ #define GPIO_REG_OFFSET(p) ((p) / 32) #define GPIO_REG_SHIFT(p) ((p) % 32) -enum bcm2835_pinconf_param { - /* argument: bcm2835_pinconf_pull */ - BCM2835_PINCONF_PARAM_PULL = (PIN_CONFIG_END + 1), -}; +/* argument: bcm2835_pinconf_pull */ +#define BCM2835_PINCONF_PARAM_PULL (PIN_CONFIG_END + 1) struct bcm2835_pinctrl { struct device *dev;
Clang warns when one enumerated type is implicitly converted to another: drivers/pinctrl/bcm/pinctrl-bcm2835.c:707:40: warning: implicit conversion from enumeration type 'enum bcm2835_pinconf_param' to different enumeration type 'enum pin_config_param' [-Wenum-conversion] configs[0] = pinconf_to_config_packed(BCM2835_PINCONF_PARAM_PULL, pull); ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. 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/bcm/pinctrl-bcm2835.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)