Message ID | 20181101005502.9171-1-natechancellor@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | rtc: omap: Use define directive for PIN_CONFIG_ACTIVE_HIGH | expand |
On Wed, Oct 31, 2018 at 5:55 PM Nathan Chancellor <natechancellor@gmail.com> wrote: > > Clang warns when one enumerated type is implicitly converted to another: > > drivers/rtc/rtc-omap.c:574:21: warning: implicit conversion from > enumeration type 'enum rtc_pin_config_param' to different enumeration > type 'enum pin_config_param' [-Wenum-conversion] > {"ti,active-high", PIN_CONFIG_ACTIVE_HIGH, 0}, > ~ ^~~~~~~~~~~~~~~~~~~~~~ > drivers/rtc/rtc-omap.c:579:12: warning: implicit conversion from > enumeration type 'enum rtc_pin_config_param' to different enumeration > type 'enum pin_config_param' [-Wenum-conversion] > PCONFDUMP(PIN_CONFIG_ACTIVE_HIGH, "input active high", NULL, false), > ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./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. > > 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. > > Link: https://github.com/ClangBuiltLinux/linux/issues/144 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/rtc/rtc-omap.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c > index 320b4a520eb3..bbff0e2deb84 100644 > --- a/drivers/rtc/rtc-omap.c > +++ b/drivers/rtc/rtc-omap.c > @@ -566,9 +566,7 @@ static const struct pinctrl_ops rtc_pinctrl_ops = { > .dt_free_map = pinconf_generic_dt_free_map, > }; > > -enum rtc_pin_config_param { > - PIN_CONFIG_ACTIVE_HIGH = PIN_CONFIG_END + 1, > -}; > +#define PIN_CONFIG_ACTIVE_HIGH (PIN_CONFIG_END + 1) > > static const struct pinconf_generic_params rtc_params[] = { > {"ti,active-high", PIN_CONFIG_ACTIVE_HIGH, 0}, > -- > 2.19.1 > Bumping for review
On 31/10/2018 17:55:02-0700, Nathan Chancellor wrote: > Clang warns when one enumerated type is implicitly converted to another: > > drivers/rtc/rtc-omap.c:574:21: warning: implicit conversion from > enumeration type 'enum rtc_pin_config_param' to different enumeration > type 'enum pin_config_param' [-Wenum-conversion] > {"ti,active-high", PIN_CONFIG_ACTIVE_HIGH, 0}, > ~ ^~~~~~~~~~~~~~~~~~~~~~ > drivers/rtc/rtc-omap.c:579:12: warning: implicit conversion from > enumeration type 'enum rtc_pin_config_param' to different enumeration > type 'enum pin_config_param' [-Wenum-conversion] > PCONFDUMP(PIN_CONFIG_ACTIVE_HIGH, "input active high", NULL, false), > ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ./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. > > 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. > > Link: https://github.com/ClangBuiltLinux/linux/issues/144 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/rtc/rtc-omap.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > Applied, thanks.
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c index 320b4a520eb3..bbff0e2deb84 100644 --- a/drivers/rtc/rtc-omap.c +++ b/drivers/rtc/rtc-omap.c @@ -566,9 +566,7 @@ static const struct pinctrl_ops rtc_pinctrl_ops = { .dt_free_map = pinconf_generic_dt_free_map, }; -enum rtc_pin_config_param { - PIN_CONFIG_ACTIVE_HIGH = PIN_CONFIG_END + 1, -}; +#define PIN_CONFIG_ACTIVE_HIGH (PIN_CONFIG_END + 1) static const struct pinconf_generic_params rtc_params[] = { {"ti,active-high", PIN_CONFIG_ACTIVE_HIGH, 0},
Clang warns when one enumerated type is implicitly converted to another: drivers/rtc/rtc-omap.c:574:21: warning: implicit conversion from enumeration type 'enum rtc_pin_config_param' to different enumeration type 'enum pin_config_param' [-Wenum-conversion] {"ti,active-high", PIN_CONFIG_ACTIVE_HIGH, 0}, ~ ^~~~~~~~~~~~~~~~~~~~~~ drivers/rtc/rtc-omap.c:579:12: warning: implicit conversion from enumeration type 'enum rtc_pin_config_param' to different enumeration type 'enum pin_config_param' [-Wenum-conversion] PCONFDUMP(PIN_CONFIG_ACTIVE_HIGH, "input active high", NULL, false), ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./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. 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. Link: https://github.com/ClangBuiltLinux/linux/issues/144 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- drivers/rtc/rtc-omap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)