@@ -85,3 +85,26 @@ e << str_down_up_r.E;
@@
coccilib.report.print_report(p[0], "opportunity for str_down_up(%s)" % e)
+
+@str_true_false depends on patch@
+expression E;
+@@
+(
+- ((E) ? "true" : "false")
++ str_true_false(E)
+)
+
+@str_true_false_r depends on !patch exists@
+expression E;
+position P;
+@@
+(
+* ((E@P) ? "true" : "false")
+)
+
+@script:python depends on report@
+p << str_true_false_r.P;
+e << str_true_false_r.E;
+@@
+
+coccilib.report.print_report(p[0], "opportunity for str_true_false(%s)" % e)
After str_true_false() has been introduced in the tree, we can add rules for finding places where str_true_false() can be used. A simple test can find over 10 locations. Signed-off-by: Hongbo Li <lihongbo22@huawei.com> --- drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:910:40-44: opportunity for str_true_false(drop) drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:543:20-56: opportunity for str_true_false(conf -> flags & IEEE80211_CONF_MONITOR) drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:547:15-46: opportunity for str_true_false(conf -> flags & IEEE80211_CONF_PS) drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:718:15-35: opportunity for str_true_false(vif -> cfg . ibss_joined) drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:699:5-24: opportunity for str_true_false(info -> enable_beacon) drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:733:15-24: opportunity for str_true_false(info -> qos) drivers/net/wireless/ath/ath9k/link.c:393:24-43: opportunity for str_true_false(common -> ani . caldone) drivers/net/arcnet/com20020-pci.c:104:29-42: opportunity for str_true_false(lp -> backplane) drivers/net/ethernet/intel/ice/ice_switch.c:2100:19-37: opportunity for str_true_false(params -> mask_valid) drivers/net/wireless/ath/wil6210/interrupt.c:102:6-15: opportunity for str_true_false(mask_halp) drivers/net/wireless/ath/wil6210/interrupt.c:154:6-17: opportunity for str_true_false(unmask_halp) drivers/net/ethernet/intel/ice/ice_vlan_mode.c:257:6-24: opportunity for str_true_false(params -> mask_valid) --- scripts/coccinelle/api/string_choices.cocci | 23 +++++++++++++++++++++ 1 file changed, 23 insertions(+)