This source file includes following definitions.
- register_firmware_ops
1
2
3
4
5
6
7
8 #ifndef __ASM_ARM_FIRMWARE_H
9 #define __ASM_ARM_FIRMWARE_H
10
11 #include <linux/bug.h>
12
13
14
15
16
17
18
19
20 struct firmware_ops {
21
22
23
24 int (*prepare_idle)(unsigned long mode);
25
26
27
28 int (*do_idle)(unsigned long mode);
29
30
31
32 int (*set_cpu_boot_addr)(int cpu, unsigned long boot_addr);
33
34
35
36 int (*get_cpu_boot_addr)(int cpu, unsigned long *boot_addr);
37
38
39
40 int (*cpu_boot)(int cpu);
41
42
43
44 int (*l2x0_init)(void);
45
46
47
48 int (*suspend)(void);
49
50
51
52 int (*resume)(void);
53 };
54
55
56 extern const struct firmware_ops *firmware_ops;
57
58
59
60
61
62
63
64 #define call_firmware_op(op, ...) \
65 ((firmware_ops->op) ? firmware_ops->op(__VA_ARGS__) : (-ENOSYS))
66
67
68
69
70
71
72 static inline void register_firmware_ops(const struct firmware_ops *ops)
73 {
74 BUG_ON(!ops);
75
76 firmware_ops = ops;
77 }
78
79 #endif