aboutsummaryrefslogtreecommitdiff
path: root/scripts/coccinelle/device-reset.cocci
blob: 510042afccad9ec54c52053e4dff8b350a32e30b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Convert opencoded DeviceClass::reset assignments to calls to
// device_class_set_legacy_reset()
//
// Copyright Linaro Ltd 2024
// This work is licensed under the terms of the GNU GPLv2 or later.
//
// spatch --macro-file scripts/cocci-macro-file.h \
//        --sp-file scripts/coccinelle/device-reset.cocci \
//        --keep-comments --smpl-spacing --in-place --include-headers --dir hw
//
// For simplicity we assume some things about the code we're modifying
// that happen to be true for all our targets:
//  * all cpu_class_set_parent_reset() callsites have a 'DeviceClass *dc' local
//  * the parent reset field in the target CPU class is 'parent_reset'
//  * no reset function already has a 'dev' local

@@
identifier dc, resetfn;
@@
  DeviceClass *dc;
  ...
- dc->reset = resetfn;
+ device_class_set_legacy_reset(dc, resetfn);
@@
identifier dc, resetfn;
@@
  DeviceClass *dc;
  ...
- dc->reset = &resetfn;
+ device_class_set_legacy_reset(dc, resetfn);