x86/mm/pat: Don't report PAT on CPUs that don't support it
[linux/fpc-iii.git] / scripts / coccinelle / misc / of_table.cocci
blob2294915a19bc42c70b1cc2c3d510a7412526036b
1 /// Make sure (of/i2c/platform)_device_id tables are NULL terminated
2 //
3 // Keywords: of_table i2c_table platform_table
4 // Confidence: Medium
5 // Options: --include-headers
7 virtual patch
8 virtual context
9 virtual org
10 virtual report
12 @depends on context@
13 identifier var, arr;
14 expression E;
17 struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
18         ...,
19         {
20         .var = E,
21 *       }
24 struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
25         ...,
26 *       { ..., E, ... },
30 @depends on patch@
31 identifier var, arr;
32 expression E;
35 struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
36         ...,
37         {
38         .var = E,
39 -       }
40 +       },
41 +       { }
44 struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
45         ...,
46         { ..., E, ... },
47 +       { },
51 @r depends on org || report@
52 position p1;
53 identifier var, arr;
54 expression E;
57 struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
58         ...,
59         {
60         .var = E,
61         }
62         @p1
65 struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
66         ...,
67         { ..., E, ... }
68         @p1
72 @script:python depends on org@
73 p1 << r.p1;
74 arr << r.arr;
77 cocci.print_main(arr,p1)
79 @script:python depends on report@
80 p1 << r.p1;
81 arr << r.arr;
84 msg = "%s is not NULL terminated at line %s" % (arr, p1[0].line)
85 coccilib.report.print_report(p1[0],msg)