pinctrl: bcm2835: Use define directive for BCM2835_PINCONF_PARAM_PULL
Subsystems (4)
PATCH 1/1 pinctrl: bcm2835: Use define directive for BCM2835_PINCONF_PARAM_PULL
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.
--- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/pinctrl/bcm/pinctrl-bcm2835.c +2 -4
@@ -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;
Signature · 1 line
2.19.1
Am 01.11.18 um 01:46 schrieb Nathan Chancellor:
Quoted 9 lines
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 'enumbcm2835_pinconf_param' to different enumeration type 'enumpin_config_param' [-Wenum-conversion]configs[0] = pinconf_to_config_packed(BCM2835_PINCONF_PARAM_PULL, pull); ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~1 warning generated.
Quoted 9 lines
It is expected that pinctrl drivers can extend
pin_config_parambecause of the gap betweenPIN_CONFIG_ENDandPIN_CONFIG_MAXso this conversion isn't an issue. Most drivers that take advantage of this define thePIN_CONFIGvariables as constants, rather than enumerated values. Do the same thing here so that Clang no longer warns.Signed-off-by Nathan Chancellor <[email protected]>---
Quoted 9 lines · 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 'enumbcm2835_pinconf_param' to different enumeration type 'enumpin_config_param' [-Wenum-conversion]configs[0] = pinconf_to_config_packed(BCM2835_PINCONF_PARAM_PULL, pull); ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~1 warning generated.
Quoted 7 lines
It is expected that pinctrl drivers can extend
pin_config_parambecause of the gap betweenPIN_CONFIG_ENDandPIN_CONFIG_MAXso this conversion isn't an issue. Most drivers that take advantage of this define thePIN_CONFIGvariables as constants, rather than enumerated values. Do the same thing here so that Clang no longer warns.Signed-off-by Nathan Chancellor <[email protected]>
Patch applied with Stefan's ACK.
Yours,
Linus Walleij