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/timer.h>
29 :
30 :
31 : struct ldv_struct_insmod_3 {
32 : int signal_pending;
33 : };
34 1 :
35 : struct ldv_struct_timer_scenario_1 {
36 : struct timer_list *arg0;
37 : int signal_pending;
38 : };
39 :
40 : /* EMG Function declarations */
41 : void ldv_dispatch_instance_deregister_4_1(struct timer_list *);
42 : int ldv_emg_del_timer_sync(struct timer_list *);
43 : extern void ldv_timer_scenario_1(void *);
44 :
45 : /* EMG variable declarations */
46 :
47 : /* EMG variable initialization */
48 :
49 : /* EMG function definitions */
50 : /* AUX_FUNC ldv_dispatch_instance_deregister_4_1 */
51 : void ldv_dispatch_instance_deregister_4_1(struct timer_list *arg0) {
52 : struct ldv_struct_timer_scenario_1 *cf_arg_1;
53 : /* Skip thread join call */
54 0 : return;
55 : }
56 :
57 : /* AUX_FUNC ldv_emg_del_timer_sync */
58 : int ldv_emg_del_timer_sync(struct timer_list *arg0) {
59 : /* LDV {"comment": "Control function 'del_timer_sync'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_del_timer_sync"} */
60 0 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
61 : struct timer_list *ldv_4_timer_list_timer_list;
62 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
63 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get timer representing structure."} */
64 0 : ldv_4_timer_list_timer_list = arg0;
65 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
66 :
67 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister TIMER callbacks."} */
68 0 : ldv_dispatch_instance_deregister_4_1(ldv_4_timer_list_timer_list);
69 0 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_END"} */
70 :
71 : /* Exit function at a terminal state */
72 : /* End of the process */
73 : /* LDV {"comment": "End of control function based on process 'del_timer_sync'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_del_timer_sync"} */
74 : }
75 :
76 :
77 : /* AUX_FUNC ERR_PTR */
78 : static inline void *ERR_PTR (long int error)
79 : {
80 :
81 : return ldv_err_ptr(error);
82 : }
83 :
84 : /* AUX_FUNC PTR_ERR */
85 : static inline long int PTR_ERR (void const *ptr)
86 : {
87 :
88 : return ldv_ptr_err(ptr);
89 : }
90 :
91 : /* AUX_FUNC IS_ERR */
92 : static inline long int IS_ERR (void const *ptr)
93 : {
94 :
95 : return ldv_is_err(ptr);
96 : }
97 :
98 : /* AUX_FUNC IS_ERR_OR_NULL */
99 : static inline long int IS_ERR_OR_NULL (void const *ptr)
100 : {
101 :
102 : return ldv_is_err_or_null(ptr);
103 : }
104 :
105 : /* AUX_FUNC ldv_del_timer_sync_5 */
106 : int ldv_del_timer_sync_5 (struct timer_list *ldv_func_arg1)
107 : {
108 :
109 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'del_timer_sync'"} */
110 : return ldv_emg_del_timer_sync(ldv_func_arg1);
111 : }
112 :
113 : /* AUX_FUNC kzalloc */
114 : static inline void *kzalloc (size_t size, gfp_t flags)
115 : {
116 :
117 : return ldv_kzalloc(size, flags);
118 : }
|