aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/dtc/dtc.h
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/dtc/dtc.h')
-rw-r--r--scripts/dtc/dtc.h44
1 files changed, 10 insertions, 34 deletions
diff --git a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h
index d501c8605f26..3e42a071070e 100644
--- a/scripts/dtc/dtc.h
+++ b/scripts/dtc/dtc.h
@@ -161,51 +161,27 @@ struct node {
161 struct label *labels; 161 struct label *labels;
162}; 162};
163 163
164static inline struct label *for_each_label_next(struct label *l)
165{
166 do {
167 l = l->next;
168 } while (l && l->deleted);
169
170 return l;
171}
172
173#define for_each_label(l0, l) \
174 for ((l) = (l0); (l); (l) = for_each_label_next(l))
175
176#define for_each_label_withdel(l0, l) \ 164#define for_each_label_withdel(l0, l) \
177 for ((l) = (l0); (l); (l) = (l)->next) 165 for ((l) = (l0); (l); (l) = (l)->next)
178 166
179static inline struct property *for_each_property_next(struct property *p) 167#define for_each_label(l0, l) \
180{ 168 for_each_label_withdel(l0, l) \
181 do { 169 if (!(l)->deleted)
182 p = p->next;
183 } while (p && p->deleted);
184
185 return p;
186}
187
188#define for_each_property(n, p) \
189 for ((p) = (n)->proplist; (p); (p) = for_each_property_next(p))
190 170
191#define for_each_property_withdel(n, p) \ 171#define for_each_property_withdel(n, p) \
192 for ((p) = (n)->proplist; (p); (p) = (p)->next) 172 for ((p) = (n)->proplist; (p); (p) = (p)->next)
193 173
194static inline struct node *for_each_child_next(struct node *c) 174#define for_each_property(n, p) \
195{ 175 for_each_property_withdel(n, p) \
196 do { 176 if (!(p)->deleted)
197 c = c->next_sibling;
198 } while (c && c->deleted);
199
200 return c;
201}
202
203#define for_each_child(n, c) \
204 for ((c) = (n)->children; (c); (c) = for_each_child_next(c))
205 177
206#define for_each_child_withdel(n, c) \ 178#define for_each_child_withdel(n, c) \
207 for ((c) = (n)->children; (c); (c) = (c)->next_sibling) 179 for ((c) = (n)->children; (c); (c) = (c)->next_sibling)
208 180
181#define for_each_child(n, c) \
182 for_each_child_withdel(n, c) \
183 if (!(c)->deleted)
184
209void add_label(struct label **labels, char *label); 185void add_label(struct label **labels, char *label);
210void delete_labels(struct label **labels); 186void delete_labels(struct label **labels);
211 187