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 <[email protected]> --- 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(+) diff --git a/scripts/coccinelle/api/string_choices.cocci b/scripts/coccinelle/api/string_choices.cocci index 5e729f187f22..50329c4c8acd 100644 --- a/scripts/coccinelle/api/string_choices.cocci +++ b/scripts/coccinelle/api/string_choices.cocci @@ -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) -- 2.34.1
