Commit | Line | Data |
---|---|---|
fb9e53cc | 1 | // SPDX-License-Identifier: GPL-2.0-only |
1f648f88 WS |
2 | /// Remove .owner field if calls are used which set it automatically |
3 | /// | |
4 | // Confidence: High | |
fb9e53cc | 5 | // Copyright: (C) 2014 Wolfram Sang. |
1f648f88 WS |
6 | |
7 | virtual patch | |
8 | virtual context | |
9 | virtual org | |
10 | virtual report | |
11 | ||
12 | @match1@ | |
bec8a5a2 | 13 | declarer name module_i2c_driver; |
1f648f88 WS |
14 | declarer name module_platform_driver; |
15 | declarer name module_platform_driver_probe; | |
16 | identifier __driver; | |
17 | @@ | |
18 | ( | |
bec8a5a2 KK |
19 | module_i2c_driver(__driver); |
20 | | | |
1f648f88 WS |
21 | module_platform_driver(__driver); |
22 | | | |
23 | module_platform_driver_probe(__driver, ...); | |
24 | ) | |
25 | ||
26 | @fix1 depends on match1 && patch && !context && !org && !report@ | |
27 | identifier match1.__driver; | |
28 | @@ | |
29 | static struct platform_driver __driver = { | |
30 | .driver = { | |
31 | - .owner = THIS_MODULE, | |
32 | } | |
33 | }; | |
34 | ||
bec8a5a2 KK |
35 | @fix1_i2c depends on match1 && patch && !context && !org && !report@ |
36 | identifier match1.__driver; | |
37 | @@ | |
38 | static struct i2c_driver __driver = { | |
39 | .driver = { | |
40 | - .owner = THIS_MODULE, | |
41 | } | |
42 | }; | |
43 | ||
1f648f88 WS |
44 | @match2@ |
45 | identifier __driver; | |
46 | @@ | |
47 | ( | |
48 | platform_driver_register(&__driver) | |
49 | | | |
50 | platform_driver_probe(&__driver, ...) | |
51 | | | |
52 | platform_create_bundle(&__driver, ...) | |
bec8a5a2 KK |
53 | | |
54 | i2c_add_driver(&__driver) | |
1f648f88 WS |
55 | ) |
56 | ||
57 | @fix2 depends on match2 && patch && !context && !org && !report@ | |
58 | identifier match2.__driver; | |
59 | @@ | |
60 | static struct platform_driver __driver = { | |
61 | .driver = { | |
62 | - .owner = THIS_MODULE, | |
63 | } | |
64 | }; | |
65 | ||
bec8a5a2 KK |
66 | @fix2_i2c depends on match2 && patch && !context && !org && !report@ |
67 | identifier match2.__driver; | |
68 | @@ | |
69 | static struct i2c_driver __driver = { | |
70 | .driver = { | |
71 | - .owner = THIS_MODULE, | |
72 | } | |
73 | }; | |
74 | ||
1f648f88 WS |
75 | // ---------------------------------------------------------------------------- |
76 | ||
77 | @fix1_context depends on match1 && !patch && (context || org || report)@ | |
78 | identifier match1.__driver; | |
79 | position j0; | |
80 | @@ | |
81 | ||
82 | static struct platform_driver __driver = { | |
83 | .driver = { | |
84 | * .owner@j0 = THIS_MODULE, | |
85 | } | |
86 | }; | |
87 | ||
bec8a5a2 KK |
88 | @fix1_i2c_context depends on match1 && !patch && (context || org || report)@ |
89 | identifier match1.__driver; | |
90 | position j0; | |
91 | @@ | |
92 | ||
93 | static struct i2c_driver __driver = { | |
94 | .driver = { | |
95 | * .owner@j0 = THIS_MODULE, | |
96 | } | |
97 | }; | |
98 | ||
1f648f88 WS |
99 | @fix2_context depends on match2 && !patch && (context || org || report)@ |
100 | identifier match2.__driver; | |
101 | position j0; | |
102 | @@ | |
103 | ||
104 | static struct platform_driver __driver = { | |
105 | .driver = { | |
106 | * .owner@j0 = THIS_MODULE, | |
107 | } | |
108 | }; | |
109 | ||
bec8a5a2 KK |
110 | @fix2_i2c_context depends on match2 && !patch && (context || org || report)@ |
111 | identifier match2.__driver; | |
112 | position j0; | |
113 | @@ | |
114 | ||
115 | static struct i2c_driver __driver = { | |
116 | .driver = { | |
117 | * .owner@j0 = THIS_MODULE, | |
118 | } | |
119 | }; | |
120 | ||
1f648f88 WS |
121 | // ---------------------------------------------------------------------------- |
122 | ||
123 | @script:python fix1_org depends on org@ | |
124 | j0 << fix1_context.j0; | |
125 | @@ | |
126 | ||
127 | msg = "No need to set .owner here. The core will do it." | |
128 | coccilib.org.print_todo(j0[0], msg) | |
129 | ||
bec8a5a2 KK |
130 | @script:python fix1_i2c_org depends on org@ |
131 | j0 << fix1_i2c_context.j0; | |
132 | @@ | |
133 | ||
134 | msg = "No need to set .owner here. The core will do it." | |
135 | coccilib.org.print_todo(j0[0], msg) | |
136 | ||
1f648f88 WS |
137 | @script:python fix2_org depends on org@ |
138 | j0 << fix2_context.j0; | |
139 | @@ | |
140 | ||
141 | msg = "No need to set .owner here. The core will do it." | |
142 | coccilib.org.print_todo(j0[0], msg) | |
143 | ||
bec8a5a2 KK |
144 | @script:python fix2_i2c_org depends on org@ |
145 | j0 << fix2_i2c_context.j0; | |
146 | @@ | |
147 | ||
148 | msg = "No need to set .owner here. The core will do it." | |
149 | coccilib.org.print_todo(j0[0], msg) | |
150 | ||
1f648f88 WS |
151 | // ---------------------------------------------------------------------------- |
152 | ||
153 | @script:python fix1_report depends on report@ | |
154 | j0 << fix1_context.j0; | |
155 | @@ | |
156 | ||
157 | msg = "No need to set .owner here. The core will do it." | |
158 | coccilib.report.print_report(j0[0], msg) | |
159 | ||
bec8a5a2 KK |
160 | @script:python fix1_i2c_report depends on report@ |
161 | j0 << fix1_i2c_context.j0; | |
162 | @@ | |
163 | ||
164 | msg = "No need to set .owner here. The core will do it." | |
165 | coccilib.report.print_report(j0[0], msg) | |
166 | ||
1f648f88 WS |
167 | @script:python fix2_report depends on report@ |
168 | j0 << fix2_context.j0; | |
169 | @@ | |
170 | ||
171 | msg = "No need to set .owner here. The core will do it." | |
172 | coccilib.report.print_report(j0[0], msg) | |
173 | ||
bec8a5a2 KK |
174 | @script:python fix2_i2c_report depends on report@ |
175 | j0 << fix2_i2c_context.j0; | |
176 | @@ | |
177 | ||
178 | msg = "No need to set .owner here. The core will do it." | |
179 | coccilib.report.print_report(j0[0], msg) | |
180 |