1
2
3
4#line 20 "include/asm-generic/int-ll64.h"
5typedef unsigned char __u8;
6#line 23 "include/asm-generic/int-ll64.h"
7typedef unsigned short __u16;
8#line 25 "include/asm-generic/int-ll64.h"
9typedef int __s32;
10#line 26 "include/asm-generic/int-ll64.h"
11typedef unsigned int __u32;
12#line 30 "include/asm-generic/int-ll64.h"
13typedef unsigned long long __u64;
14#line 43 "include/asm-generic/int-ll64.h"
15typedef unsigned char u8;
16#line 45 "include/asm-generic/int-ll64.h"
17typedef short s16;
18#line 46 "include/asm-generic/int-ll64.h"
19typedef unsigned short u16;
20#line 49 "include/asm-generic/int-ll64.h"
21typedef unsigned int u32;
22#line 51 "include/asm-generic/int-ll64.h"
23typedef long long s64;
24#line 52 "include/asm-generic/int-ll64.h"
25typedef unsigned long long u64;
26#line 14 "include/asm-generic/posix_types.h"
27typedef long __kernel_long_t;
28#line 15 "include/asm-generic/posix_types.h"
29typedef unsigned long __kernel_ulong_t;
30#line 31 "include/asm-generic/posix_types.h"
31typedef int __kernel_pid_t;
32#line 52 "include/asm-generic/posix_types.h"
33typedef unsigned int __kernel_uid32_t;
34#line 53 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_gid32_t;
36#line 75 "include/asm-generic/posix_types.h"
37typedef __kernel_ulong_t __kernel_size_t;
38#line 76 "include/asm-generic/posix_types.h"
39typedef __kernel_long_t __kernel_ssize_t;
40#line 91 "include/asm-generic/posix_types.h"
41typedef long long __kernel_loff_t;
42#line 92 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_time_t;
44#line 93 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_clock_t;
46#line 94 "include/asm-generic/posix_types.h"
47typedef int __kernel_timer_t;
48#line 95 "include/asm-generic/posix_types.h"
49typedef int __kernel_clockid_t;
50#line 21 "include/linux/types.h"
51typedef __u32 __kernel_dev_t;
52#line 24 "include/linux/types.h"
53typedef __kernel_dev_t dev_t;
54#line 27 "include/linux/types.h"
55typedef unsigned short umode_t;
56#line 30 "include/linux/types.h"
57typedef __kernel_pid_t pid_t;
58#line 35 "include/linux/types.h"
59typedef __kernel_clockid_t clockid_t;
60#line 38 "include/linux/types.h"
61typedef _Bool bool;
62#line 40 "include/linux/types.h"
63typedef __kernel_uid32_t uid_t;
64#line 41 "include/linux/types.h"
65typedef __kernel_gid32_t gid_t;
66#line 54 "include/linux/types.h"
67typedef __kernel_loff_t loff_t;
68#line 63 "include/linux/types.h"
69typedef __kernel_size_t size_t;
70#line 68 "include/linux/types.h"
71typedef __kernel_ssize_t ssize_t;
72#line 78 "include/linux/types.h"
73typedef __kernel_time_t time_t;
74#line 111 "include/linux/types.h"
75typedef __s32 int32_t;
76#line 117 "include/linux/types.h"
77typedef __u32 uint32_t;
78#line 202 "include/linux/types.h"
79typedef unsigned int gfp_t;
80#line 206 "include/linux/types.h"
81typedef u64 phys_addr_t;
82#line 211 "include/linux/types.h"
83typedef phys_addr_t resource_size_t;
84#line 221 "include/linux/types.h"
85struct __anonstruct_atomic_t_6 {
86 int counter ;
87};
88#line 221 "include/linux/types.h"
89typedef struct __anonstruct_atomic_t_6 atomic_t;
90#line 226 "include/linux/types.h"
91struct __anonstruct_atomic64_t_7 {
92 long counter ;
93};
94#line 226 "include/linux/types.h"
95typedef struct __anonstruct_atomic64_t_7 atomic64_t;
96#line 227 "include/linux/types.h"
97struct list_head {
98 struct list_head *next ;
99 struct list_head *prev ;
100};
101#line 232
102struct hlist_node;
103#line 232 "include/linux/types.h"
104struct hlist_head {
105 struct hlist_node *first ;
106};
107#line 236 "include/linux/types.h"
108struct hlist_node {
109 struct hlist_node *next ;
110 struct hlist_node **pprev ;
111};
112#line 247 "include/linux/types.h"
113struct rcu_head {
114 struct rcu_head *next ;
115 void (*func)(struct rcu_head * ) ;
116};
117#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
118struct module;
119#line 55
120struct module;
121#line 146 "include/linux/init.h"
122typedef void (*ctor_fn_t)(void);
123#line 305 "include/linux/printk.h"
124struct _ddebug {
125 char const *modname ;
126 char const *function ;
127 char const *filename ;
128 char const *format ;
129 unsigned int lineno : 18 ;
130 unsigned char flags ;
131};
132#line 46 "include/linux/dynamic_debug.h"
133struct device;
134#line 46
135struct device;
136#line 57
137struct completion;
138#line 57
139struct completion;
140#line 58
141struct pt_regs;
142#line 58
143struct pt_regs;
144#line 348 "include/linux/kernel.h"
145struct pid;
146#line 348
147struct pid;
148#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
149struct timespec;
150#line 112
151struct timespec;
152#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
153struct page;
154#line 58
155struct page;
156#line 26 "include/asm-generic/getorder.h"
157struct task_struct;
158#line 26
159struct task_struct;
160#line 28
161struct mm_struct;
162#line 28
163struct mm_struct;
164#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
165struct pt_regs {
166 unsigned long r15 ;
167 unsigned long r14 ;
168 unsigned long r13 ;
169 unsigned long r12 ;
170 unsigned long bp ;
171 unsigned long bx ;
172 unsigned long r11 ;
173 unsigned long r10 ;
174 unsigned long r9 ;
175 unsigned long r8 ;
176 unsigned long ax ;
177 unsigned long cx ;
178 unsigned long dx ;
179 unsigned long si ;
180 unsigned long di ;
181 unsigned long orig_ax ;
182 unsigned long ip ;
183 unsigned long cs ;
184 unsigned long flags ;
185 unsigned long sp ;
186 unsigned long ss ;
187};
188#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
189struct __anonstruct_ldv_2180_13 {
190 unsigned int a ;
191 unsigned int b ;
192};
193#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
194struct __anonstruct_ldv_2195_14 {
195 u16 limit0 ;
196 u16 base0 ;
197 unsigned char base1 ;
198 unsigned char type : 4 ;
199 unsigned char s : 1 ;
200 unsigned char dpl : 2 ;
201 unsigned char p : 1 ;
202 unsigned char limit : 4 ;
203 unsigned char avl : 1 ;
204 unsigned char l : 1 ;
205 unsigned char d : 1 ;
206 unsigned char g : 1 ;
207 unsigned char base2 ;
208};
209#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
210union __anonunion_ldv_2196_12 {
211 struct __anonstruct_ldv_2180_13 ldv_2180 ;
212 struct __anonstruct_ldv_2195_14 ldv_2195 ;
213};
214#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
215struct desc_struct {
216 union __anonunion_ldv_2196_12 ldv_2196 ;
217};
218#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
219typedef unsigned long pgdval_t;
220#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
221typedef unsigned long pgprotval_t;
222#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
223struct pgprot {
224 pgprotval_t pgprot ;
225};
226#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
227typedef struct pgprot pgprot_t;
228#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
229struct __anonstruct_pgd_t_16 {
230 pgdval_t pgd ;
231};
232#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
233typedef struct __anonstruct_pgd_t_16 pgd_t;
234#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
235typedef struct page *pgtable_t;
236#line 290
237struct file;
238#line 290
239struct file;
240#line 337
241struct thread_struct;
242#line 337
243struct thread_struct;
244#line 339
245struct cpumask;
246#line 339
247struct cpumask;
248#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
249struct arch_spinlock;
250#line 327
251struct arch_spinlock;
252#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
253struct kernel_vm86_regs {
254 struct pt_regs pt ;
255 unsigned short es ;
256 unsigned short __esh ;
257 unsigned short ds ;
258 unsigned short __dsh ;
259 unsigned short fs ;
260 unsigned short __fsh ;
261 unsigned short gs ;
262 unsigned short __gsh ;
263};
264#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
265union __anonunion_ldv_2824_19 {
266 struct pt_regs *regs ;
267 struct kernel_vm86_regs *vm86 ;
268};
269#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
270struct math_emu_info {
271 long ___orig_eip ;
272 union __anonunion_ldv_2824_19 ldv_2824 ;
273};
274#line 306 "include/linux/bitmap.h"
275struct bug_entry {
276 int bug_addr_disp ;
277 int file_disp ;
278 unsigned short line ;
279 unsigned short flags ;
280};
281#line 89 "include/linux/bug.h"
282struct cpumask {
283 unsigned long bits[64U] ;
284};
285#line 14 "include/linux/cpumask.h"
286typedef struct cpumask cpumask_t;
287#line 637 "include/linux/cpumask.h"
288typedef struct cpumask *cpumask_var_t;
289#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
290struct static_key;
291#line 234
292struct static_key;
293#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
294struct i387_fsave_struct {
295 u32 cwd ;
296 u32 swd ;
297 u32 twd ;
298 u32 fip ;
299 u32 fcs ;
300 u32 foo ;
301 u32 fos ;
302 u32 st_space[20U] ;
303 u32 status ;
304};
305#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
306struct __anonstruct_ldv_5180_24 {
307 u64 rip ;
308 u64 rdp ;
309};
310#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
311struct __anonstruct_ldv_5186_25 {
312 u32 fip ;
313 u32 fcs ;
314 u32 foo ;
315 u32 fos ;
316};
317#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
318union __anonunion_ldv_5187_23 {
319 struct __anonstruct_ldv_5180_24 ldv_5180 ;
320 struct __anonstruct_ldv_5186_25 ldv_5186 ;
321};
322#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
323union __anonunion_ldv_5196_26 {
324 u32 padding1[12U] ;
325 u32 sw_reserved[12U] ;
326};
327#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
328struct i387_fxsave_struct {
329 u16 cwd ;
330 u16 swd ;
331 u16 twd ;
332 u16 fop ;
333 union __anonunion_ldv_5187_23 ldv_5187 ;
334 u32 mxcsr ;
335 u32 mxcsr_mask ;
336 u32 st_space[32U] ;
337 u32 xmm_space[64U] ;
338 u32 padding[12U] ;
339 union __anonunion_ldv_5196_26 ldv_5196 ;
340};
341#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
342struct i387_soft_struct {
343 u32 cwd ;
344 u32 swd ;
345 u32 twd ;
346 u32 fip ;
347 u32 fcs ;
348 u32 foo ;
349 u32 fos ;
350 u32 st_space[20U] ;
351 u8 ftop ;
352 u8 changed ;
353 u8 lookahead ;
354 u8 no_update ;
355 u8 rm ;
356 u8 alimit ;
357 struct math_emu_info *info ;
358 u32 entry_eip ;
359};
360#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
361struct ymmh_struct {
362 u32 ymmh_space[64U] ;
363};
364#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
365struct xsave_hdr_struct {
366 u64 xstate_bv ;
367 u64 reserved1[2U] ;
368 u64 reserved2[5U] ;
369};
370#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
371struct xsave_struct {
372 struct i387_fxsave_struct i387 ;
373 struct xsave_hdr_struct xsave_hdr ;
374 struct ymmh_struct ymmh ;
375};
376#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
377union thread_xstate {
378 struct i387_fsave_struct fsave ;
379 struct i387_fxsave_struct fxsave ;
380 struct i387_soft_struct soft ;
381 struct xsave_struct xsave ;
382};
383#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
384struct fpu {
385 unsigned int last_cpu ;
386 unsigned int has_fpu ;
387 union thread_xstate *state ;
388};
389#line 433
390struct kmem_cache;
391#line 434
392struct perf_event;
393#line 434
394struct perf_event;
395#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
396struct thread_struct {
397 struct desc_struct tls_array[3U] ;
398 unsigned long sp0 ;
399 unsigned long sp ;
400 unsigned long usersp ;
401 unsigned short es ;
402 unsigned short ds ;
403 unsigned short fsindex ;
404 unsigned short gsindex ;
405 unsigned long fs ;
406 unsigned long gs ;
407 struct perf_event *ptrace_bps[4U] ;
408 unsigned long debugreg6 ;
409 unsigned long ptrace_dr7 ;
410 unsigned long cr2 ;
411 unsigned long trap_nr ;
412 unsigned long error_code ;
413 struct fpu fpu ;
414 unsigned long *io_bitmap_ptr ;
415 unsigned long iopl ;
416 unsigned int io_bitmap_max ;
417};
418#line 23 "include/asm-generic/atomic-long.h"
419typedef atomic64_t atomic_long_t;
420#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
421typedef u16 __ticket_t;
422#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
423typedef u32 __ticketpair_t;
424#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
425struct __raw_tickets {
426 __ticket_t head ;
427 __ticket_t tail ;
428};
429#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
430union __anonunion_ldv_5907_29 {
431 __ticketpair_t head_tail ;
432 struct __raw_tickets tickets ;
433};
434#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
435struct arch_spinlock {
436 union __anonunion_ldv_5907_29 ldv_5907 ;
437};
438#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
439typedef struct arch_spinlock arch_spinlock_t;
440#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
441struct lockdep_map;
442#line 34
443struct lockdep_map;
444#line 55 "include/linux/debug_locks.h"
445struct stack_trace {
446 unsigned int nr_entries ;
447 unsigned int max_entries ;
448 unsigned long *entries ;
449 int skip ;
450};
451#line 26 "include/linux/stacktrace.h"
452struct lockdep_subclass_key {
453 char __one_byte ;
454};
455#line 53 "include/linux/lockdep.h"
456struct lock_class_key {
457 struct lockdep_subclass_key subkeys[8U] ;
458};
459#line 59 "include/linux/lockdep.h"
460struct lock_class {
461 struct list_head hash_entry ;
462 struct list_head lock_entry ;
463 struct lockdep_subclass_key *key ;
464 unsigned int subclass ;
465 unsigned int dep_gen_id ;
466 unsigned long usage_mask ;
467 struct stack_trace usage_traces[13U] ;
468 struct list_head locks_after ;
469 struct list_head locks_before ;
470 unsigned int version ;
471 unsigned long ops ;
472 char const *name ;
473 int name_version ;
474 unsigned long contention_point[4U] ;
475 unsigned long contending_point[4U] ;
476};
477#line 144 "include/linux/lockdep.h"
478struct lockdep_map {
479 struct lock_class_key *key ;
480 struct lock_class *class_cache[2U] ;
481 char const *name ;
482 int cpu ;
483 unsigned long ip ;
484};
485#line 187 "include/linux/lockdep.h"
486struct held_lock {
487 u64 prev_chain_key ;
488 unsigned long acquire_ip ;
489 struct lockdep_map *instance ;
490 struct lockdep_map *nest_lock ;
491 u64 waittime_stamp ;
492 u64 holdtime_stamp ;
493 unsigned short class_idx : 13 ;
494 unsigned char irq_context : 2 ;
495 unsigned char trylock : 1 ;
496 unsigned char read : 2 ;
497 unsigned char check : 2 ;
498 unsigned char hardirqs_off : 1 ;
499 unsigned short references : 11 ;
500};
501#line 556 "include/linux/lockdep.h"
502struct raw_spinlock {
503 arch_spinlock_t raw_lock ;
504 unsigned int magic ;
505 unsigned int owner_cpu ;
506 void *owner ;
507 struct lockdep_map dep_map ;
508};
509#line 32 "include/linux/spinlock_types.h"
510typedef struct raw_spinlock raw_spinlock_t;
511#line 33 "include/linux/spinlock_types.h"
512struct __anonstruct_ldv_6122_33 {
513 u8 __padding[24U] ;
514 struct lockdep_map dep_map ;
515};
516#line 33 "include/linux/spinlock_types.h"
517union __anonunion_ldv_6123_32 {
518 struct raw_spinlock rlock ;
519 struct __anonstruct_ldv_6122_33 ldv_6122 ;
520};
521#line 33 "include/linux/spinlock_types.h"
522struct spinlock {
523 union __anonunion_ldv_6123_32 ldv_6123 ;
524};
525#line 76 "include/linux/spinlock_types.h"
526typedef struct spinlock spinlock_t;
527#line 110 "include/linux/seqlock.h"
528struct seqcount {
529 unsigned int sequence ;
530};
531#line 121 "include/linux/seqlock.h"
532typedef struct seqcount seqcount_t;
533#line 254 "include/linux/seqlock.h"
534struct timespec {
535 __kernel_time_t tv_sec ;
536 long tv_nsec ;
537};
538#line 48 "include/linux/wait.h"
539struct __wait_queue_head {
540 spinlock_t lock ;
541 struct list_head task_list ;
542};
543#line 53 "include/linux/wait.h"
544typedef struct __wait_queue_head wait_queue_head_t;
545#line 98 "include/linux/nodemask.h"
546struct __anonstruct_nodemask_t_36 {
547 unsigned long bits[16U] ;
548};
549#line 98 "include/linux/nodemask.h"
550typedef struct __anonstruct_nodemask_t_36 nodemask_t;
551#line 670 "include/linux/mmzone.h"
552struct mutex {
553 atomic_t count ;
554 spinlock_t wait_lock ;
555 struct list_head wait_list ;
556 struct task_struct *owner ;
557 char const *name ;
558 void *magic ;
559 struct lockdep_map dep_map ;
560};
561#line 63 "include/linux/mutex.h"
562struct mutex_waiter {
563 struct list_head list ;
564 struct task_struct *task ;
565 void *magic ;
566};
567#line 171
568struct rw_semaphore;
569#line 171
570struct rw_semaphore;
571#line 172 "include/linux/mutex.h"
572struct rw_semaphore {
573 long count ;
574 raw_spinlock_t wait_lock ;
575 struct list_head wait_list ;
576 struct lockdep_map dep_map ;
577};
578#line 128 "include/linux/rwsem.h"
579struct completion {
580 unsigned int done ;
581 wait_queue_head_t wait ;
582};
583#line 188 "include/linux/rcupdate.h"
584struct notifier_block;
585#line 188
586struct notifier_block;
587#line 239 "include/linux/srcu.h"
588struct notifier_block {
589 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
590 struct notifier_block *next ;
591 int priority ;
592};
593#line 60 "include/linux/notifier.h"
594struct blocking_notifier_head {
595 struct rw_semaphore rwsem ;
596 struct notifier_block *head ;
597};
598#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
599struct resource {
600 resource_size_t start ;
601 resource_size_t end ;
602 char const *name ;
603 unsigned long flags ;
604 struct resource *parent ;
605 struct resource *sibling ;
606 struct resource *child ;
607};
608#line 312 "include/linux/jiffies.h"
609union ktime {
610 s64 tv64 ;
611};
612#line 59 "include/linux/ktime.h"
613typedef union ktime ktime_t;
614#line 341
615struct tvec_base;
616#line 341
617struct tvec_base;
618#line 342 "include/linux/ktime.h"
619struct timer_list {
620 struct list_head entry ;
621 unsigned long expires ;
622 struct tvec_base *base ;
623 void (*function)(unsigned long ) ;
624 unsigned long data ;
625 int slack ;
626 int start_pid ;
627 void *start_site ;
628 char start_comm[16U] ;
629 struct lockdep_map lockdep_map ;
630};
631#line 289 "include/linux/timer.h"
632struct hrtimer;
633#line 289
634struct hrtimer;
635#line 290
636enum hrtimer_restart;
637#line 302
638struct work_struct;
639#line 302
640struct work_struct;
641#line 45 "include/linux/workqueue.h"
642struct work_struct {
643 atomic_long_t data ;
644 struct list_head entry ;
645 void (*func)(struct work_struct * ) ;
646 struct lockdep_map lockdep_map ;
647};
648#line 86 "include/linux/workqueue.h"
649struct delayed_work {
650 struct work_struct work ;
651 struct timer_list timer ;
652};
653#line 46 "include/linux/pm.h"
654struct pm_message {
655 int event ;
656};
657#line 52 "include/linux/pm.h"
658typedef struct pm_message pm_message_t;
659#line 53 "include/linux/pm.h"
660struct dev_pm_ops {
661 int (*prepare)(struct device * ) ;
662 void (*complete)(struct device * ) ;
663 int (*suspend)(struct device * ) ;
664 int (*resume)(struct device * ) ;
665 int (*freeze)(struct device * ) ;
666 int (*thaw)(struct device * ) ;
667 int (*poweroff)(struct device * ) ;
668 int (*restore)(struct device * ) ;
669 int (*suspend_late)(struct device * ) ;
670 int (*resume_early)(struct device * ) ;
671 int (*freeze_late)(struct device * ) ;
672 int (*thaw_early)(struct device * ) ;
673 int (*poweroff_late)(struct device * ) ;
674 int (*restore_early)(struct device * ) ;
675 int (*suspend_noirq)(struct device * ) ;
676 int (*resume_noirq)(struct device * ) ;
677 int (*freeze_noirq)(struct device * ) ;
678 int (*thaw_noirq)(struct device * ) ;
679 int (*poweroff_noirq)(struct device * ) ;
680 int (*restore_noirq)(struct device * ) ;
681 int (*runtime_suspend)(struct device * ) ;
682 int (*runtime_resume)(struct device * ) ;
683 int (*runtime_idle)(struct device * ) ;
684};
685#line 289
686enum rpm_status {
687 RPM_ACTIVE = 0,
688 RPM_RESUMING = 1,
689 RPM_SUSPENDED = 2,
690 RPM_SUSPENDING = 3
691} ;
692#line 296
693enum rpm_request {
694 RPM_REQ_NONE = 0,
695 RPM_REQ_IDLE = 1,
696 RPM_REQ_SUSPEND = 2,
697 RPM_REQ_AUTOSUSPEND = 3,
698 RPM_REQ_RESUME = 4
699} ;
700#line 304
701struct wakeup_source;
702#line 304
703struct wakeup_source;
704#line 494 "include/linux/pm.h"
705struct pm_subsys_data {
706 spinlock_t lock ;
707 unsigned int refcount ;
708};
709#line 499
710struct dev_pm_qos_request;
711#line 499
712struct pm_qos_constraints;
713#line 499 "include/linux/pm.h"
714struct dev_pm_info {
715 pm_message_t power_state ;
716 unsigned char can_wakeup : 1 ;
717 unsigned char async_suspend : 1 ;
718 bool is_prepared ;
719 bool is_suspended ;
720 bool ignore_children ;
721 spinlock_t lock ;
722 struct list_head entry ;
723 struct completion completion ;
724 struct wakeup_source *wakeup ;
725 bool wakeup_path ;
726 struct timer_list suspend_timer ;
727 unsigned long timer_expires ;
728 struct work_struct work ;
729 wait_queue_head_t wait_queue ;
730 atomic_t usage_count ;
731 atomic_t child_count ;
732 unsigned char disable_depth : 3 ;
733 unsigned char idle_notification : 1 ;
734 unsigned char request_pending : 1 ;
735 unsigned char deferred_resume : 1 ;
736 unsigned char run_wake : 1 ;
737 unsigned char runtime_auto : 1 ;
738 unsigned char no_callbacks : 1 ;
739 unsigned char irq_safe : 1 ;
740 unsigned char use_autosuspend : 1 ;
741 unsigned char timer_autosuspends : 1 ;
742 enum rpm_request request ;
743 enum rpm_status runtime_status ;
744 int runtime_error ;
745 int autosuspend_delay ;
746 unsigned long last_busy ;
747 unsigned long active_jiffies ;
748 unsigned long suspended_jiffies ;
749 unsigned long accounting_timestamp ;
750 ktime_t suspend_time ;
751 s64 max_time_suspended_ns ;
752 struct dev_pm_qos_request *pq_req ;
753 struct pm_subsys_data *subsys_data ;
754 struct pm_qos_constraints *constraints ;
755};
756#line 558 "include/linux/pm.h"
757struct dev_pm_domain {
758 struct dev_pm_ops ops ;
759};
760#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
761struct __anonstruct_mm_context_t_101 {
762 void *ldt ;
763 int size ;
764 unsigned short ia32_compat ;
765 struct mutex lock ;
766 void *vdso ;
767};
768#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
769typedef struct __anonstruct_mm_context_t_101 mm_context_t;
770#line 18 "include/asm-generic/pci_iomap.h"
771struct vm_area_struct;
772#line 18
773struct vm_area_struct;
774#line 835 "include/linux/sysctl.h"
775struct rb_node {
776 unsigned long rb_parent_color ;
777 struct rb_node *rb_right ;
778 struct rb_node *rb_left ;
779};
780#line 108 "include/linux/rbtree.h"
781struct rb_root {
782 struct rb_node *rb_node ;
783};
784#line 176
785struct nsproxy;
786#line 176
787struct nsproxy;
788#line 37 "include/linux/kmod.h"
789struct cred;
790#line 37
791struct cred;
792#line 18 "include/linux/elf.h"
793typedef __u64 Elf64_Addr;
794#line 19 "include/linux/elf.h"
795typedef __u16 Elf64_Half;
796#line 23 "include/linux/elf.h"
797typedef __u32 Elf64_Word;
798#line 24 "include/linux/elf.h"
799typedef __u64 Elf64_Xword;
800#line 193 "include/linux/elf.h"
801struct elf64_sym {
802 Elf64_Word st_name ;
803 unsigned char st_info ;
804 unsigned char st_other ;
805 Elf64_Half st_shndx ;
806 Elf64_Addr st_value ;
807 Elf64_Xword st_size ;
808};
809#line 201 "include/linux/elf.h"
810typedef struct elf64_sym Elf64_Sym;
811#line 445
812struct sock;
813#line 445
814struct sock;
815#line 446
816struct kobject;
817#line 446
818struct kobject;
819#line 447
820enum kobj_ns_type {
821 KOBJ_NS_TYPE_NONE = 0,
822 KOBJ_NS_TYPE_NET = 1,
823 KOBJ_NS_TYPES = 2
824} ;
825#line 453 "include/linux/elf.h"
826struct kobj_ns_type_operations {
827 enum kobj_ns_type type ;
828 void *(*grab_current_ns)(void) ;
829 void const *(*netlink_ns)(struct sock * ) ;
830 void const *(*initial_ns)(void) ;
831 void (*drop_ns)(void * ) ;
832};
833#line 57 "include/linux/kobject_ns.h"
834struct attribute {
835 char const *name ;
836 umode_t mode ;
837 struct lock_class_key *key ;
838 struct lock_class_key skey ;
839};
840#line 33 "include/linux/sysfs.h"
841struct attribute_group {
842 char const *name ;
843 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
844 struct attribute **attrs ;
845};
846#line 62 "include/linux/sysfs.h"
847struct bin_attribute {
848 struct attribute attr ;
849 size_t size ;
850 void *private ;
851 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
852 loff_t , size_t ) ;
853 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
854 loff_t , size_t ) ;
855 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
856};
857#line 98 "include/linux/sysfs.h"
858struct sysfs_ops {
859 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
860 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
861 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
862};
863#line 117
864struct sysfs_dirent;
865#line 117
866struct sysfs_dirent;
867#line 182 "include/linux/sysfs.h"
868struct kref {
869 atomic_t refcount ;
870};
871#line 49 "include/linux/kobject.h"
872struct kset;
873#line 49
874struct kobj_type;
875#line 49 "include/linux/kobject.h"
876struct kobject {
877 char const *name ;
878 struct list_head entry ;
879 struct kobject *parent ;
880 struct kset *kset ;
881 struct kobj_type *ktype ;
882 struct sysfs_dirent *sd ;
883 struct kref kref ;
884 unsigned char state_initialized : 1 ;
885 unsigned char state_in_sysfs : 1 ;
886 unsigned char state_add_uevent_sent : 1 ;
887 unsigned char state_remove_uevent_sent : 1 ;
888 unsigned char uevent_suppress : 1 ;
889};
890#line 107 "include/linux/kobject.h"
891struct kobj_type {
892 void (*release)(struct kobject * ) ;
893 struct sysfs_ops const *sysfs_ops ;
894 struct attribute **default_attrs ;
895 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
896 void const *(*namespace)(struct kobject * ) ;
897};
898#line 115 "include/linux/kobject.h"
899struct kobj_uevent_env {
900 char *envp[32U] ;
901 int envp_idx ;
902 char buf[2048U] ;
903 int buflen ;
904};
905#line 122 "include/linux/kobject.h"
906struct kset_uevent_ops {
907 int (* const filter)(struct kset * , struct kobject * ) ;
908 char const *(* const name)(struct kset * , struct kobject * ) ;
909 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
910};
911#line 139 "include/linux/kobject.h"
912struct kset {
913 struct list_head list ;
914 spinlock_t list_lock ;
915 struct kobject kobj ;
916 struct kset_uevent_ops const *uevent_ops ;
917};
918#line 215
919struct kernel_param;
920#line 215
921struct kernel_param;
922#line 216 "include/linux/kobject.h"
923struct kernel_param_ops {
924 int (*set)(char const * , struct kernel_param const * ) ;
925 int (*get)(char * , struct kernel_param const * ) ;
926 void (*free)(void * ) ;
927};
928#line 49 "include/linux/moduleparam.h"
929struct kparam_string;
930#line 49
931struct kparam_array;
932#line 49 "include/linux/moduleparam.h"
933union __anonunion_ldv_13363_134 {
934 void *arg ;
935 struct kparam_string const *str ;
936 struct kparam_array const *arr ;
937};
938#line 49 "include/linux/moduleparam.h"
939struct kernel_param {
940 char const *name ;
941 struct kernel_param_ops const *ops ;
942 u16 perm ;
943 s16 level ;
944 union __anonunion_ldv_13363_134 ldv_13363 ;
945};
946#line 61 "include/linux/moduleparam.h"
947struct kparam_string {
948 unsigned int maxlen ;
949 char *string ;
950};
951#line 67 "include/linux/moduleparam.h"
952struct kparam_array {
953 unsigned int max ;
954 unsigned int elemsize ;
955 unsigned int *num ;
956 struct kernel_param_ops const *ops ;
957 void *elem ;
958};
959#line 458 "include/linux/moduleparam.h"
960struct static_key {
961 atomic_t enabled ;
962};
963#line 225 "include/linux/jump_label.h"
964struct tracepoint;
965#line 225
966struct tracepoint;
967#line 226 "include/linux/jump_label.h"
968struct tracepoint_func {
969 void *func ;
970 void *data ;
971};
972#line 29 "include/linux/tracepoint.h"
973struct tracepoint {
974 char const *name ;
975 struct static_key key ;
976 void (*regfunc)(void) ;
977 void (*unregfunc)(void) ;
978 struct tracepoint_func *funcs ;
979};
980#line 86 "include/linux/tracepoint.h"
981struct kernel_symbol {
982 unsigned long value ;
983 char const *name ;
984};
985#line 27 "include/linux/export.h"
986struct mod_arch_specific {
987
988};
989#line 34 "include/linux/module.h"
990struct module_param_attrs;
991#line 34 "include/linux/module.h"
992struct module_kobject {
993 struct kobject kobj ;
994 struct module *mod ;
995 struct kobject *drivers_dir ;
996 struct module_param_attrs *mp ;
997};
998#line 43 "include/linux/module.h"
999struct module_attribute {
1000 struct attribute attr ;
1001 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1002 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1003 size_t ) ;
1004 void (*setup)(struct module * , char const * ) ;
1005 int (*test)(struct module * ) ;
1006 void (*free)(struct module * ) ;
1007};
1008#line 69
1009struct exception_table_entry;
1010#line 69
1011struct exception_table_entry;
1012#line 198
1013enum module_state {
1014 MODULE_STATE_LIVE = 0,
1015 MODULE_STATE_COMING = 1,
1016 MODULE_STATE_GOING = 2
1017} ;
1018#line 204 "include/linux/module.h"
1019struct module_ref {
1020 unsigned long incs ;
1021 unsigned long decs ;
1022};
1023#line 219
1024struct module_sect_attrs;
1025#line 219
1026struct module_notes_attrs;
1027#line 219
1028struct ftrace_event_call;
1029#line 219 "include/linux/module.h"
1030struct module {
1031 enum module_state state ;
1032 struct list_head list ;
1033 char name[56U] ;
1034 struct module_kobject mkobj ;
1035 struct module_attribute *modinfo_attrs ;
1036 char const *version ;
1037 char const *srcversion ;
1038 struct kobject *holders_dir ;
1039 struct kernel_symbol const *syms ;
1040 unsigned long const *crcs ;
1041 unsigned int num_syms ;
1042 struct kernel_param *kp ;
1043 unsigned int num_kp ;
1044 unsigned int num_gpl_syms ;
1045 struct kernel_symbol const *gpl_syms ;
1046 unsigned long const *gpl_crcs ;
1047 struct kernel_symbol const *unused_syms ;
1048 unsigned long const *unused_crcs ;
1049 unsigned int num_unused_syms ;
1050 unsigned int num_unused_gpl_syms ;
1051 struct kernel_symbol const *unused_gpl_syms ;
1052 unsigned long const *unused_gpl_crcs ;
1053 struct kernel_symbol const *gpl_future_syms ;
1054 unsigned long const *gpl_future_crcs ;
1055 unsigned int num_gpl_future_syms ;
1056 unsigned int num_exentries ;
1057 struct exception_table_entry *extable ;
1058 int (*init)(void) ;
1059 void *module_init ;
1060 void *module_core ;
1061 unsigned int init_size ;
1062 unsigned int core_size ;
1063 unsigned int init_text_size ;
1064 unsigned int core_text_size ;
1065 unsigned int init_ro_size ;
1066 unsigned int core_ro_size ;
1067 struct mod_arch_specific arch ;
1068 unsigned int taints ;
1069 unsigned int num_bugs ;
1070 struct list_head bug_list ;
1071 struct bug_entry *bug_table ;
1072 Elf64_Sym *symtab ;
1073 Elf64_Sym *core_symtab ;
1074 unsigned int num_symtab ;
1075 unsigned int core_num_syms ;
1076 char *strtab ;
1077 char *core_strtab ;
1078 struct module_sect_attrs *sect_attrs ;
1079 struct module_notes_attrs *notes_attrs ;
1080 char *args ;
1081 void *percpu ;
1082 unsigned int percpu_size ;
1083 unsigned int num_tracepoints ;
1084 struct tracepoint * const *tracepoints_ptrs ;
1085 unsigned int num_trace_bprintk_fmt ;
1086 char const **trace_bprintk_fmt_start ;
1087 struct ftrace_event_call **trace_events ;
1088 unsigned int num_trace_events ;
1089 struct list_head source_list ;
1090 struct list_head target_list ;
1091 struct task_struct *waiter ;
1092 void (*exit)(void) ;
1093 struct module_ref *refptr ;
1094 ctor_fn_t (**ctors)(void) ;
1095 unsigned int num_ctors ;
1096};
1097#line 88 "include/linux/kmemleak.h"
1098struct kmem_cache_cpu {
1099 void **freelist ;
1100 unsigned long tid ;
1101 struct page *page ;
1102 struct page *partial ;
1103 int node ;
1104 unsigned int stat[26U] ;
1105};
1106#line 55 "include/linux/slub_def.h"
1107struct kmem_cache_node {
1108 spinlock_t list_lock ;
1109 unsigned long nr_partial ;
1110 struct list_head partial ;
1111 atomic_long_t nr_slabs ;
1112 atomic_long_t total_objects ;
1113 struct list_head full ;
1114};
1115#line 66 "include/linux/slub_def.h"
1116struct kmem_cache_order_objects {
1117 unsigned long x ;
1118};
1119#line 76 "include/linux/slub_def.h"
1120struct kmem_cache {
1121 struct kmem_cache_cpu *cpu_slab ;
1122 unsigned long flags ;
1123 unsigned long min_partial ;
1124 int size ;
1125 int objsize ;
1126 int offset ;
1127 int cpu_partial ;
1128 struct kmem_cache_order_objects oo ;
1129 struct kmem_cache_order_objects max ;
1130 struct kmem_cache_order_objects min ;
1131 gfp_t allocflags ;
1132 int refcount ;
1133 void (*ctor)(void * ) ;
1134 int inuse ;
1135 int align ;
1136 int reserved ;
1137 char const *name ;
1138 struct list_head list ;
1139 struct kobject kobj ;
1140 int remote_node_defrag_ratio ;
1141 struct kmem_cache_node *node[1024U] ;
1142};
1143#line 12 "include/linux/mod_devicetable.h"
1144typedef unsigned long kernel_ulong_t;
1145#line 215 "include/linux/mod_devicetable.h"
1146struct of_device_id {
1147 char name[32U] ;
1148 char type[32U] ;
1149 char compatible[128U] ;
1150 void *data ;
1151};
1152#line 492 "include/linux/mod_devicetable.h"
1153struct platform_device_id {
1154 char name[20U] ;
1155 kernel_ulong_t driver_data ;
1156};
1157#line 584
1158struct klist_node;
1159#line 584
1160struct klist_node;
1161#line 37 "include/linux/klist.h"
1162struct klist_node {
1163 void *n_klist ;
1164 struct list_head n_node ;
1165 struct kref n_ref ;
1166};
1167#line 67
1168struct dma_map_ops;
1169#line 67 "include/linux/klist.h"
1170struct dev_archdata {
1171 void *acpi_handle ;
1172 struct dma_map_ops *dma_ops ;
1173 void *iommu ;
1174};
1175#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1176struct pdev_archdata {
1177
1178};
1179#line 17
1180struct device_private;
1181#line 17
1182struct device_private;
1183#line 18
1184struct device_driver;
1185#line 18
1186struct device_driver;
1187#line 19
1188struct driver_private;
1189#line 19
1190struct driver_private;
1191#line 20
1192struct class;
1193#line 20
1194struct class;
1195#line 21
1196struct subsys_private;
1197#line 21
1198struct subsys_private;
1199#line 22
1200struct bus_type;
1201#line 22
1202struct bus_type;
1203#line 23
1204struct device_node;
1205#line 23
1206struct device_node;
1207#line 24
1208struct iommu_ops;
1209#line 24
1210struct iommu_ops;
1211#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1212struct bus_attribute {
1213 struct attribute attr ;
1214 ssize_t (*show)(struct bus_type * , char * ) ;
1215 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1216};
1217#line 51 "include/linux/device.h"
1218struct device_attribute;
1219#line 51
1220struct driver_attribute;
1221#line 51 "include/linux/device.h"
1222struct bus_type {
1223 char const *name ;
1224 char const *dev_name ;
1225 struct device *dev_root ;
1226 struct bus_attribute *bus_attrs ;
1227 struct device_attribute *dev_attrs ;
1228 struct driver_attribute *drv_attrs ;
1229 int (*match)(struct device * , struct device_driver * ) ;
1230 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1231 int (*probe)(struct device * ) ;
1232 int (*remove)(struct device * ) ;
1233 void (*shutdown)(struct device * ) ;
1234 int (*suspend)(struct device * , pm_message_t ) ;
1235 int (*resume)(struct device * ) ;
1236 struct dev_pm_ops const *pm ;
1237 struct iommu_ops *iommu_ops ;
1238 struct subsys_private *p ;
1239};
1240#line 125
1241struct device_type;
1242#line 182 "include/linux/device.h"
1243struct device_driver {
1244 char const *name ;
1245 struct bus_type *bus ;
1246 struct module *owner ;
1247 char const *mod_name ;
1248 bool suppress_bind_attrs ;
1249 struct of_device_id const *of_match_table ;
1250 int (*probe)(struct device * ) ;
1251 int (*remove)(struct device * ) ;
1252 void (*shutdown)(struct device * ) ;
1253 int (*suspend)(struct device * , pm_message_t ) ;
1254 int (*resume)(struct device * ) ;
1255 struct attribute_group const **groups ;
1256 struct dev_pm_ops const *pm ;
1257 struct driver_private *p ;
1258};
1259#line 245 "include/linux/device.h"
1260struct driver_attribute {
1261 struct attribute attr ;
1262 ssize_t (*show)(struct device_driver * , char * ) ;
1263 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1264};
1265#line 299
1266struct class_attribute;
1267#line 299 "include/linux/device.h"
1268struct class {
1269 char const *name ;
1270 struct module *owner ;
1271 struct class_attribute *class_attrs ;
1272 struct device_attribute *dev_attrs ;
1273 struct bin_attribute *dev_bin_attrs ;
1274 struct kobject *dev_kobj ;
1275 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1276 char *(*devnode)(struct device * , umode_t * ) ;
1277 void (*class_release)(struct class * ) ;
1278 void (*dev_release)(struct device * ) ;
1279 int (*suspend)(struct device * , pm_message_t ) ;
1280 int (*resume)(struct device * ) ;
1281 struct kobj_ns_type_operations const *ns_type ;
1282 void const *(*namespace)(struct device * ) ;
1283 struct dev_pm_ops const *pm ;
1284 struct subsys_private *p ;
1285};
1286#line 394 "include/linux/device.h"
1287struct class_attribute {
1288 struct attribute attr ;
1289 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1290 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1291 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1292};
1293#line 447 "include/linux/device.h"
1294struct device_type {
1295 char const *name ;
1296 struct attribute_group const **groups ;
1297 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1298 char *(*devnode)(struct device * , umode_t * ) ;
1299 void (*release)(struct device * ) ;
1300 struct dev_pm_ops const *pm ;
1301};
1302#line 474 "include/linux/device.h"
1303struct device_attribute {
1304 struct attribute attr ;
1305 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1306 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1307 size_t ) ;
1308};
1309#line 557 "include/linux/device.h"
1310struct device_dma_parameters {
1311 unsigned int max_segment_size ;
1312 unsigned long segment_boundary_mask ;
1313};
1314#line 567
1315struct dma_coherent_mem;
1316#line 567 "include/linux/device.h"
1317struct device {
1318 struct device *parent ;
1319 struct device_private *p ;
1320 struct kobject kobj ;
1321 char const *init_name ;
1322 struct device_type const *type ;
1323 struct mutex mutex ;
1324 struct bus_type *bus ;
1325 struct device_driver *driver ;
1326 void *platform_data ;
1327 struct dev_pm_info power ;
1328 struct dev_pm_domain *pm_domain ;
1329 int numa_node ;
1330 u64 *dma_mask ;
1331 u64 coherent_dma_mask ;
1332 struct device_dma_parameters *dma_parms ;
1333 struct list_head dma_pools ;
1334 struct dma_coherent_mem *dma_mem ;
1335 struct dev_archdata archdata ;
1336 struct device_node *of_node ;
1337 dev_t devt ;
1338 u32 id ;
1339 spinlock_t devres_lock ;
1340 struct list_head devres_head ;
1341 struct klist_node knode_class ;
1342 struct class *class ;
1343 struct attribute_group const **groups ;
1344 void (*release)(struct device * ) ;
1345};
1346#line 681 "include/linux/device.h"
1347struct wakeup_source {
1348 char const *name ;
1349 struct list_head entry ;
1350 spinlock_t lock ;
1351 struct timer_list timer ;
1352 unsigned long timer_expires ;
1353 ktime_t total_time ;
1354 ktime_t max_time ;
1355 ktime_t last_time ;
1356 unsigned long event_count ;
1357 unsigned long active_count ;
1358 unsigned long relax_count ;
1359 unsigned long hit_count ;
1360 unsigned char active : 1 ;
1361};
1362#line 93 "include/linux/capability.h"
1363struct kernel_cap_struct {
1364 __u32 cap[2U] ;
1365};
1366#line 96 "include/linux/capability.h"
1367typedef struct kernel_cap_struct kernel_cap_t;
1368#line 104
1369struct dentry;
1370#line 104
1371struct dentry;
1372#line 105
1373struct user_namespace;
1374#line 105
1375struct user_namespace;
1376#line 554
1377struct prio_tree_node;
1378#line 554 "include/linux/capability.h"
1379struct raw_prio_tree_node {
1380 struct prio_tree_node *left ;
1381 struct prio_tree_node *right ;
1382 struct prio_tree_node *parent ;
1383};
1384#line 19 "include/linux/prio_tree.h"
1385struct prio_tree_node {
1386 struct prio_tree_node *left ;
1387 struct prio_tree_node *right ;
1388 struct prio_tree_node *parent ;
1389 unsigned long start ;
1390 unsigned long last ;
1391};
1392#line 116
1393struct address_space;
1394#line 116
1395struct address_space;
1396#line 117 "include/linux/prio_tree.h"
1397union __anonunion_ldv_15299_138 {
1398 unsigned long index ;
1399 void *freelist ;
1400};
1401#line 117 "include/linux/prio_tree.h"
1402struct __anonstruct_ldv_15309_142 {
1403 unsigned short inuse ;
1404 unsigned short objects : 15 ;
1405 unsigned char frozen : 1 ;
1406};
1407#line 117 "include/linux/prio_tree.h"
1408union __anonunion_ldv_15310_141 {
1409 atomic_t _mapcount ;
1410 struct __anonstruct_ldv_15309_142 ldv_15309 ;
1411};
1412#line 117 "include/linux/prio_tree.h"
1413struct __anonstruct_ldv_15312_140 {
1414 union __anonunion_ldv_15310_141 ldv_15310 ;
1415 atomic_t _count ;
1416};
1417#line 117 "include/linux/prio_tree.h"
1418union __anonunion_ldv_15313_139 {
1419 unsigned long counters ;
1420 struct __anonstruct_ldv_15312_140 ldv_15312 ;
1421};
1422#line 117 "include/linux/prio_tree.h"
1423struct __anonstruct_ldv_15314_137 {
1424 union __anonunion_ldv_15299_138 ldv_15299 ;
1425 union __anonunion_ldv_15313_139 ldv_15313 ;
1426};
1427#line 117 "include/linux/prio_tree.h"
1428struct __anonstruct_ldv_15321_144 {
1429 struct page *next ;
1430 int pages ;
1431 int pobjects ;
1432};
1433#line 117 "include/linux/prio_tree.h"
1434union __anonunion_ldv_15322_143 {
1435 struct list_head lru ;
1436 struct __anonstruct_ldv_15321_144 ldv_15321 ;
1437};
1438#line 117 "include/linux/prio_tree.h"
1439union __anonunion_ldv_15327_145 {
1440 unsigned long private ;
1441 struct kmem_cache *slab ;
1442 struct page *first_page ;
1443};
1444#line 117 "include/linux/prio_tree.h"
1445struct page {
1446 unsigned long flags ;
1447 struct address_space *mapping ;
1448 struct __anonstruct_ldv_15314_137 ldv_15314 ;
1449 union __anonunion_ldv_15322_143 ldv_15322 ;
1450 union __anonunion_ldv_15327_145 ldv_15327 ;
1451 unsigned long debug_flags ;
1452};
1453#line 192 "include/linux/mm_types.h"
1454struct __anonstruct_vm_set_147 {
1455 struct list_head list ;
1456 void *parent ;
1457 struct vm_area_struct *head ;
1458};
1459#line 192 "include/linux/mm_types.h"
1460union __anonunion_shared_146 {
1461 struct __anonstruct_vm_set_147 vm_set ;
1462 struct raw_prio_tree_node prio_tree_node ;
1463};
1464#line 192
1465struct anon_vma;
1466#line 192
1467struct vm_operations_struct;
1468#line 192
1469struct mempolicy;
1470#line 192 "include/linux/mm_types.h"
1471struct vm_area_struct {
1472 struct mm_struct *vm_mm ;
1473 unsigned long vm_start ;
1474 unsigned long vm_end ;
1475 struct vm_area_struct *vm_next ;
1476 struct vm_area_struct *vm_prev ;
1477 pgprot_t vm_page_prot ;
1478 unsigned long vm_flags ;
1479 struct rb_node vm_rb ;
1480 union __anonunion_shared_146 shared ;
1481 struct list_head anon_vma_chain ;
1482 struct anon_vma *anon_vma ;
1483 struct vm_operations_struct const *vm_ops ;
1484 unsigned long vm_pgoff ;
1485 struct file *vm_file ;
1486 void *vm_private_data ;
1487 struct mempolicy *vm_policy ;
1488};
1489#line 255 "include/linux/mm_types.h"
1490struct core_thread {
1491 struct task_struct *task ;
1492 struct core_thread *next ;
1493};
1494#line 261 "include/linux/mm_types.h"
1495struct core_state {
1496 atomic_t nr_threads ;
1497 struct core_thread dumper ;
1498 struct completion startup ;
1499};
1500#line 274 "include/linux/mm_types.h"
1501struct mm_rss_stat {
1502 atomic_long_t count[3U] ;
1503};
1504#line 287
1505struct linux_binfmt;
1506#line 287
1507struct mmu_notifier_mm;
1508#line 287 "include/linux/mm_types.h"
1509struct mm_struct {
1510 struct vm_area_struct *mmap ;
1511 struct rb_root mm_rb ;
1512 struct vm_area_struct *mmap_cache ;
1513 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1514 unsigned long , unsigned long ) ;
1515 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1516 unsigned long mmap_base ;
1517 unsigned long task_size ;
1518 unsigned long cached_hole_size ;
1519 unsigned long free_area_cache ;
1520 pgd_t *pgd ;
1521 atomic_t mm_users ;
1522 atomic_t mm_count ;
1523 int map_count ;
1524 spinlock_t page_table_lock ;
1525 struct rw_semaphore mmap_sem ;
1526 struct list_head mmlist ;
1527 unsigned long hiwater_rss ;
1528 unsigned long hiwater_vm ;
1529 unsigned long total_vm ;
1530 unsigned long locked_vm ;
1531 unsigned long pinned_vm ;
1532 unsigned long shared_vm ;
1533 unsigned long exec_vm ;
1534 unsigned long stack_vm ;
1535 unsigned long reserved_vm ;
1536 unsigned long def_flags ;
1537 unsigned long nr_ptes ;
1538 unsigned long start_code ;
1539 unsigned long end_code ;
1540 unsigned long start_data ;
1541 unsigned long end_data ;
1542 unsigned long start_brk ;
1543 unsigned long brk ;
1544 unsigned long start_stack ;
1545 unsigned long arg_start ;
1546 unsigned long arg_end ;
1547 unsigned long env_start ;
1548 unsigned long env_end ;
1549 unsigned long saved_auxv[44U] ;
1550 struct mm_rss_stat rss_stat ;
1551 struct linux_binfmt *binfmt ;
1552 cpumask_var_t cpu_vm_mask_var ;
1553 mm_context_t context ;
1554 unsigned int faultstamp ;
1555 unsigned int token_priority ;
1556 unsigned int last_interval ;
1557 unsigned long flags ;
1558 struct core_state *core_state ;
1559 spinlock_t ioctx_lock ;
1560 struct hlist_head ioctx_list ;
1561 struct task_struct *owner ;
1562 struct file *exe_file ;
1563 unsigned long num_exe_file_vmas ;
1564 struct mmu_notifier_mm *mmu_notifier_mm ;
1565 pgtable_t pmd_huge_pte ;
1566 struct cpumask cpumask_allocation ;
1567};
1568#line 7 "include/asm-generic/cputime.h"
1569typedef unsigned long cputime_t;
1570#line 98 "include/linux/sem.h"
1571struct sem_undo_list;
1572#line 98 "include/linux/sem.h"
1573struct sysv_sem {
1574 struct sem_undo_list *undo_list ;
1575};
1576#line 107
1577struct siginfo;
1578#line 107
1579struct siginfo;
1580#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1581struct __anonstruct_sigset_t_148 {
1582 unsigned long sig[1U] ;
1583};
1584#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1585typedef struct __anonstruct_sigset_t_148 sigset_t;
1586#line 17 "include/asm-generic/signal-defs.h"
1587typedef void __signalfn_t(int );
1588#line 18 "include/asm-generic/signal-defs.h"
1589typedef __signalfn_t *__sighandler_t;
1590#line 20 "include/asm-generic/signal-defs.h"
1591typedef void __restorefn_t(void);
1592#line 21 "include/asm-generic/signal-defs.h"
1593typedef __restorefn_t *__sigrestore_t;
1594#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1595struct sigaction {
1596 __sighandler_t sa_handler ;
1597 unsigned long sa_flags ;
1598 __sigrestore_t sa_restorer ;
1599 sigset_t sa_mask ;
1600};
1601#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1602struct k_sigaction {
1603 struct sigaction sa ;
1604};
1605#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1606union sigval {
1607 int sival_int ;
1608 void *sival_ptr ;
1609};
1610#line 10 "include/asm-generic/siginfo.h"
1611typedef union sigval sigval_t;
1612#line 11 "include/asm-generic/siginfo.h"
1613struct __anonstruct__kill_150 {
1614 __kernel_pid_t _pid ;
1615 __kernel_uid32_t _uid ;
1616};
1617#line 11 "include/asm-generic/siginfo.h"
1618struct __anonstruct__timer_151 {
1619 __kernel_timer_t _tid ;
1620 int _overrun ;
1621 char _pad[0U] ;
1622 sigval_t _sigval ;
1623 int _sys_private ;
1624};
1625#line 11 "include/asm-generic/siginfo.h"
1626struct __anonstruct__rt_152 {
1627 __kernel_pid_t _pid ;
1628 __kernel_uid32_t _uid ;
1629 sigval_t _sigval ;
1630};
1631#line 11 "include/asm-generic/siginfo.h"
1632struct __anonstruct__sigchld_153 {
1633 __kernel_pid_t _pid ;
1634 __kernel_uid32_t _uid ;
1635 int _status ;
1636 __kernel_clock_t _utime ;
1637 __kernel_clock_t _stime ;
1638};
1639#line 11 "include/asm-generic/siginfo.h"
1640struct __anonstruct__sigfault_154 {
1641 void *_addr ;
1642 short _addr_lsb ;
1643};
1644#line 11 "include/asm-generic/siginfo.h"
1645struct __anonstruct__sigpoll_155 {
1646 long _band ;
1647 int _fd ;
1648};
1649#line 11 "include/asm-generic/siginfo.h"
1650union __anonunion__sifields_149 {
1651 int _pad[28U] ;
1652 struct __anonstruct__kill_150 _kill ;
1653 struct __anonstruct__timer_151 _timer ;
1654 struct __anonstruct__rt_152 _rt ;
1655 struct __anonstruct__sigchld_153 _sigchld ;
1656 struct __anonstruct__sigfault_154 _sigfault ;
1657 struct __anonstruct__sigpoll_155 _sigpoll ;
1658};
1659#line 11 "include/asm-generic/siginfo.h"
1660struct siginfo {
1661 int si_signo ;
1662 int si_errno ;
1663 int si_code ;
1664 union __anonunion__sifields_149 _sifields ;
1665};
1666#line 102 "include/asm-generic/siginfo.h"
1667typedef struct siginfo siginfo_t;
1668#line 14 "include/linux/signal.h"
1669struct user_struct;
1670#line 24 "include/linux/signal.h"
1671struct sigpending {
1672 struct list_head list ;
1673 sigset_t signal ;
1674};
1675#line 395
1676struct pid_namespace;
1677#line 395 "include/linux/signal.h"
1678struct upid {
1679 int nr ;
1680 struct pid_namespace *ns ;
1681 struct hlist_node pid_chain ;
1682};
1683#line 56 "include/linux/pid.h"
1684struct pid {
1685 atomic_t count ;
1686 unsigned int level ;
1687 struct hlist_head tasks[3U] ;
1688 struct rcu_head rcu ;
1689 struct upid numbers[1U] ;
1690};
1691#line 68 "include/linux/pid.h"
1692struct pid_link {
1693 struct hlist_node node ;
1694 struct pid *pid ;
1695};
1696#line 10 "include/linux/seccomp.h"
1697struct __anonstruct_seccomp_t_158 {
1698 int mode ;
1699};
1700#line 10 "include/linux/seccomp.h"
1701typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1702#line 427 "include/linux/rculist.h"
1703struct plist_head {
1704 struct list_head node_list ;
1705};
1706#line 84 "include/linux/plist.h"
1707struct plist_node {
1708 int prio ;
1709 struct list_head prio_list ;
1710 struct list_head node_list ;
1711};
1712#line 38 "include/linux/rtmutex.h"
1713struct rt_mutex_waiter;
1714#line 38
1715struct rt_mutex_waiter;
1716#line 41 "include/linux/resource.h"
1717struct rlimit {
1718 unsigned long rlim_cur ;
1719 unsigned long rlim_max ;
1720};
1721#line 85 "include/linux/resource.h"
1722struct timerqueue_node {
1723 struct rb_node node ;
1724 ktime_t expires ;
1725};
1726#line 12 "include/linux/timerqueue.h"
1727struct timerqueue_head {
1728 struct rb_root head ;
1729 struct timerqueue_node *next ;
1730};
1731#line 50
1732struct hrtimer_clock_base;
1733#line 50
1734struct hrtimer_clock_base;
1735#line 51
1736struct hrtimer_cpu_base;
1737#line 51
1738struct hrtimer_cpu_base;
1739#line 60
1740enum hrtimer_restart {
1741 HRTIMER_NORESTART = 0,
1742 HRTIMER_RESTART = 1
1743} ;
1744#line 65 "include/linux/timerqueue.h"
1745struct hrtimer {
1746 struct timerqueue_node node ;
1747 ktime_t _softexpires ;
1748 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1749 struct hrtimer_clock_base *base ;
1750 unsigned long state ;
1751 int start_pid ;
1752 void *start_site ;
1753 char start_comm[16U] ;
1754};
1755#line 132 "include/linux/hrtimer.h"
1756struct hrtimer_clock_base {
1757 struct hrtimer_cpu_base *cpu_base ;
1758 int index ;
1759 clockid_t clockid ;
1760 struct timerqueue_head active ;
1761 ktime_t resolution ;
1762 ktime_t (*get_time)(void) ;
1763 ktime_t softirq_time ;
1764 ktime_t offset ;
1765};
1766#line 162 "include/linux/hrtimer.h"
1767struct hrtimer_cpu_base {
1768 raw_spinlock_t lock ;
1769 unsigned long active_bases ;
1770 ktime_t expires_next ;
1771 int hres_active ;
1772 int hang_detected ;
1773 unsigned long nr_events ;
1774 unsigned long nr_retries ;
1775 unsigned long nr_hangs ;
1776 ktime_t max_hang_time ;
1777 struct hrtimer_clock_base clock_base[3U] ;
1778};
1779#line 452 "include/linux/hrtimer.h"
1780struct task_io_accounting {
1781 u64 rchar ;
1782 u64 wchar ;
1783 u64 syscr ;
1784 u64 syscw ;
1785 u64 read_bytes ;
1786 u64 write_bytes ;
1787 u64 cancelled_write_bytes ;
1788};
1789#line 45 "include/linux/task_io_accounting.h"
1790struct latency_record {
1791 unsigned long backtrace[12U] ;
1792 unsigned int count ;
1793 unsigned long time ;
1794 unsigned long max ;
1795};
1796#line 29 "include/linux/key.h"
1797typedef int32_t key_serial_t;
1798#line 32 "include/linux/key.h"
1799typedef uint32_t key_perm_t;
1800#line 33
1801struct key;
1802#line 33
1803struct key;
1804#line 34
1805struct signal_struct;
1806#line 34
1807struct signal_struct;
1808#line 35
1809struct key_type;
1810#line 35
1811struct key_type;
1812#line 37
1813struct keyring_list;
1814#line 37
1815struct keyring_list;
1816#line 115
1817struct key_user;
1818#line 115 "include/linux/key.h"
1819union __anonunion_ldv_16563_159 {
1820 time_t expiry ;
1821 time_t revoked_at ;
1822};
1823#line 115 "include/linux/key.h"
1824union __anonunion_type_data_160 {
1825 struct list_head link ;
1826 unsigned long x[2U] ;
1827 void *p[2U] ;
1828 int reject_error ;
1829};
1830#line 115 "include/linux/key.h"
1831union __anonunion_payload_161 {
1832 unsigned long value ;
1833 void *rcudata ;
1834 void *data ;
1835 struct keyring_list *subscriptions ;
1836};
1837#line 115 "include/linux/key.h"
1838struct key {
1839 atomic_t usage ;
1840 key_serial_t serial ;
1841 struct rb_node serial_node ;
1842 struct key_type *type ;
1843 struct rw_semaphore sem ;
1844 struct key_user *user ;
1845 void *security ;
1846 union __anonunion_ldv_16563_159 ldv_16563 ;
1847 uid_t uid ;
1848 gid_t gid ;
1849 key_perm_t perm ;
1850 unsigned short quotalen ;
1851 unsigned short datalen ;
1852 unsigned long flags ;
1853 char *description ;
1854 union __anonunion_type_data_160 type_data ;
1855 union __anonunion_payload_161 payload ;
1856};
1857#line 316
1858struct audit_context;
1859#line 316
1860struct audit_context;
1861#line 28 "include/linux/selinux.h"
1862struct group_info {
1863 atomic_t usage ;
1864 int ngroups ;
1865 int nblocks ;
1866 gid_t small_block[32U] ;
1867 gid_t *blocks[0U] ;
1868};
1869#line 77 "include/linux/cred.h"
1870struct thread_group_cred {
1871 atomic_t usage ;
1872 pid_t tgid ;
1873 spinlock_t lock ;
1874 struct key *session_keyring ;
1875 struct key *process_keyring ;
1876 struct rcu_head rcu ;
1877};
1878#line 91 "include/linux/cred.h"
1879struct cred {
1880 atomic_t usage ;
1881 atomic_t subscribers ;
1882 void *put_addr ;
1883 unsigned int magic ;
1884 uid_t uid ;
1885 gid_t gid ;
1886 uid_t suid ;
1887 gid_t sgid ;
1888 uid_t euid ;
1889 gid_t egid ;
1890 uid_t fsuid ;
1891 gid_t fsgid ;
1892 unsigned int securebits ;
1893 kernel_cap_t cap_inheritable ;
1894 kernel_cap_t cap_permitted ;
1895 kernel_cap_t cap_effective ;
1896 kernel_cap_t cap_bset ;
1897 unsigned char jit_keyring ;
1898 struct key *thread_keyring ;
1899 struct key *request_key_auth ;
1900 struct thread_group_cred *tgcred ;
1901 void *security ;
1902 struct user_struct *user ;
1903 struct user_namespace *user_ns ;
1904 struct group_info *group_info ;
1905 struct rcu_head rcu ;
1906};
1907#line 264
1908struct llist_node;
1909#line 64 "include/linux/llist.h"
1910struct llist_node {
1911 struct llist_node *next ;
1912};
1913#line 185
1914struct futex_pi_state;
1915#line 185
1916struct futex_pi_state;
1917#line 186
1918struct robust_list_head;
1919#line 186
1920struct robust_list_head;
1921#line 187
1922struct bio_list;
1923#line 187
1924struct bio_list;
1925#line 188
1926struct fs_struct;
1927#line 188
1928struct fs_struct;
1929#line 189
1930struct perf_event_context;
1931#line 189
1932struct perf_event_context;
1933#line 190
1934struct blk_plug;
1935#line 190
1936struct blk_plug;
1937#line 149 "include/linux/sched.h"
1938struct cfs_rq;
1939#line 149
1940struct cfs_rq;
1941#line 406 "include/linux/sched.h"
1942struct sighand_struct {
1943 atomic_t count ;
1944 struct k_sigaction action[64U] ;
1945 spinlock_t siglock ;
1946 wait_queue_head_t signalfd_wqh ;
1947};
1948#line 449 "include/linux/sched.h"
1949struct pacct_struct {
1950 int ac_flag ;
1951 long ac_exitcode ;
1952 unsigned long ac_mem ;
1953 cputime_t ac_utime ;
1954 cputime_t ac_stime ;
1955 unsigned long ac_minflt ;
1956 unsigned long ac_majflt ;
1957};
1958#line 457 "include/linux/sched.h"
1959struct cpu_itimer {
1960 cputime_t expires ;
1961 cputime_t incr ;
1962 u32 error ;
1963 u32 incr_error ;
1964};
1965#line 464 "include/linux/sched.h"
1966struct task_cputime {
1967 cputime_t utime ;
1968 cputime_t stime ;
1969 unsigned long long sum_exec_runtime ;
1970};
1971#line 481 "include/linux/sched.h"
1972struct thread_group_cputimer {
1973 struct task_cputime cputime ;
1974 int running ;
1975 raw_spinlock_t lock ;
1976};
1977#line 517
1978struct autogroup;
1979#line 517
1980struct autogroup;
1981#line 518
1982struct tty_struct;
1983#line 518
1984struct taskstats;
1985#line 518
1986struct tty_audit_buf;
1987#line 518 "include/linux/sched.h"
1988struct signal_struct {
1989 atomic_t sigcnt ;
1990 atomic_t live ;
1991 int nr_threads ;
1992 wait_queue_head_t wait_chldexit ;
1993 struct task_struct *curr_target ;
1994 struct sigpending shared_pending ;
1995 int group_exit_code ;
1996 int notify_count ;
1997 struct task_struct *group_exit_task ;
1998 int group_stop_count ;
1999 unsigned int flags ;
2000 unsigned char is_child_subreaper : 1 ;
2001 unsigned char has_child_subreaper : 1 ;
2002 struct list_head posix_timers ;
2003 struct hrtimer real_timer ;
2004 struct pid *leader_pid ;
2005 ktime_t it_real_incr ;
2006 struct cpu_itimer it[2U] ;
2007 struct thread_group_cputimer cputimer ;
2008 struct task_cputime cputime_expires ;
2009 struct list_head cpu_timers[3U] ;
2010 struct pid *tty_old_pgrp ;
2011 int leader ;
2012 struct tty_struct *tty ;
2013 struct autogroup *autogroup ;
2014 cputime_t utime ;
2015 cputime_t stime ;
2016 cputime_t cutime ;
2017 cputime_t cstime ;
2018 cputime_t gtime ;
2019 cputime_t cgtime ;
2020 cputime_t prev_utime ;
2021 cputime_t prev_stime ;
2022 unsigned long nvcsw ;
2023 unsigned long nivcsw ;
2024 unsigned long cnvcsw ;
2025 unsigned long cnivcsw ;
2026 unsigned long min_flt ;
2027 unsigned long maj_flt ;
2028 unsigned long cmin_flt ;
2029 unsigned long cmaj_flt ;
2030 unsigned long inblock ;
2031 unsigned long oublock ;
2032 unsigned long cinblock ;
2033 unsigned long coublock ;
2034 unsigned long maxrss ;
2035 unsigned long cmaxrss ;
2036 struct task_io_accounting ioac ;
2037 unsigned long long sum_sched_runtime ;
2038 struct rlimit rlim[16U] ;
2039 struct pacct_struct pacct ;
2040 struct taskstats *stats ;
2041 unsigned int audit_tty ;
2042 struct tty_audit_buf *tty_audit_buf ;
2043 struct rw_semaphore group_rwsem ;
2044 int oom_adj ;
2045 int oom_score_adj ;
2046 int oom_score_adj_min ;
2047 struct mutex cred_guard_mutex ;
2048};
2049#line 699 "include/linux/sched.h"
2050struct user_struct {
2051 atomic_t __count ;
2052 atomic_t processes ;
2053 atomic_t files ;
2054 atomic_t sigpending ;
2055 atomic_t inotify_watches ;
2056 atomic_t inotify_devs ;
2057 atomic_t fanotify_listeners ;
2058 atomic_long_t epoll_watches ;
2059 unsigned long mq_bytes ;
2060 unsigned long locked_shm ;
2061 struct key *uid_keyring ;
2062 struct key *session_keyring ;
2063 struct hlist_node uidhash_node ;
2064 uid_t uid ;
2065 struct user_namespace *user_ns ;
2066 atomic_long_t locked_vm ;
2067};
2068#line 744
2069struct backing_dev_info;
2070#line 744
2071struct backing_dev_info;
2072#line 745
2073struct reclaim_state;
2074#line 745
2075struct reclaim_state;
2076#line 746 "include/linux/sched.h"
2077struct sched_info {
2078 unsigned long pcount ;
2079 unsigned long long run_delay ;
2080 unsigned long long last_arrival ;
2081 unsigned long long last_queued ;
2082};
2083#line 760 "include/linux/sched.h"
2084struct task_delay_info {
2085 spinlock_t lock ;
2086 unsigned int flags ;
2087 struct timespec blkio_start ;
2088 struct timespec blkio_end ;
2089 u64 blkio_delay ;
2090 u64 swapin_delay ;
2091 u32 blkio_count ;
2092 u32 swapin_count ;
2093 struct timespec freepages_start ;
2094 struct timespec freepages_end ;
2095 u64 freepages_delay ;
2096 u32 freepages_count ;
2097};
2098#line 1069
2099struct io_context;
2100#line 1069
2101struct io_context;
2102#line 1097
2103struct pipe_inode_info;
2104#line 1097
2105struct pipe_inode_info;
2106#line 1099
2107struct rq;
2108#line 1099
2109struct rq;
2110#line 1100 "include/linux/sched.h"
2111struct sched_class {
2112 struct sched_class const *next ;
2113 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2114 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2115 void (*yield_task)(struct rq * ) ;
2116 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2117 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2118 struct task_struct *(*pick_next_task)(struct rq * ) ;
2119 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2120 int (*select_task_rq)(struct task_struct * , int , int ) ;
2121 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2122 void (*post_schedule)(struct rq * ) ;
2123 void (*task_waking)(struct task_struct * ) ;
2124 void (*task_woken)(struct rq * , struct task_struct * ) ;
2125 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2126 void (*rq_online)(struct rq * ) ;
2127 void (*rq_offline)(struct rq * ) ;
2128 void (*set_curr_task)(struct rq * ) ;
2129 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2130 void (*task_fork)(struct task_struct * ) ;
2131 void (*switched_from)(struct rq * , struct task_struct * ) ;
2132 void (*switched_to)(struct rq * , struct task_struct * ) ;
2133 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2134 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2135 void (*task_move_group)(struct task_struct * , int ) ;
2136};
2137#line 1165 "include/linux/sched.h"
2138struct load_weight {
2139 unsigned long weight ;
2140 unsigned long inv_weight ;
2141};
2142#line 1170 "include/linux/sched.h"
2143struct sched_statistics {
2144 u64 wait_start ;
2145 u64 wait_max ;
2146 u64 wait_count ;
2147 u64 wait_sum ;
2148 u64 iowait_count ;
2149 u64 iowait_sum ;
2150 u64 sleep_start ;
2151 u64 sleep_max ;
2152 s64 sum_sleep_runtime ;
2153 u64 block_start ;
2154 u64 block_max ;
2155 u64 exec_max ;
2156 u64 slice_max ;
2157 u64 nr_migrations_cold ;
2158 u64 nr_failed_migrations_affine ;
2159 u64 nr_failed_migrations_running ;
2160 u64 nr_failed_migrations_hot ;
2161 u64 nr_forced_migrations ;
2162 u64 nr_wakeups ;
2163 u64 nr_wakeups_sync ;
2164 u64 nr_wakeups_migrate ;
2165 u64 nr_wakeups_local ;
2166 u64 nr_wakeups_remote ;
2167 u64 nr_wakeups_affine ;
2168 u64 nr_wakeups_affine_attempts ;
2169 u64 nr_wakeups_passive ;
2170 u64 nr_wakeups_idle ;
2171};
2172#line 1205 "include/linux/sched.h"
2173struct sched_entity {
2174 struct load_weight load ;
2175 struct rb_node run_node ;
2176 struct list_head group_node ;
2177 unsigned int on_rq ;
2178 u64 exec_start ;
2179 u64 sum_exec_runtime ;
2180 u64 vruntime ;
2181 u64 prev_sum_exec_runtime ;
2182 u64 nr_migrations ;
2183 struct sched_statistics statistics ;
2184 struct sched_entity *parent ;
2185 struct cfs_rq *cfs_rq ;
2186 struct cfs_rq *my_q ;
2187};
2188#line 1231
2189struct rt_rq;
2190#line 1231 "include/linux/sched.h"
2191struct sched_rt_entity {
2192 struct list_head run_list ;
2193 unsigned long timeout ;
2194 unsigned int time_slice ;
2195 int nr_cpus_allowed ;
2196 struct sched_rt_entity *back ;
2197 struct sched_rt_entity *parent ;
2198 struct rt_rq *rt_rq ;
2199 struct rt_rq *my_q ;
2200};
2201#line 1255
2202struct mem_cgroup;
2203#line 1255 "include/linux/sched.h"
2204struct memcg_batch_info {
2205 int do_batch ;
2206 struct mem_cgroup *memcg ;
2207 unsigned long nr_pages ;
2208 unsigned long memsw_nr_pages ;
2209};
2210#line 1616
2211struct files_struct;
2212#line 1616
2213struct css_set;
2214#line 1616
2215struct compat_robust_list_head;
2216#line 1616 "include/linux/sched.h"
2217struct task_struct {
2218 long volatile state ;
2219 void *stack ;
2220 atomic_t usage ;
2221 unsigned int flags ;
2222 unsigned int ptrace ;
2223 struct llist_node wake_entry ;
2224 int on_cpu ;
2225 int on_rq ;
2226 int prio ;
2227 int static_prio ;
2228 int normal_prio ;
2229 unsigned int rt_priority ;
2230 struct sched_class const *sched_class ;
2231 struct sched_entity se ;
2232 struct sched_rt_entity rt ;
2233 struct hlist_head preempt_notifiers ;
2234 unsigned char fpu_counter ;
2235 unsigned int policy ;
2236 cpumask_t cpus_allowed ;
2237 struct sched_info sched_info ;
2238 struct list_head tasks ;
2239 struct plist_node pushable_tasks ;
2240 struct mm_struct *mm ;
2241 struct mm_struct *active_mm ;
2242 unsigned char brk_randomized : 1 ;
2243 int exit_state ;
2244 int exit_code ;
2245 int exit_signal ;
2246 int pdeath_signal ;
2247 unsigned int jobctl ;
2248 unsigned int personality ;
2249 unsigned char did_exec : 1 ;
2250 unsigned char in_execve : 1 ;
2251 unsigned char in_iowait : 1 ;
2252 unsigned char sched_reset_on_fork : 1 ;
2253 unsigned char sched_contributes_to_load : 1 ;
2254 unsigned char irq_thread : 1 ;
2255 pid_t pid ;
2256 pid_t tgid ;
2257 unsigned long stack_canary ;
2258 struct task_struct *real_parent ;
2259 struct task_struct *parent ;
2260 struct list_head children ;
2261 struct list_head sibling ;
2262 struct task_struct *group_leader ;
2263 struct list_head ptraced ;
2264 struct list_head ptrace_entry ;
2265 struct pid_link pids[3U] ;
2266 struct list_head thread_group ;
2267 struct completion *vfork_done ;
2268 int *set_child_tid ;
2269 int *clear_child_tid ;
2270 cputime_t utime ;
2271 cputime_t stime ;
2272 cputime_t utimescaled ;
2273 cputime_t stimescaled ;
2274 cputime_t gtime ;
2275 cputime_t prev_utime ;
2276 cputime_t prev_stime ;
2277 unsigned long nvcsw ;
2278 unsigned long nivcsw ;
2279 struct timespec start_time ;
2280 struct timespec real_start_time ;
2281 unsigned long min_flt ;
2282 unsigned long maj_flt ;
2283 struct task_cputime cputime_expires ;
2284 struct list_head cpu_timers[3U] ;
2285 struct cred const *real_cred ;
2286 struct cred const *cred ;
2287 struct cred *replacement_session_keyring ;
2288 char comm[16U] ;
2289 int link_count ;
2290 int total_link_count ;
2291 struct sysv_sem sysvsem ;
2292 unsigned long last_switch_count ;
2293 struct thread_struct thread ;
2294 struct fs_struct *fs ;
2295 struct files_struct *files ;
2296 struct nsproxy *nsproxy ;
2297 struct signal_struct *signal ;
2298 struct sighand_struct *sighand ;
2299 sigset_t blocked ;
2300 sigset_t real_blocked ;
2301 sigset_t saved_sigmask ;
2302 struct sigpending pending ;
2303 unsigned long sas_ss_sp ;
2304 size_t sas_ss_size ;
2305 int (*notifier)(void * ) ;
2306 void *notifier_data ;
2307 sigset_t *notifier_mask ;
2308 struct audit_context *audit_context ;
2309 uid_t loginuid ;
2310 unsigned int sessionid ;
2311 seccomp_t seccomp ;
2312 u32 parent_exec_id ;
2313 u32 self_exec_id ;
2314 spinlock_t alloc_lock ;
2315 raw_spinlock_t pi_lock ;
2316 struct plist_head pi_waiters ;
2317 struct rt_mutex_waiter *pi_blocked_on ;
2318 struct mutex_waiter *blocked_on ;
2319 unsigned int irq_events ;
2320 unsigned long hardirq_enable_ip ;
2321 unsigned long hardirq_disable_ip ;
2322 unsigned int hardirq_enable_event ;
2323 unsigned int hardirq_disable_event ;
2324 int hardirqs_enabled ;
2325 int hardirq_context ;
2326 unsigned long softirq_disable_ip ;
2327 unsigned long softirq_enable_ip ;
2328 unsigned int softirq_disable_event ;
2329 unsigned int softirq_enable_event ;
2330 int softirqs_enabled ;
2331 int softirq_context ;
2332 u64 curr_chain_key ;
2333 int lockdep_depth ;
2334 unsigned int lockdep_recursion ;
2335 struct held_lock held_locks[48U] ;
2336 gfp_t lockdep_reclaim_gfp ;
2337 void *journal_info ;
2338 struct bio_list *bio_list ;
2339 struct blk_plug *plug ;
2340 struct reclaim_state *reclaim_state ;
2341 struct backing_dev_info *backing_dev_info ;
2342 struct io_context *io_context ;
2343 unsigned long ptrace_message ;
2344 siginfo_t *last_siginfo ;
2345 struct task_io_accounting ioac ;
2346 u64 acct_rss_mem1 ;
2347 u64 acct_vm_mem1 ;
2348 cputime_t acct_timexpd ;
2349 nodemask_t mems_allowed ;
2350 seqcount_t mems_allowed_seq ;
2351 int cpuset_mem_spread_rotor ;
2352 int cpuset_slab_spread_rotor ;
2353 struct css_set *cgroups ;
2354 struct list_head cg_list ;
2355 struct robust_list_head *robust_list ;
2356 struct compat_robust_list_head *compat_robust_list ;
2357 struct list_head pi_state_list ;
2358 struct futex_pi_state *pi_state_cache ;
2359 struct perf_event_context *perf_event_ctxp[2U] ;
2360 struct mutex perf_event_mutex ;
2361 struct list_head perf_event_list ;
2362 struct mempolicy *mempolicy ;
2363 short il_next ;
2364 short pref_node_fork ;
2365 struct rcu_head rcu ;
2366 struct pipe_inode_info *splice_pipe ;
2367 struct task_delay_info *delays ;
2368 int make_it_fail ;
2369 int nr_dirtied ;
2370 int nr_dirtied_pause ;
2371 unsigned long dirty_paused_when ;
2372 int latency_record_count ;
2373 struct latency_record latency_record[32U] ;
2374 unsigned long timer_slack_ns ;
2375 unsigned long default_timer_slack_ns ;
2376 struct list_head *scm_work_list ;
2377 unsigned long trace ;
2378 unsigned long trace_recursion ;
2379 struct memcg_batch_info memcg_batch ;
2380 atomic_t ptrace_bp_refcnt ;
2381};
2382#line 28 "include/linux/of.h"
2383typedef u32 phandle;
2384#line 30 "include/linux/of.h"
2385struct property {
2386 char *name ;
2387 int length ;
2388 void *value ;
2389 struct property *next ;
2390 unsigned long _flags ;
2391 unsigned int unique_id ;
2392};
2393#line 39
2394struct proc_dir_entry;
2395#line 39 "include/linux/of.h"
2396struct device_node {
2397 char const *name ;
2398 char const *type ;
2399 phandle phandle ;
2400 char *full_name ;
2401 struct property *properties ;
2402 struct property *deadprops ;
2403 struct device_node *parent ;
2404 struct device_node *child ;
2405 struct device_node *sibling ;
2406 struct device_node *next ;
2407 struct device_node *allnext ;
2408 struct proc_dir_entry *pde ;
2409 struct kref kref ;
2410 unsigned long _flags ;
2411 void *data ;
2412};
2413#line 601 "include/linux/i2c.h"
2414struct mfd_cell;
2415#line 601
2416struct mfd_cell;
2417#line 602 "include/linux/i2c.h"
2418struct platform_device {
2419 char const *name ;
2420 int id ;
2421 struct device dev ;
2422 u32 num_resources ;
2423 struct resource *resource ;
2424 struct platform_device_id const *id_entry ;
2425 struct mfd_cell *mfd_cell ;
2426 struct pdev_archdata archdata ;
2427};
2428#line 163 "include/linux/platform_device.h"
2429struct platform_driver {
2430 int (*probe)(struct platform_device * ) ;
2431 int (*remove)(struct platform_device * ) ;
2432 void (*shutdown)(struct platform_device * ) ;
2433 int (*suspend)(struct platform_device * , pm_message_t ) ;
2434 int (*resume)(struct platform_device * ) ;
2435 struct device_driver driver ;
2436 struct platform_device_id const *id_table ;
2437};
2438#line 272
2439struct regulator;
2440#line 272
2441struct regulator;
2442#line 189 "include/linux/regulator/consumer.h"
2443struct regulator_dev;
2444#line 189
2445struct regulator_dev;
2446#line 190
2447struct regulator_init_data;
2448#line 190
2449struct regulator_init_data;
2450#line 201 "include/linux/regulator/consumer.h"
2451struct regulator_ops {
2452 int (*list_voltage)(struct regulator_dev * , unsigned int ) ;
2453 int (*set_voltage)(struct regulator_dev * , int , int , unsigned int * ) ;
2454 int (*set_voltage_sel)(struct regulator_dev * , unsigned int ) ;
2455 int (*get_voltage)(struct regulator_dev * ) ;
2456 int (*get_voltage_sel)(struct regulator_dev * ) ;
2457 int (*set_current_limit)(struct regulator_dev * , int , int ) ;
2458 int (*get_current_limit)(struct regulator_dev * ) ;
2459 int (*enable)(struct regulator_dev * ) ;
2460 int (*disable)(struct regulator_dev * ) ;
2461 int (*is_enabled)(struct regulator_dev * ) ;
2462 int (*set_mode)(struct regulator_dev * , unsigned int ) ;
2463 unsigned int (*get_mode)(struct regulator_dev * ) ;
2464 int (*enable_time)(struct regulator_dev * ) ;
2465 int (*set_voltage_time_sel)(struct regulator_dev * , unsigned int , unsigned int ) ;
2466 int (*get_status)(struct regulator_dev * ) ;
2467 unsigned int (*get_optimum_mode)(struct regulator_dev * , int , int , int ) ;
2468 int (*set_suspend_voltage)(struct regulator_dev * , int ) ;
2469 int (*set_suspend_enable)(struct regulator_dev * ) ;
2470 int (*set_suspend_disable)(struct regulator_dev * ) ;
2471 int (*set_suspend_mode)(struct regulator_dev * , unsigned int ) ;
2472};
2473#line 141 "include/linux/regulator/driver.h"
2474enum regulator_type {
2475 REGULATOR_VOLTAGE = 0,
2476 REGULATOR_CURRENT = 1
2477} ;
2478#line 146 "include/linux/regulator/driver.h"
2479struct regulator_desc {
2480 char const *name ;
2481 char const *supply_name ;
2482 int id ;
2483 unsigned int n_voltages ;
2484 struct regulator_ops *ops ;
2485 int irq ;
2486 enum regulator_type type ;
2487 struct module *owner ;
2488};
2489#line 175
2490struct regulation_constraints;
2491#line 175 "include/linux/regulator/driver.h"
2492struct regulator_dev {
2493 struct regulator_desc *desc ;
2494 int exclusive ;
2495 u32 use_count ;
2496 u32 open_count ;
2497 struct list_head list ;
2498 struct list_head consumer_list ;
2499 struct blocking_notifier_head notifier ;
2500 struct mutex mutex ;
2501 struct module *owner ;
2502 struct device dev ;
2503 struct regulation_constraints *constraints ;
2504 struct regulator *supply ;
2505 struct delayed_work disable_work ;
2506 int deferred_disables ;
2507 void *reg_data ;
2508 struct dentry *debugfs ;
2509};
2510#line 228 "include/linux/regulator/driver.h"
2511struct taskstats {
2512 __u16 version ;
2513 __u32 ac_exitcode ;
2514 __u8 ac_flag ;
2515 __u8 ac_nice ;
2516 __u64 cpu_count ;
2517 __u64 cpu_delay_total ;
2518 __u64 blkio_count ;
2519 __u64 blkio_delay_total ;
2520 __u64 swapin_count ;
2521 __u64 swapin_delay_total ;
2522 __u64 cpu_run_real_total ;
2523 __u64 cpu_run_virtual_total ;
2524 char ac_comm[32U] ;
2525 __u8 ac_sched ;
2526 __u8 ac_pad[3U] ;
2527 __u32 ac_uid ;
2528 __u32 ac_gid ;
2529 __u32 ac_pid ;
2530 __u32 ac_ppid ;
2531 __u32 ac_btime ;
2532 __u64 ac_etime ;
2533 __u64 ac_utime ;
2534 __u64 ac_stime ;
2535 __u64 ac_minflt ;
2536 __u64 ac_majflt ;
2537 __u64 coremem ;
2538 __u64 virtmem ;
2539 __u64 hiwater_rss ;
2540 __u64 hiwater_vm ;
2541 __u64 read_char ;
2542 __u64 write_char ;
2543 __u64 read_syscalls ;
2544 __u64 write_syscalls ;
2545 __u64 read_bytes ;
2546 __u64 write_bytes ;
2547 __u64 cancelled_write_bytes ;
2548 __u64 nvcsw ;
2549 __u64 nivcsw ;
2550 __u64 ac_utimescaled ;
2551 __u64 ac_stimescaled ;
2552 __u64 cpu_scaled_run_real_total ;
2553 __u64 freepages_count ;
2554 __u64 freepages_delay_total ;
2555};
2556#line 154 "include/linux/idr.h"
2557struct cgroupfs_root;
2558#line 154
2559struct cgroupfs_root;
2560#line 156
2561struct cgroup;
2562#line 156
2563struct cgroup;
2564#line 157
2565struct css_id;
2566#line 157
2567struct css_id;
2568#line 56 "include/linux/cgroup.h"
2569struct cgroup_subsys_state {
2570 struct cgroup *cgroup ;
2571 atomic_t refcnt ;
2572 unsigned long flags ;
2573 struct css_id *id ;
2574};
2575#line 149 "include/linux/cgroup.h"
2576struct cgroup {
2577 unsigned long flags ;
2578 atomic_t count ;
2579 struct list_head sibling ;
2580 struct list_head children ;
2581 struct cgroup *parent ;
2582 struct dentry *dentry ;
2583 struct cgroup_subsys_state *subsys[64U] ;
2584 struct cgroupfs_root *root ;
2585 struct cgroup *top_cgroup ;
2586 struct list_head css_sets ;
2587 struct list_head release_list ;
2588 struct list_head pidlists ;
2589 struct mutex pidlist_mutex ;
2590 struct rcu_head rcu_head ;
2591 struct list_head event_list ;
2592 spinlock_t event_list_lock ;
2593};
2594#line 215 "include/linux/cgroup.h"
2595struct css_set {
2596 atomic_t refcount ;
2597 struct hlist_node hlist ;
2598 struct list_head tasks ;
2599 struct list_head cg_links ;
2600 struct cgroup_subsys_state *subsys[64U] ;
2601 struct rcu_head rcu_head ;
2602};
2603#line 108 "include/linux/swap.h"
2604struct reclaim_state {
2605 unsigned long reclaimed_slab ;
2606};
2607#line 178 "include/linux/mm.h"
2608struct vm_fault {
2609 unsigned int flags ;
2610 unsigned long pgoff ;
2611 void *virtual_address ;
2612 struct page *page ;
2613};
2614#line 195 "include/linux/mm.h"
2615struct vm_operations_struct {
2616 void (*open)(struct vm_area_struct * ) ;
2617 void (*close)(struct vm_area_struct * ) ;
2618 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2619 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2620 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
2621 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2622 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
2623 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
2624 unsigned long ) ;
2625};
2626#line 34 "include/linux/suspend.h"
2627typedef int suspend_state_t;
2628#line 443 "include/linux/suspend.h"
2629struct regulator_state {
2630 int uV ;
2631 unsigned int mode ;
2632 int enabled ;
2633 int disabled ;
2634};
2635#line 61 "include/linux/regulator/machine.h"
2636struct regulation_constraints {
2637 char const *name ;
2638 int min_uV ;
2639 int max_uV ;
2640 int uV_offset ;
2641 int min_uA ;
2642 int max_uA ;
2643 unsigned int valid_modes_mask ;
2644 unsigned int valid_ops_mask ;
2645 int input_uV ;
2646 struct regulator_state state_disk ;
2647 struct regulator_state state_mem ;
2648 struct regulator_state state_standby ;
2649 suspend_state_t initial_state ;
2650 unsigned int initial_mode ;
2651 unsigned char always_on : 1 ;
2652 unsigned char boot_on : 1 ;
2653 unsigned char apply_uV : 1 ;
2654};
2655#line 133 "include/linux/regulator/machine.h"
2656struct regulator_consumer_supply {
2657 char const *dev_name ;
2658 char const *supply ;
2659};
2660#line 147 "include/linux/regulator/machine.h"
2661struct regulator_init_data {
2662 char const *supply_regulator ;
2663 struct regulation_constraints constraints ;
2664 int num_consumer_supplies ;
2665 struct regulator_consumer_supply *consumer_supplies ;
2666 int (*regulator_init)(void * ) ;
2667 void *driver_data ;
2668};
2669#line 50 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2670enum irqreturn {
2671 IRQ_NONE = 0,
2672 IRQ_HANDLED = 1,
2673 IRQ_WAKE_THREAD = 2
2674} ;
2675#line 16 "include/linux/irqreturn.h"
2676typedef enum irqreturn irqreturn_t;
2677#line 41 "include/asm-generic/sections.h"
2678struct exception_table_entry {
2679 unsigned long insn ;
2680 unsigned long fixup ;
2681};
2682#line 703 "include/linux/interrupt.h"
2683struct regmap;
2684#line 703
2685struct regmap;
2686#line 230 "include/linux/regmap.h"
2687struct wm831x;
2688#line 230
2689struct wm831x;
2690#line 231
2691enum wm831x_auxadc;
2692#line 231
2693enum wm831x_auxadc;
2694#line 359 "include/linux/mfd/wm831x/core.h"
2695struct wm831x {
2696 struct mutex io_lock ;
2697 struct device *dev ;
2698 struct regmap *regmap ;
2699 int irq ;
2700 struct mutex irq_lock ;
2701 int irq_base ;
2702 int irq_masks_cur[5U] ;
2703 int irq_masks_cache[5U] ;
2704 bool soft_shutdown ;
2705 unsigned char has_gpio_ena : 1 ;
2706 unsigned char has_cs_sts : 1 ;
2707 unsigned char charger_irq_wake : 1 ;
2708 int num_gpio ;
2709 int gpio_update[16U] ;
2710 bool gpio_level[16U] ;
2711 struct mutex auxadc_lock ;
2712 struct list_head auxadc_pending ;
2713 u16 auxadc_active ;
2714 int (*auxadc_read)(struct wm831x * , enum wm831x_auxadc ) ;
2715 struct mutex key_lock ;
2716 unsigned char locked : 1 ;
2717};
2718#line 1217 "include/linux/mfd/wm831x/regulator.h"
2719struct wm831x_backlight_pdata {
2720 int isink ;
2721 int max_uA ;
2722};
2723#line 25 "include/linux/mfd/wm831x/pdata.h"
2724struct wm831x_backup_pdata {
2725 int charger_enable ;
2726 int no_constant_voltage ;
2727 int vlim ;
2728 int ilim ;
2729};
2730#line 32 "include/linux/mfd/wm831x/pdata.h"
2731struct wm831x_battery_pdata {
2732 int enable ;
2733 int fast_enable ;
2734 int off_mask ;
2735 int trickle_ilim ;
2736 int vsel ;
2737 int eoc_iterm ;
2738 int fast_ilim ;
2739 int timeout ;
2740};
2741#line 43 "include/linux/mfd/wm831x/pdata.h"
2742struct wm831x_buckv_pdata {
2743 int dvs_gpio ;
2744 int dvs_control_src ;
2745 int dvs_init_state ;
2746 int dvs_state_gpio ;
2747};
2748#line 60
2749enum wm831x_status_src {
2750 WM831X_STATUS_PRESERVE = 0,
2751 WM831X_STATUS_OTP = 1,
2752 WM831X_STATUS_POWER = 2,
2753 WM831X_STATUS_CHARGER = 3,
2754 WM831X_STATUS_MANUAL = 4
2755} ;
2756#line 68 "include/linux/mfd/wm831x/pdata.h"
2757struct wm831x_status_pdata {
2758 enum wm831x_status_src default_src ;
2759 char const *name ;
2760 char const *default_trigger ;
2761};
2762#line 77 "include/linux/mfd/wm831x/pdata.h"
2763struct wm831x_touch_pdata {
2764 int fivewire ;
2765 int isel ;
2766 int rpu ;
2767 int pressure ;
2768 unsigned int data_irq ;
2769 int data_irqf ;
2770 unsigned int pd_irq ;
2771 int pd_irqf ;
2772};
2773#line 88
2774enum wm831x_watchdog_action {
2775 WM831X_WDOG_NONE = 0,
2776 WM831X_WDOG_INTERRUPT = 1,
2777 WM831X_WDOG_RESET = 2,
2778 WM831X_WDOG_WAKE = 3
2779} ;
2780#line 95 "include/linux/mfd/wm831x/pdata.h"
2781struct wm831x_watchdog_pdata {
2782 enum wm831x_watchdog_action primary ;
2783 enum wm831x_watchdog_action secondary ;
2784 int update_gpio ;
2785 unsigned char software : 1 ;
2786};
2787#line 101 "include/linux/mfd/wm831x/pdata.h"
2788struct wm831x_pdata {
2789 int wm831x_num ;
2790 int (*pre_init)(struct wm831x * ) ;
2791 int (*post_init)(struct wm831x * ) ;
2792 bool irq_cmos ;
2793 bool disable_touch ;
2794 bool soft_shutdown ;
2795 int irq_base ;
2796 int gpio_base ;
2797 int gpio_defaults[16U] ;
2798 struct wm831x_backlight_pdata *backlight ;
2799 struct wm831x_backup_pdata *backup ;
2800 struct wm831x_battery_pdata *battery ;
2801 struct wm831x_touch_pdata *touch ;
2802 struct wm831x_watchdog_pdata *watchdog ;
2803 struct wm831x_status_pdata *status[2U] ;
2804 struct regulator_init_data *dcdc[4U] ;
2805 struct regulator_init_data *epe[2U] ;
2806 struct regulator_init_data *ldo[11U] ;
2807 struct regulator_init_data *isink[2U] ;
2808};
2809#line 149 "include/linux/mfd/wm831x/pdata.h"
2810struct wm831x_dcdc {
2811 char name[6U] ;
2812 struct regulator_desc desc ;
2813 int base ;
2814 struct wm831x *wm831x ;
2815 struct regulator_dev *regulator ;
2816 int dvs_gpio ;
2817 int dvs_gpio_state ;
2818 int on_vsel ;
2819 int dvs_vsel ;
2820};
2821#line 1 "<compiler builtins>"
2822long __builtin_expect(long , long ) ;
2823#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
2824void ldv_spin_lock(void) ;
2825#line 3
2826void ldv_spin_unlock(void) ;
2827#line 4
2828int ldv_spin_trylock(void) ;
2829#line 101 "include/linux/printk.h"
2830extern int printk(char const * , ...) ;
2831#line 50 "include/linux/dynamic_debug.h"
2832extern int __dynamic_dev_dbg(struct _ddebug * , struct device const * , char const *
2833 , ...) ;
2834#line 323 "include/linux/kernel.h"
2835extern int snprintf(char * , size_t , char const * , ...) ;
2836#line 27 "include/linux/err.h"
2837__inline static long PTR_ERR(void const *ptr )
2838{
2839
2840 {
2841#line 29
2842 return ((long )ptr);
2843}
2844}
2845#line 32 "include/linux/err.h"
2846__inline static long IS_ERR(void const *ptr )
2847{ long tmp ;
2848 unsigned long __cil_tmp3 ;
2849 int __cil_tmp4 ;
2850 long __cil_tmp5 ;
2851
2852 {
2853 {
2854#line 34
2855 __cil_tmp3 = (unsigned long )ptr;
2856#line 34
2857 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2858#line 34
2859 __cil_tmp5 = (long )__cil_tmp4;
2860#line 34
2861 tmp = __builtin_expect(__cil_tmp5, 0L);
2862 }
2863#line 34
2864 return (tmp);
2865}
2866}
2867#line 26 "include/linux/export.h"
2868extern struct module __this_module ;
2869#line 161 "include/linux/slab.h"
2870extern void kfree(void const * ) ;
2871#line 220 "include/linux/slub_def.h"
2872extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2873#line 223
2874void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2875#line 353 "include/linux/slab.h"
2876__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2877#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
2878extern void *__VERIFIER_nondet_pointer(void) ;
2879#line 11
2880void ldv_check_alloc_flags(gfp_t flags ) ;
2881#line 12
2882void ldv_check_alloc_nonatomic(void) ;
2883#line 14
2884struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2885#line 553 "include/linux/device.h"
2886extern void *devm_kzalloc(struct device * , size_t , gfp_t ) ;
2887#line 792
2888extern void *dev_get_drvdata(struct device const * ) ;
2889#line 793
2890extern int dev_set_drvdata(struct device * , void * ) ;
2891#line 892
2892extern int dev_err(struct device const * , char const * , ...) ;
2893#line 894
2894extern int dev_warn(struct device const * , char const * , ...) ;
2895#line 46 "include/linux/platform_device.h"
2896extern struct resource *platform_get_resource(struct platform_device * , unsigned int ,
2897 unsigned int ) ;
2898#line 49
2899extern int platform_get_irq_byname(struct platform_device * , char const * ) ;
2900#line 174
2901extern int platform_driver_register(struct platform_driver * ) ;
2902#line 175
2903extern void platform_driver_unregister(struct platform_driver * ) ;
2904#line 183 "include/linux/platform_device.h"
2905__inline static void *platform_get_drvdata(struct platform_device const *pdev )
2906{ void *tmp ;
2907 unsigned long __cil_tmp3 ;
2908 unsigned long __cil_tmp4 ;
2909 struct device const *__cil_tmp5 ;
2910
2911 {
2912 {
2913#line 185
2914 __cil_tmp3 = (unsigned long )pdev;
2915#line 185
2916 __cil_tmp4 = __cil_tmp3 + 16;
2917#line 185
2918 __cil_tmp5 = (struct device const *)__cil_tmp4;
2919#line 185
2920 tmp = dev_get_drvdata(__cil_tmp5);
2921 }
2922#line 185
2923 return (tmp);
2924}
2925}
2926#line 188 "include/linux/platform_device.h"
2927__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
2928{ unsigned long __cil_tmp3 ;
2929 unsigned long __cil_tmp4 ;
2930 struct device *__cil_tmp5 ;
2931
2932 {
2933 {
2934#line 190
2935 __cil_tmp3 = (unsigned long )pdev;
2936#line 190
2937 __cil_tmp4 = __cil_tmp3 + 16;
2938#line 190
2939 __cil_tmp5 = (struct device *)__cil_tmp4;
2940#line 190
2941 dev_set_drvdata(__cil_tmp5, data);
2942 }
2943#line 191
2944 return;
2945}
2946}
2947#line 213 "include/linux/regulator/driver.h"
2948extern struct regulator_dev *regulator_register(struct regulator_desc * , struct device * ,
2949 struct regulator_init_data const * ,
2950 void * , struct device_node * ) ;
2951#line 216
2952extern void regulator_unregister(struct regulator_dev * ) ;
2953#line 218
2954extern int regulator_notifier_call_chain(struct regulator_dev * , unsigned long ,
2955 void * ) ;
2956#line 221
2957extern void *rdev_get_drvdata(struct regulator_dev * ) ;
2958#line 223
2959extern int rdev_get_id(struct regulator_dev * ) ;
2960#line 153 "include/asm-generic/gpio.h"
2961extern int gpio_request(unsigned int , char const * ) ;
2962#line 154
2963extern void gpio_free(unsigned int ) ;
2964#line 157
2965extern int gpio_direction_output(unsigned int , int ) ;
2966#line 170
2967extern void __gpio_set_value(unsigned int , int ) ;
2968#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2969__inline static void gpio_set_value(unsigned int gpio , int value )
2970{
2971
2972 {
2973 {
2974#line 33
2975 __gpio_set_value(gpio, value);
2976 }
2977#line 34
2978 return;
2979}
2980}
2981#line 127 "include/linux/interrupt.h"
2982extern int request_threaded_irq(unsigned int , irqreturn_t (*)(int , void * ) ,
2983 irqreturn_t (*)(int , void * ) , unsigned long ,
2984 char const * , void * ) ;
2985#line 184
2986extern void free_irq(unsigned int , void * ) ;
2987#line 402 "include/linux/mfd/wm831x/core.h"
2988extern int wm831x_reg_read(struct wm831x * , unsigned short ) ;
2989#line 407
2990extern int wm831x_set_bits(struct wm831x * , unsigned short , unsigned short , unsigned short ) ;
2991#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
2992static int wm831x_dcdc_is_enabled(struct regulator_dev *rdev )
2993{ struct wm831x_dcdc *dcdc ;
2994 void *tmp ;
2995 struct wm831x *wm831x ;
2996 int mask ;
2997 int tmp___0 ;
2998 int reg ;
2999 unsigned long __cil_tmp8 ;
3000 unsigned long __cil_tmp9 ;
3001 int __cil_tmp10 ;
3002
3003 {
3004 {
3005#line 80
3006 tmp = rdev_get_drvdata(rdev);
3007#line 80
3008 dcdc = (struct wm831x_dcdc *)tmp;
3009#line 81
3010 __cil_tmp8 = (unsigned long )dcdc;
3011#line 81
3012 __cil_tmp9 = __cil_tmp8 + 64;
3013#line 81
3014 wm831x = *((struct wm831x **)__cil_tmp9);
3015#line 82
3016 tmp___0 = rdev_get_id(rdev);
3017#line 82
3018 mask = 1 << tmp___0;
3019#line 85
3020 reg = wm831x_reg_read(wm831x, (unsigned short)16464);
3021 }
3022#line 86
3023 if (reg < 0) {
3024#line 87
3025 return (reg);
3026 } else {
3027
3028 }
3029 {
3030#line 89
3031 __cil_tmp10 = reg & mask;
3032#line 89
3033 if (__cil_tmp10 != 0) {
3034#line 90
3035 return (1);
3036 } else {
3037#line 92
3038 return (0);
3039 }
3040 }
3041}
3042}
3043#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3044static int wm831x_dcdc_enable(struct regulator_dev *rdev )
3045{ struct wm831x_dcdc *dcdc ;
3046 void *tmp ;
3047 struct wm831x *wm831x ;
3048 int mask ;
3049 int tmp___0 ;
3050 int tmp___1 ;
3051 unsigned long __cil_tmp8 ;
3052 unsigned long __cil_tmp9 ;
3053 unsigned short __cil_tmp10 ;
3054 int __cil_tmp11 ;
3055 unsigned short __cil_tmp12 ;
3056 unsigned short __cil_tmp13 ;
3057 int __cil_tmp14 ;
3058 unsigned short __cil_tmp15 ;
3059
3060 {
3061 {
3062#line 97
3063 tmp = rdev_get_drvdata(rdev);
3064#line 97
3065 dcdc = (struct wm831x_dcdc *)tmp;
3066#line 98
3067 __cil_tmp8 = (unsigned long )dcdc;
3068#line 98
3069 __cil_tmp9 = __cil_tmp8 + 64;
3070#line 98
3071 wm831x = *((struct wm831x **)__cil_tmp9);
3072#line 99
3073 tmp___0 = rdev_get_id(rdev);
3074#line 99
3075 mask = 1 << tmp___0;
3076#line 101
3077 __cil_tmp10 = (unsigned short )mask;
3078#line 101
3079 __cil_tmp11 = (int )__cil_tmp10;
3080#line 101
3081 __cil_tmp12 = (unsigned short )__cil_tmp11;
3082#line 101
3083 __cil_tmp13 = (unsigned short )mask;
3084#line 101
3085 __cil_tmp14 = (int )__cil_tmp13;
3086#line 101
3087 __cil_tmp15 = (unsigned short )__cil_tmp14;
3088#line 101
3089 tmp___1 = wm831x_set_bits(wm831x, (unsigned short)16464, __cil_tmp12, __cil_tmp15);
3090 }
3091#line 101
3092 return (tmp___1);
3093}
3094}
3095#line 104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3096static int wm831x_dcdc_disable(struct regulator_dev *rdev )
3097{ struct wm831x_dcdc *dcdc ;
3098 void *tmp ;
3099 struct wm831x *wm831x ;
3100 int mask ;
3101 int tmp___0 ;
3102 int tmp___1 ;
3103 unsigned long __cil_tmp8 ;
3104 unsigned long __cil_tmp9 ;
3105 unsigned short __cil_tmp10 ;
3106 int __cil_tmp11 ;
3107 unsigned short __cil_tmp12 ;
3108
3109 {
3110 {
3111#line 106
3112 tmp = rdev_get_drvdata(rdev);
3113#line 106
3114 dcdc = (struct wm831x_dcdc *)tmp;
3115#line 107
3116 __cil_tmp8 = (unsigned long )dcdc;
3117#line 107
3118 __cil_tmp9 = __cil_tmp8 + 64;
3119#line 107
3120 wm831x = *((struct wm831x **)__cil_tmp9);
3121#line 108
3122 tmp___0 = rdev_get_id(rdev);
3123#line 108
3124 mask = 1 << tmp___0;
3125#line 110
3126 __cil_tmp10 = (unsigned short )mask;
3127#line 110
3128 __cil_tmp11 = (int )__cil_tmp10;
3129#line 110
3130 __cil_tmp12 = (unsigned short )__cil_tmp11;
3131#line 110
3132 tmp___1 = wm831x_set_bits(wm831x, (unsigned short)16464, __cil_tmp12, (unsigned short)0);
3133 }
3134#line 110
3135 return (tmp___1);
3136}
3137}
3138#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3139static unsigned int wm831x_dcdc_get_mode(struct regulator_dev *rdev )
3140{ struct wm831x_dcdc *dcdc ;
3141 void *tmp ;
3142 struct wm831x *wm831x ;
3143 u16 reg ;
3144 int val ;
3145 unsigned long __cil_tmp7 ;
3146 unsigned long __cil_tmp8 ;
3147 unsigned long __cil_tmp9 ;
3148 unsigned long __cil_tmp10 ;
3149 int __cil_tmp11 ;
3150 u16 __cil_tmp12 ;
3151 unsigned int __cil_tmp13 ;
3152 unsigned int __cil_tmp14 ;
3153 int __cil_tmp15 ;
3154 unsigned short __cil_tmp16 ;
3155 int __cil_tmp17 ;
3156
3157 {
3158 {
3159#line 116
3160 tmp = rdev_get_drvdata(rdev);
3161#line 116
3162 dcdc = (struct wm831x_dcdc *)tmp;
3163#line 117
3164 __cil_tmp7 = (unsigned long )dcdc;
3165#line 117
3166 __cil_tmp8 = __cil_tmp7 + 64;
3167#line 117
3168 wm831x = *((struct wm831x **)__cil_tmp8);
3169#line 118
3170 __cil_tmp9 = (unsigned long )dcdc;
3171#line 118
3172 __cil_tmp10 = __cil_tmp9 + 56;
3173#line 118
3174 __cil_tmp11 = *((int *)__cil_tmp10);
3175#line 118
3176 __cil_tmp12 = (u16 )__cil_tmp11;
3177#line 118
3178 __cil_tmp13 = (unsigned int )__cil_tmp12;
3179#line 118
3180 __cil_tmp14 = __cil_tmp13 + 2U;
3181#line 118
3182 reg = (u16 )__cil_tmp14;
3183#line 121
3184 __cil_tmp15 = (int )reg;
3185#line 121
3186 __cil_tmp16 = (unsigned short )__cil_tmp15;
3187#line 121
3188 val = wm831x_reg_read(wm831x, __cil_tmp16);
3189 }
3190#line 122
3191 if (val < 0) {
3192#line 123
3193 return ((unsigned int )val);
3194 } else {
3195
3196 }
3197#line 125
3198 __cil_tmp17 = val & 768;
3199#line 125
3200 val = __cil_tmp17 >> 8;
3201#line 128
3202 if (val == 0) {
3203#line 128
3204 goto case_0;
3205 } else
3206#line 130
3207 if (val == 1) {
3208#line 130
3209 goto case_1;
3210 } else
3211#line 132
3212 if (val == 3) {
3213#line 132
3214 goto case_3;
3215 } else
3216#line 134
3217 if (val == 2) {
3218#line 134
3219 goto case_2;
3220 } else {
3221 {
3222#line 136
3223 goto switch_default;
3224#line 127
3225 if (0) {
3226 case_0: ;
3227#line 129
3228 return (1U);
3229 case_1: ;
3230#line 131
3231 return (2U);
3232 case_3: ;
3233#line 133
3234 return (8U);
3235 case_2: ;
3236#line 135
3237 return (4U);
3238 switch_default:
3239#line 137
3240 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"),
3241 "i" (137), "i" (12UL));
3242 ldv_24599: ;
3243#line 137
3244 goto ldv_24599;
3245#line 138
3246 return (4294967274U);
3247 } else {
3248 switch_break: ;
3249 }
3250 }
3251 }
3252}
3253}
3254#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3255static int wm831x_dcdc_set_mode_int(struct wm831x *wm831x , int reg , unsigned int mode )
3256{ int val ;
3257 int tmp ;
3258 unsigned short __cil_tmp6 ;
3259 int __cil_tmp7 ;
3260 unsigned short __cil_tmp8 ;
3261 unsigned short __cil_tmp9 ;
3262 int __cil_tmp10 ;
3263 int __cil_tmp11 ;
3264 unsigned short __cil_tmp12 ;
3265
3266 {
3267#line 148
3268 if ((int )mode == 1) {
3269#line 148
3270 goto case_1;
3271 } else
3272#line 151
3273 if ((int )mode == 2) {
3274#line 151
3275 goto case_2;
3276 } else
3277#line 154
3278 if ((int )mode == 8) {
3279#line 154
3280 goto case_8;
3281 } else
3282#line 157
3283 if ((int )mode == 4) {
3284#line 157
3285 goto case_4;
3286 } else {
3287 {
3288#line 160
3289 goto switch_default;
3290#line 147
3291 if (0) {
3292 case_1:
3293#line 149
3294 val = 0;
3295#line 150
3296 goto ldv_24607;
3297 case_2:
3298#line 152
3299 val = 1;
3300#line 153
3301 goto ldv_24607;
3302 case_8:
3303#line 155
3304 val = 3;
3305#line 156
3306 goto ldv_24607;
3307 case_4:
3308#line 158
3309 val = 2;
3310#line 159
3311 goto ldv_24607;
3312 switch_default: ;
3313#line 161
3314 return (-22);
3315 } else {
3316 switch_break: ;
3317 }
3318 }
3319 }
3320 ldv_24607:
3321 {
3322#line 164
3323 __cil_tmp6 = (unsigned short )reg;
3324#line 164
3325 __cil_tmp7 = (int )__cil_tmp6;
3326#line 164
3327 __cil_tmp8 = (unsigned short )__cil_tmp7;
3328#line 164
3329 __cil_tmp9 = (unsigned short )val;
3330#line 164
3331 __cil_tmp10 = (int )__cil_tmp9;
3332#line 164
3333 __cil_tmp11 = __cil_tmp10 << 8U;
3334#line 164
3335 __cil_tmp12 = (unsigned short )__cil_tmp11;
3336#line 164
3337 tmp = wm831x_set_bits(wm831x, __cil_tmp8, (unsigned short)768, __cil_tmp12);
3338 }
3339#line 164
3340 return (tmp);
3341}
3342}
3343#line 168 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3344static int wm831x_dcdc_set_mode(struct regulator_dev *rdev , unsigned int mode )
3345{ struct wm831x_dcdc *dcdc ;
3346 void *tmp ;
3347 struct wm831x *wm831x ;
3348 u16 reg ;
3349 int tmp___0 ;
3350 unsigned long __cil_tmp8 ;
3351 unsigned long __cil_tmp9 ;
3352 unsigned long __cil_tmp10 ;
3353 unsigned long __cil_tmp11 ;
3354 int __cil_tmp12 ;
3355 u16 __cil_tmp13 ;
3356 unsigned int __cil_tmp14 ;
3357 unsigned int __cil_tmp15 ;
3358 int __cil_tmp16 ;
3359
3360 {
3361 {
3362#line 170
3363 tmp = rdev_get_drvdata(rdev);
3364#line 170
3365 dcdc = (struct wm831x_dcdc *)tmp;
3366#line 171
3367 __cil_tmp8 = (unsigned long )dcdc;
3368#line 171
3369 __cil_tmp9 = __cil_tmp8 + 64;
3370#line 171
3371 wm831x = *((struct wm831x **)__cil_tmp9);
3372#line 172
3373 __cil_tmp10 = (unsigned long )dcdc;
3374#line 172
3375 __cil_tmp11 = __cil_tmp10 + 56;
3376#line 172
3377 __cil_tmp12 = *((int *)__cil_tmp11);
3378#line 172
3379 __cil_tmp13 = (u16 )__cil_tmp12;
3380#line 172
3381 __cil_tmp14 = (unsigned int )__cil_tmp13;
3382#line 172
3383 __cil_tmp15 = __cil_tmp14 + 2U;
3384#line 172
3385 reg = (u16 )__cil_tmp15;
3386#line 174
3387 __cil_tmp16 = (int )reg;
3388#line 174
3389 tmp___0 = wm831x_dcdc_set_mode_int(wm831x, __cil_tmp16, mode);
3390 }
3391#line 174
3392 return (tmp___0);
3393}
3394}
3395#line 177 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3396static int wm831x_dcdc_set_suspend_mode(struct regulator_dev *rdev , unsigned int mode )
3397{ struct wm831x_dcdc *dcdc ;
3398 void *tmp ;
3399 struct wm831x *wm831x ;
3400 u16 reg ;
3401 int tmp___0 ;
3402 unsigned long __cil_tmp8 ;
3403 unsigned long __cil_tmp9 ;
3404 unsigned long __cil_tmp10 ;
3405 unsigned long __cil_tmp11 ;
3406 int __cil_tmp12 ;
3407 u16 __cil_tmp13 ;
3408 unsigned int __cil_tmp14 ;
3409 unsigned int __cil_tmp15 ;
3410 int __cil_tmp16 ;
3411
3412 {
3413 {
3414#line 180
3415 tmp = rdev_get_drvdata(rdev);
3416#line 180
3417 dcdc = (struct wm831x_dcdc *)tmp;
3418#line 181
3419 __cil_tmp8 = (unsigned long )dcdc;
3420#line 181
3421 __cil_tmp9 = __cil_tmp8 + 64;
3422#line 181
3423 wm831x = *((struct wm831x **)__cil_tmp9);
3424#line 182
3425 __cil_tmp10 = (unsigned long )dcdc;
3426#line 182
3427 __cil_tmp11 = __cil_tmp10 + 56;
3428#line 182
3429 __cil_tmp12 = *((int *)__cil_tmp11);
3430#line 182
3431 __cil_tmp13 = (u16 )__cil_tmp12;
3432#line 182
3433 __cil_tmp14 = (unsigned int )__cil_tmp13;
3434#line 182
3435 __cil_tmp15 = __cil_tmp14 + 3U;
3436#line 182
3437 reg = (u16 )__cil_tmp15;
3438#line 184
3439 __cil_tmp16 = (int )reg;
3440#line 184
3441 tmp___0 = wm831x_dcdc_set_mode_int(wm831x, __cil_tmp16, mode);
3442 }
3443#line 184
3444 return (tmp___0);
3445}
3446}
3447#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3448static int wm831x_dcdc_get_status(struct regulator_dev *rdev )
3449{ struct wm831x_dcdc *dcdc ;
3450 void *tmp ;
3451 struct wm831x *wm831x ;
3452 int ret ;
3453 struct _ddebug descriptor ;
3454 int tmp___0 ;
3455 long tmp___1 ;
3456 int tmp___2 ;
3457 struct _ddebug descriptor___0 ;
3458 int tmp___3 ;
3459 long tmp___4 ;
3460 int tmp___5 ;
3461 struct _ddebug descriptor___1 ;
3462 int tmp___6 ;
3463 long tmp___7 ;
3464 int tmp___8 ;
3465 int tmp___9 ;
3466 int tmp___10 ;
3467 unsigned long __cil_tmp20 ;
3468 unsigned long __cil_tmp21 ;
3469 int __cil_tmp22 ;
3470 struct _ddebug *__cil_tmp23 ;
3471 unsigned long __cil_tmp24 ;
3472 unsigned long __cil_tmp25 ;
3473 unsigned long __cil_tmp26 ;
3474 unsigned long __cil_tmp27 ;
3475 unsigned long __cil_tmp28 ;
3476 unsigned long __cil_tmp29 ;
3477 unsigned char __cil_tmp30 ;
3478 long __cil_tmp31 ;
3479 long __cil_tmp32 ;
3480 unsigned long __cil_tmp33 ;
3481 unsigned long __cil_tmp34 ;
3482 struct device *__cil_tmp35 ;
3483 struct device const *__cil_tmp36 ;
3484 int __cil_tmp37 ;
3485 int __cil_tmp38 ;
3486 int __cil_tmp39 ;
3487 struct _ddebug *__cil_tmp40 ;
3488 unsigned long __cil_tmp41 ;
3489 unsigned long __cil_tmp42 ;
3490 unsigned long __cil_tmp43 ;
3491 unsigned long __cil_tmp44 ;
3492 unsigned long __cil_tmp45 ;
3493 unsigned long __cil_tmp46 ;
3494 unsigned char __cil_tmp47 ;
3495 long __cil_tmp48 ;
3496 long __cil_tmp49 ;
3497 unsigned long __cil_tmp50 ;
3498 unsigned long __cil_tmp51 ;
3499 struct device *__cil_tmp52 ;
3500 struct device const *__cil_tmp53 ;
3501 int __cil_tmp54 ;
3502 int __cil_tmp55 ;
3503 int __cil_tmp56 ;
3504 struct _ddebug *__cil_tmp57 ;
3505 unsigned long __cil_tmp58 ;
3506 unsigned long __cil_tmp59 ;
3507 unsigned long __cil_tmp60 ;
3508 unsigned long __cil_tmp61 ;
3509 unsigned long __cil_tmp62 ;
3510 unsigned long __cil_tmp63 ;
3511 unsigned char __cil_tmp64 ;
3512 long __cil_tmp65 ;
3513 long __cil_tmp66 ;
3514 unsigned long __cil_tmp67 ;
3515 unsigned long __cil_tmp68 ;
3516 struct device *__cil_tmp69 ;
3517 struct device const *__cil_tmp70 ;
3518 int __cil_tmp71 ;
3519 int __cil_tmp72 ;
3520 int __cil_tmp73 ;
3521
3522 {
3523 {
3524#line 189
3525 tmp = rdev_get_drvdata(rdev);
3526#line 189
3527 dcdc = (struct wm831x_dcdc *)tmp;
3528#line 190
3529 __cil_tmp20 = (unsigned long )dcdc;
3530#line 190
3531 __cil_tmp21 = __cil_tmp20 + 64;
3532#line 190
3533 wm831x = *((struct wm831x **)__cil_tmp21);
3534#line 194
3535 ret = wm831x_reg_read(wm831x, (unsigned short)16468);
3536 }
3537#line 195
3538 if (ret < 0) {
3539#line 196
3540 return (ret);
3541 } else {
3542
3543 }
3544 {
3545#line 198
3546 tmp___2 = rdev_get_id(rdev);
3547 }
3548 {
3549#line 198
3550 __cil_tmp22 = ret >> tmp___2;
3551#line 198
3552 if (__cil_tmp22 & 1) {
3553 {
3554#line 199
3555 __cil_tmp23 = & descriptor;
3556#line 199
3557 *((char const **)__cil_tmp23) = "wm831x_dcdc";
3558#line 199
3559 __cil_tmp24 = (unsigned long )(& descriptor) + 8;
3560#line 199
3561 *((char const **)__cil_tmp24) = "wm831x_dcdc_get_status";
3562#line 199
3563 __cil_tmp25 = (unsigned long )(& descriptor) + 16;
3564#line 199
3565 *((char const **)__cil_tmp25) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
3566#line 199
3567 __cil_tmp26 = (unsigned long )(& descriptor) + 24;
3568#line 199
3569 *((char const **)__cil_tmp26) = "DCDC%d under voltage\n";
3570#line 199
3571 __cil_tmp27 = (unsigned long )(& descriptor) + 32;
3572#line 199
3573 *((unsigned int *)__cil_tmp27) = 200U;
3574#line 199
3575 __cil_tmp28 = (unsigned long )(& descriptor) + 35;
3576#line 199
3577 *((unsigned char *)__cil_tmp28) = (unsigned char)1;
3578#line 199
3579 __cil_tmp29 = (unsigned long )(& descriptor) + 35;
3580#line 199
3581 __cil_tmp30 = *((unsigned char *)__cil_tmp29);
3582#line 199
3583 __cil_tmp31 = (long )__cil_tmp30;
3584#line 199
3585 __cil_tmp32 = __cil_tmp31 & 1L;
3586#line 199
3587 tmp___1 = __builtin_expect(__cil_tmp32, 0L);
3588 }
3589#line 199
3590 if (tmp___1 != 0L) {
3591 {
3592#line 199
3593 tmp___0 = rdev_get_id(rdev);
3594#line 199
3595 __cil_tmp33 = (unsigned long )wm831x;
3596#line 199
3597 __cil_tmp34 = __cil_tmp33 + 168;
3598#line 199
3599 __cil_tmp35 = *((struct device **)__cil_tmp34);
3600#line 199
3601 __cil_tmp36 = (struct device const *)__cil_tmp35;
3602#line 199
3603 __cil_tmp37 = tmp___0 + 1;
3604#line 199
3605 __dynamic_dev_dbg(& descriptor, __cil_tmp36, "DCDC%d under voltage\n", __cil_tmp37);
3606 }
3607 } else {
3608
3609 }
3610#line 201
3611 return (2);
3612 } else {
3613
3614 }
3615 }
3616 {
3617#line 205
3618 tmp___9 = rdev_get_id(rdev);
3619 }
3620#line 205
3621 if (tmp___9 <= 1) {
3622 {
3623#line 206
3624 tmp___5 = rdev_get_id(rdev);
3625 }
3626 {
3627#line 206
3628 __cil_tmp38 = 4096 << tmp___5;
3629#line 206
3630 __cil_tmp39 = __cil_tmp38 & ret;
3631#line 206
3632 if (__cil_tmp39 != 0) {
3633 {
3634#line 207
3635 __cil_tmp40 = & descriptor___0;
3636#line 207
3637 *((char const **)__cil_tmp40) = "wm831x_dcdc";
3638#line 207
3639 __cil_tmp41 = (unsigned long )(& descriptor___0) + 8;
3640#line 207
3641 *((char const **)__cil_tmp41) = "wm831x_dcdc_get_status";
3642#line 207
3643 __cil_tmp42 = (unsigned long )(& descriptor___0) + 16;
3644#line 207
3645 *((char const **)__cil_tmp42) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
3646#line 207
3647 __cil_tmp43 = (unsigned long )(& descriptor___0) + 24;
3648#line 207
3649 *((char const **)__cil_tmp43) = "DCDC%d over voltage\n";
3650#line 207
3651 __cil_tmp44 = (unsigned long )(& descriptor___0) + 32;
3652#line 207
3653 *((unsigned int *)__cil_tmp44) = 208U;
3654#line 207
3655 __cil_tmp45 = (unsigned long )(& descriptor___0) + 35;
3656#line 207
3657 *((unsigned char *)__cil_tmp45) = (unsigned char)1;
3658#line 207
3659 __cil_tmp46 = (unsigned long )(& descriptor___0) + 35;
3660#line 207
3661 __cil_tmp47 = *((unsigned char *)__cil_tmp46);
3662#line 207
3663 __cil_tmp48 = (long )__cil_tmp47;
3664#line 207
3665 __cil_tmp49 = __cil_tmp48 & 1L;
3666#line 207
3667 tmp___4 = __builtin_expect(__cil_tmp49, 0L);
3668 }
3669#line 207
3670 if (tmp___4 != 0L) {
3671 {
3672#line 207
3673 tmp___3 = rdev_get_id(rdev);
3674#line 207
3675 __cil_tmp50 = (unsigned long )wm831x;
3676#line 207
3677 __cil_tmp51 = __cil_tmp50 + 168;
3678#line 207
3679 __cil_tmp52 = *((struct device **)__cil_tmp51);
3680#line 207
3681 __cil_tmp53 = (struct device const *)__cil_tmp52;
3682#line 207
3683 __cil_tmp54 = tmp___3 + 1;
3684#line 207
3685 __dynamic_dev_dbg(& descriptor___0, __cil_tmp53, "DCDC%d over voltage\n",
3686 __cil_tmp54);
3687 }
3688 } else {
3689
3690 }
3691#line 209
3692 return (2);
3693 } else {
3694
3695 }
3696 }
3697 {
3698#line 212
3699 tmp___8 = rdev_get_id(rdev);
3700 }
3701 {
3702#line 212
3703 __cil_tmp55 = 256 << tmp___8;
3704#line 212
3705 __cil_tmp56 = __cil_tmp55 & ret;
3706#line 212
3707 if (__cil_tmp56 != 0) {
3708 {
3709#line 213
3710 __cil_tmp57 = & descriptor___1;
3711#line 213
3712 *((char const **)__cil_tmp57) = "wm831x_dcdc";
3713#line 213
3714 __cil_tmp58 = (unsigned long )(& descriptor___1) + 8;
3715#line 213
3716 *((char const **)__cil_tmp58) = "wm831x_dcdc_get_status";
3717#line 213
3718 __cil_tmp59 = (unsigned long )(& descriptor___1) + 16;
3719#line 213
3720 *((char const **)__cil_tmp59) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
3721#line 213
3722 __cil_tmp60 = (unsigned long )(& descriptor___1) + 24;
3723#line 213
3724 *((char const **)__cil_tmp60) = "DCDC%d over current\n";
3725#line 213
3726 __cil_tmp61 = (unsigned long )(& descriptor___1) + 32;
3727#line 213
3728 *((unsigned int *)__cil_tmp61) = 214U;
3729#line 213
3730 __cil_tmp62 = (unsigned long )(& descriptor___1) + 35;
3731#line 213
3732 *((unsigned char *)__cil_tmp62) = (unsigned char)1;
3733#line 213
3734 __cil_tmp63 = (unsigned long )(& descriptor___1) + 35;
3735#line 213
3736 __cil_tmp64 = *((unsigned char *)__cil_tmp63);
3737#line 213
3738 __cil_tmp65 = (long )__cil_tmp64;
3739#line 213
3740 __cil_tmp66 = __cil_tmp65 & 1L;
3741#line 213
3742 tmp___7 = __builtin_expect(__cil_tmp66, 0L);
3743 }
3744#line 213
3745 if (tmp___7 != 0L) {
3746 {
3747#line 213
3748 tmp___6 = rdev_get_id(rdev);
3749#line 213
3750 __cil_tmp67 = (unsigned long )wm831x;
3751#line 213
3752 __cil_tmp68 = __cil_tmp67 + 168;
3753#line 213
3754 __cil_tmp69 = *((struct device **)__cil_tmp68);
3755#line 213
3756 __cil_tmp70 = (struct device const *)__cil_tmp69;
3757#line 213
3758 __cil_tmp71 = tmp___6 + 1;
3759#line 213
3760 __dynamic_dev_dbg(& descriptor___1, __cil_tmp70, "DCDC%d over current\n",
3761 __cil_tmp71);
3762 }
3763 } else {
3764
3765 }
3766#line 215
3767 return (2);
3768 } else {
3769
3770 }
3771 }
3772 } else {
3773
3774 }
3775 {
3776#line 220
3777 ret = wm831x_reg_read(wm831x, (unsigned short)16466);
3778 }
3779#line 221
3780 if (ret < 0) {
3781#line 222
3782 return (ret);
3783 } else {
3784
3785 }
3786 {
3787#line 223
3788 tmp___10 = rdev_get_id(rdev);
3789 }
3790 {
3791#line 223
3792 __cil_tmp72 = ret >> tmp___10;
3793#line 223
3794 __cil_tmp73 = __cil_tmp72 & 1;
3795#line 223
3796 if (__cil_tmp73 == 0) {
3797#line 224
3798 return (0);
3799 } else {
3800
3801 }
3802 }
3803#line 228
3804 return (1);
3805}
3806}
3807#line 231 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3808static irqreturn_t wm831x_dcdc_uv_irq(int irq , void *data )
3809{ struct wm831x_dcdc *dcdc ;
3810 unsigned long __cil_tmp4 ;
3811 unsigned long __cil_tmp5 ;
3812 struct regulator_dev *__cil_tmp6 ;
3813 void *__cil_tmp7 ;
3814
3815 {
3816 {
3817#line 233
3818 dcdc = (struct wm831x_dcdc *)data;
3819#line 235
3820 __cil_tmp4 = (unsigned long )dcdc;
3821#line 235
3822 __cil_tmp5 = __cil_tmp4 + 72;
3823#line 235
3824 __cil_tmp6 = *((struct regulator_dev **)__cil_tmp5);
3825#line 235
3826 __cil_tmp7 = (void *)0;
3827#line 235
3828 regulator_notifier_call_chain(__cil_tmp6, 1UL, __cil_tmp7);
3829 }
3830#line 239
3831 return ((irqreturn_t )1);
3832}
3833}
3834#line 242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3835static irqreturn_t wm831x_dcdc_oc_irq(int irq , void *data )
3836{ struct wm831x_dcdc *dcdc ;
3837 unsigned long __cil_tmp4 ;
3838 unsigned long __cil_tmp5 ;
3839 struct regulator_dev *__cil_tmp6 ;
3840 void *__cil_tmp7 ;
3841
3842 {
3843 {
3844#line 244
3845 dcdc = (struct wm831x_dcdc *)data;
3846#line 246
3847 __cil_tmp4 = (unsigned long )dcdc;
3848#line 246
3849 __cil_tmp5 = __cil_tmp4 + 72;
3850#line 246
3851 __cil_tmp6 = *((struct regulator_dev **)__cil_tmp5);
3852#line 246
3853 __cil_tmp7 = (void *)0;
3854#line 246
3855 regulator_notifier_call_chain(__cil_tmp6, 2UL, __cil_tmp7);
3856 }
3857#line 250
3858 return ((irqreturn_t )1);
3859}
3860}
3861#line 257 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3862static int wm831x_buckv_list_voltage(struct regulator_dev *rdev , unsigned int selector )
3863{ unsigned int __cil_tmp3 ;
3864 unsigned int __cil_tmp4 ;
3865
3866 {
3867#line 260
3868 if (selector <= 8U) {
3869#line 261
3870 return (600000);
3871 } else {
3872
3873 }
3874#line 262
3875 if (selector <= 104U) {
3876 {
3877#line 263
3878 __cil_tmp3 = selector * 12500U;
3879#line 263
3880 __cil_tmp4 = __cil_tmp3 + 500000U;
3881#line 263
3882 return ((int )__cil_tmp4);
3883 }
3884 } else {
3885
3886 }
3887#line 264
3888 return (-22);
3889}
3890}
3891#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3892static int wm831x_buckv_select_min_voltage(struct regulator_dev *rdev , int min_uV ,
3893 int max_uV )
3894{ u16 vsel ;
3895 int tmp ;
3896 int __cil_tmp6 ;
3897 int __cil_tmp7 ;
3898 u16 __cil_tmp8 ;
3899 unsigned int __cil_tmp9 ;
3900 unsigned int __cil_tmp10 ;
3901 unsigned int __cil_tmp11 ;
3902
3903 {
3904#line 272
3905 if (min_uV <= 599999) {
3906#line 273
3907 vsel = (u16 )0U;
3908 } else
3909#line 274
3910 if (min_uV <= 1800000) {
3911#line 275
3912 __cil_tmp6 = min_uV + -600000;
3913#line 275
3914 __cil_tmp7 = __cil_tmp6 / 12500;
3915#line 275
3916 __cil_tmp8 = (u16 )__cil_tmp7;
3917#line 275
3918 __cil_tmp9 = (unsigned int )__cil_tmp8;
3919#line 275
3920 __cil_tmp10 = __cil_tmp9 + 8U;
3921#line 275
3922 vsel = (u16 )__cil_tmp10;
3923 } else {
3924#line 277
3925 return (-22);
3926 }
3927 {
3928#line 279
3929 __cil_tmp11 = (unsigned int )vsel;
3930#line 279
3931 tmp = wm831x_buckv_list_voltage(rdev, __cil_tmp11);
3932 }
3933#line 279
3934 if (tmp > max_uV) {
3935#line 280
3936 return (-22);
3937 } else {
3938
3939 }
3940#line 282
3941 return ((int )vsel);
3942}
3943}
3944#line 285 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3945static int wm831x_buckv_set_dvs(struct regulator_dev *rdev , int state )
3946{ struct wm831x_dcdc *dcdc ;
3947 void *tmp ;
3948 unsigned long __cil_tmp5 ;
3949 unsigned long __cil_tmp6 ;
3950 int __cil_tmp7 ;
3951 unsigned long __cil_tmp8 ;
3952 unsigned long __cil_tmp9 ;
3953 unsigned long __cil_tmp10 ;
3954 unsigned long __cil_tmp11 ;
3955 int __cil_tmp12 ;
3956 unsigned int __cil_tmp13 ;
3957
3958 {
3959 {
3960#line 287
3961 tmp = rdev_get_drvdata(rdev);
3962#line 287
3963 dcdc = (struct wm831x_dcdc *)tmp;
3964 }
3965 {
3966#line 289
3967 __cil_tmp5 = (unsigned long )dcdc;
3968#line 289
3969 __cil_tmp6 = __cil_tmp5 + 84;
3970#line 289
3971 __cil_tmp7 = *((int *)__cil_tmp6);
3972#line 289
3973 if (__cil_tmp7 == state) {
3974#line 290
3975 return (0);
3976 } else {
3977
3978 }
3979 }
3980 {
3981#line 292
3982 __cil_tmp8 = (unsigned long )dcdc;
3983#line 292
3984 __cil_tmp9 = __cil_tmp8 + 84;
3985#line 292
3986 *((int *)__cil_tmp9) = state;
3987#line 293
3988 __cil_tmp10 = (unsigned long )dcdc;
3989#line 293
3990 __cil_tmp11 = __cil_tmp10 + 80;
3991#line 293
3992 __cil_tmp12 = *((int *)__cil_tmp11);
3993#line 293
3994 __cil_tmp13 = (unsigned int )__cil_tmp12;
3995#line 293
3996 gpio_set_value(__cil_tmp13, state);
3997 }
3998#line 300
3999 return (0);
4000}
4001}
4002#line 303 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4003static int wm831x_buckv_set_voltage(struct regulator_dev *rdev , int min_uV , int max_uV ,
4004 unsigned int *selector )
4005{ struct wm831x_dcdc *dcdc ;
4006 void *tmp ;
4007 struct wm831x *wm831x ;
4008 int on_reg ;
4009 int dvs_reg ;
4010 int vsel ;
4011 int ret ;
4012 int tmp___0 ;
4013 int tmp___1 ;
4014 unsigned long __cil_tmp14 ;
4015 unsigned long __cil_tmp15 ;
4016 unsigned long __cil_tmp16 ;
4017 unsigned long __cil_tmp17 ;
4018 int __cil_tmp18 ;
4019 unsigned long __cil_tmp19 ;
4020 unsigned long __cil_tmp20 ;
4021 int __cil_tmp21 ;
4022 unsigned long __cil_tmp22 ;
4023 unsigned long __cil_tmp23 ;
4024 int __cil_tmp24 ;
4025 unsigned long __cil_tmp25 ;
4026 unsigned long __cil_tmp26 ;
4027 int __cil_tmp27 ;
4028 unsigned long __cil_tmp28 ;
4029 unsigned long __cil_tmp29 ;
4030 int __cil_tmp30 ;
4031 unsigned long __cil_tmp31 ;
4032 unsigned long __cil_tmp32 ;
4033 int __cil_tmp33 ;
4034 unsigned short __cil_tmp34 ;
4035 int __cil_tmp35 ;
4036 unsigned short __cil_tmp36 ;
4037 unsigned short __cil_tmp37 ;
4038 int __cil_tmp38 ;
4039 unsigned short __cil_tmp39 ;
4040 unsigned long __cil_tmp40 ;
4041 unsigned long __cil_tmp41 ;
4042 unsigned long __cil_tmp42 ;
4043 unsigned long __cil_tmp43 ;
4044 int __cil_tmp44 ;
4045 unsigned long __cil_tmp45 ;
4046 unsigned long __cil_tmp46 ;
4047 int __cil_tmp47 ;
4048 unsigned short __cil_tmp48 ;
4049 int __cil_tmp49 ;
4050 unsigned short __cil_tmp50 ;
4051 unsigned long __cil_tmp51 ;
4052 unsigned long __cil_tmp52 ;
4053 int __cil_tmp53 ;
4054 unsigned short __cil_tmp54 ;
4055 int __cil_tmp55 ;
4056 unsigned short __cil_tmp56 ;
4057 unsigned long __cil_tmp57 ;
4058 unsigned long __cil_tmp58 ;
4059 unsigned long __cil_tmp59 ;
4060 unsigned long __cil_tmp60 ;
4061 struct device *__cil_tmp61 ;
4062 struct device const *__cil_tmp62 ;
4063
4064 {
4065 {
4066#line 306
4067 tmp = rdev_get_drvdata(rdev);
4068#line 306
4069 dcdc = (struct wm831x_dcdc *)tmp;
4070#line 307
4071 __cil_tmp14 = (unsigned long )dcdc;
4072#line 307
4073 __cil_tmp15 = __cil_tmp14 + 64;
4074#line 307
4075 wm831x = *((struct wm831x **)__cil_tmp15);
4076#line 308
4077 __cil_tmp16 = (unsigned long )dcdc;
4078#line 308
4079 __cil_tmp17 = __cil_tmp16 + 56;
4080#line 308
4081 __cil_tmp18 = *((int *)__cil_tmp17);
4082#line 308
4083 on_reg = __cil_tmp18 + 2;
4084#line 309
4085 __cil_tmp19 = (unsigned long )dcdc;
4086#line 309
4087 __cil_tmp20 = __cil_tmp19 + 56;
4088#line 309
4089 __cil_tmp21 = *((int *)__cil_tmp20);
4090#line 309
4091 dvs_reg = __cil_tmp21 + 4;
4092#line 312
4093 vsel = wm831x_buckv_select_min_voltage(rdev, min_uV, max_uV);
4094 }
4095#line 313
4096 if (vsel < 0) {
4097#line 314
4098 return (vsel);
4099 } else {
4100
4101 }
4102#line 316
4103 *selector = (unsigned int )vsel;
4104 {
4105#line 319
4106 __cil_tmp22 = (unsigned long )dcdc;
4107#line 319
4108 __cil_tmp23 = __cil_tmp22 + 80;
4109#line 319
4110 __cil_tmp24 = *((int *)__cil_tmp23);
4111#line 319
4112 if (__cil_tmp24 != 0) {
4113 {
4114#line 319
4115 __cil_tmp25 = (unsigned long )dcdc;
4116#line 319
4117 __cil_tmp26 = __cil_tmp25 + 88;
4118#line 319
4119 __cil_tmp27 = *((int *)__cil_tmp26);
4120#line 319
4121 if (__cil_tmp27 == vsel) {
4122 {
4123#line 320
4124 tmp___0 = wm831x_buckv_set_dvs(rdev, 0);
4125 }
4126#line 320
4127 return (tmp___0);
4128 } else {
4129
4130 }
4131 }
4132 } else {
4133
4134 }
4135 }
4136 {
4137#line 322
4138 __cil_tmp28 = (unsigned long )dcdc;
4139#line 322
4140 __cil_tmp29 = __cil_tmp28 + 80;
4141#line 322
4142 __cil_tmp30 = *((int *)__cil_tmp29);
4143#line 322
4144 if (__cil_tmp30 != 0) {
4145 {
4146#line 322
4147 __cil_tmp31 = (unsigned long )dcdc;
4148#line 322
4149 __cil_tmp32 = __cil_tmp31 + 92;
4150#line 322
4151 __cil_tmp33 = *((int *)__cil_tmp32);
4152#line 322
4153 if (__cil_tmp33 == vsel) {
4154 {
4155#line 323
4156 tmp___1 = wm831x_buckv_set_dvs(rdev, 1);
4157 }
4158#line 323
4159 return (tmp___1);
4160 } else {
4161
4162 }
4163 }
4164 } else {
4165
4166 }
4167 }
4168 {
4169#line 326
4170 __cil_tmp34 = (unsigned short )on_reg;
4171#line 326
4172 __cil_tmp35 = (int )__cil_tmp34;
4173#line 326
4174 __cil_tmp36 = (unsigned short )__cil_tmp35;
4175#line 326
4176 __cil_tmp37 = (unsigned short )vsel;
4177#line 326
4178 __cil_tmp38 = (int )__cil_tmp37;
4179#line 326
4180 __cil_tmp39 = (unsigned short )__cil_tmp38;
4181#line 326
4182 ret = wm831x_set_bits(wm831x, __cil_tmp36, (unsigned short)127, __cil_tmp39);
4183 }
4184#line 327
4185 if (ret < 0) {
4186#line 328
4187 return (ret);
4188 } else {
4189
4190 }
4191#line 329
4192 __cil_tmp40 = (unsigned long )dcdc;
4193#line 329
4194 __cil_tmp41 = __cil_tmp40 + 88;
4195#line 329
4196 *((int *)__cil_tmp41) = vsel;
4197 {
4198#line 331
4199 __cil_tmp42 = (unsigned long )dcdc;
4200#line 331
4201 __cil_tmp43 = __cil_tmp42 + 80;
4202#line 331
4203 __cil_tmp44 = *((int *)__cil_tmp43);
4204#line 331
4205 if (__cil_tmp44 == 0) {
4206#line 332
4207 return (ret);
4208 } else {
4209
4210 }
4211 }
4212 {
4213#line 335
4214 ret = wm831x_buckv_set_dvs(rdev, 0);
4215 }
4216#line 336
4217 if (ret < 0) {
4218#line 337
4219 return (ret);
4220 } else {
4221
4222 }
4223 {
4224#line 345
4225 __cil_tmp45 = (unsigned long )dcdc;
4226#line 345
4227 __cil_tmp46 = __cil_tmp45 + 92;
4228#line 345
4229 __cil_tmp47 = *((int *)__cil_tmp46);
4230#line 345
4231 if (__cil_tmp47 < vsel) {
4232 {
4233#line 346
4234 __cil_tmp48 = (unsigned short )dvs_reg;
4235#line 346
4236 __cil_tmp49 = (int )__cil_tmp48;
4237#line 346
4238 __cil_tmp50 = (unsigned short )__cil_tmp49;
4239#line 346
4240 __cil_tmp51 = (unsigned long )dcdc;
4241#line 346
4242 __cil_tmp52 = __cil_tmp51 + 92;
4243#line 346
4244 __cil_tmp53 = *((int *)__cil_tmp52);
4245#line 346
4246 __cil_tmp54 = (unsigned short )__cil_tmp53;
4247#line 346
4248 __cil_tmp55 = (int )__cil_tmp54;
4249#line 346
4250 __cil_tmp56 = (unsigned short )__cil_tmp55;
4251#line 346
4252 ret = wm831x_set_bits(wm831x, __cil_tmp50, (unsigned short)127, __cil_tmp56);
4253 }
4254#line 349
4255 if (ret == 0) {
4256#line 350
4257 __cil_tmp57 = (unsigned long )dcdc;
4258#line 350
4259 __cil_tmp58 = __cil_tmp57 + 92;
4260#line 350
4261 *((int *)__cil_tmp58) = vsel;
4262 } else {
4263 {
4264#line 352
4265 __cil_tmp59 = (unsigned long )wm831x;
4266#line 352
4267 __cil_tmp60 = __cil_tmp59 + 168;
4268#line 352
4269 __cil_tmp61 = *((struct device **)__cil_tmp60);
4270#line 352
4271 __cil_tmp62 = (struct device const *)__cil_tmp61;
4272#line 352
4273 dev_warn(__cil_tmp62, "Failed to set DCDC DVS VSEL: %d\n", ret);
4274 }
4275 }
4276 } else {
4277
4278 }
4279 }
4280#line 356
4281 return (0);
4282}
4283}
4284#line 359 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4285static int wm831x_buckv_set_suspend_voltage(struct regulator_dev *rdev , int uV )
4286{ struct wm831x_dcdc *dcdc ;
4287 void *tmp ;
4288 struct wm831x *wm831x ;
4289 u16 reg ;
4290 int vsel ;
4291 int tmp___0 ;
4292 unsigned long __cil_tmp9 ;
4293 unsigned long __cil_tmp10 ;
4294 unsigned long __cil_tmp11 ;
4295 unsigned long __cil_tmp12 ;
4296 int __cil_tmp13 ;
4297 u16 __cil_tmp14 ;
4298 unsigned int __cil_tmp15 ;
4299 unsigned int __cil_tmp16 ;
4300 int __cil_tmp17 ;
4301 unsigned short __cil_tmp18 ;
4302 unsigned short __cil_tmp19 ;
4303 int __cil_tmp20 ;
4304 unsigned short __cil_tmp21 ;
4305
4306 {
4307 {
4308#line 362
4309 tmp = rdev_get_drvdata(rdev);
4310#line 362
4311 dcdc = (struct wm831x_dcdc *)tmp;
4312#line 363
4313 __cil_tmp9 = (unsigned long )dcdc;
4314#line 363
4315 __cil_tmp10 = __cil_tmp9 + 64;
4316#line 363
4317 wm831x = *((struct wm831x **)__cil_tmp10);
4318#line 364
4319 __cil_tmp11 = (unsigned long )dcdc;
4320#line 364
4321 __cil_tmp12 = __cil_tmp11 + 56;
4322#line 364
4323 __cil_tmp13 = *((int *)__cil_tmp12);
4324#line 364
4325 __cil_tmp14 = (u16 )__cil_tmp13;
4326#line 364
4327 __cil_tmp15 = (unsigned int )__cil_tmp14;
4328#line 364
4329 __cil_tmp16 = __cil_tmp15 + 3U;
4330#line 364
4331 reg = (u16 )__cil_tmp16;
4332#line 367
4333 vsel = wm831x_buckv_select_min_voltage(rdev, uV, uV);
4334 }
4335#line 368
4336 if (vsel < 0) {
4337#line 369
4338 return (vsel);
4339 } else {
4340
4341 }
4342 {
4343#line 371
4344 __cil_tmp17 = (int )reg;
4345#line 371
4346 __cil_tmp18 = (unsigned short )__cil_tmp17;
4347#line 371
4348 __cil_tmp19 = (unsigned short )vsel;
4349#line 371
4350 __cil_tmp20 = (int )__cil_tmp19;
4351#line 371
4352 __cil_tmp21 = (unsigned short )__cil_tmp20;
4353#line 371
4354 tmp___0 = wm831x_set_bits(wm831x, __cil_tmp18, (unsigned short)127, __cil_tmp21);
4355 }
4356#line 371
4357 return (tmp___0);
4358}
4359}
4360#line 374 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4361static int wm831x_buckv_get_voltage_sel(struct regulator_dev *rdev )
4362{ struct wm831x_dcdc *dcdc ;
4363 void *tmp ;
4364 unsigned long __cil_tmp4 ;
4365 unsigned long __cil_tmp5 ;
4366 int __cil_tmp6 ;
4367 unsigned long __cil_tmp7 ;
4368 unsigned long __cil_tmp8 ;
4369 int __cil_tmp9 ;
4370 unsigned long __cil_tmp10 ;
4371 unsigned long __cil_tmp11 ;
4372 unsigned long __cil_tmp12 ;
4373 unsigned long __cil_tmp13 ;
4374 unsigned long __cil_tmp14 ;
4375 unsigned long __cil_tmp15 ;
4376
4377 {
4378 {
4379#line 376
4380 tmp = rdev_get_drvdata(rdev);
4381#line 376
4382 dcdc = (struct wm831x_dcdc *)tmp;
4383 }
4384 {
4385#line 378
4386 __cil_tmp4 = (unsigned long )dcdc;
4387#line 378
4388 __cil_tmp5 = __cil_tmp4 + 80;
4389#line 378
4390 __cil_tmp6 = *((int *)__cil_tmp5);
4391#line 378
4392 if (__cil_tmp6 != 0) {
4393 {
4394#line 378
4395 __cil_tmp7 = (unsigned long )dcdc;
4396#line 378
4397 __cil_tmp8 = __cil_tmp7 + 84;
4398#line 378
4399 __cil_tmp9 = *((int *)__cil_tmp8);
4400#line 378
4401 if (__cil_tmp9 != 0) {
4402 {
4403#line 379
4404 __cil_tmp10 = (unsigned long )dcdc;
4405#line 379
4406 __cil_tmp11 = __cil_tmp10 + 92;
4407#line 379
4408 return (*((int *)__cil_tmp11));
4409 }
4410 } else {
4411 {
4412#line 381
4413 __cil_tmp12 = (unsigned long )dcdc;
4414#line 381
4415 __cil_tmp13 = __cil_tmp12 + 88;
4416#line 381
4417 return (*((int *)__cil_tmp13));
4418 }
4419 }
4420 }
4421 } else {
4422 {
4423#line 381
4424 __cil_tmp14 = (unsigned long )dcdc;
4425#line 381
4426 __cil_tmp15 = __cil_tmp14 + 88;
4427#line 381
4428 return (*((int *)__cil_tmp15));
4429 }
4430 }
4431 }
4432}
4433}
4434#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4435static u16 wm831x_dcdc_ilim[8U] =
4436#line 385
4437 { (u16 )125U, (u16 )250U, (u16 )375U, (u16 )500U,
4438 (u16 )625U, (u16 )750U, (u16 )875U, (u16 )1000U};
4439#line 389 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4440static int wm831x_buckv_set_current_limit(struct regulator_dev *rdev , int min_uA ,
4441 int max_uA )
4442{ struct wm831x_dcdc *dcdc ;
4443 void *tmp ;
4444 struct wm831x *wm831x ;
4445 u16 reg ;
4446 int i ;
4447 int tmp___0 ;
4448 unsigned long __cil_tmp10 ;
4449 unsigned long __cil_tmp11 ;
4450 unsigned long __cil_tmp12 ;
4451 unsigned long __cil_tmp13 ;
4452 int __cil_tmp14 ;
4453 u16 __cil_tmp15 ;
4454 unsigned int __cil_tmp16 ;
4455 unsigned int __cil_tmp17 ;
4456 unsigned long __cil_tmp18 ;
4457 unsigned long __cil_tmp19 ;
4458 u16 __cil_tmp20 ;
4459 int __cil_tmp21 ;
4460 unsigned long __cil_tmp22 ;
4461 unsigned long __cil_tmp23 ;
4462 u16 __cil_tmp24 ;
4463 int __cil_tmp25 ;
4464 unsigned int __cil_tmp26 ;
4465 int __cil_tmp27 ;
4466 unsigned short __cil_tmp28 ;
4467 unsigned short __cil_tmp29 ;
4468 int __cil_tmp30 ;
4469 int __cil_tmp31 ;
4470 unsigned short __cil_tmp32 ;
4471
4472 {
4473 {
4474#line 392
4475 tmp = rdev_get_drvdata(rdev);
4476#line 392
4477 dcdc = (struct wm831x_dcdc *)tmp;
4478#line 393
4479 __cil_tmp10 = (unsigned long )dcdc;
4480#line 393
4481 __cil_tmp11 = __cil_tmp10 + 64;
4482#line 393
4483 wm831x = *((struct wm831x **)__cil_tmp11);
4484#line 394
4485 __cil_tmp12 = (unsigned long )dcdc;
4486#line 394
4487 __cil_tmp13 = __cil_tmp12 + 56;
4488#line 394
4489 __cil_tmp14 = *((int *)__cil_tmp13);
4490#line 394
4491 __cil_tmp15 = (u16 )__cil_tmp14;
4492#line 394
4493 __cil_tmp16 = (unsigned int )__cil_tmp15;
4494#line 394
4495 __cil_tmp17 = __cil_tmp16 + 1U;
4496#line 394
4497 reg = (u16 )__cil_tmp17;
4498#line 397
4499 i = 0;
4500 }
4501#line 397
4502 goto ldv_24699;
4503 ldv_24698: ;
4504 {
4505#line 398
4506 __cil_tmp18 = i * 2UL;
4507#line 398
4508 __cil_tmp19 = (unsigned long )(wm831x_dcdc_ilim) + __cil_tmp18;
4509#line 398
4510 __cil_tmp20 = *((u16 *)__cil_tmp19);
4511#line 398
4512 __cil_tmp21 = (int )__cil_tmp20;
4513#line 398
4514 if (__cil_tmp21 >= min_uA) {
4515 {
4516#line 398
4517 __cil_tmp22 = i * 2UL;
4518#line 398
4519 __cil_tmp23 = (unsigned long )(wm831x_dcdc_ilim) + __cil_tmp22;
4520#line 398
4521 __cil_tmp24 = *((u16 *)__cil_tmp23);
4522#line 398
4523 __cil_tmp25 = (int )__cil_tmp24;
4524#line 398
4525 if (__cil_tmp25 <= max_uA) {
4526#line 400
4527 goto ldv_24697;
4528 } else {
4529
4530 }
4531 }
4532 } else {
4533
4534 }
4535 }
4536#line 397
4537 i = i + 1;
4538 ldv_24699: ;
4539 {
4540#line 397
4541 __cil_tmp26 = (unsigned int )i;
4542#line 397
4543 if (__cil_tmp26 <= 7U) {
4544#line 398
4545 goto ldv_24698;
4546 } else {
4547#line 400
4548 goto ldv_24697;
4549 }
4550 }
4551 ldv_24697: ;
4552#line 402
4553 if (i == 8) {
4554#line 403
4555 return (-22);
4556 } else {
4557
4558 }
4559 {
4560#line 405
4561 __cil_tmp27 = (int )reg;
4562#line 405
4563 __cil_tmp28 = (unsigned short )__cil_tmp27;
4564#line 405
4565 __cil_tmp29 = (unsigned short )i;
4566#line 405
4567 __cil_tmp30 = (int )__cil_tmp29;
4568#line 405
4569 __cil_tmp31 = __cil_tmp30 << 4U;
4570#line 405
4571 __cil_tmp32 = (unsigned short )__cil_tmp31;
4572#line 405
4573 tmp___0 = wm831x_set_bits(wm831x, __cil_tmp28, (unsigned short)112, __cil_tmp32);
4574 }
4575#line 405
4576 return (tmp___0);
4577}
4578}
4579#line 409 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4580static int wm831x_buckv_get_current_limit(struct regulator_dev *rdev )
4581{ struct wm831x_dcdc *dcdc ;
4582 void *tmp ;
4583 struct wm831x *wm831x ;
4584 u16 reg ;
4585 int val ;
4586 unsigned long __cil_tmp7 ;
4587 unsigned long __cil_tmp8 ;
4588 unsigned long __cil_tmp9 ;
4589 unsigned long __cil_tmp10 ;
4590 int __cil_tmp11 ;
4591 u16 __cil_tmp12 ;
4592 unsigned int __cil_tmp13 ;
4593 unsigned int __cil_tmp14 ;
4594 int __cil_tmp15 ;
4595 unsigned short __cil_tmp16 ;
4596 int __cil_tmp17 ;
4597 unsigned long __cil_tmp18 ;
4598 unsigned long __cil_tmp19 ;
4599 u16 __cil_tmp20 ;
4600
4601 {
4602 {
4603#line 411
4604 tmp = rdev_get_drvdata(rdev);
4605#line 411
4606 dcdc = (struct wm831x_dcdc *)tmp;
4607#line 412
4608 __cil_tmp7 = (unsigned long )dcdc;
4609#line 412
4610 __cil_tmp8 = __cil_tmp7 + 64;
4611#line 412
4612 wm831x = *((struct wm831x **)__cil_tmp8);
4613#line 413
4614 __cil_tmp9 = (unsigned long )dcdc;
4615#line 413
4616 __cil_tmp10 = __cil_tmp9 + 56;
4617#line 413
4618 __cil_tmp11 = *((int *)__cil_tmp10);
4619#line 413
4620 __cil_tmp12 = (u16 )__cil_tmp11;
4621#line 413
4622 __cil_tmp13 = (unsigned int )__cil_tmp12;
4623#line 413
4624 __cil_tmp14 = __cil_tmp13 + 1U;
4625#line 413
4626 reg = (u16 )__cil_tmp14;
4627#line 416
4628 __cil_tmp15 = (int )reg;
4629#line 416
4630 __cil_tmp16 = (unsigned short )__cil_tmp15;
4631#line 416
4632 val = wm831x_reg_read(wm831x, __cil_tmp16);
4633 }
4634#line 417
4635 if (val < 0) {
4636#line 418
4637 return (val);
4638 } else {
4639
4640 }
4641#line 420
4642 __cil_tmp17 = val & 112;
4643#line 420
4644 val = __cil_tmp17 >> 4;
4645 {
4646#line 421
4647 __cil_tmp18 = val * 2UL;
4648#line 421
4649 __cil_tmp19 = (unsigned long )(wm831x_dcdc_ilim) + __cil_tmp18;
4650#line 421
4651 __cil_tmp20 = *((u16 *)__cil_tmp19);
4652#line 421
4653 return ((int )__cil_tmp20);
4654 }
4655}
4656}
4657#line 424 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4658static struct regulator_ops wm831x_buckv_ops =
4659#line 424
4660 {& wm831x_buckv_list_voltage, & wm831x_buckv_set_voltage, (int (*)(struct regulator_dev * ,
4661 unsigned int ))0,
4662 (int (*)(struct regulator_dev * ))0, & wm831x_buckv_get_voltage_sel, & wm831x_buckv_set_current_limit,
4663 & wm831x_buckv_get_current_limit, & wm831x_dcdc_enable, & wm831x_dcdc_disable,
4664 & wm831x_dcdc_is_enabled, & wm831x_dcdc_set_mode, & wm831x_dcdc_get_mode, (int (*)(struct regulator_dev * ))0,
4665 (int (*)(struct regulator_dev * , unsigned int , unsigned int ))0, & wm831x_dcdc_get_status,
4666 (unsigned int (*)(struct regulator_dev * , int , int , int ))0, & wm831x_buckv_set_suspend_voltage,
4667 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, & wm831x_dcdc_set_suspend_mode};
4668#line 445 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4669static void wm831x_buckv_dvs_init(struct wm831x_dcdc *dcdc , struct wm831x_buckv_pdata *pdata )
4670{ struct wm831x *wm831x ;
4671 int ret ;
4672 u16 ctrl ;
4673 unsigned long __cil_tmp6 ;
4674 unsigned long __cil_tmp7 ;
4675 struct wm831x_buckv_pdata *__cil_tmp8 ;
4676 unsigned long __cil_tmp9 ;
4677 unsigned long __cil_tmp10 ;
4678 int __cil_tmp11 ;
4679 int __cil_tmp12 ;
4680 unsigned int __cil_tmp13 ;
4681 unsigned long __cil_tmp14 ;
4682 unsigned long __cil_tmp15 ;
4683 struct device *__cil_tmp16 ;
4684 struct device const *__cil_tmp17 ;
4685 char (*__cil_tmp18)[6U] ;
4686 char *__cil_tmp19 ;
4687 unsigned long __cil_tmp20 ;
4688 unsigned long __cil_tmp21 ;
4689 unsigned long __cil_tmp22 ;
4690 unsigned long __cil_tmp23 ;
4691 int __cil_tmp24 ;
4692 unsigned int __cil_tmp25 ;
4693 unsigned long __cil_tmp26 ;
4694 unsigned long __cil_tmp27 ;
4695 int __cil_tmp28 ;
4696 unsigned long __cil_tmp29 ;
4697 unsigned long __cil_tmp30 ;
4698 struct device *__cil_tmp31 ;
4699 struct device const *__cil_tmp32 ;
4700 char (*__cil_tmp33)[6U] ;
4701 char *__cil_tmp34 ;
4702 int __cil_tmp35 ;
4703 unsigned int __cil_tmp36 ;
4704 unsigned long __cil_tmp37 ;
4705 unsigned long __cil_tmp38 ;
4706 unsigned long __cil_tmp39 ;
4707 unsigned long __cil_tmp40 ;
4708 unsigned long __cil_tmp41 ;
4709 unsigned long __cil_tmp42 ;
4710 struct device *__cil_tmp43 ;
4711 struct device const *__cil_tmp44 ;
4712 unsigned long __cil_tmp45 ;
4713 unsigned long __cil_tmp46 ;
4714 int __cil_tmp47 ;
4715 char (*__cil_tmp48)[6U] ;
4716 char *__cil_tmp49 ;
4717 unsigned long __cil_tmp50 ;
4718 unsigned long __cil_tmp51 ;
4719 int __cil_tmp52 ;
4720 unsigned long __cil_tmp53 ;
4721 unsigned long __cil_tmp54 ;
4722 int __cil_tmp55 ;
4723 unsigned short __cil_tmp56 ;
4724 unsigned int __cil_tmp57 ;
4725 unsigned int __cil_tmp58 ;
4726 int __cil_tmp59 ;
4727 unsigned short __cil_tmp60 ;
4728 unsigned long __cil_tmp61 ;
4729 unsigned long __cil_tmp62 ;
4730 int __cil_tmp63 ;
4731 unsigned short __cil_tmp64 ;
4732 int __cil_tmp65 ;
4733 unsigned short __cil_tmp66 ;
4734 unsigned long __cil_tmp67 ;
4735 unsigned long __cil_tmp68 ;
4736 unsigned long __cil_tmp69 ;
4737 unsigned long __cil_tmp70 ;
4738 unsigned long __cil_tmp71 ;
4739 unsigned long __cil_tmp72 ;
4740 struct device *__cil_tmp73 ;
4741 struct device const *__cil_tmp74 ;
4742 unsigned long __cil_tmp75 ;
4743 unsigned long __cil_tmp76 ;
4744 int __cil_tmp77 ;
4745 unsigned short __cil_tmp78 ;
4746 unsigned int __cil_tmp79 ;
4747 unsigned int __cil_tmp80 ;
4748 int __cil_tmp81 ;
4749 unsigned short __cil_tmp82 ;
4750 int __cil_tmp83 ;
4751 unsigned short __cil_tmp84 ;
4752 unsigned long __cil_tmp85 ;
4753 unsigned long __cil_tmp86 ;
4754 struct device *__cil_tmp87 ;
4755 struct device const *__cil_tmp88 ;
4756 char (*__cil_tmp89)[6U] ;
4757 char *__cil_tmp90 ;
4758
4759 {
4760#line 448
4761 __cil_tmp6 = (unsigned long )dcdc;
4762#line 448
4763 __cil_tmp7 = __cil_tmp6 + 64;
4764#line 448
4765 wm831x = *((struct wm831x **)__cil_tmp7);
4766 {
4767#line 452
4768 __cil_tmp8 = (struct wm831x_buckv_pdata *)0;
4769#line 452
4770 __cil_tmp9 = (unsigned long )__cil_tmp8;
4771#line 452
4772 __cil_tmp10 = (unsigned long )pdata;
4773#line 452
4774 if (__cil_tmp10 == __cil_tmp9) {
4775#line 453
4776 return;
4777 } else {
4778 {
4779#line 452
4780 __cil_tmp11 = *((int *)pdata);
4781#line 452
4782 if (__cil_tmp11 == 0) {
4783#line 453
4784 return;
4785 } else {
4786
4787 }
4788 }
4789 }
4790 }
4791 {
4792#line 455
4793 __cil_tmp12 = *((int *)pdata);
4794#line 455
4795 __cil_tmp13 = (unsigned int )__cil_tmp12;
4796#line 455
4797 ret = gpio_request(__cil_tmp13, "DCDC DVS");
4798 }
4799#line 456
4800 if (ret < 0) {
4801 {
4802#line 457
4803 __cil_tmp14 = (unsigned long )wm831x;
4804#line 457
4805 __cil_tmp15 = __cil_tmp14 + 168;
4806#line 457
4807 __cil_tmp16 = *((struct device **)__cil_tmp15);
4808#line 457
4809 __cil_tmp17 = (struct device const *)__cil_tmp16;
4810#line 457
4811 __cil_tmp18 = (char (*)[6U])dcdc;
4812#line 457
4813 __cil_tmp19 = (char *)__cil_tmp18;
4814#line 457
4815 dev_err(__cil_tmp17, "Failed to get %s DVS GPIO: %d\n", __cil_tmp19, ret);
4816 }
4817#line 459
4818 return;
4819 } else {
4820
4821 }
4822 {
4823#line 465
4824 __cil_tmp20 = (unsigned long )dcdc;
4825#line 465
4826 __cil_tmp21 = __cil_tmp20 + 84;
4827#line 465
4828 __cil_tmp22 = (unsigned long )pdata;
4829#line 465
4830 __cil_tmp23 = __cil_tmp22 + 8;
4831#line 465
4832 *((int *)__cil_tmp21) = *((int *)__cil_tmp23);
4833#line 467
4834 __cil_tmp24 = *((int *)pdata);
4835#line 467
4836 __cil_tmp25 = (unsigned int )__cil_tmp24;
4837#line 467
4838 __cil_tmp26 = (unsigned long )dcdc;
4839#line 467
4840 __cil_tmp27 = __cil_tmp26 + 84;
4841#line 467
4842 __cil_tmp28 = *((int *)__cil_tmp27);
4843#line 467
4844 ret = gpio_direction_output(__cil_tmp25, __cil_tmp28);
4845 }
4846#line 468
4847 if (ret < 0) {
4848 {
4849#line 469
4850 __cil_tmp29 = (unsigned long )wm831x;
4851#line 469
4852 __cil_tmp30 = __cil_tmp29 + 168;
4853#line 469
4854 __cil_tmp31 = *((struct device **)__cil_tmp30);
4855#line 469
4856 __cil_tmp32 = (struct device const *)__cil_tmp31;
4857#line 469
4858 __cil_tmp33 = (char (*)[6U])dcdc;
4859#line 469
4860 __cil_tmp34 = (char *)__cil_tmp33;
4861#line 469
4862 dev_err(__cil_tmp32, "Failed to enable %s DVS GPIO: %d\n", __cil_tmp34, ret);
4863#line 471
4864 __cil_tmp35 = *((int *)pdata);
4865#line 471
4866 __cil_tmp36 = (unsigned int )__cil_tmp35;
4867#line 471
4868 gpio_free(__cil_tmp36);
4869 }
4870#line 472
4871 return;
4872 } else {
4873
4874 }
4875#line 475
4876 __cil_tmp37 = (unsigned long )dcdc;
4877#line 475
4878 __cil_tmp38 = __cil_tmp37 + 80;
4879#line 475
4880 *((int *)__cil_tmp38) = *((int *)pdata);
4881 {
4882#line 477
4883 __cil_tmp39 = (unsigned long )pdata;
4884#line 477
4885 __cil_tmp40 = __cil_tmp39 + 4;
4886#line 478
4887 if (*((int *)__cil_tmp40) == 1) {
4888#line 478
4889 goto case_1;
4890 } else
4891#line 481
4892 if (*((int *)__cil_tmp40) == 2) {
4893#line 481
4894 goto case_2;
4895 } else {
4896 {
4897#line 484
4898 goto switch_default;
4899#line 477
4900 if (0) {
4901 case_1:
4902#line 479
4903 ctrl = (u16 )4096U;
4904#line 480
4905 goto ldv_24718;
4906 case_2:
4907#line 482
4908 ctrl = (u16 )6144U;
4909#line 483
4910 goto ldv_24718;
4911 switch_default:
4912 {
4913#line 485
4914 __cil_tmp41 = (unsigned long )wm831x;
4915#line 485
4916 __cil_tmp42 = __cil_tmp41 + 168;
4917#line 485
4918 __cil_tmp43 = *((struct device **)__cil_tmp42);
4919#line 485
4920 __cil_tmp44 = (struct device const *)__cil_tmp43;
4921#line 485
4922 __cil_tmp45 = (unsigned long )pdata;
4923#line 485
4924 __cil_tmp46 = __cil_tmp45 + 4;
4925#line 485
4926 __cil_tmp47 = *((int *)__cil_tmp46);
4927#line 485
4928 __cil_tmp48 = (char (*)[6U])dcdc;
4929#line 485
4930 __cil_tmp49 = (char *)__cil_tmp48;
4931#line 485
4932 dev_err(__cil_tmp44, "Invalid DVS control source %d for %s\n", __cil_tmp47,
4933 __cil_tmp49);
4934 }
4935#line 487
4936 return;
4937 } else {
4938 switch_break: ;
4939 }
4940 }
4941 }
4942 }
4943 ldv_24718: ;
4944 {
4945#line 493
4946 __cil_tmp50 = (unsigned long )dcdc;
4947#line 493
4948 __cil_tmp51 = __cil_tmp50 + 92;
4949#line 493
4950 __cil_tmp52 = *((int *)__cil_tmp51);
4951#line 493
4952 if (__cil_tmp52 == 0) {
4953 {
4954#line 494
4955 __cil_tmp53 = (unsigned long )dcdc;
4956#line 494
4957 __cil_tmp54 = __cil_tmp53 + 56;
4958#line 494
4959 __cil_tmp55 = *((int *)__cil_tmp54);
4960#line 494
4961 __cil_tmp56 = (unsigned short )__cil_tmp55;
4962#line 494
4963 __cil_tmp57 = (unsigned int )__cil_tmp56;
4964#line 494
4965 __cil_tmp58 = __cil_tmp57 + 4U;
4966#line 494
4967 __cil_tmp59 = (int )__cil_tmp58;
4968#line 494
4969 __cil_tmp60 = (unsigned short )__cil_tmp59;
4970#line 494
4971 __cil_tmp61 = (unsigned long )dcdc;
4972#line 494
4973 __cil_tmp62 = __cil_tmp61 + 88;
4974#line 494
4975 __cil_tmp63 = *((int *)__cil_tmp62);
4976#line 494
4977 __cil_tmp64 = (unsigned short )__cil_tmp63;
4978#line 494
4979 __cil_tmp65 = (int )__cil_tmp64;
4980#line 494
4981 __cil_tmp66 = (unsigned short )__cil_tmp65;
4982#line 494
4983 ret = wm831x_set_bits(wm831x, __cil_tmp60, (unsigned short)127, __cil_tmp66);
4984 }
4985#line 497
4986 if (ret == 0) {
4987#line 498
4988 __cil_tmp67 = (unsigned long )dcdc;
4989#line 498
4990 __cil_tmp68 = __cil_tmp67 + 92;
4991#line 498
4992 __cil_tmp69 = (unsigned long )dcdc;
4993#line 498
4994 __cil_tmp70 = __cil_tmp69 + 88;
4995#line 498
4996 *((int *)__cil_tmp68) = *((int *)__cil_tmp70);
4997 } else {
4998 {
4999#line 500
5000 __cil_tmp71 = (unsigned long )wm831x;
5001#line 500
5002 __cil_tmp72 = __cil_tmp71 + 168;
5003#line 500
5004 __cil_tmp73 = *((struct device **)__cil_tmp72);
5005#line 500
5006 __cil_tmp74 = (struct device const *)__cil_tmp73;
5007#line 500
5008 dev_warn(__cil_tmp74, "Failed to set DVS_VSEL: %d\n", ret);
5009 }
5010 }
5011 } else {
5012
5013 }
5014 }
5015 {
5016#line 504
5017 __cil_tmp75 = (unsigned long )dcdc;
5018#line 504
5019 __cil_tmp76 = __cil_tmp75 + 56;
5020#line 504
5021 __cil_tmp77 = *((int *)__cil_tmp76);
5022#line 504
5023 __cil_tmp78 = (unsigned short )__cil_tmp77;
5024#line 504
5025 __cil_tmp79 = (unsigned int )__cil_tmp78;
5026#line 504
5027 __cil_tmp80 = __cil_tmp79 + 4U;
5028#line 504
5029 __cil_tmp81 = (int )__cil_tmp80;
5030#line 504
5031 __cil_tmp82 = (unsigned short )__cil_tmp81;
5032#line 504
5033 __cil_tmp83 = (int )ctrl;
5034#line 504
5035 __cil_tmp84 = (unsigned short )__cil_tmp83;
5036#line 504
5037 ret = wm831x_set_bits(wm831x, __cil_tmp82, (unsigned short)6144, __cil_tmp84);
5038 }
5039#line 506
5040 if (ret < 0) {
5041 {
5042#line 507
5043 __cil_tmp85 = (unsigned long )wm831x;
5044#line 507
5045 __cil_tmp86 = __cil_tmp85 + 168;
5046#line 507
5047 __cil_tmp87 = *((struct device **)__cil_tmp86);
5048#line 507
5049 __cil_tmp88 = (struct device const *)__cil_tmp87;
5050#line 507
5051 __cil_tmp89 = (char (*)[6U])dcdc;
5052#line 507
5053 __cil_tmp90 = (char *)__cil_tmp89;
5054#line 507
5055 dev_err(__cil_tmp88, "Failed to set %s DVS source: %d\n", __cil_tmp90, ret);
5056 }
5057 } else {
5058
5059 }
5060#line 509
5061 return;
5062}
5063}
5064#line 512 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
5065static int wm831x_buckv_probe(struct platform_device *pdev )
5066{ struct wm831x *wm831x ;
5067 void *tmp ;
5068 struct wm831x_pdata *pdata ;
5069 int id ;
5070 struct wm831x_dcdc *dcdc ;
5071 struct resource *res ;
5072 int ret ;
5073 int irq ;
5074 struct _ddebug descriptor ;
5075 long tmp___0 ;
5076 void *tmp___1 ;
5077 long tmp___2 ;
5078 long tmp___3 ;
5079 int tmp___4 ;
5080 unsigned long __cil_tmp16 ;
5081 unsigned long __cil_tmp17 ;
5082 struct device *__cil_tmp18 ;
5083 struct device const *__cil_tmp19 ;
5084 unsigned long __cil_tmp20 ;
5085 unsigned long __cil_tmp21 ;
5086 struct device *__cil_tmp22 ;
5087 unsigned long __cil_tmp23 ;
5088 unsigned long __cil_tmp24 ;
5089 void *__cil_tmp25 ;
5090 struct wm831x_pdata *__cil_tmp26 ;
5091 unsigned long __cil_tmp27 ;
5092 unsigned long __cil_tmp28 ;
5093 int __cil_tmp29 ;
5094 int __cil_tmp30 ;
5095 int __cil_tmp31 ;
5096 unsigned long __cil_tmp32 ;
5097 unsigned long __cil_tmp33 ;
5098 int __cil_tmp34 ;
5099 struct _ddebug *__cil_tmp35 ;
5100 unsigned long __cil_tmp36 ;
5101 unsigned long __cil_tmp37 ;
5102 unsigned long __cil_tmp38 ;
5103 unsigned long __cil_tmp39 ;
5104 unsigned long __cil_tmp40 ;
5105 unsigned long __cil_tmp41 ;
5106 unsigned char __cil_tmp42 ;
5107 long __cil_tmp43 ;
5108 long __cil_tmp44 ;
5109 unsigned long __cil_tmp45 ;
5110 unsigned long __cil_tmp46 ;
5111 struct device *__cil_tmp47 ;
5112 struct device const *__cil_tmp48 ;
5113 int __cil_tmp49 ;
5114 struct wm831x_pdata *__cil_tmp50 ;
5115 unsigned long __cil_tmp51 ;
5116 unsigned long __cil_tmp52 ;
5117 struct regulator_init_data *__cil_tmp53 ;
5118 unsigned long __cil_tmp54 ;
5119 unsigned long __cil_tmp55 ;
5120 unsigned long __cil_tmp56 ;
5121 unsigned long __cil_tmp57 ;
5122 unsigned long __cil_tmp58 ;
5123 struct regulator_init_data *__cil_tmp59 ;
5124 unsigned long __cil_tmp60 ;
5125 unsigned long __cil_tmp61 ;
5126 unsigned long __cil_tmp62 ;
5127 struct device *__cil_tmp63 ;
5128 struct wm831x_dcdc *__cil_tmp64 ;
5129 unsigned long __cil_tmp65 ;
5130 unsigned long __cil_tmp66 ;
5131 unsigned long __cil_tmp67 ;
5132 unsigned long __cil_tmp68 ;
5133 struct device *__cil_tmp69 ;
5134 struct device const *__cil_tmp70 ;
5135 unsigned long __cil_tmp71 ;
5136 unsigned long __cil_tmp72 ;
5137 struct resource *__cil_tmp73 ;
5138 unsigned long __cil_tmp74 ;
5139 unsigned long __cil_tmp75 ;
5140 unsigned long __cil_tmp76 ;
5141 unsigned long __cil_tmp77 ;
5142 struct device *__cil_tmp78 ;
5143 struct device const *__cil_tmp79 ;
5144 unsigned long __cil_tmp80 ;
5145 unsigned long __cil_tmp81 ;
5146 resource_size_t __cil_tmp82 ;
5147 char (*__cil_tmp83)[6U] ;
5148 char *__cil_tmp84 ;
5149 int __cil_tmp85 ;
5150 unsigned long __cil_tmp86 ;
5151 unsigned long __cil_tmp87 ;
5152 char (*__cil_tmp88)[6U] ;
5153 unsigned long __cil_tmp89 ;
5154 unsigned long __cil_tmp90 ;
5155 unsigned long __cil_tmp91 ;
5156 unsigned long __cil_tmp92 ;
5157 unsigned long __cil_tmp93 ;
5158 unsigned long __cil_tmp94 ;
5159 unsigned long __cil_tmp95 ;
5160 unsigned long __cil_tmp96 ;
5161 unsigned long __cil_tmp97 ;
5162 unsigned long __cil_tmp98 ;
5163 unsigned long __cil_tmp99 ;
5164 unsigned long __cil_tmp100 ;
5165 unsigned long __cil_tmp101 ;
5166 unsigned long __cil_tmp102 ;
5167 unsigned long __cil_tmp103 ;
5168 unsigned long __cil_tmp104 ;
5169 unsigned long __cil_tmp105 ;
5170 int __cil_tmp106 ;
5171 unsigned short __cil_tmp107 ;
5172 unsigned int __cil_tmp108 ;
5173 unsigned int __cil_tmp109 ;
5174 int __cil_tmp110 ;
5175 unsigned short __cil_tmp111 ;
5176 unsigned long __cil_tmp112 ;
5177 unsigned long __cil_tmp113 ;
5178 struct device *__cil_tmp114 ;
5179 struct device const *__cil_tmp115 ;
5180 unsigned long __cil_tmp116 ;
5181 unsigned long __cil_tmp117 ;
5182 unsigned long __cil_tmp118 ;
5183 unsigned long __cil_tmp119 ;
5184 int __cil_tmp120 ;
5185 unsigned short __cil_tmp121 ;
5186 unsigned int __cil_tmp122 ;
5187 unsigned int __cil_tmp123 ;
5188 int __cil_tmp124 ;
5189 unsigned short __cil_tmp125 ;
5190 unsigned long __cil_tmp126 ;
5191 unsigned long __cil_tmp127 ;
5192 struct device *__cil_tmp128 ;
5193 struct device const *__cil_tmp129 ;
5194 unsigned long __cil_tmp130 ;
5195 unsigned long __cil_tmp131 ;
5196 struct regulator_init_data *__cil_tmp132 ;
5197 unsigned long __cil_tmp133 ;
5198 unsigned long __cil_tmp134 ;
5199 unsigned long __cil_tmp135 ;
5200 unsigned long __cil_tmp136 ;
5201 unsigned long __cil_tmp137 ;
5202 struct regulator_init_data *__cil_tmp138 ;
5203 unsigned long __cil_tmp139 ;
5204 unsigned long __cil_tmp140 ;
5205 unsigned long __cil_tmp141 ;
5206 unsigned long __cil_tmp142 ;
5207 unsigned long __cil_tmp143 ;
5208 struct regulator_init_data *__cil_tmp144 ;
5209 unsigned long __cil_tmp145 ;
5210 unsigned long __cil_tmp146 ;
5211 void *__cil_tmp147 ;
5212 struct wm831x_buckv_pdata *__cil_tmp148 ;
5213 unsigned long __cil_tmp149 ;
5214 unsigned long __cil_tmp150 ;
5215 unsigned long __cil_tmp151 ;
5216 unsigned long __cil_tmp152 ;
5217 struct regulator_desc *__cil_tmp153 ;
5218 unsigned long __cil_tmp154 ;
5219 unsigned long __cil_tmp155 ;
5220 struct device *__cil_tmp156 ;
5221 unsigned long __cil_tmp157 ;
5222 unsigned long __cil_tmp158 ;
5223 unsigned long __cil_tmp159 ;
5224 unsigned long __cil_tmp160 ;
5225 struct regulator_init_data *__cil_tmp161 ;
5226 struct regulator_init_data const *__cil_tmp162 ;
5227 void *__cil_tmp163 ;
5228 struct device_node *__cil_tmp164 ;
5229 unsigned long __cil_tmp165 ;
5230 unsigned long __cil_tmp166 ;
5231 struct regulator_dev *__cil_tmp167 ;
5232 void const *__cil_tmp168 ;
5233 unsigned long __cil_tmp169 ;
5234 unsigned long __cil_tmp170 ;
5235 struct regulator_dev *__cil_tmp171 ;
5236 void const *__cil_tmp172 ;
5237 unsigned long __cil_tmp173 ;
5238 unsigned long __cil_tmp174 ;
5239 struct device *__cil_tmp175 ;
5240 struct device const *__cil_tmp176 ;
5241 int __cil_tmp177 ;
5242 unsigned int __cil_tmp178 ;
5243 irqreturn_t (*__cil_tmp179)(int , void * ) ;
5244 char (*__cil_tmp180)[6U] ;
5245 char const *__cil_tmp181 ;
5246 void *__cil_tmp182 ;
5247 unsigned long __cil_tmp183 ;
5248 unsigned long __cil_tmp184 ;
5249 struct device *__cil_tmp185 ;
5250 struct device const *__cil_tmp186 ;
5251 unsigned int __cil_tmp187 ;
5252 irqreturn_t (*__cil_tmp188)(int , void * ) ;
5253 char (*__cil_tmp189)[6U] ;
5254 char const *__cil_tmp190 ;
5255 void *__cil_tmp191 ;
5256 unsigned long __cil_tmp192 ;
5257 unsigned long __cil_tmp193 ;
5258 struct device *__cil_tmp194 ;
5259 struct device const *__cil_tmp195 ;
5260 void *__cil_tmp196 ;
5261 unsigned int __cil_tmp197 ;
5262 void *__cil_tmp198 ;
5263 unsigned long __cil_tmp199 ;
5264 unsigned long __cil_tmp200 ;
5265 struct regulator_dev *__cil_tmp201 ;
5266 unsigned long __cil_tmp202 ;
5267 unsigned long __cil_tmp203 ;
5268 int __cil_tmp204 ;
5269 unsigned long __cil_tmp205 ;
5270 unsigned long __cil_tmp206 ;
5271 int __cil_tmp207 ;
5272 unsigned int __cil_tmp208 ;
5273
5274 {
5275 {
5276#line 514
5277 __cil_tmp16 = (unsigned long )pdev;
5278#line 514
5279 __cil_tmp17 = __cil_tmp16 + 16;
5280#line 514
5281 __cil_tmp18 = *((struct device **)__cil_tmp17);
5282#line 514
5283 __cil_tmp19 = (struct device const *)__cil_tmp18;
5284#line 514
5285 tmp = dev_get_drvdata(__cil_tmp19);
5286#line 514
5287 wm831x = (struct wm831x *)tmp;
5288#line 515
5289 __cil_tmp20 = (unsigned long )wm831x;
5290#line 515
5291 __cil_tmp21 = __cil_tmp20 + 168;
5292#line 515
5293 __cil_tmp22 = *((struct device **)__cil_tmp21);
5294#line 515
5295 __cil_tmp23 = (unsigned long )__cil_tmp22;
5296#line 515
5297 __cil_tmp24 = __cil_tmp23 + 280;
5298#line 515
5299 __cil_tmp25 = *((void **)__cil_tmp24);
5300#line 515
5301 pdata = (struct wm831x_pdata *)__cil_tmp25;
5302 }
5303 {
5304#line 521
5305 __cil_tmp26 = (struct wm831x_pdata *)0;
5306#line 521
5307 __cil_tmp27 = (unsigned long )__cil_tmp26;
5308#line 521
5309 __cil_tmp28 = (unsigned long )pdata;
5310#line 521
5311 if (__cil_tmp28 != __cil_tmp27) {
5312 {
5313#line 521
5314 __cil_tmp29 = *((int *)pdata);
5315#line 521
5316 if (__cil_tmp29 != 0) {
5317#line 522
5318 __cil_tmp30 = *((int *)pdata);
5319#line 522
5320 __cil_tmp31 = __cil_tmp30 * 10;
5321#line 522
5322 id = __cil_tmp31 + 1;
5323 } else {
5324#line 524
5325 id = 0;
5326 }
5327 }
5328 } else {
5329#line 524
5330 id = 0;
5331 }
5332 }
5333 {
5334#line 525
5335 __cil_tmp32 = (unsigned long )pdev;
5336#line 525
5337 __cil_tmp33 = __cil_tmp32 + 8;
5338#line 525
5339 __cil_tmp34 = *((int *)__cil_tmp33);
5340#line 525
5341 id = __cil_tmp34 - id;
5342#line 527
5343 __cil_tmp35 = & descriptor;
5344#line 527
5345 *((char const **)__cil_tmp35) = "wm831x_dcdc";
5346#line 527
5347 __cil_tmp36 = (unsigned long )(& descriptor) + 8;
5348#line 527
5349 *((char const **)__cil_tmp36) = "wm831x_buckv_probe";
5350#line 527
5351 __cil_tmp37 = (unsigned long )(& descriptor) + 16;
5352#line 527
5353 *((char const **)__cil_tmp37) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
5354#line 527
5355 __cil_tmp38 = (unsigned long )(& descriptor) + 24;
5356#line 527
5357 *((char const **)__cil_tmp38) = "Probing DCDC%d\n";
5358#line 527
5359 __cil_tmp39 = (unsigned long )(& descriptor) + 32;
5360#line 527
5361 *((unsigned int *)__cil_tmp39) = 527U;
5362#line 527
5363 __cil_tmp40 = (unsigned long )(& descriptor) + 35;
5364#line 527
5365 *((unsigned char *)__cil_tmp40) = (unsigned char)1;
5366#line 527
5367 __cil_tmp41 = (unsigned long )(& descriptor) + 35;
5368#line 527
5369 __cil_tmp42 = *((unsigned char *)__cil_tmp41);
5370#line 527
5371 __cil_tmp43 = (long )__cil_tmp42;
5372#line 527
5373 __cil_tmp44 = __cil_tmp43 & 1L;
5374#line 527
5375 tmp___0 = __builtin_expect(__cil_tmp44, 0L);
5376 }
5377#line 527
5378 if (tmp___0 != 0L) {
5379 {
5380#line 527
5381 __cil_tmp45 = (unsigned long )pdev;
5382#line 527
5383 __cil_tmp46 = __cil_tmp45 + 16;
5384#line 527
5385 __cil_tmp47 = (struct device *)__cil_tmp46;
5386#line 527
5387 __cil_tmp48 = (struct device const *)__cil_tmp47;
5388#line 527
5389 __cil_tmp49 = id + 1;
5390#line 527
5391 __dynamic_dev_dbg(& descriptor, __cil_tmp48, "Probing DCDC%d\n", __cil_tmp49);
5392 }
5393 } else {
5394
5395 }
5396 {
5397#line 529
5398 __cil_tmp50 = (struct wm831x_pdata *)0;
5399#line 529
5400 __cil_tmp51 = (unsigned long )__cil_tmp50;
5401#line 529
5402 __cil_tmp52 = (unsigned long )pdata;
5403#line 529
5404 if (__cil_tmp52 == __cil_tmp51) {
5405#line 530
5406 return (-19);
5407 } else {
5408 {
5409#line 529
5410 __cil_tmp53 = (struct regulator_init_data *)0;
5411#line 529
5412 __cil_tmp54 = (unsigned long )__cil_tmp53;
5413#line 529
5414 __cil_tmp55 = id * 8UL;
5415#line 529
5416 __cil_tmp56 = 160 + __cil_tmp55;
5417#line 529
5418 __cil_tmp57 = (unsigned long )pdata;
5419#line 529
5420 __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
5421#line 529
5422 __cil_tmp59 = *((struct regulator_init_data **)__cil_tmp58);
5423#line 529
5424 __cil_tmp60 = (unsigned long )__cil_tmp59;
5425#line 529
5426 if (__cil_tmp60 == __cil_tmp54) {
5427#line 530
5428 return (-19);
5429 } else {
5430
5431 }
5432 }
5433 }
5434 }
5435 {
5436#line 532
5437 __cil_tmp61 = (unsigned long )pdev;
5438#line 532
5439 __cil_tmp62 = __cil_tmp61 + 16;
5440#line 532
5441 __cil_tmp63 = (struct device *)__cil_tmp62;
5442#line 532
5443 tmp___1 = devm_kzalloc(__cil_tmp63, 96UL, 208U);
5444#line 532
5445 dcdc = (struct wm831x_dcdc *)tmp___1;
5446 }
5447 {
5448#line 534
5449 __cil_tmp64 = (struct wm831x_dcdc *)0;
5450#line 534
5451 __cil_tmp65 = (unsigned long )__cil_tmp64;
5452#line 534
5453 __cil_tmp66 = (unsigned long )dcdc;
5454#line 534
5455 if (__cil_tmp66 == __cil_tmp65) {
5456 {
5457#line 535
5458 __cil_tmp67 = (unsigned long )pdev;
5459#line 535
5460 __cil_tmp68 = __cil_tmp67 + 16;
5461#line 535
5462 __cil_tmp69 = (struct device *)__cil_tmp68;
5463#line 535
5464 __cil_tmp70 = (struct device const *)__cil_tmp69;
5465#line 535
5466 dev_err(__cil_tmp70, "Unable to allocate private data\n");
5467 }
5468#line 536
5469 return (-12);
5470 } else {
5471
5472 }
5473 }
5474 {
5475#line 539
5476 __cil_tmp71 = (unsigned long )dcdc;
5477#line 539
5478 __cil_tmp72 = __cil_tmp71 + 64;
5479#line 539
5480 *((struct wm831x **)__cil_tmp72) = wm831x;
5481#line 541
5482 res = platform_get_resource(pdev, 256U, 0U);
5483 }
5484 {
5485#line 542
5486 __cil_tmp73 = (struct resource *)0;
5487#line 542
5488 __cil_tmp74 = (unsigned long )__cil_tmp73;
5489#line 542
5490 __cil_tmp75 = (unsigned long )res;
5491#line 542
5492 if (__cil_tmp75 == __cil_tmp74) {
5493 {
5494#line 543
5495 __cil_tmp76 = (unsigned long )pdev;
5496#line 543
5497 __cil_tmp77 = __cil_tmp76 + 16;
5498#line 543
5499 __cil_tmp78 = (struct device *)__cil_tmp77;
5500#line 543
5501 __cil_tmp79 = (struct device const *)__cil_tmp78;
5502#line 543
5503 dev_err(__cil_tmp79, "No I/O resource\n");
5504#line 544
5505 ret = -22;
5506 }
5507#line 545
5508 goto err;
5509 } else {
5510
5511 }
5512 }
5513 {
5514#line 547
5515 __cil_tmp80 = (unsigned long )dcdc;
5516#line 547
5517 __cil_tmp81 = __cil_tmp80 + 56;
5518#line 547
5519 __cil_tmp82 = *((resource_size_t *)res);
5520#line 547
5521 *((int *)__cil_tmp81) = (int )__cil_tmp82;
5522#line 549
5523 __cil_tmp83 = (char (*)[6U])dcdc;
5524#line 549
5525 __cil_tmp84 = (char *)__cil_tmp83;
5526#line 549
5527 __cil_tmp85 = id + 1;
5528#line 549
5529 snprintf(__cil_tmp84, 6UL, "DCDC%d", __cil_tmp85);
5530#line 550
5531 __cil_tmp86 = (unsigned long )dcdc;
5532#line 550
5533 __cil_tmp87 = __cil_tmp86 + 8;
5534#line 550
5535 __cil_tmp88 = (char (*)[6U])dcdc;
5536#line 550
5537 *((char const **)__cil_tmp87) = (char const *)__cil_tmp88;
5538#line 551
5539 __cil_tmp89 = 8 + 16;
5540#line 551
5541 __cil_tmp90 = (unsigned long )dcdc;
5542#line 551
5543 __cil_tmp91 = __cil_tmp90 + __cil_tmp89;
5544#line 551
5545 *((int *)__cil_tmp91) = id;
5546#line 552
5547 __cil_tmp92 = 8 + 36;
5548#line 552
5549 __cil_tmp93 = (unsigned long )dcdc;
5550#line 552
5551 __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
5552#line 552
5553 *((enum regulator_type *)__cil_tmp94) = (enum regulator_type )0;
5554#line 553
5555 __cil_tmp95 = 8 + 20;
5556#line 553
5557 __cil_tmp96 = (unsigned long )dcdc;
5558#line 553
5559 __cil_tmp97 = __cil_tmp96 + __cil_tmp95;
5560#line 553
5561 *((unsigned int *)__cil_tmp97) = 105U;
5562#line 554
5563 __cil_tmp98 = 8 + 24;
5564#line 554
5565 __cil_tmp99 = (unsigned long )dcdc;
5566#line 554
5567 __cil_tmp100 = __cil_tmp99 + __cil_tmp98;
5568#line 554
5569 *((struct regulator_ops **)__cil_tmp100) = & wm831x_buckv_ops;
5570#line 555
5571 __cil_tmp101 = 8 + 40;
5572#line 555
5573 __cil_tmp102 = (unsigned long )dcdc;
5574#line 555
5575 __cil_tmp103 = __cil_tmp102 + __cil_tmp101;
5576#line 555
5577 *((struct module **)__cil_tmp103) = & __this_module;
5578#line 557
5579 __cil_tmp104 = (unsigned long )dcdc;
5580#line 557
5581 __cil_tmp105 = __cil_tmp104 + 56;
5582#line 557
5583 __cil_tmp106 = *((int *)__cil_tmp105);
5584#line 557
5585 __cil_tmp107 = (unsigned short )__cil_tmp106;
5586#line 557
5587 __cil_tmp108 = (unsigned int )__cil_tmp107;
5588#line 557
5589 __cil_tmp109 = __cil_tmp108 + 2U;
5590#line 557
5591 __cil_tmp110 = (int )__cil_tmp109;
5592#line 557
5593 __cil_tmp111 = (unsigned short )__cil_tmp110;
5594#line 557
5595 ret = wm831x_reg_read(wm831x, __cil_tmp111);
5596 }
5597#line 558
5598 if (ret < 0) {
5599 {
5600#line 559
5601 __cil_tmp112 = (unsigned long )wm831x;
5602#line 559
5603 __cil_tmp113 = __cil_tmp112 + 168;
5604#line 559
5605 __cil_tmp114 = *((struct device **)__cil_tmp113);
5606#line 559
5607 __cil_tmp115 = (struct device const *)__cil_tmp114;
5608#line 559
5609 dev_err(__cil_tmp115, "Failed to read ON VSEL: %d\n", ret);
5610 }
5611#line 560
5612 goto err;
5613 } else {
5614
5615 }
5616 {
5617#line 562
5618 __cil_tmp116 = (unsigned long )dcdc;
5619#line 562
5620 __cil_tmp117 = __cil_tmp116 + 88;
5621#line 562
5622 *((int *)__cil_tmp117) = ret & 127;
5623#line 564
5624 __cil_tmp118 = (unsigned long )dcdc;
5625#line 564
5626 __cil_tmp119 = __cil_tmp118 + 56;
5627#line 564
5628 __cil_tmp120 = *((int *)__cil_tmp119);
5629#line 564
5630 __cil_tmp121 = (unsigned short )__cil_tmp120;
5631#line 564
5632 __cil_tmp122 = (unsigned int )__cil_tmp121;
5633#line 564
5634 __cil_tmp123 = __cil_tmp122 + 4U;
5635#line 564
5636 __cil_tmp124 = (int )__cil_tmp123;
5637#line 564
5638 __cil_tmp125 = (unsigned short )__cil_tmp124;
5639#line 564
5640 ret = wm831x_reg_read(wm831x, __cil_tmp125);
5641 }
5642#line 565
5643 if (ret < 0) {
5644 {
5645#line 566
5646 __cil_tmp126 = (unsigned long )wm831x;
5647#line 566
5648 __cil_tmp127 = __cil_tmp126 + 168;
5649#line 566
5650 __cil_tmp128 = *((struct device **)__cil_tmp127);
5651#line 566
5652 __cil_tmp129 = (struct device const *)__cil_tmp128;
5653#line 566
5654 dev_err(__cil_tmp129, "Failed to read DVS VSEL: %d\n", ret);
5655 }
5656#line 567
5657 goto err;
5658 } else {
5659
5660 }
5661#line 569
5662 __cil_tmp130 = (unsigned long )dcdc;
5663#line 569
5664 __cil_tmp131 = __cil_tmp130 + 92;
5665#line 569
5666 *((int *)__cil_tmp131) = ret & 127;
5667 {
5668#line 571
5669 __cil_tmp132 = (struct regulator_init_data *)0;
5670#line 571
5671 __cil_tmp133 = (unsigned long )__cil_tmp132;
5672#line 571
5673 __cil_tmp134 = id * 8UL;
5674#line 571
5675 __cil_tmp135 = 160 + __cil_tmp134;
5676#line 571
5677 __cil_tmp136 = (unsigned long )pdata;
5678#line 571
5679 __cil_tmp137 = __cil_tmp136 + __cil_tmp135;
5680#line 571
5681 __cil_tmp138 = *((struct regulator_init_data **)__cil_tmp137);
5682#line 571
5683 __cil_tmp139 = (unsigned long )__cil_tmp138;
5684#line 571
5685 if (__cil_tmp139 != __cil_tmp133) {
5686 {
5687#line 572
5688 __cil_tmp140 = id * 8UL;
5689#line 572
5690 __cil_tmp141 = 160 + __cil_tmp140;
5691#line 572
5692 __cil_tmp142 = (unsigned long )pdata;
5693#line 572
5694 __cil_tmp143 = __cil_tmp142 + __cil_tmp141;
5695#line 572
5696 __cil_tmp144 = *((struct regulator_init_data **)__cil_tmp143);
5697#line 572
5698 __cil_tmp145 = (unsigned long )__cil_tmp144;
5699#line 572
5700 __cil_tmp146 = __cil_tmp145 + 136;
5701#line 572
5702 __cil_tmp147 = *((void **)__cil_tmp146);
5703#line 572
5704 __cil_tmp148 = (struct wm831x_buckv_pdata *)__cil_tmp147;
5705#line 572
5706 wm831x_buckv_dvs_init(dcdc, __cil_tmp148);
5707 }
5708 } else {
5709
5710 }
5711 }
5712 {
5713#line 574
5714 __cil_tmp149 = (unsigned long )dcdc;
5715#line 574
5716 __cil_tmp150 = __cil_tmp149 + 72;
5717#line 574
5718 __cil_tmp151 = (unsigned long )dcdc;
5719#line 574
5720 __cil_tmp152 = __cil_tmp151 + 8;
5721#line 574
5722 __cil_tmp153 = (struct regulator_desc *)__cil_tmp152;
5723#line 574
5724 __cil_tmp154 = (unsigned long )pdev;
5725#line 574
5726 __cil_tmp155 = __cil_tmp154 + 16;
5727#line 574
5728 __cil_tmp156 = (struct device *)__cil_tmp155;
5729#line 574
5730 __cil_tmp157 = id * 8UL;
5731#line 574
5732 __cil_tmp158 = 160 + __cil_tmp157;
5733#line 574
5734 __cil_tmp159 = (unsigned long )pdata;
5735#line 574
5736 __cil_tmp160 = __cil_tmp159 + __cil_tmp158;
5737#line 574
5738 __cil_tmp161 = *((struct regulator_init_data **)__cil_tmp160);
5739#line 574
5740 __cil_tmp162 = (struct regulator_init_data const *)__cil_tmp161;
5741#line 574
5742 __cil_tmp163 = (void *)dcdc;
5743#line 574
5744 __cil_tmp164 = (struct device_node *)0;
5745#line 574
5746 *((struct regulator_dev **)__cil_tmp150) = regulator_register(__cil_tmp153, __cil_tmp156,
5747 __cil_tmp162, __cil_tmp163,
5748 __cil_tmp164);
5749#line 576
5750 __cil_tmp165 = (unsigned long )dcdc;
5751#line 576
5752 __cil_tmp166 = __cil_tmp165 + 72;
5753#line 576
5754 __cil_tmp167 = *((struct regulator_dev **)__cil_tmp166);
5755#line 576
5756 __cil_tmp168 = (void const *)__cil_tmp167;
5757#line 576
5758 tmp___3 = IS_ERR(__cil_tmp168);
5759 }
5760#line 576
5761 if (tmp___3 != 0L) {
5762 {
5763#line 577
5764 __cil_tmp169 = (unsigned long )dcdc;
5765#line 577
5766 __cil_tmp170 = __cil_tmp169 + 72;
5767#line 577
5768 __cil_tmp171 = *((struct regulator_dev **)__cil_tmp170);
5769#line 577
5770 __cil_tmp172 = (void const *)__cil_tmp171;
5771#line 577
5772 tmp___2 = PTR_ERR(__cil_tmp172);
5773#line 577
5774 ret = (int )tmp___2;
5775#line 578
5776 __cil_tmp173 = (unsigned long )wm831x;
5777#line 578
5778 __cil_tmp174 = __cil_tmp173 + 168;
5779#line 578
5780 __cil_tmp175 = *((struct device **)__cil_tmp174);
5781#line 578
5782 __cil_tmp176 = (struct device const *)__cil_tmp175;
5783#line 578
5784 __cil_tmp177 = id + 1;
5785#line 578
5786 dev_err(__cil_tmp176, "Failed to register DCDC%d: %d\n", __cil_tmp177, ret);
5787 }
5788#line 580
5789 goto err;
5790 } else {
5791
5792 }
5793 {
5794#line 583
5795 irq = platform_get_irq_byname(pdev, "UV");
5796#line 584
5797 __cil_tmp178 = (unsigned int )irq;
5798#line 584
5799 __cil_tmp179 = (irqreturn_t (*)(int , void * ))0;
5800#line 584
5801 __cil_tmp180 = (char (*)[6U])dcdc;
5802#line 584
5803 __cil_tmp181 = (char const *)__cil_tmp180;
5804#line 584
5805 __cil_tmp182 = (void *)dcdc;
5806#line 584
5807 ret = request_threaded_irq(__cil_tmp178, __cil_tmp179, & wm831x_dcdc_uv_irq, 1UL,
5808 __cil_tmp181, __cil_tmp182);
5809 }
5810#line 586
5811 if (ret != 0) {
5812 {
5813#line 587
5814 __cil_tmp183 = (unsigned long )pdev;
5815#line 587
5816 __cil_tmp184 = __cil_tmp183 + 16;
5817#line 587
5818 __cil_tmp185 = (struct device *)__cil_tmp184;
5819#line 587
5820 __cil_tmp186 = (struct device const *)__cil_tmp185;
5821#line 587
5822 dev_err(__cil_tmp186, "Failed to request UV IRQ %d: %d\n", irq, ret);
5823 }
5824#line 589
5825 goto err_regulator;
5826 } else {
5827
5828 }
5829 {
5830#line 592
5831 irq = platform_get_irq_byname(pdev, "HC");
5832#line 593
5833 __cil_tmp187 = (unsigned int )irq;
5834#line 593
5835 __cil_tmp188 = (irqreturn_t (*)(int , void * ))0;
5836#line 593
5837 __cil_tmp189 = (char (*)[6U])dcdc;
5838#line 593
5839 __cil_tmp190 = (char const *)__cil_tmp189;
5840#line 593
5841 __cil_tmp191 = (void *)dcdc;
5842#line 593
5843 ret = request_threaded_irq(__cil_tmp187, __cil_tmp188, & wm831x_dcdc_oc_irq, 1UL,
5844 __cil_tmp190, __cil_tmp191);
5845 }
5846#line 595
5847 if (ret != 0) {
5848 {
5849#line 596
5850 __cil_tmp192 = (unsigned long )pdev;
5851#line 596
5852 __cil_tmp193 = __cil_tmp192 + 16;
5853#line 596
5854 __cil_tmp194 = (struct device *)__cil_tmp193;
5855#line 596
5856 __cil_tmp195 = (struct device const *)__cil_tmp194;
5857#line 596
5858 dev_err(__cil_tmp195, "Failed to request HC IRQ %d: %d\n", irq, ret);
5859 }
5860#line 598
5861 goto err_uv;
5862 } else {
5863
5864 }
5865 {
5866#line 601
5867 __cil_tmp196 = (void *)dcdc;
5868#line 601
5869 platform_set_drvdata(pdev, __cil_tmp196);
5870 }
5871#line 603
5872 return (0);
5873 err_uv:
5874 {
5875#line 606
5876 tmp___4 = platform_get_irq_byname(pdev, "UV");
5877#line 606
5878 __cil_tmp197 = (unsigned int )tmp___4;
5879#line 606
5880 __cil_tmp198 = (void *)dcdc;
5881#line 606
5882 free_irq(__cil_tmp197, __cil_tmp198);
5883 }
5884 err_regulator:
5885 {
5886#line 608
5887 __cil_tmp199 = (unsigned long )dcdc;
5888#line 608
5889 __cil_tmp200 = __cil_tmp199 + 72;
5890#line 608
5891 __cil_tmp201 = *((struct regulator_dev **)__cil_tmp200);
5892#line 608
5893 regulator_unregister(__cil_tmp201);
5894 }
5895 err: ;
5896 {
5897#line 610
5898 __cil_tmp202 = (unsigned long )dcdc;
5899#line 610
5900 __cil_tmp203 = __cil_tmp202 + 80;
5901#line 610
5902 __cil_tmp204 = *((int *)__cil_tmp203);
5903#line 610
5904 if (__cil_tmp204 != 0) {
5905 {
5906#line 611
5907 __cil_tmp205 = (unsigned long )dcdc;
5908#line 611
5909 __cil_tmp206 = __cil_tmp205 + 80;
5910#line 611
5911 __cil_tmp207 = *((int *)__cil_tmp206);
5912#line 611
5913 __cil_tmp208 = (unsigned int )__cil_tmp207;
5914#line 611
5915 gpio_free(__cil_tmp208);
5916 }
5917 } else {
5918
5919 }
5920 }
5921#line 612
5922 return (ret);
5923}
5924}
5925#line 615 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
5926static int wm831x_buckv_remove(struct platform_device *pdev )
5927{ struct wm831x_dcdc *dcdc ;
5928 void *tmp ;
5929 int tmp___0 ;
5930 int tmp___1 ;
5931 struct platform_device const *__cil_tmp6 ;
5932 void *__cil_tmp7 ;
5933 unsigned int __cil_tmp8 ;
5934 void *__cil_tmp9 ;
5935 unsigned int __cil_tmp10 ;
5936 void *__cil_tmp11 ;
5937 unsigned long __cil_tmp12 ;
5938 unsigned long __cil_tmp13 ;
5939 struct regulator_dev *__cil_tmp14 ;
5940 unsigned long __cil_tmp15 ;
5941 unsigned long __cil_tmp16 ;
5942 int __cil_tmp17 ;
5943 unsigned long __cil_tmp18 ;
5944 unsigned long __cil_tmp19 ;
5945 int __cil_tmp20 ;
5946 unsigned int __cil_tmp21 ;
5947
5948 {
5949 {
5950#line 617
5951 __cil_tmp6 = (struct platform_device const *)pdev;
5952#line 617
5953 tmp = platform_get_drvdata(__cil_tmp6);
5954#line 617
5955 dcdc = (struct wm831x_dcdc *)tmp;
5956#line 619
5957 __cil_tmp7 = (void *)0;
5958#line 619
5959 platform_set_drvdata(pdev, __cil_tmp7);
5960#line 621
5961 tmp___0 = platform_get_irq_byname(pdev, "HC");
5962#line 621
5963 __cil_tmp8 = (unsigned int )tmp___0;
5964#line 621
5965 __cil_tmp9 = (void *)dcdc;
5966#line 621
5967 free_irq(__cil_tmp8, __cil_tmp9);
5968#line 622
5969 tmp___1 = platform_get_irq_byname(pdev, "UV");
5970#line 622
5971 __cil_tmp10 = (unsigned int )tmp___1;
5972#line 622
5973 __cil_tmp11 = (void *)dcdc;
5974#line 622
5975 free_irq(__cil_tmp10, __cil_tmp11);
5976#line 623
5977 __cil_tmp12 = (unsigned long )dcdc;
5978#line 623
5979 __cil_tmp13 = __cil_tmp12 + 72;
5980#line 623
5981 __cil_tmp14 = *((struct regulator_dev **)__cil_tmp13);
5982#line 623
5983 regulator_unregister(__cil_tmp14);
5984 }
5985 {
5986#line 624
5987 __cil_tmp15 = (unsigned long )dcdc;
5988#line 624
5989 __cil_tmp16 = __cil_tmp15 + 80;
5990#line 624
5991 __cil_tmp17 = *((int *)__cil_tmp16);
5992#line 624
5993 if (__cil_tmp17 != 0) {
5994 {
5995#line 625
5996 __cil_tmp18 = (unsigned long )dcdc;
5997#line 625
5998 __cil_tmp19 = __cil_tmp18 + 80;
5999#line 625
6000 __cil_tmp20 = *((int *)__cil_tmp19);
6001#line 625
6002 __cil_tmp21 = (unsigned int )__cil_tmp20;
6003#line 625
6004 gpio_free(__cil_tmp21);
6005 }
6006 } else {
6007
6008 }
6009 }
6010#line 627
6011 return (0);
6012}
6013}
6014#line 630 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6015static struct platform_driver wm831x_buckv_driver = {& wm831x_buckv_probe, & wm831x_buckv_remove, (void (*)(struct platform_device * ))0,
6016 (int (*)(struct platform_device * , pm_message_t ))0, (int (*)(struct platform_device * ))0,
6017 {"wm831x-buckv", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
6018 (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
6019 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
6020 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
6021 (struct driver_private *)0}, (struct platform_device_id const *)0};
6022#line 643 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6023static int wm831x_buckp_list_voltage(struct regulator_dev *rdev , unsigned int selector )
6024{ unsigned int __cil_tmp3 ;
6025 unsigned int __cil_tmp4 ;
6026
6027 {
6028#line 646
6029 if (selector <= 102U) {
6030 {
6031#line 647
6032 __cil_tmp3 = selector * 25000U;
6033#line 647
6034 __cil_tmp4 = __cil_tmp3 + 850000U;
6035#line 647
6036 return ((int )__cil_tmp4);
6037 }
6038 } else {
6039#line 649
6040 return (-22);
6041 }
6042}
6043}
6044#line 652 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6045static int wm831x_buckp_set_voltage_int(struct regulator_dev *rdev , int reg , int min_uV ,
6046 int max_uV , int *selector )
6047{ struct wm831x_dcdc *dcdc ;
6048 void *tmp ;
6049 struct wm831x *wm831x ;
6050 u16 vsel ;
6051 int tmp___0 ;
6052 int tmp___1 ;
6053 unsigned long __cil_tmp12 ;
6054 unsigned long __cil_tmp13 ;
6055 int __cil_tmp14 ;
6056 int __cil_tmp15 ;
6057 unsigned int __cil_tmp16 ;
6058 unsigned short __cil_tmp17 ;
6059 int __cil_tmp18 ;
6060 unsigned short __cil_tmp19 ;
6061 int __cil_tmp20 ;
6062 unsigned short __cil_tmp21 ;
6063
6064 {
6065 {
6066#line 655
6067 tmp = rdev_get_drvdata(rdev);
6068#line 655
6069 dcdc = (struct wm831x_dcdc *)tmp;
6070#line 656
6071 __cil_tmp12 = (unsigned long )dcdc;
6072#line 656
6073 __cil_tmp13 = __cil_tmp12 + 64;
6074#line 656
6075 wm831x = *((struct wm831x **)__cil_tmp13);
6076 }
6077#line 659
6078 if (min_uV <= 34000000) {
6079#line 660
6080 __cil_tmp14 = min_uV + -850000;
6081#line 660
6082 __cil_tmp15 = __cil_tmp14 / 25000;
6083#line 660
6084 vsel = (u16 )__cil_tmp15;
6085 } else {
6086#line 662
6087 return (-22);
6088 }
6089 {
6090#line 664
6091 __cil_tmp16 = (unsigned int )vsel;
6092#line 664
6093 tmp___0 = wm831x_buckp_list_voltage(rdev, __cil_tmp16);
6094 }
6095#line 664
6096 if (tmp___0 > max_uV) {
6097#line 665
6098 return (-22);
6099 } else {
6100
6101 }
6102 {
6103#line 667
6104 *selector = (int )vsel;
6105#line 669
6106 __cil_tmp17 = (unsigned short )reg;
6107#line 669
6108 __cil_tmp18 = (int )__cil_tmp17;
6109#line 669
6110 __cil_tmp19 = (unsigned short )__cil_tmp18;
6111#line 669
6112 __cil_tmp20 = (int )vsel;
6113#line 669
6114 __cil_tmp21 = (unsigned short )__cil_tmp20;
6115#line 669
6116 tmp___1 = wm831x_set_bits(wm831x, __cil_tmp19, (unsigned short)127, __cil_tmp21);
6117 }
6118#line 669
6119 return (tmp___1);
6120}
6121}
6122#line 672 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6123static int wm831x_buckp_set_voltage(struct regulator_dev *rdev , int min_uV , int max_uV ,
6124 unsigned int *selector )
6125{ struct wm831x_dcdc *dcdc ;
6126 void *tmp ;
6127 u16 reg ;
6128 int tmp___0 ;
6129 unsigned long __cil_tmp9 ;
6130 unsigned long __cil_tmp10 ;
6131 int __cil_tmp11 ;
6132 u16 __cil_tmp12 ;
6133 unsigned int __cil_tmp13 ;
6134 unsigned int __cil_tmp14 ;
6135 int __cil_tmp15 ;
6136 int *__cil_tmp16 ;
6137
6138 {
6139 {
6140#line 676
6141 tmp = rdev_get_drvdata(rdev);
6142#line 676
6143 dcdc = (struct wm831x_dcdc *)tmp;
6144#line 677
6145 __cil_tmp9 = (unsigned long )dcdc;
6146#line 677
6147 __cil_tmp10 = __cil_tmp9 + 56;
6148#line 677
6149 __cil_tmp11 = *((int *)__cil_tmp10);
6150#line 677
6151 __cil_tmp12 = (u16 )__cil_tmp11;
6152#line 677
6153 __cil_tmp13 = (unsigned int )__cil_tmp12;
6154#line 677
6155 __cil_tmp14 = __cil_tmp13 + 2U;
6156#line 677
6157 reg = (u16 )__cil_tmp14;
6158#line 679
6159 __cil_tmp15 = (int )reg;
6160#line 679
6161 __cil_tmp16 = (int *)selector;
6162#line 679
6163 tmp___0 = wm831x_buckp_set_voltage_int(rdev, __cil_tmp15, min_uV, max_uV, __cil_tmp16);
6164 }
6165#line 679
6166 return (tmp___0);
6167}
6168}
6169#line 683 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6170static int wm831x_buckp_set_suspend_voltage(struct regulator_dev *rdev , int uV )
6171{ struct wm831x_dcdc *dcdc ;
6172 void *tmp ;
6173 u16 reg ;
6174 unsigned int selector ;
6175 int tmp___0 ;
6176 unsigned long __cil_tmp8 ;
6177 unsigned long __cil_tmp9 ;
6178 int __cil_tmp10 ;
6179 u16 __cil_tmp11 ;
6180 unsigned int __cil_tmp12 ;
6181 unsigned int __cil_tmp13 ;
6182 int __cil_tmp14 ;
6183 int *__cil_tmp15 ;
6184
6185 {
6186 {
6187#line 686
6188 tmp = rdev_get_drvdata(rdev);
6189#line 686
6190 dcdc = (struct wm831x_dcdc *)tmp;
6191#line 687
6192 __cil_tmp8 = (unsigned long )dcdc;
6193#line 687
6194 __cil_tmp9 = __cil_tmp8 + 56;
6195#line 687
6196 __cil_tmp10 = *((int *)__cil_tmp9);
6197#line 687
6198 __cil_tmp11 = (u16 )__cil_tmp10;
6199#line 687
6200 __cil_tmp12 = (unsigned int )__cil_tmp11;
6201#line 687
6202 __cil_tmp13 = __cil_tmp12 + 3U;
6203#line 687
6204 reg = (u16 )__cil_tmp13;
6205#line 690
6206 __cil_tmp14 = (int )reg;
6207#line 690
6208 __cil_tmp15 = (int *)(& selector);
6209#line 690
6210 tmp___0 = wm831x_buckp_set_voltage_int(rdev, __cil_tmp14, uV, uV, __cil_tmp15);
6211 }
6212#line 690
6213 return (tmp___0);
6214}
6215}
6216#line 693 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6217static int wm831x_buckp_get_voltage_sel(struct regulator_dev *rdev )
6218{ struct wm831x_dcdc *dcdc ;
6219 void *tmp ;
6220 struct wm831x *wm831x ;
6221 u16 reg ;
6222 int val ;
6223 unsigned long __cil_tmp7 ;
6224 unsigned long __cil_tmp8 ;
6225 unsigned long __cil_tmp9 ;
6226 unsigned long __cil_tmp10 ;
6227 int __cil_tmp11 ;
6228 u16 __cil_tmp12 ;
6229 unsigned int __cil_tmp13 ;
6230 unsigned int __cil_tmp14 ;
6231 int __cil_tmp15 ;
6232 unsigned short __cil_tmp16 ;
6233
6234 {
6235 {
6236#line 695
6237 tmp = rdev_get_drvdata(rdev);
6238#line 695
6239 dcdc = (struct wm831x_dcdc *)tmp;
6240#line 696
6241 __cil_tmp7 = (unsigned long )dcdc;
6242#line 696
6243 __cil_tmp8 = __cil_tmp7 + 64;
6244#line 696
6245 wm831x = *((struct wm831x **)__cil_tmp8);
6246#line 697
6247 __cil_tmp9 = (unsigned long )dcdc;
6248#line 697
6249 __cil_tmp10 = __cil_tmp9 + 56;
6250#line 697
6251 __cil_tmp11 = *((int *)__cil_tmp10);
6252#line 697
6253 __cil_tmp12 = (u16 )__cil_tmp11;
6254#line 697
6255 __cil_tmp13 = (unsigned int )__cil_tmp12;
6256#line 697
6257 __cil_tmp14 = __cil_tmp13 + 2U;
6258#line 697
6259 reg = (u16 )__cil_tmp14;
6260#line 700
6261 __cil_tmp15 = (int )reg;
6262#line 700
6263 __cil_tmp16 = (unsigned short )__cil_tmp15;
6264#line 700
6265 val = wm831x_reg_read(wm831x, __cil_tmp16);
6266 }
6267#line 701
6268 if (val < 0) {
6269#line 702
6270 return (val);
6271 } else {
6272
6273 }
6274#line 704
6275 return (val & 127);
6276}
6277}
6278#line 707 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6279static struct regulator_ops wm831x_buckp_ops =
6280#line 707
6281 {& wm831x_buckp_list_voltage, & wm831x_buckp_set_voltage, (int (*)(struct regulator_dev * ,
6282 unsigned int ))0,
6283 (int (*)(struct regulator_dev * ))0, & wm831x_buckp_get_voltage_sel, (int (*)(struct regulator_dev * ,
6284 int ,
6285 int ))0,
6286 (int (*)(struct regulator_dev * ))0, & wm831x_dcdc_enable, & wm831x_dcdc_disable,
6287 & wm831x_dcdc_is_enabled, & wm831x_dcdc_set_mode, & wm831x_dcdc_get_mode, (int (*)(struct regulator_dev * ))0,
6288 (int (*)(struct regulator_dev * , unsigned int , unsigned int ))0, & wm831x_dcdc_get_status,
6289 (unsigned int (*)(struct regulator_dev * , int , int , int ))0, & wm831x_buckp_set_suspend_voltage,
6290 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, & wm831x_dcdc_set_suspend_mode};
6291#line 722 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6292static int wm831x_buckp_probe(struct platform_device *pdev )
6293{ struct wm831x *wm831x ;
6294 void *tmp ;
6295 struct wm831x_pdata *pdata ;
6296 int id ;
6297 struct wm831x_dcdc *dcdc ;
6298 struct resource *res ;
6299 int ret ;
6300 int irq ;
6301 struct _ddebug descriptor ;
6302 long tmp___0 ;
6303 void *tmp___1 ;
6304 long tmp___2 ;
6305 long tmp___3 ;
6306 unsigned long __cil_tmp15 ;
6307 unsigned long __cil_tmp16 ;
6308 struct device *__cil_tmp17 ;
6309 struct device const *__cil_tmp18 ;
6310 unsigned long __cil_tmp19 ;
6311 unsigned long __cil_tmp20 ;
6312 struct device *__cil_tmp21 ;
6313 unsigned long __cil_tmp22 ;
6314 unsigned long __cil_tmp23 ;
6315 void *__cil_tmp24 ;
6316 struct wm831x_pdata *__cil_tmp25 ;
6317 unsigned long __cil_tmp26 ;
6318 unsigned long __cil_tmp27 ;
6319 int __cil_tmp28 ;
6320 int __cil_tmp29 ;
6321 int __cil_tmp30 ;
6322 unsigned long __cil_tmp31 ;
6323 unsigned long __cil_tmp32 ;
6324 int __cil_tmp33 ;
6325 struct _ddebug *__cil_tmp34 ;
6326 unsigned long __cil_tmp35 ;
6327 unsigned long __cil_tmp36 ;
6328 unsigned long __cil_tmp37 ;
6329 unsigned long __cil_tmp38 ;
6330 unsigned long __cil_tmp39 ;
6331 unsigned long __cil_tmp40 ;
6332 unsigned char __cil_tmp41 ;
6333 long __cil_tmp42 ;
6334 long __cil_tmp43 ;
6335 unsigned long __cil_tmp44 ;
6336 unsigned long __cil_tmp45 ;
6337 struct device *__cil_tmp46 ;
6338 struct device const *__cil_tmp47 ;
6339 int __cil_tmp48 ;
6340 struct wm831x_pdata *__cil_tmp49 ;
6341 unsigned long __cil_tmp50 ;
6342 unsigned long __cil_tmp51 ;
6343 struct regulator_init_data *__cil_tmp52 ;
6344 unsigned long __cil_tmp53 ;
6345 unsigned long __cil_tmp54 ;
6346 unsigned long __cil_tmp55 ;
6347 unsigned long __cil_tmp56 ;
6348 unsigned long __cil_tmp57 ;
6349 struct regulator_init_data *__cil_tmp58 ;
6350 unsigned long __cil_tmp59 ;
6351 unsigned long __cil_tmp60 ;
6352 unsigned long __cil_tmp61 ;
6353 struct device *__cil_tmp62 ;
6354 struct wm831x_dcdc *__cil_tmp63 ;
6355 unsigned long __cil_tmp64 ;
6356 unsigned long __cil_tmp65 ;
6357 unsigned long __cil_tmp66 ;
6358 unsigned long __cil_tmp67 ;
6359 struct device *__cil_tmp68 ;
6360 struct device const *__cil_tmp69 ;
6361 unsigned long __cil_tmp70 ;
6362 unsigned long __cil_tmp71 ;
6363 struct resource *__cil_tmp72 ;
6364 unsigned long __cil_tmp73 ;
6365 unsigned long __cil_tmp74 ;
6366 unsigned long __cil_tmp75 ;
6367 unsigned long __cil_tmp76 ;
6368 struct device *__cil_tmp77 ;
6369 struct device const *__cil_tmp78 ;
6370 unsigned long __cil_tmp79 ;
6371 unsigned long __cil_tmp80 ;
6372 resource_size_t __cil_tmp81 ;
6373 char (*__cil_tmp82)[6U] ;
6374 char *__cil_tmp83 ;
6375 int __cil_tmp84 ;
6376 unsigned long __cil_tmp85 ;
6377 unsigned long __cil_tmp86 ;
6378 char (*__cil_tmp87)[6U] ;
6379 unsigned long __cil_tmp88 ;
6380 unsigned long __cil_tmp89 ;
6381 unsigned long __cil_tmp90 ;
6382 unsigned long __cil_tmp91 ;
6383 unsigned long __cil_tmp92 ;
6384 unsigned long __cil_tmp93 ;
6385 unsigned long __cil_tmp94 ;
6386 unsigned long __cil_tmp95 ;
6387 unsigned long __cil_tmp96 ;
6388 unsigned long __cil_tmp97 ;
6389 unsigned long __cil_tmp98 ;
6390 unsigned long __cil_tmp99 ;
6391 unsigned long __cil_tmp100 ;
6392 unsigned long __cil_tmp101 ;
6393 unsigned long __cil_tmp102 ;
6394 unsigned long __cil_tmp103 ;
6395 unsigned long __cil_tmp104 ;
6396 unsigned long __cil_tmp105 ;
6397 unsigned long __cil_tmp106 ;
6398 struct regulator_desc *__cil_tmp107 ;
6399 unsigned long __cil_tmp108 ;
6400 unsigned long __cil_tmp109 ;
6401 struct device *__cil_tmp110 ;
6402 unsigned long __cil_tmp111 ;
6403 unsigned long __cil_tmp112 ;
6404 unsigned long __cil_tmp113 ;
6405 unsigned long __cil_tmp114 ;
6406 struct regulator_init_data *__cil_tmp115 ;
6407 struct regulator_init_data const *__cil_tmp116 ;
6408 void *__cil_tmp117 ;
6409 struct device_node *__cil_tmp118 ;
6410 unsigned long __cil_tmp119 ;
6411 unsigned long __cil_tmp120 ;
6412 struct regulator_dev *__cil_tmp121 ;
6413 void const *__cil_tmp122 ;
6414 unsigned long __cil_tmp123 ;
6415 unsigned long __cil_tmp124 ;
6416 struct regulator_dev *__cil_tmp125 ;
6417 void const *__cil_tmp126 ;
6418 unsigned long __cil_tmp127 ;
6419 unsigned long __cil_tmp128 ;
6420 struct device *__cil_tmp129 ;
6421 struct device const *__cil_tmp130 ;
6422 int __cil_tmp131 ;
6423 unsigned int __cil_tmp132 ;
6424 irqreturn_t (*__cil_tmp133)(int , void * ) ;
6425 char (*__cil_tmp134)[6U] ;
6426 char const *__cil_tmp135 ;
6427 void *__cil_tmp136 ;
6428 unsigned long __cil_tmp137 ;
6429 unsigned long __cil_tmp138 ;
6430 struct device *__cil_tmp139 ;
6431 struct device const *__cil_tmp140 ;
6432 void *__cil_tmp141 ;
6433 unsigned long __cil_tmp142 ;
6434 unsigned long __cil_tmp143 ;
6435 struct regulator_dev *__cil_tmp144 ;
6436
6437 {
6438 {
6439#line 724
6440 __cil_tmp15 = (unsigned long )pdev;
6441#line 724
6442 __cil_tmp16 = __cil_tmp15 + 16;
6443#line 724
6444 __cil_tmp17 = *((struct device **)__cil_tmp16);
6445#line 724
6446 __cil_tmp18 = (struct device const *)__cil_tmp17;
6447#line 724
6448 tmp = dev_get_drvdata(__cil_tmp18);
6449#line 724
6450 wm831x = (struct wm831x *)tmp;
6451#line 725
6452 __cil_tmp19 = (unsigned long )wm831x;
6453#line 725
6454 __cil_tmp20 = __cil_tmp19 + 168;
6455#line 725
6456 __cil_tmp21 = *((struct device **)__cil_tmp20);
6457#line 725
6458 __cil_tmp22 = (unsigned long )__cil_tmp21;
6459#line 725
6460 __cil_tmp23 = __cil_tmp22 + 280;
6461#line 725
6462 __cil_tmp24 = *((void **)__cil_tmp23);
6463#line 725
6464 pdata = (struct wm831x_pdata *)__cil_tmp24;
6465 }
6466 {
6467#line 731
6468 __cil_tmp25 = (struct wm831x_pdata *)0;
6469#line 731
6470 __cil_tmp26 = (unsigned long )__cil_tmp25;
6471#line 731
6472 __cil_tmp27 = (unsigned long )pdata;
6473#line 731
6474 if (__cil_tmp27 != __cil_tmp26) {
6475 {
6476#line 731
6477 __cil_tmp28 = *((int *)pdata);
6478#line 731
6479 if (__cil_tmp28 != 0) {
6480#line 732
6481 __cil_tmp29 = *((int *)pdata);
6482#line 732
6483 __cil_tmp30 = __cil_tmp29 * 10;
6484#line 732
6485 id = __cil_tmp30 + 1;
6486 } else {
6487#line 734
6488 id = 0;
6489 }
6490 }
6491 } else {
6492#line 734
6493 id = 0;
6494 }
6495 }
6496 {
6497#line 735
6498 __cil_tmp31 = (unsigned long )pdev;
6499#line 735
6500 __cil_tmp32 = __cil_tmp31 + 8;
6501#line 735
6502 __cil_tmp33 = *((int *)__cil_tmp32);
6503#line 735
6504 id = __cil_tmp33 - id;
6505#line 737
6506 __cil_tmp34 = & descriptor;
6507#line 737
6508 *((char const **)__cil_tmp34) = "wm831x_dcdc";
6509#line 737
6510 __cil_tmp35 = (unsigned long )(& descriptor) + 8;
6511#line 737
6512 *((char const **)__cil_tmp35) = "wm831x_buckp_probe";
6513#line 737
6514 __cil_tmp36 = (unsigned long )(& descriptor) + 16;
6515#line 737
6516 *((char const **)__cil_tmp36) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
6517#line 737
6518 __cil_tmp37 = (unsigned long )(& descriptor) + 24;
6519#line 737
6520 *((char const **)__cil_tmp37) = "Probing DCDC%d\n";
6521#line 737
6522 __cil_tmp38 = (unsigned long )(& descriptor) + 32;
6523#line 737
6524 *((unsigned int *)__cil_tmp38) = 737U;
6525#line 737
6526 __cil_tmp39 = (unsigned long )(& descriptor) + 35;
6527#line 737
6528 *((unsigned char *)__cil_tmp39) = (unsigned char)1;
6529#line 737
6530 __cil_tmp40 = (unsigned long )(& descriptor) + 35;
6531#line 737
6532 __cil_tmp41 = *((unsigned char *)__cil_tmp40);
6533#line 737
6534 __cil_tmp42 = (long )__cil_tmp41;
6535#line 737
6536 __cil_tmp43 = __cil_tmp42 & 1L;
6537#line 737
6538 tmp___0 = __builtin_expect(__cil_tmp43, 0L);
6539 }
6540#line 737
6541 if (tmp___0 != 0L) {
6542 {
6543#line 737
6544 __cil_tmp44 = (unsigned long )pdev;
6545#line 737
6546 __cil_tmp45 = __cil_tmp44 + 16;
6547#line 737
6548 __cil_tmp46 = (struct device *)__cil_tmp45;
6549#line 737
6550 __cil_tmp47 = (struct device const *)__cil_tmp46;
6551#line 737
6552 __cil_tmp48 = id + 1;
6553#line 737
6554 __dynamic_dev_dbg(& descriptor, __cil_tmp47, "Probing DCDC%d\n", __cil_tmp48);
6555 }
6556 } else {
6557
6558 }
6559 {
6560#line 739
6561 __cil_tmp49 = (struct wm831x_pdata *)0;
6562#line 739
6563 __cil_tmp50 = (unsigned long )__cil_tmp49;
6564#line 739
6565 __cil_tmp51 = (unsigned long )pdata;
6566#line 739
6567 if (__cil_tmp51 == __cil_tmp50) {
6568#line 740
6569 return (-19);
6570 } else {
6571 {
6572#line 739
6573 __cil_tmp52 = (struct regulator_init_data *)0;
6574#line 739
6575 __cil_tmp53 = (unsigned long )__cil_tmp52;
6576#line 739
6577 __cil_tmp54 = id * 8UL;
6578#line 739
6579 __cil_tmp55 = 160 + __cil_tmp54;
6580#line 739
6581 __cil_tmp56 = (unsigned long )pdata;
6582#line 739
6583 __cil_tmp57 = __cil_tmp56 + __cil_tmp55;
6584#line 739
6585 __cil_tmp58 = *((struct regulator_init_data **)__cil_tmp57);
6586#line 739
6587 __cil_tmp59 = (unsigned long )__cil_tmp58;
6588#line 739
6589 if (__cil_tmp59 == __cil_tmp53) {
6590#line 740
6591 return (-19);
6592 } else {
6593
6594 }
6595 }
6596 }
6597 }
6598 {
6599#line 742
6600 __cil_tmp60 = (unsigned long )pdev;
6601#line 742
6602 __cil_tmp61 = __cil_tmp60 + 16;
6603#line 742
6604 __cil_tmp62 = (struct device *)__cil_tmp61;
6605#line 742
6606 tmp___1 = devm_kzalloc(__cil_tmp62, 96UL, 208U);
6607#line 742
6608 dcdc = (struct wm831x_dcdc *)tmp___1;
6609 }
6610 {
6611#line 744
6612 __cil_tmp63 = (struct wm831x_dcdc *)0;
6613#line 744
6614 __cil_tmp64 = (unsigned long )__cil_tmp63;
6615#line 744
6616 __cil_tmp65 = (unsigned long )dcdc;
6617#line 744
6618 if (__cil_tmp65 == __cil_tmp64) {
6619 {
6620#line 745
6621 __cil_tmp66 = (unsigned long )pdev;
6622#line 745
6623 __cil_tmp67 = __cil_tmp66 + 16;
6624#line 745
6625 __cil_tmp68 = (struct device *)__cil_tmp67;
6626#line 745
6627 __cil_tmp69 = (struct device const *)__cil_tmp68;
6628#line 745
6629 dev_err(__cil_tmp69, "Unable to allocate private data\n");
6630 }
6631#line 746
6632 return (-12);
6633 } else {
6634
6635 }
6636 }
6637 {
6638#line 749
6639 __cil_tmp70 = (unsigned long )dcdc;
6640#line 749
6641 __cil_tmp71 = __cil_tmp70 + 64;
6642#line 749
6643 *((struct wm831x **)__cil_tmp71) = wm831x;
6644#line 751
6645 res = platform_get_resource(pdev, 256U, 0U);
6646 }
6647 {
6648#line 752
6649 __cil_tmp72 = (struct resource *)0;
6650#line 752
6651 __cil_tmp73 = (unsigned long )__cil_tmp72;
6652#line 752
6653 __cil_tmp74 = (unsigned long )res;
6654#line 752
6655 if (__cil_tmp74 == __cil_tmp73) {
6656 {
6657#line 753
6658 __cil_tmp75 = (unsigned long )pdev;
6659#line 753
6660 __cil_tmp76 = __cil_tmp75 + 16;
6661#line 753
6662 __cil_tmp77 = (struct device *)__cil_tmp76;
6663#line 753
6664 __cil_tmp78 = (struct device const *)__cil_tmp77;
6665#line 753
6666 dev_err(__cil_tmp78, "No I/O resource\n");
6667#line 754
6668 ret = -22;
6669 }
6670#line 755
6671 goto err;
6672 } else {
6673
6674 }
6675 }
6676 {
6677#line 757
6678 __cil_tmp79 = (unsigned long )dcdc;
6679#line 757
6680 __cil_tmp80 = __cil_tmp79 + 56;
6681#line 757
6682 __cil_tmp81 = *((resource_size_t *)res);
6683#line 757
6684 *((int *)__cil_tmp80) = (int )__cil_tmp81;
6685#line 759
6686 __cil_tmp82 = (char (*)[6U])dcdc;
6687#line 759
6688 __cil_tmp83 = (char *)__cil_tmp82;
6689#line 759
6690 __cil_tmp84 = id + 1;
6691#line 759
6692 snprintf(__cil_tmp83, 6UL, "DCDC%d", __cil_tmp84);
6693#line 760
6694 __cil_tmp85 = (unsigned long )dcdc;
6695#line 760
6696 __cil_tmp86 = __cil_tmp85 + 8;
6697#line 760
6698 __cil_tmp87 = (char (*)[6U])dcdc;
6699#line 760
6700 *((char const **)__cil_tmp86) = (char const *)__cil_tmp87;
6701#line 761
6702 __cil_tmp88 = 8 + 16;
6703#line 761
6704 __cil_tmp89 = (unsigned long )dcdc;
6705#line 761
6706 __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
6707#line 761
6708 *((int *)__cil_tmp90) = id;
6709#line 762
6710 __cil_tmp91 = 8 + 36;
6711#line 762
6712 __cil_tmp92 = (unsigned long )dcdc;
6713#line 762
6714 __cil_tmp93 = __cil_tmp92 + __cil_tmp91;
6715#line 762
6716 *((enum regulator_type *)__cil_tmp93) = (enum regulator_type )0;
6717#line 763
6718 __cil_tmp94 = 8 + 20;
6719#line 763
6720 __cil_tmp95 = (unsigned long )dcdc;
6721#line 763
6722 __cil_tmp96 = __cil_tmp95 + __cil_tmp94;
6723#line 763
6724 *((unsigned int *)__cil_tmp96) = 103U;
6725#line 764
6726 __cil_tmp97 = 8 + 24;
6727#line 764
6728 __cil_tmp98 = (unsigned long )dcdc;
6729#line 764
6730 __cil_tmp99 = __cil_tmp98 + __cil_tmp97;
6731#line 764
6732 *((struct regulator_ops **)__cil_tmp99) = & wm831x_buckp_ops;
6733#line 765
6734 __cil_tmp100 = 8 + 40;
6735#line 765
6736 __cil_tmp101 = (unsigned long )dcdc;
6737#line 765
6738 __cil_tmp102 = __cil_tmp101 + __cil_tmp100;
6739#line 765
6740 *((struct module **)__cil_tmp102) = & __this_module;
6741#line 767
6742 __cil_tmp103 = (unsigned long )dcdc;
6743#line 767
6744 __cil_tmp104 = __cil_tmp103 + 72;
6745#line 767
6746 __cil_tmp105 = (unsigned long )dcdc;
6747#line 767
6748 __cil_tmp106 = __cil_tmp105 + 8;
6749#line 767
6750 __cil_tmp107 = (struct regulator_desc *)__cil_tmp106;
6751#line 767
6752 __cil_tmp108 = (unsigned long )pdev;
6753#line 767
6754 __cil_tmp109 = __cil_tmp108 + 16;
6755#line 767
6756 __cil_tmp110 = (struct device *)__cil_tmp109;
6757#line 767
6758 __cil_tmp111 = id * 8UL;
6759#line 767
6760 __cil_tmp112 = 160 + __cil_tmp111;
6761#line 767
6762 __cil_tmp113 = (unsigned long )pdata;
6763#line 767
6764 __cil_tmp114 = __cil_tmp113 + __cil_tmp112;
6765#line 767
6766 __cil_tmp115 = *((struct regulator_init_data **)__cil_tmp114);
6767#line 767
6768 __cil_tmp116 = (struct regulator_init_data const *)__cil_tmp115;
6769#line 767
6770 __cil_tmp117 = (void *)dcdc;
6771#line 767
6772 __cil_tmp118 = (struct device_node *)0;
6773#line 767
6774 *((struct regulator_dev **)__cil_tmp104) = regulator_register(__cil_tmp107, __cil_tmp110,
6775 __cil_tmp116, __cil_tmp117,
6776 __cil_tmp118);
6777#line 769
6778 __cil_tmp119 = (unsigned long )dcdc;
6779#line 769
6780 __cil_tmp120 = __cil_tmp119 + 72;
6781#line 769
6782 __cil_tmp121 = *((struct regulator_dev **)__cil_tmp120);
6783#line 769
6784 __cil_tmp122 = (void const *)__cil_tmp121;
6785#line 769
6786 tmp___3 = IS_ERR(__cil_tmp122);
6787 }
6788#line 769
6789 if (tmp___3 != 0L) {
6790 {
6791#line 770
6792 __cil_tmp123 = (unsigned long )dcdc;
6793#line 770
6794 __cil_tmp124 = __cil_tmp123 + 72;
6795#line 770
6796 __cil_tmp125 = *((struct regulator_dev **)__cil_tmp124);
6797#line 770
6798 __cil_tmp126 = (void const *)__cil_tmp125;
6799#line 770
6800 tmp___2 = PTR_ERR(__cil_tmp126);
6801#line 770
6802 ret = (int )tmp___2;
6803#line 771
6804 __cil_tmp127 = (unsigned long )wm831x;
6805#line 771
6806 __cil_tmp128 = __cil_tmp127 + 168;
6807#line 771
6808 __cil_tmp129 = *((struct device **)__cil_tmp128);
6809#line 771
6810 __cil_tmp130 = (struct device const *)__cil_tmp129;
6811#line 771
6812 __cil_tmp131 = id + 1;
6813#line 771
6814 dev_err(__cil_tmp130, "Failed to register DCDC%d: %d\n", __cil_tmp131, ret);
6815 }
6816#line 773
6817 goto err;
6818 } else {
6819
6820 }
6821 {
6822#line 776
6823 irq = platform_get_irq_byname(pdev, "UV");
6824#line 777
6825 __cil_tmp132 = (unsigned int )irq;
6826#line 777
6827 __cil_tmp133 = (irqreturn_t (*)(int , void * ))0;
6828#line 777
6829 __cil_tmp134 = (char (*)[6U])dcdc;
6830#line 777
6831 __cil_tmp135 = (char const *)__cil_tmp134;
6832#line 777
6833 __cil_tmp136 = (void *)dcdc;
6834#line 777
6835 ret = request_threaded_irq(__cil_tmp132, __cil_tmp133, & wm831x_dcdc_uv_irq, 1UL,
6836 __cil_tmp135, __cil_tmp136);
6837 }
6838#line 779
6839 if (ret != 0) {
6840 {
6841#line 780
6842 __cil_tmp137 = (unsigned long )pdev;
6843#line 780
6844 __cil_tmp138 = __cil_tmp137 + 16;
6845#line 780
6846 __cil_tmp139 = (struct device *)__cil_tmp138;
6847#line 780
6848 __cil_tmp140 = (struct device const *)__cil_tmp139;
6849#line 780
6850 dev_err(__cil_tmp140, "Failed to request UV IRQ %d: %d\n", irq, ret);
6851 }
6852#line 782
6853 goto err_regulator;
6854 } else {
6855
6856 }
6857 {
6858#line 785
6859 __cil_tmp141 = (void *)dcdc;
6860#line 785
6861 platform_set_drvdata(pdev, __cil_tmp141);
6862 }
6863#line 787
6864 return (0);
6865 err_regulator:
6866 {
6867#line 790
6868 __cil_tmp142 = (unsigned long )dcdc;
6869#line 790
6870 __cil_tmp143 = __cil_tmp142 + 72;
6871#line 790
6872 __cil_tmp144 = *((struct regulator_dev **)__cil_tmp143);
6873#line 790
6874 regulator_unregister(__cil_tmp144);
6875 }
6876 err: ;
6877#line 792
6878 return (ret);
6879}
6880}
6881#line 795 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6882static int wm831x_buckp_remove(struct platform_device *pdev )
6883{ struct wm831x_dcdc *dcdc ;
6884 void *tmp ;
6885 int tmp___0 ;
6886 struct platform_device const *__cil_tmp5 ;
6887 void *__cil_tmp6 ;
6888 unsigned int __cil_tmp7 ;
6889 void *__cil_tmp8 ;
6890 unsigned long __cil_tmp9 ;
6891 unsigned long __cil_tmp10 ;
6892 struct regulator_dev *__cil_tmp11 ;
6893
6894 {
6895 {
6896#line 797
6897 __cil_tmp5 = (struct platform_device const *)pdev;
6898#line 797
6899 tmp = platform_get_drvdata(__cil_tmp5);
6900#line 797
6901 dcdc = (struct wm831x_dcdc *)tmp;
6902#line 799
6903 __cil_tmp6 = (void *)0;
6904#line 799
6905 platform_set_drvdata(pdev, __cil_tmp6);
6906#line 801
6907 tmp___0 = platform_get_irq_byname(pdev, "UV");
6908#line 801
6909 __cil_tmp7 = (unsigned int )tmp___0;
6910#line 801
6911 __cil_tmp8 = (void *)dcdc;
6912#line 801
6913 free_irq(__cil_tmp7, __cil_tmp8);
6914#line 802
6915 __cil_tmp9 = (unsigned long )dcdc;
6916#line 802
6917 __cil_tmp10 = __cil_tmp9 + 72;
6918#line 802
6919 __cil_tmp11 = *((struct regulator_dev **)__cil_tmp10);
6920#line 802
6921 regulator_unregister(__cil_tmp11);
6922 }
6923#line 804
6924 return (0);
6925}
6926}
6927#line 807 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6928static struct platform_driver wm831x_buckp_driver = {& wm831x_buckp_probe, & wm831x_buckp_remove, (void (*)(struct platform_device * ))0,
6929 (int (*)(struct platform_device * , pm_message_t ))0, (int (*)(struct platform_device * ))0,
6930 {"wm831x-buckp", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
6931 (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
6932 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
6933 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
6934 (struct driver_private *)0}, (struct platform_device_id const *)0};
6935#line 820 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6936static int wm831x_boostp_get_status(struct regulator_dev *rdev )
6937{ struct wm831x_dcdc *dcdc ;
6938 void *tmp ;
6939 struct wm831x *wm831x ;
6940 int ret ;
6941 struct _ddebug descriptor ;
6942 int tmp___0 ;
6943 long tmp___1 ;
6944 int tmp___2 ;
6945 int tmp___3 ;
6946 unsigned long __cil_tmp11 ;
6947 unsigned long __cil_tmp12 ;
6948 int __cil_tmp13 ;
6949 struct _ddebug *__cil_tmp14 ;
6950 unsigned long __cil_tmp15 ;
6951 unsigned long __cil_tmp16 ;
6952 unsigned long __cil_tmp17 ;
6953 unsigned long __cil_tmp18 ;
6954 unsigned long __cil_tmp19 ;
6955 unsigned long __cil_tmp20 ;
6956 unsigned char __cil_tmp21 ;
6957 long __cil_tmp22 ;
6958 long __cil_tmp23 ;
6959 unsigned long __cil_tmp24 ;
6960 unsigned long __cil_tmp25 ;
6961 struct device *__cil_tmp26 ;
6962 struct device const *__cil_tmp27 ;
6963 int __cil_tmp28 ;
6964 int __cil_tmp29 ;
6965
6966 {
6967 {
6968#line 822
6969 tmp = rdev_get_drvdata(rdev);
6970#line 822
6971 dcdc = (struct wm831x_dcdc *)tmp;
6972#line 823
6973 __cil_tmp11 = (unsigned long )dcdc;
6974#line 823
6975 __cil_tmp12 = __cil_tmp11 + 64;
6976#line 823
6977 wm831x = *((struct wm831x **)__cil_tmp12);
6978#line 827
6979 ret = wm831x_reg_read(wm831x, (unsigned short)16468);
6980 }
6981#line 828
6982 if (ret < 0) {
6983#line 829
6984 return (ret);
6985 } else {
6986
6987 }
6988 {
6989#line 831
6990 tmp___2 = rdev_get_id(rdev);
6991 }
6992 {
6993#line 831
6994 __cil_tmp13 = ret >> tmp___2;
6995#line 831
6996 if (__cil_tmp13 & 1) {
6997 {
6998#line 832
6999 __cil_tmp14 = & descriptor;
7000#line 832
7001 *((char const **)__cil_tmp14) = "wm831x_dcdc";
7002#line 832
7003 __cil_tmp15 = (unsigned long )(& descriptor) + 8;
7004#line 832
7005 *((char const **)__cil_tmp15) = "wm831x_boostp_get_status";
7006#line 832
7007 __cil_tmp16 = (unsigned long )(& descriptor) + 16;
7008#line 832
7009 *((char const **)__cil_tmp16) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
7010#line 832
7011 __cil_tmp17 = (unsigned long )(& descriptor) + 24;
7012#line 832
7013 *((char const **)__cil_tmp17) = "DCDC%d under voltage\n";
7014#line 832
7015 __cil_tmp18 = (unsigned long )(& descriptor) + 32;
7016#line 832
7017 *((unsigned int *)__cil_tmp18) = 833U;
7018#line 832
7019 __cil_tmp19 = (unsigned long )(& descriptor) + 35;
7020#line 832
7021 *((unsigned char *)__cil_tmp19) = (unsigned char)1;
7022#line 832
7023 __cil_tmp20 = (unsigned long )(& descriptor) + 35;
7024#line 832
7025 __cil_tmp21 = *((unsigned char *)__cil_tmp20);
7026#line 832
7027 __cil_tmp22 = (long )__cil_tmp21;
7028#line 832
7029 __cil_tmp23 = __cil_tmp22 & 1L;
7030#line 832
7031 tmp___1 = __builtin_expect(__cil_tmp23, 0L);
7032 }
7033#line 832
7034 if (tmp___1 != 0L) {
7035 {
7036#line 832
7037 tmp___0 = rdev_get_id(rdev);
7038#line 832
7039 __cil_tmp24 = (unsigned long )wm831x;
7040#line 832
7041 __cil_tmp25 = __cil_tmp24 + 168;
7042#line 832
7043 __cil_tmp26 = *((struct device **)__cil_tmp25);
7044#line 832
7045 __cil_tmp27 = (struct device const *)__cil_tmp26;
7046#line 832
7047 __cil_tmp28 = tmp___0 + 1;
7048#line 832
7049 __dynamic_dev_dbg(& descriptor, __cil_tmp27, "DCDC%d under voltage\n", __cil_tmp28);
7050 }
7051 } else {
7052
7053 }
7054#line 834
7055 return (2);
7056 } else {
7057
7058 }
7059 }
7060 {
7061#line 838
7062 ret = wm831x_reg_read(wm831x, (unsigned short)16466);
7063 }
7064#line 839
7065 if (ret < 0) {
7066#line 840
7067 return (ret);
7068 } else {
7069
7070 }
7071 {
7072#line 841
7073 tmp___3 = rdev_get_id(rdev);
7074 }
7075 {
7076#line 841
7077 __cil_tmp29 = ret >> tmp___3;
7078#line 841
7079 if (__cil_tmp29 & 1) {
7080#line 842
7081 return (1);
7082 } else {
7083#line 844
7084 return (0);
7085 }
7086 }
7087}
7088}
7089#line 847 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7090static struct regulator_ops wm831x_boostp_ops =
7091#line 847
7092 {(int (*)(struct regulator_dev * , unsigned int ))0, (int (*)(struct regulator_dev * ,
7093 int , int , unsigned int * ))0,
7094 (int (*)(struct regulator_dev * , unsigned int ))0, (int (*)(struct regulator_dev * ))0,
7095 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * , int ,
7096 int ))0, (int (*)(struct regulator_dev * ))0,
7097 & wm831x_dcdc_enable, & wm831x_dcdc_disable, & wm831x_dcdc_is_enabled, (int (*)(struct regulator_dev * ,
7098 unsigned int ))0,
7099 (unsigned int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0,
7100 (int (*)(struct regulator_dev * , unsigned int , unsigned int ))0, & wm831x_boostp_get_status,
7101 (unsigned int (*)(struct regulator_dev * , int , int , int ))0, (int (*)(struct regulator_dev * ,
7102 int ))0,
7103 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ,
7104 unsigned int ))0};
7105#line 855 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7106static int wm831x_boostp_probe(struct platform_device *pdev )
7107{ struct wm831x *wm831x ;
7108 void *tmp ;
7109 struct wm831x_pdata *pdata ;
7110 int id ;
7111 struct wm831x_dcdc *dcdc ;
7112 struct resource *res ;
7113 int ret ;
7114 int irq ;
7115 struct _ddebug descriptor ;
7116 long tmp___0 ;
7117 void *tmp___1 ;
7118 long tmp___2 ;
7119 long tmp___3 ;
7120 unsigned long __cil_tmp15 ;
7121 unsigned long __cil_tmp16 ;
7122 struct device *__cil_tmp17 ;
7123 struct device const *__cil_tmp18 ;
7124 unsigned long __cil_tmp19 ;
7125 unsigned long __cil_tmp20 ;
7126 struct device *__cil_tmp21 ;
7127 unsigned long __cil_tmp22 ;
7128 unsigned long __cil_tmp23 ;
7129 void *__cil_tmp24 ;
7130 unsigned long __cil_tmp25 ;
7131 unsigned long __cil_tmp26 ;
7132 int __cil_tmp27 ;
7133 struct _ddebug *__cil_tmp28 ;
7134 unsigned long __cil_tmp29 ;
7135 unsigned long __cil_tmp30 ;
7136 unsigned long __cil_tmp31 ;
7137 unsigned long __cil_tmp32 ;
7138 unsigned long __cil_tmp33 ;
7139 unsigned long __cil_tmp34 ;
7140 unsigned char __cil_tmp35 ;
7141 long __cil_tmp36 ;
7142 long __cil_tmp37 ;
7143 unsigned long __cil_tmp38 ;
7144 unsigned long __cil_tmp39 ;
7145 struct device *__cil_tmp40 ;
7146 struct device const *__cil_tmp41 ;
7147 int __cil_tmp42 ;
7148 struct wm831x_pdata *__cil_tmp43 ;
7149 unsigned long __cil_tmp44 ;
7150 unsigned long __cil_tmp45 ;
7151 struct regulator_init_data *__cil_tmp46 ;
7152 unsigned long __cil_tmp47 ;
7153 unsigned long __cil_tmp48 ;
7154 unsigned long __cil_tmp49 ;
7155 unsigned long __cil_tmp50 ;
7156 unsigned long __cil_tmp51 ;
7157 struct regulator_init_data *__cil_tmp52 ;
7158 unsigned long __cil_tmp53 ;
7159 struct wm831x_dcdc *__cil_tmp54 ;
7160 unsigned long __cil_tmp55 ;
7161 unsigned long __cil_tmp56 ;
7162 unsigned long __cil_tmp57 ;
7163 unsigned long __cil_tmp58 ;
7164 struct device *__cil_tmp59 ;
7165 struct device const *__cil_tmp60 ;
7166 unsigned long __cil_tmp61 ;
7167 unsigned long __cil_tmp62 ;
7168 struct resource *__cil_tmp63 ;
7169 unsigned long __cil_tmp64 ;
7170 unsigned long __cil_tmp65 ;
7171 unsigned long __cil_tmp66 ;
7172 unsigned long __cil_tmp67 ;
7173 struct device *__cil_tmp68 ;
7174 struct device const *__cil_tmp69 ;
7175 unsigned long __cil_tmp70 ;
7176 unsigned long __cil_tmp71 ;
7177 resource_size_t __cil_tmp72 ;
7178 char (*__cil_tmp73)[6U] ;
7179 char *__cil_tmp74 ;
7180 int __cil_tmp75 ;
7181 unsigned long __cil_tmp76 ;
7182 unsigned long __cil_tmp77 ;
7183 char (*__cil_tmp78)[6U] ;
7184 unsigned long __cil_tmp79 ;
7185 unsigned long __cil_tmp80 ;
7186 unsigned long __cil_tmp81 ;
7187 unsigned long __cil_tmp82 ;
7188 unsigned long __cil_tmp83 ;
7189 unsigned long __cil_tmp84 ;
7190 unsigned long __cil_tmp85 ;
7191 unsigned long __cil_tmp86 ;
7192 unsigned long __cil_tmp87 ;
7193 unsigned long __cil_tmp88 ;
7194 unsigned long __cil_tmp89 ;
7195 unsigned long __cil_tmp90 ;
7196 unsigned long __cil_tmp91 ;
7197 unsigned long __cil_tmp92 ;
7198 unsigned long __cil_tmp93 ;
7199 unsigned long __cil_tmp94 ;
7200 struct regulator_desc *__cil_tmp95 ;
7201 unsigned long __cil_tmp96 ;
7202 unsigned long __cil_tmp97 ;
7203 struct device *__cil_tmp98 ;
7204 unsigned long __cil_tmp99 ;
7205 unsigned long __cil_tmp100 ;
7206 unsigned long __cil_tmp101 ;
7207 unsigned long __cil_tmp102 ;
7208 struct regulator_init_data *__cil_tmp103 ;
7209 struct regulator_init_data const *__cil_tmp104 ;
7210 void *__cil_tmp105 ;
7211 struct device_node *__cil_tmp106 ;
7212 unsigned long __cil_tmp107 ;
7213 unsigned long __cil_tmp108 ;
7214 struct regulator_dev *__cil_tmp109 ;
7215 void const *__cil_tmp110 ;
7216 unsigned long __cil_tmp111 ;
7217 unsigned long __cil_tmp112 ;
7218 struct regulator_dev *__cil_tmp113 ;
7219 void const *__cil_tmp114 ;
7220 unsigned long __cil_tmp115 ;
7221 unsigned long __cil_tmp116 ;
7222 struct device *__cil_tmp117 ;
7223 struct device const *__cil_tmp118 ;
7224 int __cil_tmp119 ;
7225 unsigned int __cil_tmp120 ;
7226 irqreturn_t (*__cil_tmp121)(int , void * ) ;
7227 char (*__cil_tmp122)[6U] ;
7228 char const *__cil_tmp123 ;
7229 void *__cil_tmp124 ;
7230 unsigned long __cil_tmp125 ;
7231 unsigned long __cil_tmp126 ;
7232 struct device *__cil_tmp127 ;
7233 struct device const *__cil_tmp128 ;
7234 void *__cil_tmp129 ;
7235 unsigned long __cil_tmp130 ;
7236 unsigned long __cil_tmp131 ;
7237 struct regulator_dev *__cil_tmp132 ;
7238 void const *__cil_tmp133 ;
7239
7240 {
7241 {
7242#line 857
7243 __cil_tmp15 = (unsigned long )pdev;
7244#line 857
7245 __cil_tmp16 = __cil_tmp15 + 16;
7246#line 857
7247 __cil_tmp17 = *((struct device **)__cil_tmp16);
7248#line 857
7249 __cil_tmp18 = (struct device const *)__cil_tmp17;
7250#line 857
7251 tmp = dev_get_drvdata(__cil_tmp18);
7252#line 857
7253 wm831x = (struct wm831x *)tmp;
7254#line 858
7255 __cil_tmp19 = (unsigned long )wm831x;
7256#line 858
7257 __cil_tmp20 = __cil_tmp19 + 168;
7258#line 858
7259 __cil_tmp21 = *((struct device **)__cil_tmp20);
7260#line 858
7261 __cil_tmp22 = (unsigned long )__cil_tmp21;
7262#line 858
7263 __cil_tmp23 = __cil_tmp22 + 280;
7264#line 858
7265 __cil_tmp24 = *((void **)__cil_tmp23);
7266#line 858
7267 pdata = (struct wm831x_pdata *)__cil_tmp24;
7268#line 859
7269 __cil_tmp25 = (unsigned long )pdev;
7270#line 859
7271 __cil_tmp26 = __cil_tmp25 + 8;
7272#line 859
7273 __cil_tmp27 = *((int *)__cil_tmp26);
7274#line 859
7275 id = __cil_tmp27 & 3;
7276#line 864
7277 __cil_tmp28 = & descriptor;
7278#line 864
7279 *((char const **)__cil_tmp28) = "wm831x_dcdc";
7280#line 864
7281 __cil_tmp29 = (unsigned long )(& descriptor) + 8;
7282#line 864
7283 *((char const **)__cil_tmp29) = "wm831x_boostp_probe";
7284#line 864
7285 __cil_tmp30 = (unsigned long )(& descriptor) + 16;
7286#line 864
7287 *((char const **)__cil_tmp30) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
7288#line 864
7289 __cil_tmp31 = (unsigned long )(& descriptor) + 24;
7290#line 864
7291 *((char const **)__cil_tmp31) = "Probing DCDC%d\n";
7292#line 864
7293 __cil_tmp32 = (unsigned long )(& descriptor) + 32;
7294#line 864
7295 *((unsigned int *)__cil_tmp32) = 864U;
7296#line 864
7297 __cil_tmp33 = (unsigned long )(& descriptor) + 35;
7298#line 864
7299 *((unsigned char *)__cil_tmp33) = (unsigned char)1;
7300#line 864
7301 __cil_tmp34 = (unsigned long )(& descriptor) + 35;
7302#line 864
7303 __cil_tmp35 = *((unsigned char *)__cil_tmp34);
7304#line 864
7305 __cil_tmp36 = (long )__cil_tmp35;
7306#line 864
7307 __cil_tmp37 = __cil_tmp36 & 1L;
7308#line 864
7309 tmp___0 = __builtin_expect(__cil_tmp37, 0L);
7310 }
7311#line 864
7312 if (tmp___0 != 0L) {
7313 {
7314#line 864
7315 __cil_tmp38 = (unsigned long )pdev;
7316#line 864
7317 __cil_tmp39 = __cil_tmp38 + 16;
7318#line 864
7319 __cil_tmp40 = (struct device *)__cil_tmp39;
7320#line 864
7321 __cil_tmp41 = (struct device const *)__cil_tmp40;
7322#line 864
7323 __cil_tmp42 = id + 1;
7324#line 864
7325 __dynamic_dev_dbg(& descriptor, __cil_tmp41, "Probing DCDC%d\n", __cil_tmp42);
7326 }
7327 } else {
7328
7329 }
7330 {
7331#line 866
7332 __cil_tmp43 = (struct wm831x_pdata *)0;
7333#line 866
7334 __cil_tmp44 = (unsigned long )__cil_tmp43;
7335#line 866
7336 __cil_tmp45 = (unsigned long )pdata;
7337#line 866
7338 if (__cil_tmp45 == __cil_tmp44) {
7339#line 867
7340 return (-19);
7341 } else {
7342 {
7343#line 866
7344 __cil_tmp46 = (struct regulator_init_data *)0;
7345#line 866
7346 __cil_tmp47 = (unsigned long )__cil_tmp46;
7347#line 866
7348 __cil_tmp48 = id * 8UL;
7349#line 866
7350 __cil_tmp49 = 160 + __cil_tmp48;
7351#line 866
7352 __cil_tmp50 = (unsigned long )pdata;
7353#line 866
7354 __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
7355#line 866
7356 __cil_tmp52 = *((struct regulator_init_data **)__cil_tmp51);
7357#line 866
7358 __cil_tmp53 = (unsigned long )__cil_tmp52;
7359#line 866
7360 if (__cil_tmp53 == __cil_tmp47) {
7361#line 867
7362 return (-19);
7363 } else {
7364
7365 }
7366 }
7367 }
7368 }
7369 {
7370#line 869
7371 tmp___1 = kzalloc(96UL, 208U);
7372#line 869
7373 dcdc = (struct wm831x_dcdc *)tmp___1;
7374 }
7375 {
7376#line 870
7377 __cil_tmp54 = (struct wm831x_dcdc *)0;
7378#line 870
7379 __cil_tmp55 = (unsigned long )__cil_tmp54;
7380#line 870
7381 __cil_tmp56 = (unsigned long )dcdc;
7382#line 870
7383 if (__cil_tmp56 == __cil_tmp55) {
7384 {
7385#line 871
7386 __cil_tmp57 = (unsigned long )pdev;
7387#line 871
7388 __cil_tmp58 = __cil_tmp57 + 16;
7389#line 871
7390 __cil_tmp59 = (struct device *)__cil_tmp58;
7391#line 871
7392 __cil_tmp60 = (struct device const *)__cil_tmp59;
7393#line 871
7394 dev_err(__cil_tmp60, "Unable to allocate private data\n");
7395 }
7396#line 872
7397 return (-12);
7398 } else {
7399
7400 }
7401 }
7402 {
7403#line 875
7404 __cil_tmp61 = (unsigned long )dcdc;
7405#line 875
7406 __cil_tmp62 = __cil_tmp61 + 64;
7407#line 875
7408 *((struct wm831x **)__cil_tmp62) = wm831x;
7409#line 877
7410 res = platform_get_resource(pdev, 256U, 0U);
7411 }
7412 {
7413#line 878
7414 __cil_tmp63 = (struct resource *)0;
7415#line 878
7416 __cil_tmp64 = (unsigned long )__cil_tmp63;
7417#line 878
7418 __cil_tmp65 = (unsigned long )res;
7419#line 878
7420 if (__cil_tmp65 == __cil_tmp64) {
7421 {
7422#line 879
7423 __cil_tmp66 = (unsigned long )pdev;
7424#line 879
7425 __cil_tmp67 = __cil_tmp66 + 16;
7426#line 879
7427 __cil_tmp68 = (struct device *)__cil_tmp67;
7428#line 879
7429 __cil_tmp69 = (struct device const *)__cil_tmp68;
7430#line 879
7431 dev_err(__cil_tmp69, "No I/O resource\n");
7432#line 880
7433 ret = -22;
7434 }
7435#line 881
7436 goto err;
7437 } else {
7438
7439 }
7440 }
7441 {
7442#line 883
7443 __cil_tmp70 = (unsigned long )dcdc;
7444#line 883
7445 __cil_tmp71 = __cil_tmp70 + 56;
7446#line 883
7447 __cil_tmp72 = *((resource_size_t *)res);
7448#line 883
7449 *((int *)__cil_tmp71) = (int )__cil_tmp72;
7450#line 885
7451 __cil_tmp73 = (char (*)[6U])dcdc;
7452#line 885
7453 __cil_tmp74 = (char *)__cil_tmp73;
7454#line 885
7455 __cil_tmp75 = id + 1;
7456#line 885
7457 snprintf(__cil_tmp74, 6UL, "DCDC%d", __cil_tmp75);
7458#line 886
7459 __cil_tmp76 = (unsigned long )dcdc;
7460#line 886
7461 __cil_tmp77 = __cil_tmp76 + 8;
7462#line 886
7463 __cil_tmp78 = (char (*)[6U])dcdc;
7464#line 886
7465 *((char const **)__cil_tmp77) = (char const *)__cil_tmp78;
7466#line 887
7467 __cil_tmp79 = 8 + 16;
7468#line 887
7469 __cil_tmp80 = (unsigned long )dcdc;
7470#line 887
7471 __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
7472#line 887
7473 *((int *)__cil_tmp81) = id;
7474#line 888
7475 __cil_tmp82 = 8 + 36;
7476#line 888
7477 __cil_tmp83 = (unsigned long )dcdc;
7478#line 888
7479 __cil_tmp84 = __cil_tmp83 + __cil_tmp82;
7480#line 888
7481 *((enum regulator_type *)__cil_tmp84) = (enum regulator_type )0;
7482#line 889
7483 __cil_tmp85 = 8 + 24;
7484#line 889
7485 __cil_tmp86 = (unsigned long )dcdc;
7486#line 889
7487 __cil_tmp87 = __cil_tmp86 + __cil_tmp85;
7488#line 889
7489 *((struct regulator_ops **)__cil_tmp87) = & wm831x_boostp_ops;
7490#line 890
7491 __cil_tmp88 = 8 + 40;
7492#line 890
7493 __cil_tmp89 = (unsigned long )dcdc;
7494#line 890
7495 __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
7496#line 890
7497 *((struct module **)__cil_tmp90) = & __this_module;
7498#line 892
7499 __cil_tmp91 = (unsigned long )dcdc;
7500#line 892
7501 __cil_tmp92 = __cil_tmp91 + 72;
7502#line 892
7503 __cil_tmp93 = (unsigned long )dcdc;
7504#line 892
7505 __cil_tmp94 = __cil_tmp93 + 8;
7506#line 892
7507 __cil_tmp95 = (struct regulator_desc *)__cil_tmp94;
7508#line 892
7509 __cil_tmp96 = (unsigned long )pdev;
7510#line 892
7511 __cil_tmp97 = __cil_tmp96 + 16;
7512#line 892
7513 __cil_tmp98 = (struct device *)__cil_tmp97;
7514#line 892
7515 __cil_tmp99 = id * 8UL;
7516#line 892
7517 __cil_tmp100 = 160 + __cil_tmp99;
7518#line 892
7519 __cil_tmp101 = (unsigned long )pdata;
7520#line 892
7521 __cil_tmp102 = __cil_tmp101 + __cil_tmp100;
7522#line 892
7523 __cil_tmp103 = *((struct regulator_init_data **)__cil_tmp102);
7524#line 892
7525 __cil_tmp104 = (struct regulator_init_data const *)__cil_tmp103;
7526#line 892
7527 __cil_tmp105 = (void *)dcdc;
7528#line 892
7529 __cil_tmp106 = (struct device_node *)0;
7530#line 892
7531 *((struct regulator_dev **)__cil_tmp92) = regulator_register(__cil_tmp95, __cil_tmp98,
7532 __cil_tmp104, __cil_tmp105,
7533 __cil_tmp106);
7534#line 894
7535 __cil_tmp107 = (unsigned long )dcdc;
7536#line 894
7537 __cil_tmp108 = __cil_tmp107 + 72;
7538#line 894
7539 __cil_tmp109 = *((struct regulator_dev **)__cil_tmp108);
7540#line 894
7541 __cil_tmp110 = (void const *)__cil_tmp109;
7542#line 894
7543 tmp___3 = IS_ERR(__cil_tmp110);
7544 }
7545#line 894
7546 if (tmp___3 != 0L) {
7547 {
7548#line 895
7549 __cil_tmp111 = (unsigned long )dcdc;
7550#line 895
7551 __cil_tmp112 = __cil_tmp111 + 72;
7552#line 895
7553 __cil_tmp113 = *((struct regulator_dev **)__cil_tmp112);
7554#line 895
7555 __cil_tmp114 = (void const *)__cil_tmp113;
7556#line 895
7557 tmp___2 = PTR_ERR(__cil_tmp114);
7558#line 895
7559 ret = (int )tmp___2;
7560#line 896
7561 __cil_tmp115 = (unsigned long )wm831x;
7562#line 896
7563 __cil_tmp116 = __cil_tmp115 + 168;
7564#line 896
7565 __cil_tmp117 = *((struct device **)__cil_tmp116);
7566#line 896
7567 __cil_tmp118 = (struct device const *)__cil_tmp117;
7568#line 896
7569 __cil_tmp119 = id + 1;
7570#line 896
7571 dev_err(__cil_tmp118, "Failed to register DCDC%d: %d\n", __cil_tmp119, ret);
7572 }
7573#line 898
7574 goto err;
7575 } else {
7576
7577 }
7578 {
7579#line 901
7580 irq = platform_get_irq_byname(pdev, "UV");
7581#line 902
7582 __cil_tmp120 = (unsigned int )irq;
7583#line 902
7584 __cil_tmp121 = (irqreturn_t (*)(int , void * ))0;
7585#line 902
7586 __cil_tmp122 = (char (*)[6U])dcdc;
7587#line 902
7588 __cil_tmp123 = (char const *)__cil_tmp122;
7589#line 902
7590 __cil_tmp124 = (void *)dcdc;
7591#line 902
7592 ret = request_threaded_irq(__cil_tmp120, __cil_tmp121, & wm831x_dcdc_uv_irq, 1UL,
7593 __cil_tmp123, __cil_tmp124);
7594 }
7595#line 905
7596 if (ret != 0) {
7597 {
7598#line 906
7599 __cil_tmp125 = (unsigned long )pdev;
7600#line 906
7601 __cil_tmp126 = __cil_tmp125 + 16;
7602#line 906
7603 __cil_tmp127 = (struct device *)__cil_tmp126;
7604#line 906
7605 __cil_tmp128 = (struct device const *)__cil_tmp127;
7606#line 906
7607 dev_err(__cil_tmp128, "Failed to request UV IRQ %d: %d\n", irq, ret);
7608 }
7609#line 908
7610 goto err_regulator;
7611 } else {
7612
7613 }
7614 {
7615#line 911
7616 __cil_tmp129 = (void *)dcdc;
7617#line 911
7618 platform_set_drvdata(pdev, __cil_tmp129);
7619 }
7620#line 913
7621 return (0);
7622 err_regulator:
7623 {
7624#line 916
7625 __cil_tmp130 = (unsigned long )dcdc;
7626#line 916
7627 __cil_tmp131 = __cil_tmp130 + 72;
7628#line 916
7629 __cil_tmp132 = *((struct regulator_dev **)__cil_tmp131);
7630#line 916
7631 regulator_unregister(__cil_tmp132);
7632 }
7633 err:
7634 {
7635#line 918
7636 __cil_tmp133 = (void const *)dcdc;
7637#line 918
7638 kfree(__cil_tmp133);
7639 }
7640#line 919
7641 return (ret);
7642}
7643}
7644#line 922 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7645static int wm831x_boostp_remove(struct platform_device *pdev )
7646{ struct wm831x_dcdc *dcdc ;
7647 void *tmp ;
7648 int tmp___0 ;
7649 struct platform_device const *__cil_tmp5 ;
7650 void *__cil_tmp6 ;
7651 unsigned int __cil_tmp7 ;
7652 void *__cil_tmp8 ;
7653 unsigned long __cil_tmp9 ;
7654 unsigned long __cil_tmp10 ;
7655 struct regulator_dev *__cil_tmp11 ;
7656 void const *__cil_tmp12 ;
7657
7658 {
7659 {
7660#line 924
7661 __cil_tmp5 = (struct platform_device const *)pdev;
7662#line 924
7663 tmp = platform_get_drvdata(__cil_tmp5);
7664#line 924
7665 dcdc = (struct wm831x_dcdc *)tmp;
7666#line 926
7667 __cil_tmp6 = (void *)0;
7668#line 926
7669 platform_set_drvdata(pdev, __cil_tmp6);
7670#line 928
7671 tmp___0 = platform_get_irq_byname(pdev, "UV");
7672#line 928
7673 __cil_tmp7 = (unsigned int )tmp___0;
7674#line 928
7675 __cil_tmp8 = (void *)dcdc;
7676#line 928
7677 free_irq(__cil_tmp7, __cil_tmp8);
7678#line 929
7679 __cil_tmp9 = (unsigned long )dcdc;
7680#line 929
7681 __cil_tmp10 = __cil_tmp9 + 72;
7682#line 929
7683 __cil_tmp11 = *((struct regulator_dev **)__cil_tmp10);
7684#line 929
7685 regulator_unregister(__cil_tmp11);
7686#line 930
7687 __cil_tmp12 = (void const *)dcdc;
7688#line 930
7689 kfree(__cil_tmp12);
7690 }
7691#line 932
7692 return (0);
7693}
7694}
7695#line 935 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7696static struct platform_driver wm831x_boostp_driver = {& wm831x_boostp_probe, & wm831x_boostp_remove, (void (*)(struct platform_device * ))0,
7697 (int (*)(struct platform_device * , pm_message_t ))0, (int (*)(struct platform_device * ))0,
7698 {"wm831x-boostp", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
7699 (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
7700 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
7701 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
7702 (struct driver_private *)0}, (struct platform_device_id const *)0};
7703#line 953 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7704static struct regulator_ops wm831x_epe_ops =
7705#line 953
7706 {(int (*)(struct regulator_dev * , unsigned int ))0, (int (*)(struct regulator_dev * ,
7707 int , int , unsigned int * ))0,
7708 (int (*)(struct regulator_dev * , unsigned int ))0, (int (*)(struct regulator_dev * ))0,
7709 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * , int ,
7710 int ))0, (int (*)(struct regulator_dev * ))0,
7711 & wm831x_dcdc_enable, & wm831x_dcdc_disable, & wm831x_dcdc_is_enabled, (int (*)(struct regulator_dev * ,
7712 unsigned int ))0,
7713 (unsigned int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0,
7714 (int (*)(struct regulator_dev * , unsigned int , unsigned int ))0, & wm831x_dcdc_get_status,
7715 (unsigned int (*)(struct regulator_dev * , int , int , int ))0, (int (*)(struct regulator_dev * ,
7716 int ))0,
7717 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ,
7718 unsigned int ))0};
7719#line 960 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7720static int wm831x_epe_probe(struct platform_device *pdev )
7721{ struct wm831x *wm831x ;
7722 void *tmp ;
7723 struct wm831x_pdata *pdata ;
7724 int id ;
7725 struct wm831x_dcdc *dcdc ;
7726 int ret ;
7727 struct _ddebug descriptor ;
7728 long tmp___0 ;
7729 void *tmp___1 ;
7730 long tmp___2 ;
7731 long tmp___3 ;
7732 unsigned long __cil_tmp13 ;
7733 unsigned long __cil_tmp14 ;
7734 struct device *__cil_tmp15 ;
7735 struct device const *__cil_tmp16 ;
7736 unsigned long __cil_tmp17 ;
7737 unsigned long __cil_tmp18 ;
7738 struct device *__cil_tmp19 ;
7739 unsigned long __cil_tmp20 ;
7740 unsigned long __cil_tmp21 ;
7741 void *__cil_tmp22 ;
7742 unsigned long __cil_tmp23 ;
7743 unsigned long __cil_tmp24 ;
7744 int __cil_tmp25 ;
7745 struct _ddebug *__cil_tmp26 ;
7746 unsigned long __cil_tmp27 ;
7747 unsigned long __cil_tmp28 ;
7748 unsigned long __cil_tmp29 ;
7749 unsigned long __cil_tmp30 ;
7750 unsigned long __cil_tmp31 ;
7751 unsigned long __cil_tmp32 ;
7752 unsigned char __cil_tmp33 ;
7753 long __cil_tmp34 ;
7754 long __cil_tmp35 ;
7755 unsigned long __cil_tmp36 ;
7756 unsigned long __cil_tmp37 ;
7757 struct device *__cil_tmp38 ;
7758 struct device const *__cil_tmp39 ;
7759 int __cil_tmp40 ;
7760 struct wm831x_pdata *__cil_tmp41 ;
7761 unsigned long __cil_tmp42 ;
7762 unsigned long __cil_tmp43 ;
7763 struct regulator_init_data *__cil_tmp44 ;
7764 unsigned long __cil_tmp45 ;
7765 unsigned long __cil_tmp46 ;
7766 unsigned long __cil_tmp47 ;
7767 unsigned long __cil_tmp48 ;
7768 unsigned long __cil_tmp49 ;
7769 struct regulator_init_data *__cil_tmp50 ;
7770 unsigned long __cil_tmp51 ;
7771 struct wm831x_dcdc *__cil_tmp52 ;
7772 unsigned long __cil_tmp53 ;
7773 unsigned long __cil_tmp54 ;
7774 unsigned long __cil_tmp55 ;
7775 unsigned long __cil_tmp56 ;
7776 struct device *__cil_tmp57 ;
7777 struct device const *__cil_tmp58 ;
7778 unsigned long __cil_tmp59 ;
7779 unsigned long __cil_tmp60 ;
7780 char (*__cil_tmp61)[6U] ;
7781 char *__cil_tmp62 ;
7782 int __cil_tmp63 ;
7783 unsigned long __cil_tmp64 ;
7784 unsigned long __cil_tmp65 ;
7785 char (*__cil_tmp66)[6U] ;
7786 unsigned long __cil_tmp67 ;
7787 unsigned long __cil_tmp68 ;
7788 unsigned long __cil_tmp69 ;
7789 unsigned long __cil_tmp70 ;
7790 unsigned long __cil_tmp71 ;
7791 unsigned long __cil_tmp72 ;
7792 unsigned long __cil_tmp73 ;
7793 unsigned long __cil_tmp74 ;
7794 unsigned long __cil_tmp75 ;
7795 unsigned long __cil_tmp76 ;
7796 unsigned long __cil_tmp77 ;
7797 unsigned long __cil_tmp78 ;
7798 unsigned long __cil_tmp79 ;
7799 unsigned long __cil_tmp80 ;
7800 unsigned long __cil_tmp81 ;
7801 unsigned long __cil_tmp82 ;
7802 struct regulator_desc *__cil_tmp83 ;
7803 unsigned long __cil_tmp84 ;
7804 unsigned long __cil_tmp85 ;
7805 struct device *__cil_tmp86 ;
7806 unsigned long __cil_tmp87 ;
7807 unsigned long __cil_tmp88 ;
7808 unsigned long __cil_tmp89 ;
7809 unsigned long __cil_tmp90 ;
7810 struct regulator_init_data *__cil_tmp91 ;
7811 struct regulator_init_data const *__cil_tmp92 ;
7812 void *__cil_tmp93 ;
7813 struct device_node *__cil_tmp94 ;
7814 unsigned long __cil_tmp95 ;
7815 unsigned long __cil_tmp96 ;
7816 struct regulator_dev *__cil_tmp97 ;
7817 void const *__cil_tmp98 ;
7818 unsigned long __cil_tmp99 ;
7819 unsigned long __cil_tmp100 ;
7820 struct regulator_dev *__cil_tmp101 ;
7821 void const *__cil_tmp102 ;
7822 unsigned long __cil_tmp103 ;
7823 unsigned long __cil_tmp104 ;
7824 struct device *__cil_tmp105 ;
7825 struct device const *__cil_tmp106 ;
7826 int __cil_tmp107 ;
7827 void *__cil_tmp108 ;
7828 void const *__cil_tmp109 ;
7829
7830 {
7831 {
7832#line 962
7833 __cil_tmp13 = (unsigned long )pdev;
7834#line 962
7835 __cil_tmp14 = __cil_tmp13 + 16;
7836#line 962
7837 __cil_tmp15 = *((struct device **)__cil_tmp14);
7838#line 962
7839 __cil_tmp16 = (struct device const *)__cil_tmp15;
7840#line 962
7841 tmp = dev_get_drvdata(__cil_tmp16);
7842#line 962
7843 wm831x = (struct wm831x *)tmp;
7844#line 963
7845 __cil_tmp17 = (unsigned long )wm831x;
7846#line 963
7847 __cil_tmp18 = __cil_tmp17 + 168;
7848#line 963
7849 __cil_tmp19 = *((struct device **)__cil_tmp18);
7850#line 963
7851 __cil_tmp20 = (unsigned long )__cil_tmp19;
7852#line 963
7853 __cil_tmp21 = __cil_tmp20 + 280;
7854#line 963
7855 __cil_tmp22 = *((void **)__cil_tmp21);
7856#line 963
7857 pdata = (struct wm831x_pdata *)__cil_tmp22;
7858#line 964
7859 __cil_tmp23 = (unsigned long )pdev;
7860#line 964
7861 __cil_tmp24 = __cil_tmp23 + 8;
7862#line 964
7863 __cil_tmp25 = *((int *)__cil_tmp24);
7864#line 964
7865 id = __cil_tmp25 & 1;
7866#line 968
7867 __cil_tmp26 = & descriptor;
7868#line 968
7869 *((char const **)__cil_tmp26) = "wm831x_dcdc";
7870#line 968
7871 __cil_tmp27 = (unsigned long )(& descriptor) + 8;
7872#line 968
7873 *((char const **)__cil_tmp27) = "wm831x_epe_probe";
7874#line 968
7875 __cil_tmp28 = (unsigned long )(& descriptor) + 16;
7876#line 968
7877 *((char const **)__cil_tmp28) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
7878#line 968
7879 __cil_tmp29 = (unsigned long )(& descriptor) + 24;
7880#line 968
7881 *((char const **)__cil_tmp29) = "Probing EPE%d\n";
7882#line 968
7883 __cil_tmp30 = (unsigned long )(& descriptor) + 32;
7884#line 968
7885 *((unsigned int *)__cil_tmp30) = 968U;
7886#line 968
7887 __cil_tmp31 = (unsigned long )(& descriptor) + 35;
7888#line 968
7889 *((unsigned char *)__cil_tmp31) = (unsigned char)1;
7890#line 968
7891 __cil_tmp32 = (unsigned long )(& descriptor) + 35;
7892#line 968
7893 __cil_tmp33 = *((unsigned char *)__cil_tmp32);
7894#line 968
7895 __cil_tmp34 = (long )__cil_tmp33;
7896#line 968
7897 __cil_tmp35 = __cil_tmp34 & 1L;
7898#line 968
7899 tmp___0 = __builtin_expect(__cil_tmp35, 0L);
7900 }
7901#line 968
7902 if (tmp___0 != 0L) {
7903 {
7904#line 968
7905 __cil_tmp36 = (unsigned long )pdev;
7906#line 968
7907 __cil_tmp37 = __cil_tmp36 + 16;
7908#line 968
7909 __cil_tmp38 = (struct device *)__cil_tmp37;
7910#line 968
7911 __cil_tmp39 = (struct device const *)__cil_tmp38;
7912#line 968
7913 __cil_tmp40 = id + 1;
7914#line 968
7915 __dynamic_dev_dbg(& descriptor, __cil_tmp39, "Probing EPE%d\n", __cil_tmp40);
7916 }
7917 } else {
7918
7919 }
7920 {
7921#line 970
7922 __cil_tmp41 = (struct wm831x_pdata *)0;
7923#line 970
7924 __cil_tmp42 = (unsigned long )__cil_tmp41;
7925#line 970
7926 __cil_tmp43 = (unsigned long )pdata;
7927#line 970
7928 if (__cil_tmp43 == __cil_tmp42) {
7929#line 971
7930 return (-19);
7931 } else {
7932 {
7933#line 970
7934 __cil_tmp44 = (struct regulator_init_data *)0;
7935#line 970
7936 __cil_tmp45 = (unsigned long )__cil_tmp44;
7937#line 970
7938 __cil_tmp46 = id * 8UL;
7939#line 970
7940 __cil_tmp47 = 192 + __cil_tmp46;
7941#line 970
7942 __cil_tmp48 = (unsigned long )pdata;
7943#line 970
7944 __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
7945#line 970
7946 __cil_tmp50 = *((struct regulator_init_data **)__cil_tmp49);
7947#line 970
7948 __cil_tmp51 = (unsigned long )__cil_tmp50;
7949#line 970
7950 if (__cil_tmp51 == __cil_tmp45) {
7951#line 971
7952 return (-19);
7953 } else {
7954
7955 }
7956 }
7957 }
7958 }
7959 {
7960#line 973
7961 tmp___1 = kzalloc(96UL, 208U);
7962#line 973
7963 dcdc = (struct wm831x_dcdc *)tmp___1;
7964 }
7965 {
7966#line 974
7967 __cil_tmp52 = (struct wm831x_dcdc *)0;
7968#line 974
7969 __cil_tmp53 = (unsigned long )__cil_tmp52;
7970#line 974
7971 __cil_tmp54 = (unsigned long )dcdc;
7972#line 974
7973 if (__cil_tmp54 == __cil_tmp53) {
7974 {
7975#line 975
7976 __cil_tmp55 = (unsigned long )pdev;
7977#line 975
7978 __cil_tmp56 = __cil_tmp55 + 16;
7979#line 975
7980 __cil_tmp57 = (struct device *)__cil_tmp56;
7981#line 975
7982 __cil_tmp58 = (struct device const *)__cil_tmp57;
7983#line 975
7984 dev_err(__cil_tmp58, "Unable to allocate private data\n");
7985 }
7986#line 976
7987 return (-12);
7988 } else {
7989
7990 }
7991 }
7992 {
7993#line 979
7994 __cil_tmp59 = (unsigned long )dcdc;
7995#line 979
7996 __cil_tmp60 = __cil_tmp59 + 64;
7997#line 979
7998 *((struct wm831x **)__cil_tmp60) = wm831x;
7999#line 984
8000 __cil_tmp61 = (char (*)[6U])dcdc;
8001#line 984
8002 __cil_tmp62 = (char *)__cil_tmp61;
8003#line 984
8004 __cil_tmp63 = id + 1;
8005#line 984
8006 snprintf(__cil_tmp62, 6UL, "EPE%d", __cil_tmp63);
8007#line 985
8008 __cil_tmp64 = (unsigned long )dcdc;
8009#line 985
8010 __cil_tmp65 = __cil_tmp64 + 8;
8011#line 985
8012 __cil_tmp66 = (char (*)[6U])dcdc;
8013#line 985
8014 *((char const **)__cil_tmp65) = (char const *)__cil_tmp66;
8015#line 986
8016 __cil_tmp67 = 8 + 16;
8017#line 986
8018 __cil_tmp68 = (unsigned long )dcdc;
8019#line 986
8020 __cil_tmp69 = __cil_tmp68 + __cil_tmp67;
8021#line 986
8022 *((int *)__cil_tmp69) = id + 6;
8023#line 987
8024 __cil_tmp70 = 8 + 24;
8025#line 987
8026 __cil_tmp71 = (unsigned long )dcdc;
8027#line 987
8028 __cil_tmp72 = __cil_tmp71 + __cil_tmp70;
8029#line 987
8030 *((struct regulator_ops **)__cil_tmp72) = & wm831x_epe_ops;
8031#line 988
8032 __cil_tmp73 = 8 + 36;
8033#line 988
8034 __cil_tmp74 = (unsigned long )dcdc;
8035#line 988
8036 __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
8037#line 988
8038 *((enum regulator_type *)__cil_tmp75) = (enum regulator_type )0;
8039#line 989
8040 __cil_tmp76 = 8 + 40;
8041#line 989
8042 __cil_tmp77 = (unsigned long )dcdc;
8043#line 989
8044 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
8045#line 989
8046 *((struct module **)__cil_tmp78) = & __this_module;
8047#line 991
8048 __cil_tmp79 = (unsigned long )dcdc;
8049#line 991
8050 __cil_tmp80 = __cil_tmp79 + 72;
8051#line 991
8052 __cil_tmp81 = (unsigned long )dcdc;
8053#line 991
8054 __cil_tmp82 = __cil_tmp81 + 8;
8055#line 991
8056 __cil_tmp83 = (struct regulator_desc *)__cil_tmp82;
8057#line 991
8058 __cil_tmp84 = (unsigned long )pdev;
8059#line 991
8060 __cil_tmp85 = __cil_tmp84 + 16;
8061#line 991
8062 __cil_tmp86 = (struct device *)__cil_tmp85;
8063#line 991
8064 __cil_tmp87 = id * 8UL;
8065#line 991
8066 __cil_tmp88 = 192 + __cil_tmp87;
8067#line 991
8068 __cil_tmp89 = (unsigned long )pdata;
8069#line 991
8070 __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
8071#line 991
8072 __cil_tmp91 = *((struct regulator_init_data **)__cil_tmp90);
8073#line 991
8074 __cil_tmp92 = (struct regulator_init_data const *)__cil_tmp91;
8075#line 991
8076 __cil_tmp93 = (void *)dcdc;
8077#line 991
8078 __cil_tmp94 = (struct device_node *)0;
8079#line 991
8080 *((struct regulator_dev **)__cil_tmp80) = regulator_register(__cil_tmp83, __cil_tmp86,
8081 __cil_tmp92, __cil_tmp93,
8082 __cil_tmp94);
8083#line 993
8084 __cil_tmp95 = (unsigned long )dcdc;
8085#line 993
8086 __cil_tmp96 = __cil_tmp95 + 72;
8087#line 993
8088 __cil_tmp97 = *((struct regulator_dev **)__cil_tmp96);
8089#line 993
8090 __cil_tmp98 = (void const *)__cil_tmp97;
8091#line 993
8092 tmp___3 = IS_ERR(__cil_tmp98);
8093 }
8094#line 993
8095 if (tmp___3 != 0L) {
8096 {
8097#line 994
8098 __cil_tmp99 = (unsigned long )dcdc;
8099#line 994
8100 __cil_tmp100 = __cil_tmp99 + 72;
8101#line 994
8102 __cil_tmp101 = *((struct regulator_dev **)__cil_tmp100);
8103#line 994
8104 __cil_tmp102 = (void const *)__cil_tmp101;
8105#line 994
8106 tmp___2 = PTR_ERR(__cil_tmp102);
8107#line 994
8108 ret = (int )tmp___2;
8109#line 995
8110 __cil_tmp103 = (unsigned long )wm831x;
8111#line 995
8112 __cil_tmp104 = __cil_tmp103 + 168;
8113#line 995
8114 __cil_tmp105 = *((struct device **)__cil_tmp104);
8115#line 995
8116 __cil_tmp106 = (struct device const *)__cil_tmp105;
8117#line 995
8118 __cil_tmp107 = id + 1;
8119#line 995
8120 dev_err(__cil_tmp106, "Failed to register EPE%d: %d\n", __cil_tmp107, ret);
8121 }
8122#line 997
8123 goto err;
8124 } else {
8125
8126 }
8127 {
8128#line 1000
8129 __cil_tmp108 = (void *)dcdc;
8130#line 1000
8131 platform_set_drvdata(pdev, __cil_tmp108);
8132 }
8133#line 1002
8134 return (0);
8135 err:
8136 {
8137#line 1005
8138 __cil_tmp109 = (void const *)dcdc;
8139#line 1005
8140 kfree(__cil_tmp109);
8141 }
8142#line 1006
8143 return (ret);
8144}
8145}
8146#line 1009 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8147static int wm831x_epe_remove(struct platform_device *pdev )
8148{ struct wm831x_dcdc *dcdc ;
8149 void *tmp ;
8150 struct platform_device const *__cil_tmp4 ;
8151 void *__cil_tmp5 ;
8152 unsigned long __cil_tmp6 ;
8153 unsigned long __cil_tmp7 ;
8154 struct regulator_dev *__cil_tmp8 ;
8155 void const *__cil_tmp9 ;
8156
8157 {
8158 {
8159#line 1011
8160 __cil_tmp4 = (struct platform_device const *)pdev;
8161#line 1011
8162 tmp = platform_get_drvdata(__cil_tmp4);
8163#line 1011
8164 dcdc = (struct wm831x_dcdc *)tmp;
8165#line 1013
8166 __cil_tmp5 = (void *)0;
8167#line 1013
8168 platform_set_drvdata(pdev, __cil_tmp5);
8169#line 1015
8170 __cil_tmp6 = (unsigned long )dcdc;
8171#line 1015
8172 __cil_tmp7 = __cil_tmp6 + 72;
8173#line 1015
8174 __cil_tmp8 = *((struct regulator_dev **)__cil_tmp7);
8175#line 1015
8176 regulator_unregister(__cil_tmp8);
8177#line 1016
8178 __cil_tmp9 = (void const *)dcdc;
8179#line 1016
8180 kfree(__cil_tmp9);
8181 }
8182#line 1018
8183 return (0);
8184}
8185}
8186#line 1021 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8187static struct platform_driver wm831x_epe_driver = {& wm831x_epe_probe, & wm831x_epe_remove, (void (*)(struct platform_device * ))0,
8188 (int (*)(struct platform_device * , pm_message_t ))0, (int (*)(struct platform_device * ))0,
8189 {"wm831x-epe", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
8190 (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
8191 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
8192 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
8193 (struct driver_private *)0}, (struct platform_device_id const *)0};
8194#line 1030 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8195static int wm831x_dcdc_init(void)
8196{ int ret ;
8197
8198 {
8199 {
8200#line 1033
8201 ret = platform_driver_register(& wm831x_buckv_driver);
8202 }
8203#line 1034
8204 if (ret != 0) {
8205 {
8206#line 1035
8207 printk("<3>Failed to register WM831x BUCKV driver: %d\n", ret);
8208 }
8209 } else {
8210
8211 }
8212 {
8213#line 1037
8214 ret = platform_driver_register(& wm831x_buckp_driver);
8215 }
8216#line 1038
8217 if (ret != 0) {
8218 {
8219#line 1039
8220 printk("<3>Failed to register WM831x BUCKP driver: %d\n", ret);
8221 }
8222 } else {
8223
8224 }
8225 {
8226#line 1041
8227 ret = platform_driver_register(& wm831x_boostp_driver);
8228 }
8229#line 1042
8230 if (ret != 0) {
8231 {
8232#line 1043
8233 printk("<3>Failed to register WM831x BOOST driver: %d\n", ret);
8234 }
8235 } else {
8236
8237 }
8238 {
8239#line 1045
8240 ret = platform_driver_register(& wm831x_epe_driver);
8241 }
8242#line 1046
8243 if (ret != 0) {
8244 {
8245#line 1047
8246 printk("<3>Failed to register WM831x EPE driver: %d\n", ret);
8247 }
8248 } else {
8249
8250 }
8251#line 1049
8252 return (0);
8253}
8254}
8255#line 1053 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8256static void wm831x_dcdc_exit(void)
8257{
8258
8259 {
8260 {
8261#line 1055
8262 platform_driver_unregister(& wm831x_epe_driver);
8263#line 1056
8264 platform_driver_unregister(& wm831x_boostp_driver);
8265#line 1057
8266 platform_driver_unregister(& wm831x_buckp_driver);
8267#line 1058
8268 platform_driver_unregister(& wm831x_buckv_driver);
8269 }
8270#line 1059
8271 return;
8272}
8273}
8274#line 1086
8275extern void ldv_check_final_state(void) ;
8276#line 1089
8277extern void ldv_check_return_value(int ) ;
8278#line 1092
8279extern void ldv_initialize(void) ;
8280#line 1095
8281extern int __VERIFIER_nondet_int(void) ;
8282#line 1098 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8283int LDV_IN_INTERRUPT ;
8284#line 1101 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8285void main(void)
8286{ struct regulator_dev *var_group1 ;
8287 int var_wm831x_buckv_set_voltage_13_p1 ;
8288 int var_wm831x_buckv_set_voltage_13_p2 ;
8289 unsigned int *var_wm831x_buckv_set_voltage_13_p3 ;
8290 unsigned int var_wm831x_buckv_list_voltage_10_p1 ;
8291 int var_wm831x_buckv_set_suspend_voltage_14_p1 ;
8292 int var_wm831x_buckv_set_current_limit_16_p1 ;
8293 int var_wm831x_buckv_set_current_limit_16_p2 ;
8294 unsigned int var_wm831x_dcdc_set_mode_5_p1 ;
8295 unsigned int var_wm831x_dcdc_set_suspend_mode_6_p1 ;
8296 struct platform_device *var_group2 ;
8297 int res_wm831x_buckv_probe_19 ;
8298 int var_wm831x_buckp_set_voltage_23_p1 ;
8299 int var_wm831x_buckp_set_voltage_23_p2 ;
8300 unsigned int *var_wm831x_buckp_set_voltage_23_p3 ;
8301 unsigned int var_wm831x_buckp_list_voltage_21_p1 ;
8302 int var_wm831x_buckp_set_suspend_voltage_24_p1 ;
8303 int res_wm831x_buckp_probe_26 ;
8304 int res_wm831x_boostp_probe_29 ;
8305 int res_wm831x_epe_probe_31 ;
8306 int var_wm831x_dcdc_oc_irq_9_p0 ;
8307 void *var_wm831x_dcdc_oc_irq_9_p1 ;
8308 int var_wm831x_dcdc_uv_irq_8_p0 ;
8309 void *var_wm831x_dcdc_uv_irq_8_p1 ;
8310 int ldv_s_wm831x_buckv_driver_platform_driver ;
8311 int ldv_s_wm831x_buckp_driver_platform_driver ;
8312 int ldv_s_wm831x_boostp_driver_platform_driver ;
8313 int ldv_s_wm831x_epe_driver_platform_driver ;
8314 int tmp ;
8315 int tmp___0 ;
8316 int tmp___1 ;
8317
8318 {
8319 {
8320#line 1894
8321 ldv_s_wm831x_buckv_driver_platform_driver = 0;
8322#line 1898
8323 ldv_s_wm831x_buckp_driver_platform_driver = 0;
8324#line 1902
8325 ldv_s_wm831x_boostp_driver_platform_driver = 0;
8326#line 1906
8327 ldv_s_wm831x_epe_driver_platform_driver = 0;
8328#line 1861
8329 LDV_IN_INTERRUPT = 1;
8330#line 1870
8331 ldv_initialize();
8332#line 1890
8333 tmp = wm831x_dcdc_init();
8334 }
8335#line 1890
8336 if (tmp != 0) {
8337#line 1891
8338 goto ldv_final;
8339 } else {
8340
8341 }
8342#line 1911
8343 goto ldv_24952;
8344 ldv_24951:
8345 {
8346#line 1918
8347 tmp___0 = __VERIFIER_nondet_int();
8348 }
8349#line 1920
8350 if (tmp___0 == 0) {
8351#line 1920
8352 goto case_0;
8353 } else
8354#line 1952
8355 if (tmp___0 == 1) {
8356#line 1952
8357 goto case_1;
8358 } else
8359#line 1984
8360 if (tmp___0 == 2) {
8361#line 1984
8362 goto case_2;
8363 } else
8364#line 2016
8365 if (tmp___0 == 3) {
8366#line 2016
8367 goto case_3;
8368 } else
8369#line 2048
8370 if (tmp___0 == 4) {
8371#line 2048
8372 goto case_4;
8373 } else
8374#line 2080
8375 if (tmp___0 == 5) {
8376#line 2080
8377 goto case_5;
8378 } else
8379#line 2112
8380 if (tmp___0 == 6) {
8381#line 2112
8382 goto case_6;
8383 } else
8384#line 2144
8385 if (tmp___0 == 7) {
8386#line 2144
8387 goto case_7;
8388 } else
8389#line 2176
8390 if (tmp___0 == 8) {
8391#line 2176
8392 goto case_8;
8393 } else
8394#line 2208
8395 if (tmp___0 == 9) {
8396#line 2208
8397 goto case_9;
8398 } else
8399#line 2240
8400 if (tmp___0 == 10) {
8401#line 2240
8402 goto case_10;
8403 } else
8404#line 2272
8405 if (tmp___0 == 11) {
8406#line 2272
8407 goto case_11;
8408 } else
8409#line 2304
8410 if (tmp___0 == 12) {
8411#line 2304
8412 goto case_12;
8413 } else
8414#line 2336
8415 if (tmp___0 == 13) {
8416#line 2336
8417 goto case_13;
8418 } else
8419#line 2371
8420 if (tmp___0 == 14) {
8421#line 2371
8422 goto case_14;
8423 } else
8424#line 2403
8425 if (tmp___0 == 15) {
8426#line 2403
8427 goto case_15;
8428 } else
8429#line 2435
8430 if (tmp___0 == 16) {
8431#line 2435
8432 goto case_16;
8433 } else
8434#line 2467
8435 if (tmp___0 == 17) {
8436#line 2467
8437 goto case_17;
8438 } else
8439#line 2499
8440 if (tmp___0 == 18) {
8441#line 2499
8442 goto case_18;
8443 } else
8444#line 2531
8445 if (tmp___0 == 19) {
8446#line 2531
8447 goto case_19;
8448 } else
8449#line 2563
8450 if (tmp___0 == 20) {
8451#line 2563
8452 goto case_20;
8453 } else
8454#line 2595
8455 if (tmp___0 == 21) {
8456#line 2595
8457 goto case_21;
8458 } else
8459#line 2627
8460 if (tmp___0 == 22) {
8461#line 2627
8462 goto case_22;
8463 } else
8464#line 2659
8465 if (tmp___0 == 23) {
8466#line 2659
8467 goto case_23;
8468 } else
8469#line 2691
8470 if (tmp___0 == 24) {
8471#line 2691
8472 goto case_24;
8473 } else
8474#line 2723
8475 if (tmp___0 == 25) {
8476#line 2723
8477 goto case_25;
8478 } else
8479#line 2758
8480 if (tmp___0 == 26) {
8481#line 2758
8482 goto case_26;
8483 } else
8484#line 2790
8485 if (tmp___0 == 27) {
8486#line 2790
8487 goto case_27;
8488 } else
8489#line 2822
8490 if (tmp___0 == 28) {
8491#line 2822
8492 goto case_28;
8493 } else
8494#line 2854
8495 if (tmp___0 == 29) {
8496#line 2854
8497 goto case_29;
8498 } else
8499#line 2886
8500 if (tmp___0 == 30) {
8501#line 2886
8502 goto case_30;
8503 } else
8504#line 2921
8505 if (tmp___0 == 31) {
8506#line 2921
8507 goto case_31;
8508 } else
8509#line 2953
8510 if (tmp___0 == 32) {
8511#line 2953
8512 goto case_32;
8513 } else
8514#line 2985
8515 if (tmp___0 == 33) {
8516#line 2985
8517 goto case_33;
8518 } else
8519#line 3017
8520 if (tmp___0 == 34) {
8521#line 3017
8522 goto case_34;
8523 } else
8524#line 3049
8525 if (tmp___0 == 35) {
8526#line 3049
8527 goto case_35;
8528 } else
8529#line 3082
8530 if (tmp___0 == 36) {
8531#line 3082
8532 goto case_36;
8533 } else
8534#line 3114
8535 if (tmp___0 == 37) {
8536#line 3114
8537 goto case_37;
8538 } else {
8539 {
8540#line 3146
8541 goto switch_default;
8542#line 1918
8543 if (0) {
8544 case_0:
8545 {
8546#line 1941
8547 wm831x_buckv_set_voltage(var_group1, var_wm831x_buckv_set_voltage_13_p1, var_wm831x_buckv_set_voltage_13_p2,
8548 var_wm831x_buckv_set_voltage_13_p3);
8549 }
8550#line 1951
8551 goto ldv_24911;
8552 case_1:
8553 {
8554#line 1973
8555 wm831x_buckv_get_voltage_sel(var_group1);
8556 }
8557#line 1983
8558 goto ldv_24911;
8559 case_2:
8560 {
8561#line 2005
8562 wm831x_buckv_list_voltage(var_group1, var_wm831x_buckv_list_voltage_10_p1);
8563 }
8564#line 2015
8565 goto ldv_24911;
8566 case_3:
8567 {
8568#line 2037
8569 wm831x_buckv_set_suspend_voltage(var_group1, var_wm831x_buckv_set_suspend_voltage_14_p1);
8570 }
8571#line 2047
8572 goto ldv_24911;
8573 case_4:
8574 {
8575#line 2069
8576 wm831x_buckv_set_current_limit(var_group1, var_wm831x_buckv_set_current_limit_16_p1,
8577 var_wm831x_buckv_set_current_limit_16_p2);
8578 }
8579#line 2079
8580 goto ldv_24911;
8581 case_5:
8582 {
8583#line 2101
8584 wm831x_buckv_get_current_limit(var_group1);
8585 }
8586#line 2111
8587 goto ldv_24911;
8588 case_6:
8589 {
8590#line 2133
8591 wm831x_dcdc_is_enabled(var_group1);
8592 }
8593#line 2143
8594 goto ldv_24911;
8595 case_7:
8596 {
8597#line 2165
8598 wm831x_dcdc_enable(var_group1);
8599 }
8600#line 2175
8601 goto ldv_24911;
8602 case_8:
8603 {
8604#line 2197
8605 wm831x_dcdc_disable(var_group1);
8606 }
8607#line 2207
8608 goto ldv_24911;
8609 case_9:
8610 {
8611#line 2229
8612 wm831x_dcdc_get_status(var_group1);
8613 }
8614#line 2239
8615 goto ldv_24911;
8616 case_10:
8617 {
8618#line 2261
8619 wm831x_dcdc_get_mode(var_group1);
8620 }
8621#line 2271
8622 goto ldv_24911;
8623 case_11:
8624 {
8625#line 2293
8626 wm831x_dcdc_set_mode(var_group1, var_wm831x_dcdc_set_mode_5_p1);
8627 }
8628#line 2303
8629 goto ldv_24911;
8630 case_12:
8631 {
8632#line 2325
8633 wm831x_dcdc_set_suspend_mode(var_group1, var_wm831x_dcdc_set_suspend_mode_6_p1);
8634 }
8635#line 2335
8636 goto ldv_24911;
8637 case_13: ;
8638#line 2339
8639 if (ldv_s_wm831x_buckv_driver_platform_driver == 0) {
8640 {
8641#line 2357
8642 res_wm831x_buckv_probe_19 = wm831x_buckv_probe(var_group2);
8643#line 2358
8644 ldv_check_return_value(res_wm831x_buckv_probe_19);
8645 }
8646#line 2359
8647 if (res_wm831x_buckv_probe_19 != 0) {
8648#line 2360
8649 goto ldv_module_exit;
8650 } else {
8651
8652 }
8653#line 2364
8654 ldv_s_wm831x_buckv_driver_platform_driver = 0;
8655 } else {
8656
8657 }
8658#line 2370
8659 goto ldv_24911;
8660 case_14:
8661 {
8662#line 2392
8663 wm831x_buckp_set_voltage(var_group1, var_wm831x_buckp_set_voltage_23_p1, var_wm831x_buckp_set_voltage_23_p2,
8664 var_wm831x_buckp_set_voltage_23_p3);
8665 }
8666#line 2402
8667 goto ldv_24911;
8668 case_15:
8669 {
8670#line 2424
8671 wm831x_buckp_get_voltage_sel(var_group1);
8672 }
8673#line 2434
8674 goto ldv_24911;
8675 case_16:
8676 {
8677#line 2456
8678 wm831x_buckp_list_voltage(var_group1, var_wm831x_buckp_list_voltage_21_p1);
8679 }
8680#line 2466
8681 goto ldv_24911;
8682 case_17:
8683 {
8684#line 2488
8685 wm831x_buckp_set_suspend_voltage(var_group1, var_wm831x_buckp_set_suspend_voltage_24_p1);
8686 }
8687#line 2498
8688 goto ldv_24911;
8689 case_18:
8690 {
8691#line 2520
8692 wm831x_dcdc_is_enabled(var_group1);
8693 }
8694#line 2530
8695 goto ldv_24911;
8696 case_19:
8697 {
8698#line 2552
8699 wm831x_dcdc_enable(var_group1);
8700 }
8701#line 2562
8702 goto ldv_24911;
8703 case_20:
8704 {
8705#line 2584
8706 wm831x_dcdc_disable(var_group1);
8707 }
8708#line 2594
8709 goto ldv_24911;
8710 case_21:
8711 {
8712#line 2616
8713 wm831x_dcdc_get_status(var_group1);
8714 }
8715#line 2626
8716 goto ldv_24911;
8717 case_22:
8718 {
8719#line 2648
8720 wm831x_dcdc_get_mode(var_group1);
8721 }
8722#line 2658
8723 goto ldv_24911;
8724 case_23:
8725 {
8726#line 2680
8727 wm831x_dcdc_set_mode(var_group1, var_wm831x_dcdc_set_mode_5_p1);
8728 }
8729#line 2690
8730 goto ldv_24911;
8731 case_24:
8732 {
8733#line 2712
8734 wm831x_dcdc_set_suspend_mode(var_group1, var_wm831x_dcdc_set_suspend_mode_6_p1);
8735 }
8736#line 2722
8737 goto ldv_24911;
8738 case_25: ;
8739#line 2726
8740 if (ldv_s_wm831x_buckp_driver_platform_driver == 0) {
8741 {
8742#line 2744
8743 res_wm831x_buckp_probe_26 = wm831x_buckp_probe(var_group2);
8744#line 2745
8745 ldv_check_return_value(res_wm831x_buckp_probe_26);
8746 }
8747#line 2746
8748 if (res_wm831x_buckp_probe_26 != 0) {
8749#line 2747
8750 goto ldv_module_exit;
8751 } else {
8752
8753 }
8754#line 2751
8755 ldv_s_wm831x_buckp_driver_platform_driver = 0;
8756 } else {
8757
8758 }
8759#line 2757
8760 goto ldv_24911;
8761 case_26:
8762 {
8763#line 2779
8764 wm831x_boostp_get_status(var_group1);
8765 }
8766#line 2789
8767 goto ldv_24911;
8768 case_27:
8769 {
8770#line 2811
8771 wm831x_dcdc_is_enabled(var_group1);
8772 }
8773#line 2821
8774 goto ldv_24911;
8775 case_28:
8776 {
8777#line 2843
8778 wm831x_dcdc_enable(var_group1);
8779 }
8780#line 2853
8781 goto ldv_24911;
8782 case_29:
8783 {
8784#line 2875
8785 wm831x_dcdc_disable(var_group1);
8786 }
8787#line 2885
8788 goto ldv_24911;
8789 case_30: ;
8790#line 2889
8791 if (ldv_s_wm831x_boostp_driver_platform_driver == 0) {
8792 {
8793#line 2907
8794 res_wm831x_boostp_probe_29 = wm831x_boostp_probe(var_group2);
8795#line 2908
8796 ldv_check_return_value(res_wm831x_boostp_probe_29);
8797 }
8798#line 2909
8799 if (res_wm831x_boostp_probe_29 != 0) {
8800#line 2910
8801 goto ldv_module_exit;
8802 } else {
8803
8804 }
8805#line 2914
8806 ldv_s_wm831x_boostp_driver_platform_driver = 0;
8807 } else {
8808
8809 }
8810#line 2920
8811 goto ldv_24911;
8812 case_31:
8813 {
8814#line 2942
8815 wm831x_dcdc_is_enabled(var_group1);
8816 }
8817#line 2952
8818 goto ldv_24911;
8819 case_32:
8820 {
8821#line 2974
8822 wm831x_dcdc_enable(var_group1);
8823 }
8824#line 2984
8825 goto ldv_24911;
8826 case_33:
8827 {
8828#line 3006
8829 wm831x_dcdc_disable(var_group1);
8830 }
8831#line 3016
8832 goto ldv_24911;
8833 case_34:
8834 {
8835#line 3038
8836 wm831x_dcdc_get_status(var_group1);
8837 }
8838#line 3048
8839 goto ldv_24911;
8840 case_35: ;
8841#line 3052
8842 if (ldv_s_wm831x_epe_driver_platform_driver == 0) {
8843 {
8844#line 3071
8845 res_wm831x_epe_probe_31 = wm831x_epe_probe(var_group2);
8846#line 3072
8847 ldv_check_return_value(res_wm831x_epe_probe_31);
8848 }
8849#line 3073
8850 if (res_wm831x_epe_probe_31 != 0) {
8851#line 3074
8852 goto ldv_module_exit;
8853 } else {
8854
8855 }
8856#line 3075
8857 ldv_s_wm831x_epe_driver_platform_driver = 0;
8858 } else {
8859
8860 }
8861#line 3081
8862 goto ldv_24911;
8863 case_36:
8864 {
8865#line 3085
8866 LDV_IN_INTERRUPT = 2;
8867#line 3103
8868 wm831x_dcdc_oc_irq(var_wm831x_dcdc_oc_irq_9_p0, var_wm831x_dcdc_oc_irq_9_p1);
8869#line 3107
8870 LDV_IN_INTERRUPT = 1;
8871 }
8872#line 3113
8873 goto ldv_24911;
8874 case_37:
8875 {
8876#line 3117
8877 LDV_IN_INTERRUPT = 2;
8878#line 3135
8879 wm831x_dcdc_uv_irq(var_wm831x_dcdc_uv_irq_8_p0, var_wm831x_dcdc_uv_irq_8_p1);
8880#line 3139
8881 LDV_IN_INTERRUPT = 1;
8882 }
8883#line 3145
8884 goto ldv_24911;
8885 switch_default: ;
8886#line 3146
8887 goto ldv_24911;
8888 } else {
8889 switch_break: ;
8890 }
8891 }
8892 }
8893 ldv_24911: ;
8894 ldv_24952:
8895 {
8896#line 1911
8897 tmp___1 = __VERIFIER_nondet_int();
8898 }
8899#line 1911
8900 if (tmp___1 != 0) {
8901#line 1916
8902 goto ldv_24951;
8903 } else
8904#line 1911
8905 if (ldv_s_wm831x_buckv_driver_platform_driver != 0) {
8906#line 1916
8907 goto ldv_24951;
8908 } else
8909#line 1911
8910 if (ldv_s_wm831x_buckp_driver_platform_driver != 0) {
8911#line 1916
8912 goto ldv_24951;
8913 } else
8914#line 1911
8915 if (ldv_s_wm831x_boostp_driver_platform_driver != 0) {
8916#line 1916
8917 goto ldv_24951;
8918 } else
8919#line 1911
8920 if (ldv_s_wm831x_epe_driver_platform_driver != 0) {
8921#line 1916
8922 goto ldv_24951;
8923 } else {
8924#line 1918
8925 goto ldv_24953;
8926 }
8927 ldv_24953: ;
8928 ldv_module_exit:
8929 {
8930#line 3172
8931 wm831x_dcdc_exit();
8932 }
8933 ldv_final:
8934 {
8935#line 3175
8936 ldv_check_final_state();
8937 }
8938#line 3178
8939 return;
8940}
8941}
8942#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
8943void ldv_blast_assert(void)
8944{
8945
8946 {
8947 ERROR: ;
8948#line 6
8949 goto ERROR;
8950}
8951}
8952#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
8953extern int __VERIFIER_nondet_int(void) ;
8954#line 3199 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8955int ldv_spin = 0;
8956#line 3203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8957void ldv_check_alloc_flags(gfp_t flags )
8958{
8959
8960 {
8961#line 3206
8962 if (ldv_spin != 0) {
8963#line 3206
8964 if (flags != 32U) {
8965 {
8966#line 3206
8967 ldv_blast_assert();
8968 }
8969 } else {
8970
8971 }
8972 } else {
8973
8974 }
8975#line 3209
8976 return;
8977}
8978}
8979#line 3209
8980extern struct page *ldv_some_page(void) ;
8981#line 3212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8982struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
8983{ struct page *tmp ;
8984
8985 {
8986#line 3215
8987 if (ldv_spin != 0) {
8988#line 3215
8989 if (flags != 32U) {
8990 {
8991#line 3215
8992 ldv_blast_assert();
8993 }
8994 } else {
8995
8996 }
8997 } else {
8998
8999 }
9000 {
9001#line 3217
9002 tmp = ldv_some_page();
9003 }
9004#line 3217
9005 return (tmp);
9006}
9007}
9008#line 3221 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9009void ldv_check_alloc_nonatomic(void)
9010{
9011
9012 {
9013#line 3224
9014 if (ldv_spin != 0) {
9015 {
9016#line 3224
9017 ldv_blast_assert();
9018 }
9019 } else {
9020
9021 }
9022#line 3227
9023 return;
9024}
9025}
9026#line 3228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9027void ldv_spin_lock(void)
9028{
9029
9030 {
9031#line 3231
9032 ldv_spin = 1;
9033#line 3232
9034 return;
9035}
9036}
9037#line 3235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9038void ldv_spin_unlock(void)
9039{
9040
9041 {
9042#line 3238
9043 ldv_spin = 0;
9044#line 3239
9045 return;
9046}
9047}
9048#line 3242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9049int ldv_spin_trylock(void)
9050{ int is_lock ;
9051
9052 {
9053 {
9054#line 3247
9055 is_lock = __VERIFIER_nondet_int();
9056 }
9057#line 3249
9058 if (is_lock != 0) {
9059#line 3252
9060 return (0);
9061 } else {
9062#line 3257
9063 ldv_spin = 1;
9064#line 3259
9065 return (1);
9066 }
9067}
9068}
9069#line 3426 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9070void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
9071{
9072
9073 {
9074 {
9075#line 3432
9076 ldv_check_alloc_flags(ldv_func_arg2);
9077#line 3434
9078 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
9079 }
9080#line 3435
9081 return ((void *)0);
9082}
9083}
9084#line 3437 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9085__inline static void *kzalloc(size_t size , gfp_t flags )
9086{ void *tmp ;
9087
9088 {
9089 {
9090#line 3443
9091 ldv_check_alloc_flags(flags);
9092#line 3444
9093 tmp = __VERIFIER_nondet_pointer();
9094 }
9095#line 3444
9096 return (tmp);
9097}
9098}