diff --git a/scripts/coccinelle/api/string_choices.cocci b/scripts/coccinelle/api/string_choices.cocci
index 95e9a3b31f86caa20b902ae12a30a83aa1628e8c..3750450869125812b422b7de49fb1ea81e1c485d 100644
--- a/scripts/coccinelle/api/string_choices.cocci
+++ b/scripts/coccinelle/api/string_choices.cocci
@@ -14,23 +14,18 @@ expression E;
 -	((E == 1) ? "" : "s")
 +	str_plural(E)
 |
--	((E != 1) ? "s" : "")
-+	str_plural(E)
-|
 -	((E > 1) ? "s" : "")
 +	str_plural(E)
 )
 
-@str_plural_r depends on !patch exists@
+@str_plural_r depends on !patch@
 expression E;
 position P;
 @@
 (
-*	((E@P == 1) ? "" : "s")
+*	(E@P == 1) ? "" : "s"
 |
-*	((E@P != 1) ? "s" : "")
-|
-*	((E@P > 1) ? "s" : "")
+*	(E@P > 1) ? "s" : ""
 )
 
 @script:python depends on report@
@@ -40,17 +35,17 @@ e << str_plural_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_plural(%s)" % e)
 
-@str_up_down depends on patch@
+@str_up_down depends on patch disable neg_if_exp@
 expression E;
 @@
 -	((E) ? "up" : "down")
 +	str_up_down(E)
 
-@str_up_down_r depends on !patch exists@
+@str_up_down_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*	((E@P) ? "up" : "down")
+*	E@P ? "up" : "down"
 
 @script:python depends on report@
 p << str_up_down_r.P;
@@ -59,17 +54,17 @@ e << str_up_down_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_up_down(%s)" % e)
 
-@str_down_up depends on patch@
+@str_down_up depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "down" : "up")
 +      str_down_up(E)
 
-@str_down_up_r depends on !patch exists@
+@str_down_up_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "down" : "up")
+*      E@P ? "down" : "up"
 
 @script:python depends on report@
 p << str_down_up_r.P;
@@ -78,17 +73,17 @@ 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@
+@str_true_false depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "true" : "false")
 +      str_true_false(E)
 
-@str_true_false_r depends on !patch exists@
+@str_true_false_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "true" : "false")
+*      E@P ? "true" : "false"
 
 @script:python depends on report@
 p << str_true_false_r.P;
@@ -97,17 +92,17 @@ e << str_true_false_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_true_false(%s)" % e)
 
-@str_false_true depends on patch@
+@str_false_true depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "false" : "true")
 +      str_false_true(E)
 
-@str_false_true_r depends on !patch exists@
+@str_false_true_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "false" : "true")
+*      E@P ? "false" : "true"
 
 @script:python depends on report@
 p << str_false_true_r.P;
@@ -116,21 +111,17 @@ e << str_false_true_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_false_true(%s)" % e)
 
-@str_hi_lo depends on patch@
+@str_hi_lo depends on patch disable neg_if_exp@
 expression E;
 @@
-(
 -      ((E) ? "hi" : "lo")
 +      str_hi_lo(E)
-)
 
-@str_hi_lo_r depends on !patch exists@
+@str_hi_lo_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-(
-*      ((E@P) ? "hi" : "lo")
-)
+*      E@P ? "hi" : "lo"
 
 @script:python depends on report@
 p << str_hi_lo_r.P;
@@ -139,17 +130,17 @@ e << str_hi_lo_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_hi_lo(%s)" % e)
 
-@str_high_low depends on patch@
+@str_high_low depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "high" : "low")
 +      str_high_low(E)
 
-@str_high_low_r depends on !patch exists@
+@str_high_low_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "high" : "low")
+*      E@P ? "high" : "low"
 
 @script:python depends on report@
 p << str_high_low_r.P;
@@ -158,17 +149,17 @@ e << str_high_low_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_high_low(%s)" % e)
 
-@str_lo_hi depends on patch@
+@str_lo_hi depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "lo" : "hi")
 +      str_lo_hi(E)
 
-@str_lo_hi_r depends on !patch exists@
+@str_lo_hi_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "lo" : "hi")
+*      E@P ? "lo" : "hi"
 
 @script:python depends on report@
 p << str_lo_hi_r.P;
@@ -177,17 +168,17 @@ e << str_lo_hi_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_lo_hi(%s)" % e)
 
-@str_low_high depends on patch@
+@str_low_high depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "low" : "high")
 +      str_low_high(E)
 
-@str_low_high_r depends on !patch exists@
+@str_low_high_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "low" : "high")
+*      E@P ? "low" : "high"
 
 @script:python depends on report@
 p << str_low_high_r.P;
@@ -202,11 +193,11 @@ expression E;
 -      ((E) ? "enable" : "disable")
 +      str_enable_disable(E)
 
-@str_enable_disable_r depends on !patch exists@
+@str_enable_disable_r depends on !patch@
 expression E;
 position P;
 @@
-*      ((E@P) ? "enable" : "disable")
+*      E@P ? "enable" : "disable"
 
 @script:python depends on report@
 p << str_enable_disable_r.P;
@@ -221,11 +212,11 @@ expression E;
 -      ((E) ? "enabled" : "disabled")
 +      str_enabled_disabled(E)
 
-@str_enabled_disabled_r depends on !patch exists@
+@str_enabled_disabled_r depends on !patch@
 expression E;
 position P;
 @@
-*      ((E@P) ? "enabled" : "disabled")
+*      E@P ? "enabled" : "disabled"
 
 @script:python depends on report@
 p << str_enabled_disabled_r.P;
@@ -234,17 +225,17 @@ e << str_enabled_disabled_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_enabled_disabled(%s)" % e)
 
-@str_read_write depends on patch@
+@str_read_write depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "read" : "write")
 +      str_read_write(E)
 
-@str_read_write_r depends on !patch exists@
+@str_read_write_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "read" : "write")
+*      E@P ? "read" : "write"
 
 @script:python depends on report@
 p << str_read_write_r.P;
@@ -253,17 +244,17 @@ e << str_read_write_r.E;
 
 coccilib.report.print_report(p[0], "opportunity for str_read_write(%s)" % e)
 
-@str_write_read depends on patch@
+@str_write_read depends on patch disable neg_if_exp@
 expression E;
 @@
 -      ((E) ? "write" : "read")
 +      str_write_read(E)
 
-@str_write_read_r depends on !patch exists@
+@str_write_read_r depends on !patch disable neg_if_exp@
 expression E;
 position P;
 @@
-*      ((E@P) ? "write" : "read")
+*      E@P ? "write" : "read"
 
 @script:python depends on report@
 p << str_write_read_r.P;
@@ -278,11 +269,11 @@ expression E;
 -      ((E) ? "on" : "off")
 +      str_on_off(E)
 
-@str_on_off_r depends on !patch exists@
+@str_on_off_r depends on !patch@
 expression E;
 position P;
 @@
-*      ((E@P) ? "on" : "off")
+*      E@P ? "on" : "off"
 
 @script:python depends on report@
 p << str_on_off_r.P;
@@ -297,11 +288,11 @@ expression E;
 -      ((E) ? "yes" : "no")
 +      str_yes_no(E)
 
-@str_yes_no_r depends on !patch exists@
+@str_yes_no_r depends on !patch@
 expression E;
 position P;
 @@
-*      ((E@P) ? "yes" : "no")
+*      E@P ? "yes" : "no"
 
 @script:python depends on report@
 p << str_yes_no_r.P;