Line data Source code
1 :
2 : struct device;
3 :
4 : void *ldv_dev_get_drvdata(const struct device *dev);
5 : int ldv_dev_set_drvdata(struct device *dev, void *data);
6 :
7 : struct spi_master;
8 : struct device;
9 : struct spi_master *ldv_spi_alloc_master(struct device *host, unsigned size);
10 :
11 : #include <linux/ldv/err.h>
12 :
13 : #include <linux/types.h>
14 : void *ldv_kzalloc(size_t size, gfp_t flags);
15 :
16 : struct clk;
17 :
18 : extern void ldv_clk_disable(struct clk *clk);
19 : extern int ldv_clk_enable(void);
20 :
21 : #include <linux/ldv/common.h>
22 : #include <linux/ldv/irq.h>
23 : #include <verifier/common.h>
24 : #include <verifier/nondet.h>
25 : #include <verifier/memory.h>
26 : #include <verifier/thread.h>
27 :
28 : #include <linux/pci.h>
29 : #include <linux/pm.h>
30 : #include <linux/timer.h>
31 :
32 :
33 : struct ldv_struct_insmod_6 {
34 : int signal_pending;
35 : };
36 :
37 : struct ldv_struct_pci_scenario_1 {
38 : struct pci_driver *arg0;
39 : int signal_pending;
40 : };
41 :
42 : struct ldv_struct_timer_scenario_4 {
43 : struct timer_list *arg0;
44 : int signal_pending;
45 : };
46 :
47 : /* EMG Function declarations */
48 : void ldv_dispatch_instance_deregister_7_1(struct timer_list *);
49 : int ldv_emg_del_timer(struct timer_list *);
50 : int ldv_emg_del_timer_sync(struct timer_list *);
51 : extern void ldv_timer_scenario_4(void *);
52 :
53 : /* EMG variable declarations */
54 :
55 : /* EMG variable initialization */
56 :
57 : /* EMG function definitions */
58 : /* AUX_FUNC ldv_dispatch_instance_deregister_7_1 */
59 : void ldv_dispatch_instance_deregister_7_1(struct timer_list *arg0) {
60 : struct ldv_struct_timer_scenario_4 *cf_arg_4;
61 : /* Skip thread join call */
62 2 : return;
63 : }
64 :
65 : /* AUX_FUNC ldv_emg_del_timer */
66 : int ldv_emg_del_timer(struct timer_list *arg0) {
67 : /* LDV {"comment": "Control function 'del_timer'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_del_timer"} */
68 2 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
69 : struct timer_list *ldv_7_timer_list_timer_list;
70 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
71 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get timer representing structure."} */
72 2 : ldv_7_timer_list_timer_list = arg0;
73 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
74 :
75 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister TIMER callbacks."} */
76 4 : ldv_dispatch_instance_deregister_7_1(ldv_7_timer_list_timer_list);
77 2 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_END"} */
78 :
79 : /* Exit function at a terminal state */
80 : /* End of the process */
81 : /* LDV {"comment": "End of control function based on process 'del_timer'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_del_timer"} */
82 : }
83 :
84 : /* AUX_FUNC ldv_emg_del_timer_sync */
85 : int ldv_emg_del_timer_sync(struct timer_list *arg0) {
86 : /* LDV {"comment": "Control function 'del_timer_sync'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_del_timer_sync"} */
87 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
88 : struct timer_list *ldv_8_timer_list_timer_list;
89 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
90 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get timer representing structure."} */
91 1 : ldv_8_timer_list_timer_list = arg0;
92 1 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
93 :
94 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Skip the action, since no callbacks has been found."} */
95 : /* Dispatch 'instance_deregister' is not expected by any process, skipping the action */
96 : /* Skip the dispatch because there is no process to receive the signal */
97 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_END"} */
98 :
99 : /* Exit function at a terminal state */
100 : /* End of the process */
101 : /* LDV {"comment": "End of control function based on process 'del_timer_sync'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_del_timer_sync"} */
102 : }
103 :
104 :
105 : /* AUX_FUNC ERR_PTR */
106 : static inline void *ERR_PTR (long int error)
107 : {
108 :
109 : return ldv_err_ptr(error);
110 : }
111 :
112 : /* AUX_FUNC PTR_ERR */
113 : static inline long int PTR_ERR (void const *ptr)
114 : {
115 :
116 : return ldv_ptr_err(ptr);
117 : }
118 :
119 : /* AUX_FUNC IS_ERR */
120 : static inline long int IS_ERR (void const *ptr)
121 : {
122 :
123 : return ldv_is_err(ptr);
124 : }
125 :
126 : /* AUX_FUNC IS_ERR_OR_NULL */
127 : static inline long int IS_ERR_OR_NULL (void const *ptr)
128 : {
129 :
130 : return ldv_is_err_or_null(ptr);
131 : }
132 :
133 : /* AUX_FUNC ldv_del_timer_sync_5 */
134 : int ldv_del_timer_sync_5 (struct timer_list *ldv_func_arg1)
135 : {
136 :
137 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'del_timer_sync'"} */
138 : return ldv_emg_del_timer_sync(ldv_func_arg1);
139 : }
140 :
141 : /* AUX_FUNC ldv_del_timer_6 */
142 : int ldv_del_timer_6 (struct timer_list *ldv_func_arg1)
143 : {
144 :
145 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'del_timer'"} */
146 : return ldv_emg_del_timer(ldv_func_arg1);
147 : }
148 :
149 : /* AUX_FUNC kzalloc */
150 : static inline void *kzalloc (size_t size, gfp_t flags)
151 : {
152 :
153 : return ldv_kzalloc(size, flags);
154 : }
155 :
156 : /* AUX_FUNC ldv_dev_get_drvdata_8 */
157 : void *ldv_dev_get_drvdata_8 (struct device const *dev)
158 : {
159 :
160 : return ldv_dev_get_drvdata(dev);
161 : }
162 :
163 : /* AUX_FUNC ldv_dev_get_drvdata_9 */
164 : void *ldv_dev_get_drvdata_9 (struct device const *dev)
165 : {
166 :
167 : return ldv_dev_get_drvdata(dev);
168 : }
|