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 46 "include/linux/dynamic_debug.h"
124struct device;
125#line 46
126struct device;
127#line 57
128struct completion;
129#line 57
130struct completion;
131#line 58
132struct pt_regs;
133#line 58
134struct pt_regs;
135#line 348 "include/linux/kernel.h"
136struct pid;
137#line 348
138struct pid;
139#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
140struct timespec;
141#line 112
142struct timespec;
143#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
144struct page;
145#line 58
146struct page;
147#line 26 "include/asm-generic/getorder.h"
148struct task_struct;
149#line 26
150struct task_struct;
151#line 28
152struct mm_struct;
153#line 28
154struct mm_struct;
155#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
156struct pt_regs {
157 unsigned long r15 ;
158 unsigned long r14 ;
159 unsigned long r13 ;
160 unsigned long r12 ;
161 unsigned long bp ;
162 unsigned long bx ;
163 unsigned long r11 ;
164 unsigned long r10 ;
165 unsigned long r9 ;
166 unsigned long r8 ;
167 unsigned long ax ;
168 unsigned long cx ;
169 unsigned long dx ;
170 unsigned long si ;
171 unsigned long di ;
172 unsigned long orig_ax ;
173 unsigned long ip ;
174 unsigned long cs ;
175 unsigned long flags ;
176 unsigned long sp ;
177 unsigned long ss ;
178};
179#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
180struct __anonstruct_ldv_2180_13 {
181 unsigned int a ;
182 unsigned int b ;
183};
184#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
185struct __anonstruct_ldv_2195_14 {
186 u16 limit0 ;
187 u16 base0 ;
188 unsigned char base1 ;
189 unsigned char type : 4 ;
190 unsigned char s : 1 ;
191 unsigned char dpl : 2 ;
192 unsigned char p : 1 ;
193 unsigned char limit : 4 ;
194 unsigned char avl : 1 ;
195 unsigned char l : 1 ;
196 unsigned char d : 1 ;
197 unsigned char g : 1 ;
198 unsigned char base2 ;
199};
200#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
201union __anonunion_ldv_2196_12 {
202 struct __anonstruct_ldv_2180_13 ldv_2180 ;
203 struct __anonstruct_ldv_2195_14 ldv_2195 ;
204};
205#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
206struct desc_struct {
207 union __anonunion_ldv_2196_12 ldv_2196 ;
208};
209#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
210typedef unsigned long pgdval_t;
211#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
212typedef unsigned long pgprotval_t;
213#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
214struct pgprot {
215 pgprotval_t pgprot ;
216};
217#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
218typedef struct pgprot pgprot_t;
219#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
220struct __anonstruct_pgd_t_16 {
221 pgdval_t pgd ;
222};
223#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
224typedef struct __anonstruct_pgd_t_16 pgd_t;
225#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
226typedef struct page *pgtable_t;
227#line 290
228struct file;
229#line 290
230struct file;
231#line 337
232struct thread_struct;
233#line 337
234struct thread_struct;
235#line 339
236struct cpumask;
237#line 339
238struct cpumask;
239#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
240struct arch_spinlock;
241#line 327
242struct arch_spinlock;
243#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
244struct kernel_vm86_regs {
245 struct pt_regs pt ;
246 unsigned short es ;
247 unsigned short __esh ;
248 unsigned short ds ;
249 unsigned short __dsh ;
250 unsigned short fs ;
251 unsigned short __fsh ;
252 unsigned short gs ;
253 unsigned short __gsh ;
254};
255#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
256union __anonunion_ldv_2824_19 {
257 struct pt_regs *regs ;
258 struct kernel_vm86_regs *vm86 ;
259};
260#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
261struct math_emu_info {
262 long ___orig_eip ;
263 union __anonunion_ldv_2824_19 ldv_2824 ;
264};
265#line 306 "include/linux/bitmap.h"
266struct bug_entry {
267 int bug_addr_disp ;
268 int file_disp ;
269 unsigned short line ;
270 unsigned short flags ;
271};
272#line 89 "include/linux/bug.h"
273struct cpumask {
274 unsigned long bits[64U] ;
275};
276#line 14 "include/linux/cpumask.h"
277typedef struct cpumask cpumask_t;
278#line 637 "include/linux/cpumask.h"
279typedef struct cpumask *cpumask_var_t;
280#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
281struct static_key;
282#line 234
283struct static_key;
284#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
285struct i387_fsave_struct {
286 u32 cwd ;
287 u32 swd ;
288 u32 twd ;
289 u32 fip ;
290 u32 fcs ;
291 u32 foo ;
292 u32 fos ;
293 u32 st_space[20U] ;
294 u32 status ;
295};
296#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
297struct __anonstruct_ldv_5180_24 {
298 u64 rip ;
299 u64 rdp ;
300};
301#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
302struct __anonstruct_ldv_5186_25 {
303 u32 fip ;
304 u32 fcs ;
305 u32 foo ;
306 u32 fos ;
307};
308#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
309union __anonunion_ldv_5187_23 {
310 struct __anonstruct_ldv_5180_24 ldv_5180 ;
311 struct __anonstruct_ldv_5186_25 ldv_5186 ;
312};
313#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
314union __anonunion_ldv_5196_26 {
315 u32 padding1[12U] ;
316 u32 sw_reserved[12U] ;
317};
318#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
319struct i387_fxsave_struct {
320 u16 cwd ;
321 u16 swd ;
322 u16 twd ;
323 u16 fop ;
324 union __anonunion_ldv_5187_23 ldv_5187 ;
325 u32 mxcsr ;
326 u32 mxcsr_mask ;
327 u32 st_space[32U] ;
328 u32 xmm_space[64U] ;
329 u32 padding[12U] ;
330 union __anonunion_ldv_5196_26 ldv_5196 ;
331};
332#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
333struct i387_soft_struct {
334 u32 cwd ;
335 u32 swd ;
336 u32 twd ;
337 u32 fip ;
338 u32 fcs ;
339 u32 foo ;
340 u32 fos ;
341 u32 st_space[20U] ;
342 u8 ftop ;
343 u8 changed ;
344 u8 lookahead ;
345 u8 no_update ;
346 u8 rm ;
347 u8 alimit ;
348 struct math_emu_info *info ;
349 u32 entry_eip ;
350};
351#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
352struct ymmh_struct {
353 u32 ymmh_space[64U] ;
354};
355#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
356struct xsave_hdr_struct {
357 u64 xstate_bv ;
358 u64 reserved1[2U] ;
359 u64 reserved2[5U] ;
360};
361#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
362struct xsave_struct {
363 struct i387_fxsave_struct i387 ;
364 struct xsave_hdr_struct xsave_hdr ;
365 struct ymmh_struct ymmh ;
366};
367#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
368union thread_xstate {
369 struct i387_fsave_struct fsave ;
370 struct i387_fxsave_struct fxsave ;
371 struct i387_soft_struct soft ;
372 struct xsave_struct xsave ;
373};
374#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
375struct fpu {
376 unsigned int last_cpu ;
377 unsigned int has_fpu ;
378 union thread_xstate *state ;
379};
380#line 433
381struct kmem_cache;
382#line 434
383struct perf_event;
384#line 434
385struct perf_event;
386#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
387struct thread_struct {
388 struct desc_struct tls_array[3U] ;
389 unsigned long sp0 ;
390 unsigned long sp ;
391 unsigned long usersp ;
392 unsigned short es ;
393 unsigned short ds ;
394 unsigned short fsindex ;
395 unsigned short gsindex ;
396 unsigned long fs ;
397 unsigned long gs ;
398 struct perf_event *ptrace_bps[4U] ;
399 unsigned long debugreg6 ;
400 unsigned long ptrace_dr7 ;
401 unsigned long cr2 ;
402 unsigned long trap_nr ;
403 unsigned long error_code ;
404 struct fpu fpu ;
405 unsigned long *io_bitmap_ptr ;
406 unsigned long iopl ;
407 unsigned int io_bitmap_max ;
408};
409#line 23 "include/asm-generic/atomic-long.h"
410typedef atomic64_t atomic_long_t;
411#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
412typedef u16 __ticket_t;
413#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
414typedef u32 __ticketpair_t;
415#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
416struct __raw_tickets {
417 __ticket_t head ;
418 __ticket_t tail ;
419};
420#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
421union __anonunion_ldv_5907_29 {
422 __ticketpair_t head_tail ;
423 struct __raw_tickets tickets ;
424};
425#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
426struct arch_spinlock {
427 union __anonunion_ldv_5907_29 ldv_5907 ;
428};
429#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
430typedef struct arch_spinlock arch_spinlock_t;
431#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
432struct lockdep_map;
433#line 34
434struct lockdep_map;
435#line 55 "include/linux/debug_locks.h"
436struct stack_trace {
437 unsigned int nr_entries ;
438 unsigned int max_entries ;
439 unsigned long *entries ;
440 int skip ;
441};
442#line 26 "include/linux/stacktrace.h"
443struct lockdep_subclass_key {
444 char __one_byte ;
445};
446#line 53 "include/linux/lockdep.h"
447struct lock_class_key {
448 struct lockdep_subclass_key subkeys[8U] ;
449};
450#line 59 "include/linux/lockdep.h"
451struct lock_class {
452 struct list_head hash_entry ;
453 struct list_head lock_entry ;
454 struct lockdep_subclass_key *key ;
455 unsigned int subclass ;
456 unsigned int dep_gen_id ;
457 unsigned long usage_mask ;
458 struct stack_trace usage_traces[13U] ;
459 struct list_head locks_after ;
460 struct list_head locks_before ;
461 unsigned int version ;
462 unsigned long ops ;
463 char const *name ;
464 int name_version ;
465 unsigned long contention_point[4U] ;
466 unsigned long contending_point[4U] ;
467};
468#line 144 "include/linux/lockdep.h"
469struct lockdep_map {
470 struct lock_class_key *key ;
471 struct lock_class *class_cache[2U] ;
472 char const *name ;
473 int cpu ;
474 unsigned long ip ;
475};
476#line 187 "include/linux/lockdep.h"
477struct held_lock {
478 u64 prev_chain_key ;
479 unsigned long acquire_ip ;
480 struct lockdep_map *instance ;
481 struct lockdep_map *nest_lock ;
482 u64 waittime_stamp ;
483 u64 holdtime_stamp ;
484 unsigned short class_idx : 13 ;
485 unsigned char irq_context : 2 ;
486 unsigned char trylock : 1 ;
487 unsigned char read : 2 ;
488 unsigned char check : 2 ;
489 unsigned char hardirqs_off : 1 ;
490 unsigned short references : 11 ;
491};
492#line 556 "include/linux/lockdep.h"
493struct raw_spinlock {
494 arch_spinlock_t raw_lock ;
495 unsigned int magic ;
496 unsigned int owner_cpu ;
497 void *owner ;
498 struct lockdep_map dep_map ;
499};
500#line 32 "include/linux/spinlock_types.h"
501typedef struct raw_spinlock raw_spinlock_t;
502#line 33 "include/linux/spinlock_types.h"
503struct __anonstruct_ldv_6122_33 {
504 u8 __padding[24U] ;
505 struct lockdep_map dep_map ;
506};
507#line 33 "include/linux/spinlock_types.h"
508union __anonunion_ldv_6123_32 {
509 struct raw_spinlock rlock ;
510 struct __anonstruct_ldv_6122_33 ldv_6122 ;
511};
512#line 33 "include/linux/spinlock_types.h"
513struct spinlock {
514 union __anonunion_ldv_6123_32 ldv_6123 ;
515};
516#line 76 "include/linux/spinlock_types.h"
517typedef struct spinlock spinlock_t;
518#line 110 "include/linux/seqlock.h"
519struct seqcount {
520 unsigned int sequence ;
521};
522#line 121 "include/linux/seqlock.h"
523typedef struct seqcount seqcount_t;
524#line 254 "include/linux/seqlock.h"
525struct timespec {
526 __kernel_time_t tv_sec ;
527 long tv_nsec ;
528};
529#line 48 "include/linux/wait.h"
530struct __wait_queue_head {
531 spinlock_t lock ;
532 struct list_head task_list ;
533};
534#line 53 "include/linux/wait.h"
535typedef struct __wait_queue_head wait_queue_head_t;
536#line 98 "include/linux/nodemask.h"
537struct __anonstruct_nodemask_t_36 {
538 unsigned long bits[16U] ;
539};
540#line 98 "include/linux/nodemask.h"
541typedef struct __anonstruct_nodemask_t_36 nodemask_t;
542#line 670 "include/linux/mmzone.h"
543struct mutex {
544 atomic_t count ;
545 spinlock_t wait_lock ;
546 struct list_head wait_list ;
547 struct task_struct *owner ;
548 char const *name ;
549 void *magic ;
550 struct lockdep_map dep_map ;
551};
552#line 63 "include/linux/mutex.h"
553struct mutex_waiter {
554 struct list_head list ;
555 struct task_struct *task ;
556 void *magic ;
557};
558#line 171
559struct rw_semaphore;
560#line 171
561struct rw_semaphore;
562#line 172 "include/linux/mutex.h"
563struct rw_semaphore {
564 long count ;
565 raw_spinlock_t wait_lock ;
566 struct list_head wait_list ;
567 struct lockdep_map dep_map ;
568};
569#line 128 "include/linux/rwsem.h"
570struct completion {
571 unsigned int done ;
572 wait_queue_head_t wait ;
573};
574#line 188 "include/linux/rcupdate.h"
575struct notifier_block;
576#line 188
577struct notifier_block;
578#line 239 "include/linux/srcu.h"
579struct notifier_block {
580 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
581 struct notifier_block *next ;
582 int priority ;
583};
584#line 60 "include/linux/notifier.h"
585struct blocking_notifier_head {
586 struct rw_semaphore rwsem ;
587 struct notifier_block *head ;
588};
589#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
590struct resource {
591 resource_size_t start ;
592 resource_size_t end ;
593 char const *name ;
594 unsigned long flags ;
595 struct resource *parent ;
596 struct resource *sibling ;
597 struct resource *child ;
598};
599#line 312 "include/linux/jiffies.h"
600union ktime {
601 s64 tv64 ;
602};
603#line 59 "include/linux/ktime.h"
604typedef union ktime ktime_t;
605#line 341
606struct tvec_base;
607#line 341
608struct tvec_base;
609#line 342 "include/linux/ktime.h"
610struct timer_list {
611 struct list_head entry ;
612 unsigned long expires ;
613 struct tvec_base *base ;
614 void (*function)(unsigned long ) ;
615 unsigned long data ;
616 int slack ;
617 int start_pid ;
618 void *start_site ;
619 char start_comm[16U] ;
620 struct lockdep_map lockdep_map ;
621};
622#line 289 "include/linux/timer.h"
623struct hrtimer;
624#line 289
625struct hrtimer;
626#line 290
627enum hrtimer_restart;
628#line 302
629struct work_struct;
630#line 302
631struct work_struct;
632#line 45 "include/linux/workqueue.h"
633struct work_struct {
634 atomic_long_t data ;
635 struct list_head entry ;
636 void (*func)(struct work_struct * ) ;
637 struct lockdep_map lockdep_map ;
638};
639#line 86 "include/linux/workqueue.h"
640struct delayed_work {
641 struct work_struct work ;
642 struct timer_list timer ;
643};
644#line 46 "include/linux/pm.h"
645struct pm_message {
646 int event ;
647};
648#line 52 "include/linux/pm.h"
649typedef struct pm_message pm_message_t;
650#line 53 "include/linux/pm.h"
651struct dev_pm_ops {
652 int (*prepare)(struct device * ) ;
653 void (*complete)(struct device * ) ;
654 int (*suspend)(struct device * ) ;
655 int (*resume)(struct device * ) ;
656 int (*freeze)(struct device * ) ;
657 int (*thaw)(struct device * ) ;
658 int (*poweroff)(struct device * ) ;
659 int (*restore)(struct device * ) ;
660 int (*suspend_late)(struct device * ) ;
661 int (*resume_early)(struct device * ) ;
662 int (*freeze_late)(struct device * ) ;
663 int (*thaw_early)(struct device * ) ;
664 int (*poweroff_late)(struct device * ) ;
665 int (*restore_early)(struct device * ) ;
666 int (*suspend_noirq)(struct device * ) ;
667 int (*resume_noirq)(struct device * ) ;
668 int (*freeze_noirq)(struct device * ) ;
669 int (*thaw_noirq)(struct device * ) ;
670 int (*poweroff_noirq)(struct device * ) ;
671 int (*restore_noirq)(struct device * ) ;
672 int (*runtime_suspend)(struct device * ) ;
673 int (*runtime_resume)(struct device * ) ;
674 int (*runtime_idle)(struct device * ) ;
675};
676#line 289
677enum rpm_status {
678 RPM_ACTIVE = 0,
679 RPM_RESUMING = 1,
680 RPM_SUSPENDED = 2,
681 RPM_SUSPENDING = 3
682} ;
683#line 296
684enum rpm_request {
685 RPM_REQ_NONE = 0,
686 RPM_REQ_IDLE = 1,
687 RPM_REQ_SUSPEND = 2,
688 RPM_REQ_AUTOSUSPEND = 3,
689 RPM_REQ_RESUME = 4
690} ;
691#line 304
692struct wakeup_source;
693#line 304
694struct wakeup_source;
695#line 494 "include/linux/pm.h"
696struct pm_subsys_data {
697 spinlock_t lock ;
698 unsigned int refcount ;
699};
700#line 499
701struct dev_pm_qos_request;
702#line 499
703struct pm_qos_constraints;
704#line 499 "include/linux/pm.h"
705struct dev_pm_info {
706 pm_message_t power_state ;
707 unsigned char can_wakeup : 1 ;
708 unsigned char async_suspend : 1 ;
709 bool is_prepared ;
710 bool is_suspended ;
711 bool ignore_children ;
712 spinlock_t lock ;
713 struct list_head entry ;
714 struct completion completion ;
715 struct wakeup_source *wakeup ;
716 bool wakeup_path ;
717 struct timer_list suspend_timer ;
718 unsigned long timer_expires ;
719 struct work_struct work ;
720 wait_queue_head_t wait_queue ;
721 atomic_t usage_count ;
722 atomic_t child_count ;
723 unsigned char disable_depth : 3 ;
724 unsigned char idle_notification : 1 ;
725 unsigned char request_pending : 1 ;
726 unsigned char deferred_resume : 1 ;
727 unsigned char run_wake : 1 ;
728 unsigned char runtime_auto : 1 ;
729 unsigned char no_callbacks : 1 ;
730 unsigned char irq_safe : 1 ;
731 unsigned char use_autosuspend : 1 ;
732 unsigned char timer_autosuspends : 1 ;
733 enum rpm_request request ;
734 enum rpm_status runtime_status ;
735 int runtime_error ;
736 int autosuspend_delay ;
737 unsigned long last_busy ;
738 unsigned long active_jiffies ;
739 unsigned long suspended_jiffies ;
740 unsigned long accounting_timestamp ;
741 ktime_t suspend_time ;
742 s64 max_time_suspended_ns ;
743 struct dev_pm_qos_request *pq_req ;
744 struct pm_subsys_data *subsys_data ;
745 struct pm_qos_constraints *constraints ;
746};
747#line 558 "include/linux/pm.h"
748struct dev_pm_domain {
749 struct dev_pm_ops ops ;
750};
751#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
752struct __anonstruct_mm_context_t_101 {
753 void *ldt ;
754 int size ;
755 unsigned short ia32_compat ;
756 struct mutex lock ;
757 void *vdso ;
758};
759#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
760typedef struct __anonstruct_mm_context_t_101 mm_context_t;
761#line 18 "include/asm-generic/pci_iomap.h"
762struct vm_area_struct;
763#line 18
764struct vm_area_struct;
765#line 835 "include/linux/sysctl.h"
766struct rb_node {
767 unsigned long rb_parent_color ;
768 struct rb_node *rb_right ;
769 struct rb_node *rb_left ;
770};
771#line 108 "include/linux/rbtree.h"
772struct rb_root {
773 struct rb_node *rb_node ;
774};
775#line 176
776struct nsproxy;
777#line 176
778struct nsproxy;
779#line 37 "include/linux/kmod.h"
780struct cred;
781#line 37
782struct cred;
783#line 18 "include/linux/elf.h"
784typedef __u64 Elf64_Addr;
785#line 19 "include/linux/elf.h"
786typedef __u16 Elf64_Half;
787#line 23 "include/linux/elf.h"
788typedef __u32 Elf64_Word;
789#line 24 "include/linux/elf.h"
790typedef __u64 Elf64_Xword;
791#line 193 "include/linux/elf.h"
792struct elf64_sym {
793 Elf64_Word st_name ;
794 unsigned char st_info ;
795 unsigned char st_other ;
796 Elf64_Half st_shndx ;
797 Elf64_Addr st_value ;
798 Elf64_Xword st_size ;
799};
800#line 201 "include/linux/elf.h"
801typedef struct elf64_sym Elf64_Sym;
802#line 445
803struct sock;
804#line 445
805struct sock;
806#line 446
807struct kobject;
808#line 446
809struct kobject;
810#line 447
811enum kobj_ns_type {
812 KOBJ_NS_TYPE_NONE = 0,
813 KOBJ_NS_TYPE_NET = 1,
814 KOBJ_NS_TYPES = 2
815} ;
816#line 453 "include/linux/elf.h"
817struct kobj_ns_type_operations {
818 enum kobj_ns_type type ;
819 void *(*grab_current_ns)(void) ;
820 void const *(*netlink_ns)(struct sock * ) ;
821 void const *(*initial_ns)(void) ;
822 void (*drop_ns)(void * ) ;
823};
824#line 57 "include/linux/kobject_ns.h"
825struct attribute {
826 char const *name ;
827 umode_t mode ;
828 struct lock_class_key *key ;
829 struct lock_class_key skey ;
830};
831#line 33 "include/linux/sysfs.h"
832struct attribute_group {
833 char const *name ;
834 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
835 struct attribute **attrs ;
836};
837#line 62 "include/linux/sysfs.h"
838struct bin_attribute {
839 struct attribute attr ;
840 size_t size ;
841 void *private ;
842 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
843 loff_t , size_t ) ;
844 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
845 loff_t , size_t ) ;
846 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
847};
848#line 98 "include/linux/sysfs.h"
849struct sysfs_ops {
850 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
851 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
852 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
853};
854#line 117
855struct sysfs_dirent;
856#line 117
857struct sysfs_dirent;
858#line 182 "include/linux/sysfs.h"
859struct kref {
860 atomic_t refcount ;
861};
862#line 49 "include/linux/kobject.h"
863struct kset;
864#line 49
865struct kobj_type;
866#line 49 "include/linux/kobject.h"
867struct kobject {
868 char const *name ;
869 struct list_head entry ;
870 struct kobject *parent ;
871 struct kset *kset ;
872 struct kobj_type *ktype ;
873 struct sysfs_dirent *sd ;
874 struct kref kref ;
875 unsigned char state_initialized : 1 ;
876 unsigned char state_in_sysfs : 1 ;
877 unsigned char state_add_uevent_sent : 1 ;
878 unsigned char state_remove_uevent_sent : 1 ;
879 unsigned char uevent_suppress : 1 ;
880};
881#line 107 "include/linux/kobject.h"
882struct kobj_type {
883 void (*release)(struct kobject * ) ;
884 struct sysfs_ops const *sysfs_ops ;
885 struct attribute **default_attrs ;
886 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
887 void const *(*namespace)(struct kobject * ) ;
888};
889#line 115 "include/linux/kobject.h"
890struct kobj_uevent_env {
891 char *envp[32U] ;
892 int envp_idx ;
893 char buf[2048U] ;
894 int buflen ;
895};
896#line 122 "include/linux/kobject.h"
897struct kset_uevent_ops {
898 int (* const filter)(struct kset * , struct kobject * ) ;
899 char const *(* const name)(struct kset * , struct kobject * ) ;
900 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
901};
902#line 139 "include/linux/kobject.h"
903struct kset {
904 struct list_head list ;
905 spinlock_t list_lock ;
906 struct kobject kobj ;
907 struct kset_uevent_ops const *uevent_ops ;
908};
909#line 215
910struct kernel_param;
911#line 215
912struct kernel_param;
913#line 216 "include/linux/kobject.h"
914struct kernel_param_ops {
915 int (*set)(char const * , struct kernel_param const * ) ;
916 int (*get)(char * , struct kernel_param const * ) ;
917 void (*free)(void * ) ;
918};
919#line 49 "include/linux/moduleparam.h"
920struct kparam_string;
921#line 49
922struct kparam_array;
923#line 49 "include/linux/moduleparam.h"
924union __anonunion_ldv_13363_134 {
925 void *arg ;
926 struct kparam_string const *str ;
927 struct kparam_array const *arr ;
928};
929#line 49 "include/linux/moduleparam.h"
930struct kernel_param {
931 char const *name ;
932 struct kernel_param_ops const *ops ;
933 u16 perm ;
934 s16 level ;
935 union __anonunion_ldv_13363_134 ldv_13363 ;
936};
937#line 61 "include/linux/moduleparam.h"
938struct kparam_string {
939 unsigned int maxlen ;
940 char *string ;
941};
942#line 67 "include/linux/moduleparam.h"
943struct kparam_array {
944 unsigned int max ;
945 unsigned int elemsize ;
946 unsigned int *num ;
947 struct kernel_param_ops const *ops ;
948 void *elem ;
949};
950#line 458 "include/linux/moduleparam.h"
951struct static_key {
952 atomic_t enabled ;
953};
954#line 225 "include/linux/jump_label.h"
955struct tracepoint;
956#line 225
957struct tracepoint;
958#line 226 "include/linux/jump_label.h"
959struct tracepoint_func {
960 void *func ;
961 void *data ;
962};
963#line 29 "include/linux/tracepoint.h"
964struct tracepoint {
965 char const *name ;
966 struct static_key key ;
967 void (*regfunc)(void) ;
968 void (*unregfunc)(void) ;
969 struct tracepoint_func *funcs ;
970};
971#line 86 "include/linux/tracepoint.h"
972struct kernel_symbol {
973 unsigned long value ;
974 char const *name ;
975};
976#line 27 "include/linux/export.h"
977struct mod_arch_specific {
978
979};
980#line 34 "include/linux/module.h"
981struct module_param_attrs;
982#line 34 "include/linux/module.h"
983struct module_kobject {
984 struct kobject kobj ;
985 struct module *mod ;
986 struct kobject *drivers_dir ;
987 struct module_param_attrs *mp ;
988};
989#line 43 "include/linux/module.h"
990struct module_attribute {
991 struct attribute attr ;
992 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
993 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
994 size_t ) ;
995 void (*setup)(struct module * , char const * ) ;
996 int (*test)(struct module * ) ;
997 void (*free)(struct module * ) ;
998};
999#line 69
1000struct exception_table_entry;
1001#line 69
1002struct exception_table_entry;
1003#line 198
1004enum module_state {
1005 MODULE_STATE_LIVE = 0,
1006 MODULE_STATE_COMING = 1,
1007 MODULE_STATE_GOING = 2
1008} ;
1009#line 204 "include/linux/module.h"
1010struct module_ref {
1011 unsigned long incs ;
1012 unsigned long decs ;
1013};
1014#line 219
1015struct module_sect_attrs;
1016#line 219
1017struct module_notes_attrs;
1018#line 219
1019struct ftrace_event_call;
1020#line 219 "include/linux/module.h"
1021struct module {
1022 enum module_state state ;
1023 struct list_head list ;
1024 char name[56U] ;
1025 struct module_kobject mkobj ;
1026 struct module_attribute *modinfo_attrs ;
1027 char const *version ;
1028 char const *srcversion ;
1029 struct kobject *holders_dir ;
1030 struct kernel_symbol const *syms ;
1031 unsigned long const *crcs ;
1032 unsigned int num_syms ;
1033 struct kernel_param *kp ;
1034 unsigned int num_kp ;
1035 unsigned int num_gpl_syms ;
1036 struct kernel_symbol const *gpl_syms ;
1037 unsigned long const *gpl_crcs ;
1038 struct kernel_symbol const *unused_syms ;
1039 unsigned long const *unused_crcs ;
1040 unsigned int num_unused_syms ;
1041 unsigned int num_unused_gpl_syms ;
1042 struct kernel_symbol const *unused_gpl_syms ;
1043 unsigned long const *unused_gpl_crcs ;
1044 struct kernel_symbol const *gpl_future_syms ;
1045 unsigned long const *gpl_future_crcs ;
1046 unsigned int num_gpl_future_syms ;
1047 unsigned int num_exentries ;
1048 struct exception_table_entry *extable ;
1049 int (*init)(void) ;
1050 void *module_init ;
1051 void *module_core ;
1052 unsigned int init_size ;
1053 unsigned int core_size ;
1054 unsigned int init_text_size ;
1055 unsigned int core_text_size ;
1056 unsigned int init_ro_size ;
1057 unsigned int core_ro_size ;
1058 struct mod_arch_specific arch ;
1059 unsigned int taints ;
1060 unsigned int num_bugs ;
1061 struct list_head bug_list ;
1062 struct bug_entry *bug_table ;
1063 Elf64_Sym *symtab ;
1064 Elf64_Sym *core_symtab ;
1065 unsigned int num_symtab ;
1066 unsigned int core_num_syms ;
1067 char *strtab ;
1068 char *core_strtab ;
1069 struct module_sect_attrs *sect_attrs ;
1070 struct module_notes_attrs *notes_attrs ;
1071 char *args ;
1072 void *percpu ;
1073 unsigned int percpu_size ;
1074 unsigned int num_tracepoints ;
1075 struct tracepoint * const *tracepoints_ptrs ;
1076 unsigned int num_trace_bprintk_fmt ;
1077 char const **trace_bprintk_fmt_start ;
1078 struct ftrace_event_call **trace_events ;
1079 unsigned int num_trace_events ;
1080 struct list_head source_list ;
1081 struct list_head target_list ;
1082 struct task_struct *waiter ;
1083 void (*exit)(void) ;
1084 struct module_ref *refptr ;
1085 ctor_fn_t (**ctors)(void) ;
1086 unsigned int num_ctors ;
1087};
1088#line 88 "include/linux/kmemleak.h"
1089struct kmem_cache_cpu {
1090 void **freelist ;
1091 unsigned long tid ;
1092 struct page *page ;
1093 struct page *partial ;
1094 int node ;
1095 unsigned int stat[26U] ;
1096};
1097#line 55 "include/linux/slub_def.h"
1098struct kmem_cache_node {
1099 spinlock_t list_lock ;
1100 unsigned long nr_partial ;
1101 struct list_head partial ;
1102 atomic_long_t nr_slabs ;
1103 atomic_long_t total_objects ;
1104 struct list_head full ;
1105};
1106#line 66 "include/linux/slub_def.h"
1107struct kmem_cache_order_objects {
1108 unsigned long x ;
1109};
1110#line 76 "include/linux/slub_def.h"
1111struct kmem_cache {
1112 struct kmem_cache_cpu *cpu_slab ;
1113 unsigned long flags ;
1114 unsigned long min_partial ;
1115 int size ;
1116 int objsize ;
1117 int offset ;
1118 int cpu_partial ;
1119 struct kmem_cache_order_objects oo ;
1120 struct kmem_cache_order_objects max ;
1121 struct kmem_cache_order_objects min ;
1122 gfp_t allocflags ;
1123 int refcount ;
1124 void (*ctor)(void * ) ;
1125 int inuse ;
1126 int align ;
1127 int reserved ;
1128 char const *name ;
1129 struct list_head list ;
1130 struct kobject kobj ;
1131 int remote_node_defrag_ratio ;
1132 struct kmem_cache_node *node[1024U] ;
1133};
1134#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
1135struct klist_node;
1136#line 15
1137struct klist_node;
1138#line 37 "include/linux/klist.h"
1139struct klist_node {
1140 void *n_klist ;
1141 struct list_head n_node ;
1142 struct kref n_ref ;
1143};
1144#line 67
1145struct dma_map_ops;
1146#line 67 "include/linux/klist.h"
1147struct dev_archdata {
1148 void *acpi_handle ;
1149 struct dma_map_ops *dma_ops ;
1150 void *iommu ;
1151};
1152#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1153struct pdev_archdata {
1154
1155};
1156#line 17
1157struct device_private;
1158#line 17
1159struct device_private;
1160#line 18
1161struct device_driver;
1162#line 18
1163struct device_driver;
1164#line 19
1165struct driver_private;
1166#line 19
1167struct driver_private;
1168#line 20
1169struct class;
1170#line 20
1171struct class;
1172#line 21
1173struct subsys_private;
1174#line 21
1175struct subsys_private;
1176#line 22
1177struct bus_type;
1178#line 22
1179struct bus_type;
1180#line 23
1181struct device_node;
1182#line 23
1183struct device_node;
1184#line 24
1185struct iommu_ops;
1186#line 24
1187struct iommu_ops;
1188#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1189struct bus_attribute {
1190 struct attribute attr ;
1191 ssize_t (*show)(struct bus_type * , char * ) ;
1192 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1193};
1194#line 51 "include/linux/device.h"
1195struct device_attribute;
1196#line 51
1197struct driver_attribute;
1198#line 51 "include/linux/device.h"
1199struct bus_type {
1200 char const *name ;
1201 char const *dev_name ;
1202 struct device *dev_root ;
1203 struct bus_attribute *bus_attrs ;
1204 struct device_attribute *dev_attrs ;
1205 struct driver_attribute *drv_attrs ;
1206 int (*match)(struct device * , struct device_driver * ) ;
1207 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1208 int (*probe)(struct device * ) ;
1209 int (*remove)(struct device * ) ;
1210 void (*shutdown)(struct device * ) ;
1211 int (*suspend)(struct device * , pm_message_t ) ;
1212 int (*resume)(struct device * ) ;
1213 struct dev_pm_ops const *pm ;
1214 struct iommu_ops *iommu_ops ;
1215 struct subsys_private *p ;
1216};
1217#line 125
1218struct device_type;
1219#line 182
1220struct of_device_id;
1221#line 182 "include/linux/device.h"
1222struct device_driver {
1223 char const *name ;
1224 struct bus_type *bus ;
1225 struct module *owner ;
1226 char const *mod_name ;
1227 bool suppress_bind_attrs ;
1228 struct of_device_id const *of_match_table ;
1229 int (*probe)(struct device * ) ;
1230 int (*remove)(struct device * ) ;
1231 void (*shutdown)(struct device * ) ;
1232 int (*suspend)(struct device * , pm_message_t ) ;
1233 int (*resume)(struct device * ) ;
1234 struct attribute_group const **groups ;
1235 struct dev_pm_ops const *pm ;
1236 struct driver_private *p ;
1237};
1238#line 245 "include/linux/device.h"
1239struct driver_attribute {
1240 struct attribute attr ;
1241 ssize_t (*show)(struct device_driver * , char * ) ;
1242 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1243};
1244#line 299
1245struct class_attribute;
1246#line 299 "include/linux/device.h"
1247struct class {
1248 char const *name ;
1249 struct module *owner ;
1250 struct class_attribute *class_attrs ;
1251 struct device_attribute *dev_attrs ;
1252 struct bin_attribute *dev_bin_attrs ;
1253 struct kobject *dev_kobj ;
1254 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1255 char *(*devnode)(struct device * , umode_t * ) ;
1256 void (*class_release)(struct class * ) ;
1257 void (*dev_release)(struct device * ) ;
1258 int (*suspend)(struct device * , pm_message_t ) ;
1259 int (*resume)(struct device * ) ;
1260 struct kobj_ns_type_operations const *ns_type ;
1261 void const *(*namespace)(struct device * ) ;
1262 struct dev_pm_ops const *pm ;
1263 struct subsys_private *p ;
1264};
1265#line 394 "include/linux/device.h"
1266struct class_attribute {
1267 struct attribute attr ;
1268 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1269 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1270 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1271};
1272#line 447 "include/linux/device.h"
1273struct device_type {
1274 char const *name ;
1275 struct attribute_group const **groups ;
1276 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1277 char *(*devnode)(struct device * , umode_t * ) ;
1278 void (*release)(struct device * ) ;
1279 struct dev_pm_ops const *pm ;
1280};
1281#line 474 "include/linux/device.h"
1282struct device_attribute {
1283 struct attribute attr ;
1284 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1285 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1286 size_t ) ;
1287};
1288#line 557 "include/linux/device.h"
1289struct device_dma_parameters {
1290 unsigned int max_segment_size ;
1291 unsigned long segment_boundary_mask ;
1292};
1293#line 567
1294struct dma_coherent_mem;
1295#line 567 "include/linux/device.h"
1296struct device {
1297 struct device *parent ;
1298 struct device_private *p ;
1299 struct kobject kobj ;
1300 char const *init_name ;
1301 struct device_type const *type ;
1302 struct mutex mutex ;
1303 struct bus_type *bus ;
1304 struct device_driver *driver ;
1305 void *platform_data ;
1306 struct dev_pm_info power ;
1307 struct dev_pm_domain *pm_domain ;
1308 int numa_node ;
1309 u64 *dma_mask ;
1310 u64 coherent_dma_mask ;
1311 struct device_dma_parameters *dma_parms ;
1312 struct list_head dma_pools ;
1313 struct dma_coherent_mem *dma_mem ;
1314 struct dev_archdata archdata ;
1315 struct device_node *of_node ;
1316 dev_t devt ;
1317 u32 id ;
1318 spinlock_t devres_lock ;
1319 struct list_head devres_head ;
1320 struct klist_node knode_class ;
1321 struct class *class ;
1322 struct attribute_group const **groups ;
1323 void (*release)(struct device * ) ;
1324};
1325#line 681 "include/linux/device.h"
1326struct wakeup_source {
1327 char const *name ;
1328 struct list_head entry ;
1329 spinlock_t lock ;
1330 struct timer_list timer ;
1331 unsigned long timer_expires ;
1332 ktime_t total_time ;
1333 ktime_t max_time ;
1334 ktime_t last_time ;
1335 unsigned long event_count ;
1336 unsigned long active_count ;
1337 unsigned long relax_count ;
1338 unsigned long hit_count ;
1339 unsigned char active : 1 ;
1340};
1341#line 991
1342struct regulator;
1343#line 991
1344struct regulator;
1345#line 189 "include/linux/regulator/consumer.h"
1346struct regulator_dev;
1347#line 189
1348struct regulator_dev;
1349#line 190
1350struct regulator_init_data;
1351#line 190
1352struct regulator_init_data;
1353#line 201 "include/linux/regulator/consumer.h"
1354struct regulator_ops {
1355 int (*list_voltage)(struct regulator_dev * , unsigned int ) ;
1356 int (*set_voltage)(struct regulator_dev * , int , int , unsigned int * ) ;
1357 int (*set_voltage_sel)(struct regulator_dev * , unsigned int ) ;
1358 int (*get_voltage)(struct regulator_dev * ) ;
1359 int (*get_voltage_sel)(struct regulator_dev * ) ;
1360 int (*set_current_limit)(struct regulator_dev * , int , int ) ;
1361 int (*get_current_limit)(struct regulator_dev * ) ;
1362 int (*enable)(struct regulator_dev * ) ;
1363 int (*disable)(struct regulator_dev * ) ;
1364 int (*is_enabled)(struct regulator_dev * ) ;
1365 int (*set_mode)(struct regulator_dev * , unsigned int ) ;
1366 unsigned int (*get_mode)(struct regulator_dev * ) ;
1367 int (*enable_time)(struct regulator_dev * ) ;
1368 int (*set_voltage_time_sel)(struct regulator_dev * , unsigned int , unsigned int ) ;
1369 int (*get_status)(struct regulator_dev * ) ;
1370 unsigned int (*get_optimum_mode)(struct regulator_dev * , int , int , int ) ;
1371 int (*set_suspend_voltage)(struct regulator_dev * , int ) ;
1372 int (*set_suspend_enable)(struct regulator_dev * ) ;
1373 int (*set_suspend_disable)(struct regulator_dev * ) ;
1374 int (*set_suspend_mode)(struct regulator_dev * , unsigned int ) ;
1375};
1376#line 141 "include/linux/regulator/driver.h"
1377enum regulator_type {
1378 REGULATOR_VOLTAGE = 0,
1379 REGULATOR_CURRENT = 1
1380} ;
1381#line 146 "include/linux/regulator/driver.h"
1382struct regulator_desc {
1383 char const *name ;
1384 char const *supply_name ;
1385 int id ;
1386 unsigned int n_voltages ;
1387 struct regulator_ops *ops ;
1388 int irq ;
1389 enum regulator_type type ;
1390 struct module *owner ;
1391};
1392#line 175
1393struct regulation_constraints;
1394#line 175
1395struct dentry;
1396#line 175 "include/linux/regulator/driver.h"
1397struct regulator_dev {
1398 struct regulator_desc *desc ;
1399 int exclusive ;
1400 u32 use_count ;
1401 u32 open_count ;
1402 struct list_head list ;
1403 struct list_head consumer_list ;
1404 struct blocking_notifier_head notifier ;
1405 struct mutex mutex ;
1406 struct module *owner ;
1407 struct device dev ;
1408 struct regulation_constraints *constraints ;
1409 struct regulator *supply ;
1410 struct delayed_work disable_work ;
1411 int deferred_disables ;
1412 void *reg_data ;
1413 struct dentry *debugfs ;
1414};
1415#line 93 "include/linux/capability.h"
1416struct kernel_cap_struct {
1417 __u32 cap[2U] ;
1418};
1419#line 96 "include/linux/capability.h"
1420typedef struct kernel_cap_struct kernel_cap_t;
1421#line 104
1422struct user_namespace;
1423#line 104
1424struct user_namespace;
1425#line 554
1426struct prio_tree_node;
1427#line 554 "include/linux/capability.h"
1428struct raw_prio_tree_node {
1429 struct prio_tree_node *left ;
1430 struct prio_tree_node *right ;
1431 struct prio_tree_node *parent ;
1432};
1433#line 19 "include/linux/prio_tree.h"
1434struct prio_tree_node {
1435 struct prio_tree_node *left ;
1436 struct prio_tree_node *right ;
1437 struct prio_tree_node *parent ;
1438 unsigned long start ;
1439 unsigned long last ;
1440};
1441#line 116
1442struct address_space;
1443#line 116
1444struct address_space;
1445#line 117 "include/linux/prio_tree.h"
1446union __anonunion_ldv_15315_137 {
1447 unsigned long index ;
1448 void *freelist ;
1449};
1450#line 117 "include/linux/prio_tree.h"
1451struct __anonstruct_ldv_15325_141 {
1452 unsigned short inuse ;
1453 unsigned short objects : 15 ;
1454 unsigned char frozen : 1 ;
1455};
1456#line 117 "include/linux/prio_tree.h"
1457union __anonunion_ldv_15326_140 {
1458 atomic_t _mapcount ;
1459 struct __anonstruct_ldv_15325_141 ldv_15325 ;
1460};
1461#line 117 "include/linux/prio_tree.h"
1462struct __anonstruct_ldv_15328_139 {
1463 union __anonunion_ldv_15326_140 ldv_15326 ;
1464 atomic_t _count ;
1465};
1466#line 117 "include/linux/prio_tree.h"
1467union __anonunion_ldv_15329_138 {
1468 unsigned long counters ;
1469 struct __anonstruct_ldv_15328_139 ldv_15328 ;
1470};
1471#line 117 "include/linux/prio_tree.h"
1472struct __anonstruct_ldv_15330_136 {
1473 union __anonunion_ldv_15315_137 ldv_15315 ;
1474 union __anonunion_ldv_15329_138 ldv_15329 ;
1475};
1476#line 117 "include/linux/prio_tree.h"
1477struct __anonstruct_ldv_15337_143 {
1478 struct page *next ;
1479 int pages ;
1480 int pobjects ;
1481};
1482#line 117 "include/linux/prio_tree.h"
1483union __anonunion_ldv_15338_142 {
1484 struct list_head lru ;
1485 struct __anonstruct_ldv_15337_143 ldv_15337 ;
1486};
1487#line 117 "include/linux/prio_tree.h"
1488union __anonunion_ldv_15343_144 {
1489 unsigned long private ;
1490 struct kmem_cache *slab ;
1491 struct page *first_page ;
1492};
1493#line 117 "include/linux/prio_tree.h"
1494struct page {
1495 unsigned long flags ;
1496 struct address_space *mapping ;
1497 struct __anonstruct_ldv_15330_136 ldv_15330 ;
1498 union __anonunion_ldv_15338_142 ldv_15338 ;
1499 union __anonunion_ldv_15343_144 ldv_15343 ;
1500 unsigned long debug_flags ;
1501};
1502#line 192 "include/linux/mm_types.h"
1503struct __anonstruct_vm_set_146 {
1504 struct list_head list ;
1505 void *parent ;
1506 struct vm_area_struct *head ;
1507};
1508#line 192 "include/linux/mm_types.h"
1509union __anonunion_shared_145 {
1510 struct __anonstruct_vm_set_146 vm_set ;
1511 struct raw_prio_tree_node prio_tree_node ;
1512};
1513#line 192
1514struct anon_vma;
1515#line 192
1516struct vm_operations_struct;
1517#line 192
1518struct mempolicy;
1519#line 192 "include/linux/mm_types.h"
1520struct vm_area_struct {
1521 struct mm_struct *vm_mm ;
1522 unsigned long vm_start ;
1523 unsigned long vm_end ;
1524 struct vm_area_struct *vm_next ;
1525 struct vm_area_struct *vm_prev ;
1526 pgprot_t vm_page_prot ;
1527 unsigned long vm_flags ;
1528 struct rb_node vm_rb ;
1529 union __anonunion_shared_145 shared ;
1530 struct list_head anon_vma_chain ;
1531 struct anon_vma *anon_vma ;
1532 struct vm_operations_struct const *vm_ops ;
1533 unsigned long vm_pgoff ;
1534 struct file *vm_file ;
1535 void *vm_private_data ;
1536 struct mempolicy *vm_policy ;
1537};
1538#line 255 "include/linux/mm_types.h"
1539struct core_thread {
1540 struct task_struct *task ;
1541 struct core_thread *next ;
1542};
1543#line 261 "include/linux/mm_types.h"
1544struct core_state {
1545 atomic_t nr_threads ;
1546 struct core_thread dumper ;
1547 struct completion startup ;
1548};
1549#line 274 "include/linux/mm_types.h"
1550struct mm_rss_stat {
1551 atomic_long_t count[3U] ;
1552};
1553#line 287
1554struct linux_binfmt;
1555#line 287
1556struct mmu_notifier_mm;
1557#line 287 "include/linux/mm_types.h"
1558struct mm_struct {
1559 struct vm_area_struct *mmap ;
1560 struct rb_root mm_rb ;
1561 struct vm_area_struct *mmap_cache ;
1562 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1563 unsigned long , unsigned long ) ;
1564 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1565 unsigned long mmap_base ;
1566 unsigned long task_size ;
1567 unsigned long cached_hole_size ;
1568 unsigned long free_area_cache ;
1569 pgd_t *pgd ;
1570 atomic_t mm_users ;
1571 atomic_t mm_count ;
1572 int map_count ;
1573 spinlock_t page_table_lock ;
1574 struct rw_semaphore mmap_sem ;
1575 struct list_head mmlist ;
1576 unsigned long hiwater_rss ;
1577 unsigned long hiwater_vm ;
1578 unsigned long total_vm ;
1579 unsigned long locked_vm ;
1580 unsigned long pinned_vm ;
1581 unsigned long shared_vm ;
1582 unsigned long exec_vm ;
1583 unsigned long stack_vm ;
1584 unsigned long reserved_vm ;
1585 unsigned long def_flags ;
1586 unsigned long nr_ptes ;
1587 unsigned long start_code ;
1588 unsigned long end_code ;
1589 unsigned long start_data ;
1590 unsigned long end_data ;
1591 unsigned long start_brk ;
1592 unsigned long brk ;
1593 unsigned long start_stack ;
1594 unsigned long arg_start ;
1595 unsigned long arg_end ;
1596 unsigned long env_start ;
1597 unsigned long env_end ;
1598 unsigned long saved_auxv[44U] ;
1599 struct mm_rss_stat rss_stat ;
1600 struct linux_binfmt *binfmt ;
1601 cpumask_var_t cpu_vm_mask_var ;
1602 mm_context_t context ;
1603 unsigned int faultstamp ;
1604 unsigned int token_priority ;
1605 unsigned int last_interval ;
1606 unsigned long flags ;
1607 struct core_state *core_state ;
1608 spinlock_t ioctx_lock ;
1609 struct hlist_head ioctx_list ;
1610 struct task_struct *owner ;
1611 struct file *exe_file ;
1612 unsigned long num_exe_file_vmas ;
1613 struct mmu_notifier_mm *mmu_notifier_mm ;
1614 pgtable_t pmd_huge_pte ;
1615 struct cpumask cpumask_allocation ;
1616};
1617#line 7 "include/asm-generic/cputime.h"
1618typedef unsigned long cputime_t;
1619#line 98 "include/linux/sem.h"
1620struct sem_undo_list;
1621#line 98 "include/linux/sem.h"
1622struct sysv_sem {
1623 struct sem_undo_list *undo_list ;
1624};
1625#line 107
1626struct siginfo;
1627#line 107
1628struct siginfo;
1629#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1630struct __anonstruct_sigset_t_147 {
1631 unsigned long sig[1U] ;
1632};
1633#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1634typedef struct __anonstruct_sigset_t_147 sigset_t;
1635#line 17 "include/asm-generic/signal-defs.h"
1636typedef void __signalfn_t(int );
1637#line 18 "include/asm-generic/signal-defs.h"
1638typedef __signalfn_t *__sighandler_t;
1639#line 20 "include/asm-generic/signal-defs.h"
1640typedef void __restorefn_t(void);
1641#line 21 "include/asm-generic/signal-defs.h"
1642typedef __restorefn_t *__sigrestore_t;
1643#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1644struct sigaction {
1645 __sighandler_t sa_handler ;
1646 unsigned long sa_flags ;
1647 __sigrestore_t sa_restorer ;
1648 sigset_t sa_mask ;
1649};
1650#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1651struct k_sigaction {
1652 struct sigaction sa ;
1653};
1654#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1655union sigval {
1656 int sival_int ;
1657 void *sival_ptr ;
1658};
1659#line 10 "include/asm-generic/siginfo.h"
1660typedef union sigval sigval_t;
1661#line 11 "include/asm-generic/siginfo.h"
1662struct __anonstruct__kill_149 {
1663 __kernel_pid_t _pid ;
1664 __kernel_uid32_t _uid ;
1665};
1666#line 11 "include/asm-generic/siginfo.h"
1667struct __anonstruct__timer_150 {
1668 __kernel_timer_t _tid ;
1669 int _overrun ;
1670 char _pad[0U] ;
1671 sigval_t _sigval ;
1672 int _sys_private ;
1673};
1674#line 11 "include/asm-generic/siginfo.h"
1675struct __anonstruct__rt_151 {
1676 __kernel_pid_t _pid ;
1677 __kernel_uid32_t _uid ;
1678 sigval_t _sigval ;
1679};
1680#line 11 "include/asm-generic/siginfo.h"
1681struct __anonstruct__sigchld_152 {
1682 __kernel_pid_t _pid ;
1683 __kernel_uid32_t _uid ;
1684 int _status ;
1685 __kernel_clock_t _utime ;
1686 __kernel_clock_t _stime ;
1687};
1688#line 11 "include/asm-generic/siginfo.h"
1689struct __anonstruct__sigfault_153 {
1690 void *_addr ;
1691 short _addr_lsb ;
1692};
1693#line 11 "include/asm-generic/siginfo.h"
1694struct __anonstruct__sigpoll_154 {
1695 long _band ;
1696 int _fd ;
1697};
1698#line 11 "include/asm-generic/siginfo.h"
1699union __anonunion__sifields_148 {
1700 int _pad[28U] ;
1701 struct __anonstruct__kill_149 _kill ;
1702 struct __anonstruct__timer_150 _timer ;
1703 struct __anonstruct__rt_151 _rt ;
1704 struct __anonstruct__sigchld_152 _sigchld ;
1705 struct __anonstruct__sigfault_153 _sigfault ;
1706 struct __anonstruct__sigpoll_154 _sigpoll ;
1707};
1708#line 11 "include/asm-generic/siginfo.h"
1709struct siginfo {
1710 int si_signo ;
1711 int si_errno ;
1712 int si_code ;
1713 union __anonunion__sifields_148 _sifields ;
1714};
1715#line 102 "include/asm-generic/siginfo.h"
1716typedef struct siginfo siginfo_t;
1717#line 14 "include/linux/signal.h"
1718struct user_struct;
1719#line 24 "include/linux/signal.h"
1720struct sigpending {
1721 struct list_head list ;
1722 sigset_t signal ;
1723};
1724#line 395
1725struct pid_namespace;
1726#line 395 "include/linux/signal.h"
1727struct upid {
1728 int nr ;
1729 struct pid_namespace *ns ;
1730 struct hlist_node pid_chain ;
1731};
1732#line 56 "include/linux/pid.h"
1733struct pid {
1734 atomic_t count ;
1735 unsigned int level ;
1736 struct hlist_head tasks[3U] ;
1737 struct rcu_head rcu ;
1738 struct upid numbers[1U] ;
1739};
1740#line 68 "include/linux/pid.h"
1741struct pid_link {
1742 struct hlist_node node ;
1743 struct pid *pid ;
1744};
1745#line 10 "include/linux/seccomp.h"
1746struct __anonstruct_seccomp_t_157 {
1747 int mode ;
1748};
1749#line 10 "include/linux/seccomp.h"
1750typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1751#line 427 "include/linux/rculist.h"
1752struct plist_head {
1753 struct list_head node_list ;
1754};
1755#line 84 "include/linux/plist.h"
1756struct plist_node {
1757 int prio ;
1758 struct list_head prio_list ;
1759 struct list_head node_list ;
1760};
1761#line 38 "include/linux/rtmutex.h"
1762struct rt_mutex_waiter;
1763#line 38
1764struct rt_mutex_waiter;
1765#line 41 "include/linux/resource.h"
1766struct rlimit {
1767 unsigned long rlim_cur ;
1768 unsigned long rlim_max ;
1769};
1770#line 85 "include/linux/resource.h"
1771struct timerqueue_node {
1772 struct rb_node node ;
1773 ktime_t expires ;
1774};
1775#line 12 "include/linux/timerqueue.h"
1776struct timerqueue_head {
1777 struct rb_root head ;
1778 struct timerqueue_node *next ;
1779};
1780#line 50
1781struct hrtimer_clock_base;
1782#line 50
1783struct hrtimer_clock_base;
1784#line 51
1785struct hrtimer_cpu_base;
1786#line 51
1787struct hrtimer_cpu_base;
1788#line 60
1789enum hrtimer_restart {
1790 HRTIMER_NORESTART = 0,
1791 HRTIMER_RESTART = 1
1792} ;
1793#line 65 "include/linux/timerqueue.h"
1794struct hrtimer {
1795 struct timerqueue_node node ;
1796 ktime_t _softexpires ;
1797 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1798 struct hrtimer_clock_base *base ;
1799 unsigned long state ;
1800 int start_pid ;
1801 void *start_site ;
1802 char start_comm[16U] ;
1803};
1804#line 132 "include/linux/hrtimer.h"
1805struct hrtimer_clock_base {
1806 struct hrtimer_cpu_base *cpu_base ;
1807 int index ;
1808 clockid_t clockid ;
1809 struct timerqueue_head active ;
1810 ktime_t resolution ;
1811 ktime_t (*get_time)(void) ;
1812 ktime_t softirq_time ;
1813 ktime_t offset ;
1814};
1815#line 162 "include/linux/hrtimer.h"
1816struct hrtimer_cpu_base {
1817 raw_spinlock_t lock ;
1818 unsigned long active_bases ;
1819 ktime_t expires_next ;
1820 int hres_active ;
1821 int hang_detected ;
1822 unsigned long nr_events ;
1823 unsigned long nr_retries ;
1824 unsigned long nr_hangs ;
1825 ktime_t max_hang_time ;
1826 struct hrtimer_clock_base clock_base[3U] ;
1827};
1828#line 452 "include/linux/hrtimer.h"
1829struct task_io_accounting {
1830 u64 rchar ;
1831 u64 wchar ;
1832 u64 syscr ;
1833 u64 syscw ;
1834 u64 read_bytes ;
1835 u64 write_bytes ;
1836 u64 cancelled_write_bytes ;
1837};
1838#line 45 "include/linux/task_io_accounting.h"
1839struct latency_record {
1840 unsigned long backtrace[12U] ;
1841 unsigned int count ;
1842 unsigned long time ;
1843 unsigned long max ;
1844};
1845#line 29 "include/linux/key.h"
1846typedef int32_t key_serial_t;
1847#line 32 "include/linux/key.h"
1848typedef uint32_t key_perm_t;
1849#line 33
1850struct key;
1851#line 33
1852struct key;
1853#line 34
1854struct signal_struct;
1855#line 34
1856struct signal_struct;
1857#line 35
1858struct key_type;
1859#line 35
1860struct key_type;
1861#line 37
1862struct keyring_list;
1863#line 37
1864struct keyring_list;
1865#line 115
1866struct key_user;
1867#line 115 "include/linux/key.h"
1868union __anonunion_ldv_16579_158 {
1869 time_t expiry ;
1870 time_t revoked_at ;
1871};
1872#line 115 "include/linux/key.h"
1873union __anonunion_type_data_159 {
1874 struct list_head link ;
1875 unsigned long x[2U] ;
1876 void *p[2U] ;
1877 int reject_error ;
1878};
1879#line 115 "include/linux/key.h"
1880union __anonunion_payload_160 {
1881 unsigned long value ;
1882 void *rcudata ;
1883 void *data ;
1884 struct keyring_list *subscriptions ;
1885};
1886#line 115 "include/linux/key.h"
1887struct key {
1888 atomic_t usage ;
1889 key_serial_t serial ;
1890 struct rb_node serial_node ;
1891 struct key_type *type ;
1892 struct rw_semaphore sem ;
1893 struct key_user *user ;
1894 void *security ;
1895 union __anonunion_ldv_16579_158 ldv_16579 ;
1896 uid_t uid ;
1897 gid_t gid ;
1898 key_perm_t perm ;
1899 unsigned short quotalen ;
1900 unsigned short datalen ;
1901 unsigned long flags ;
1902 char *description ;
1903 union __anonunion_type_data_159 type_data ;
1904 union __anonunion_payload_160 payload ;
1905};
1906#line 316
1907struct audit_context;
1908#line 316
1909struct audit_context;
1910#line 28 "include/linux/selinux.h"
1911struct group_info {
1912 atomic_t usage ;
1913 int ngroups ;
1914 int nblocks ;
1915 gid_t small_block[32U] ;
1916 gid_t *blocks[0U] ;
1917};
1918#line 77 "include/linux/cred.h"
1919struct thread_group_cred {
1920 atomic_t usage ;
1921 pid_t tgid ;
1922 spinlock_t lock ;
1923 struct key *session_keyring ;
1924 struct key *process_keyring ;
1925 struct rcu_head rcu ;
1926};
1927#line 91 "include/linux/cred.h"
1928struct cred {
1929 atomic_t usage ;
1930 atomic_t subscribers ;
1931 void *put_addr ;
1932 unsigned int magic ;
1933 uid_t uid ;
1934 gid_t gid ;
1935 uid_t suid ;
1936 gid_t sgid ;
1937 uid_t euid ;
1938 gid_t egid ;
1939 uid_t fsuid ;
1940 gid_t fsgid ;
1941 unsigned int securebits ;
1942 kernel_cap_t cap_inheritable ;
1943 kernel_cap_t cap_permitted ;
1944 kernel_cap_t cap_effective ;
1945 kernel_cap_t cap_bset ;
1946 unsigned char jit_keyring ;
1947 struct key *thread_keyring ;
1948 struct key *request_key_auth ;
1949 struct thread_group_cred *tgcred ;
1950 void *security ;
1951 struct user_struct *user ;
1952 struct user_namespace *user_ns ;
1953 struct group_info *group_info ;
1954 struct rcu_head rcu ;
1955};
1956#line 264
1957struct llist_node;
1958#line 64 "include/linux/llist.h"
1959struct llist_node {
1960 struct llist_node *next ;
1961};
1962#line 185
1963struct futex_pi_state;
1964#line 185
1965struct futex_pi_state;
1966#line 186
1967struct robust_list_head;
1968#line 186
1969struct robust_list_head;
1970#line 187
1971struct bio_list;
1972#line 187
1973struct bio_list;
1974#line 188
1975struct fs_struct;
1976#line 188
1977struct fs_struct;
1978#line 189
1979struct perf_event_context;
1980#line 189
1981struct perf_event_context;
1982#line 190
1983struct blk_plug;
1984#line 190
1985struct blk_plug;
1986#line 149 "include/linux/sched.h"
1987struct cfs_rq;
1988#line 149
1989struct cfs_rq;
1990#line 406 "include/linux/sched.h"
1991struct sighand_struct {
1992 atomic_t count ;
1993 struct k_sigaction action[64U] ;
1994 spinlock_t siglock ;
1995 wait_queue_head_t signalfd_wqh ;
1996};
1997#line 449 "include/linux/sched.h"
1998struct pacct_struct {
1999 int ac_flag ;
2000 long ac_exitcode ;
2001 unsigned long ac_mem ;
2002 cputime_t ac_utime ;
2003 cputime_t ac_stime ;
2004 unsigned long ac_minflt ;
2005 unsigned long ac_majflt ;
2006};
2007#line 457 "include/linux/sched.h"
2008struct cpu_itimer {
2009 cputime_t expires ;
2010 cputime_t incr ;
2011 u32 error ;
2012 u32 incr_error ;
2013};
2014#line 464 "include/linux/sched.h"
2015struct task_cputime {
2016 cputime_t utime ;
2017 cputime_t stime ;
2018 unsigned long long sum_exec_runtime ;
2019};
2020#line 481 "include/linux/sched.h"
2021struct thread_group_cputimer {
2022 struct task_cputime cputime ;
2023 int running ;
2024 raw_spinlock_t lock ;
2025};
2026#line 517
2027struct autogroup;
2028#line 517
2029struct autogroup;
2030#line 518
2031struct tty_struct;
2032#line 518
2033struct taskstats;
2034#line 518
2035struct tty_audit_buf;
2036#line 518 "include/linux/sched.h"
2037struct signal_struct {
2038 atomic_t sigcnt ;
2039 atomic_t live ;
2040 int nr_threads ;
2041 wait_queue_head_t wait_chldexit ;
2042 struct task_struct *curr_target ;
2043 struct sigpending shared_pending ;
2044 int group_exit_code ;
2045 int notify_count ;
2046 struct task_struct *group_exit_task ;
2047 int group_stop_count ;
2048 unsigned int flags ;
2049 unsigned char is_child_subreaper : 1 ;
2050 unsigned char has_child_subreaper : 1 ;
2051 struct list_head posix_timers ;
2052 struct hrtimer real_timer ;
2053 struct pid *leader_pid ;
2054 ktime_t it_real_incr ;
2055 struct cpu_itimer it[2U] ;
2056 struct thread_group_cputimer cputimer ;
2057 struct task_cputime cputime_expires ;
2058 struct list_head cpu_timers[3U] ;
2059 struct pid *tty_old_pgrp ;
2060 int leader ;
2061 struct tty_struct *tty ;
2062 struct autogroup *autogroup ;
2063 cputime_t utime ;
2064 cputime_t stime ;
2065 cputime_t cutime ;
2066 cputime_t cstime ;
2067 cputime_t gtime ;
2068 cputime_t cgtime ;
2069 cputime_t prev_utime ;
2070 cputime_t prev_stime ;
2071 unsigned long nvcsw ;
2072 unsigned long nivcsw ;
2073 unsigned long cnvcsw ;
2074 unsigned long cnivcsw ;
2075 unsigned long min_flt ;
2076 unsigned long maj_flt ;
2077 unsigned long cmin_flt ;
2078 unsigned long cmaj_flt ;
2079 unsigned long inblock ;
2080 unsigned long oublock ;
2081 unsigned long cinblock ;
2082 unsigned long coublock ;
2083 unsigned long maxrss ;
2084 unsigned long cmaxrss ;
2085 struct task_io_accounting ioac ;
2086 unsigned long long sum_sched_runtime ;
2087 struct rlimit rlim[16U] ;
2088 struct pacct_struct pacct ;
2089 struct taskstats *stats ;
2090 unsigned int audit_tty ;
2091 struct tty_audit_buf *tty_audit_buf ;
2092 struct rw_semaphore group_rwsem ;
2093 int oom_adj ;
2094 int oom_score_adj ;
2095 int oom_score_adj_min ;
2096 struct mutex cred_guard_mutex ;
2097};
2098#line 699 "include/linux/sched.h"
2099struct user_struct {
2100 atomic_t __count ;
2101 atomic_t processes ;
2102 atomic_t files ;
2103 atomic_t sigpending ;
2104 atomic_t inotify_watches ;
2105 atomic_t inotify_devs ;
2106 atomic_t fanotify_listeners ;
2107 atomic_long_t epoll_watches ;
2108 unsigned long mq_bytes ;
2109 unsigned long locked_shm ;
2110 struct key *uid_keyring ;
2111 struct key *session_keyring ;
2112 struct hlist_node uidhash_node ;
2113 uid_t uid ;
2114 struct user_namespace *user_ns ;
2115 atomic_long_t locked_vm ;
2116};
2117#line 744
2118struct backing_dev_info;
2119#line 744
2120struct backing_dev_info;
2121#line 745
2122struct reclaim_state;
2123#line 745
2124struct reclaim_state;
2125#line 746 "include/linux/sched.h"
2126struct sched_info {
2127 unsigned long pcount ;
2128 unsigned long long run_delay ;
2129 unsigned long long last_arrival ;
2130 unsigned long long last_queued ;
2131};
2132#line 760 "include/linux/sched.h"
2133struct task_delay_info {
2134 spinlock_t lock ;
2135 unsigned int flags ;
2136 struct timespec blkio_start ;
2137 struct timespec blkio_end ;
2138 u64 blkio_delay ;
2139 u64 swapin_delay ;
2140 u32 blkio_count ;
2141 u32 swapin_count ;
2142 struct timespec freepages_start ;
2143 struct timespec freepages_end ;
2144 u64 freepages_delay ;
2145 u32 freepages_count ;
2146};
2147#line 1069
2148struct io_context;
2149#line 1069
2150struct io_context;
2151#line 1097
2152struct pipe_inode_info;
2153#line 1097
2154struct pipe_inode_info;
2155#line 1099
2156struct rq;
2157#line 1099
2158struct rq;
2159#line 1100 "include/linux/sched.h"
2160struct sched_class {
2161 struct sched_class const *next ;
2162 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2163 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2164 void (*yield_task)(struct rq * ) ;
2165 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2166 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2167 struct task_struct *(*pick_next_task)(struct rq * ) ;
2168 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2169 int (*select_task_rq)(struct task_struct * , int , int ) ;
2170 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2171 void (*post_schedule)(struct rq * ) ;
2172 void (*task_waking)(struct task_struct * ) ;
2173 void (*task_woken)(struct rq * , struct task_struct * ) ;
2174 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2175 void (*rq_online)(struct rq * ) ;
2176 void (*rq_offline)(struct rq * ) ;
2177 void (*set_curr_task)(struct rq * ) ;
2178 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2179 void (*task_fork)(struct task_struct * ) ;
2180 void (*switched_from)(struct rq * , struct task_struct * ) ;
2181 void (*switched_to)(struct rq * , struct task_struct * ) ;
2182 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2183 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2184 void (*task_move_group)(struct task_struct * , int ) ;
2185};
2186#line 1165 "include/linux/sched.h"
2187struct load_weight {
2188 unsigned long weight ;
2189 unsigned long inv_weight ;
2190};
2191#line 1170 "include/linux/sched.h"
2192struct sched_statistics {
2193 u64 wait_start ;
2194 u64 wait_max ;
2195 u64 wait_count ;
2196 u64 wait_sum ;
2197 u64 iowait_count ;
2198 u64 iowait_sum ;
2199 u64 sleep_start ;
2200 u64 sleep_max ;
2201 s64 sum_sleep_runtime ;
2202 u64 block_start ;
2203 u64 block_max ;
2204 u64 exec_max ;
2205 u64 slice_max ;
2206 u64 nr_migrations_cold ;
2207 u64 nr_failed_migrations_affine ;
2208 u64 nr_failed_migrations_running ;
2209 u64 nr_failed_migrations_hot ;
2210 u64 nr_forced_migrations ;
2211 u64 nr_wakeups ;
2212 u64 nr_wakeups_sync ;
2213 u64 nr_wakeups_migrate ;
2214 u64 nr_wakeups_local ;
2215 u64 nr_wakeups_remote ;
2216 u64 nr_wakeups_affine ;
2217 u64 nr_wakeups_affine_attempts ;
2218 u64 nr_wakeups_passive ;
2219 u64 nr_wakeups_idle ;
2220};
2221#line 1205 "include/linux/sched.h"
2222struct sched_entity {
2223 struct load_weight load ;
2224 struct rb_node run_node ;
2225 struct list_head group_node ;
2226 unsigned int on_rq ;
2227 u64 exec_start ;
2228 u64 sum_exec_runtime ;
2229 u64 vruntime ;
2230 u64 prev_sum_exec_runtime ;
2231 u64 nr_migrations ;
2232 struct sched_statistics statistics ;
2233 struct sched_entity *parent ;
2234 struct cfs_rq *cfs_rq ;
2235 struct cfs_rq *my_q ;
2236};
2237#line 1231
2238struct rt_rq;
2239#line 1231 "include/linux/sched.h"
2240struct sched_rt_entity {
2241 struct list_head run_list ;
2242 unsigned long timeout ;
2243 unsigned int time_slice ;
2244 int nr_cpus_allowed ;
2245 struct sched_rt_entity *back ;
2246 struct sched_rt_entity *parent ;
2247 struct rt_rq *rt_rq ;
2248 struct rt_rq *my_q ;
2249};
2250#line 1255
2251struct mem_cgroup;
2252#line 1255 "include/linux/sched.h"
2253struct memcg_batch_info {
2254 int do_batch ;
2255 struct mem_cgroup *memcg ;
2256 unsigned long nr_pages ;
2257 unsigned long memsw_nr_pages ;
2258};
2259#line 1616
2260struct files_struct;
2261#line 1616
2262struct css_set;
2263#line 1616
2264struct compat_robust_list_head;
2265#line 1616 "include/linux/sched.h"
2266struct task_struct {
2267 long volatile state ;
2268 void *stack ;
2269 atomic_t usage ;
2270 unsigned int flags ;
2271 unsigned int ptrace ;
2272 struct llist_node wake_entry ;
2273 int on_cpu ;
2274 int on_rq ;
2275 int prio ;
2276 int static_prio ;
2277 int normal_prio ;
2278 unsigned int rt_priority ;
2279 struct sched_class const *sched_class ;
2280 struct sched_entity se ;
2281 struct sched_rt_entity rt ;
2282 struct hlist_head preempt_notifiers ;
2283 unsigned char fpu_counter ;
2284 unsigned int policy ;
2285 cpumask_t cpus_allowed ;
2286 struct sched_info sched_info ;
2287 struct list_head tasks ;
2288 struct plist_node pushable_tasks ;
2289 struct mm_struct *mm ;
2290 struct mm_struct *active_mm ;
2291 unsigned char brk_randomized : 1 ;
2292 int exit_state ;
2293 int exit_code ;
2294 int exit_signal ;
2295 int pdeath_signal ;
2296 unsigned int jobctl ;
2297 unsigned int personality ;
2298 unsigned char did_exec : 1 ;
2299 unsigned char in_execve : 1 ;
2300 unsigned char in_iowait : 1 ;
2301 unsigned char sched_reset_on_fork : 1 ;
2302 unsigned char sched_contributes_to_load : 1 ;
2303 unsigned char irq_thread : 1 ;
2304 pid_t pid ;
2305 pid_t tgid ;
2306 unsigned long stack_canary ;
2307 struct task_struct *real_parent ;
2308 struct task_struct *parent ;
2309 struct list_head children ;
2310 struct list_head sibling ;
2311 struct task_struct *group_leader ;
2312 struct list_head ptraced ;
2313 struct list_head ptrace_entry ;
2314 struct pid_link pids[3U] ;
2315 struct list_head thread_group ;
2316 struct completion *vfork_done ;
2317 int *set_child_tid ;
2318 int *clear_child_tid ;
2319 cputime_t utime ;
2320 cputime_t stime ;
2321 cputime_t utimescaled ;
2322 cputime_t stimescaled ;
2323 cputime_t gtime ;
2324 cputime_t prev_utime ;
2325 cputime_t prev_stime ;
2326 unsigned long nvcsw ;
2327 unsigned long nivcsw ;
2328 struct timespec start_time ;
2329 struct timespec real_start_time ;
2330 unsigned long min_flt ;
2331 unsigned long maj_flt ;
2332 struct task_cputime cputime_expires ;
2333 struct list_head cpu_timers[3U] ;
2334 struct cred const *real_cred ;
2335 struct cred const *cred ;
2336 struct cred *replacement_session_keyring ;
2337 char comm[16U] ;
2338 int link_count ;
2339 int total_link_count ;
2340 struct sysv_sem sysvsem ;
2341 unsigned long last_switch_count ;
2342 struct thread_struct thread ;
2343 struct fs_struct *fs ;
2344 struct files_struct *files ;
2345 struct nsproxy *nsproxy ;
2346 struct signal_struct *signal ;
2347 struct sighand_struct *sighand ;
2348 sigset_t blocked ;
2349 sigset_t real_blocked ;
2350 sigset_t saved_sigmask ;
2351 struct sigpending pending ;
2352 unsigned long sas_ss_sp ;
2353 size_t sas_ss_size ;
2354 int (*notifier)(void * ) ;
2355 void *notifier_data ;
2356 sigset_t *notifier_mask ;
2357 struct audit_context *audit_context ;
2358 uid_t loginuid ;
2359 unsigned int sessionid ;
2360 seccomp_t seccomp ;
2361 u32 parent_exec_id ;
2362 u32 self_exec_id ;
2363 spinlock_t alloc_lock ;
2364 raw_spinlock_t pi_lock ;
2365 struct plist_head pi_waiters ;
2366 struct rt_mutex_waiter *pi_blocked_on ;
2367 struct mutex_waiter *blocked_on ;
2368 unsigned int irq_events ;
2369 unsigned long hardirq_enable_ip ;
2370 unsigned long hardirq_disable_ip ;
2371 unsigned int hardirq_enable_event ;
2372 unsigned int hardirq_disable_event ;
2373 int hardirqs_enabled ;
2374 int hardirq_context ;
2375 unsigned long softirq_disable_ip ;
2376 unsigned long softirq_enable_ip ;
2377 unsigned int softirq_disable_event ;
2378 unsigned int softirq_enable_event ;
2379 int softirqs_enabled ;
2380 int softirq_context ;
2381 u64 curr_chain_key ;
2382 int lockdep_depth ;
2383 unsigned int lockdep_recursion ;
2384 struct held_lock held_locks[48U] ;
2385 gfp_t lockdep_reclaim_gfp ;
2386 void *journal_info ;
2387 struct bio_list *bio_list ;
2388 struct blk_plug *plug ;
2389 struct reclaim_state *reclaim_state ;
2390 struct backing_dev_info *backing_dev_info ;
2391 struct io_context *io_context ;
2392 unsigned long ptrace_message ;
2393 siginfo_t *last_siginfo ;
2394 struct task_io_accounting ioac ;
2395 u64 acct_rss_mem1 ;
2396 u64 acct_vm_mem1 ;
2397 cputime_t acct_timexpd ;
2398 nodemask_t mems_allowed ;
2399 seqcount_t mems_allowed_seq ;
2400 int cpuset_mem_spread_rotor ;
2401 int cpuset_slab_spread_rotor ;
2402 struct css_set *cgroups ;
2403 struct list_head cg_list ;
2404 struct robust_list_head *robust_list ;
2405 struct compat_robust_list_head *compat_robust_list ;
2406 struct list_head pi_state_list ;
2407 struct futex_pi_state *pi_state_cache ;
2408 struct perf_event_context *perf_event_ctxp[2U] ;
2409 struct mutex perf_event_mutex ;
2410 struct list_head perf_event_list ;
2411 struct mempolicy *mempolicy ;
2412 short il_next ;
2413 short pref_node_fork ;
2414 struct rcu_head rcu ;
2415 struct pipe_inode_info *splice_pipe ;
2416 struct task_delay_info *delays ;
2417 int make_it_fail ;
2418 int nr_dirtied ;
2419 int nr_dirtied_pause ;
2420 unsigned long dirty_paused_when ;
2421 int latency_record_count ;
2422 struct latency_record latency_record[32U] ;
2423 unsigned long timer_slack_ns ;
2424 unsigned long default_timer_slack_ns ;
2425 struct list_head *scm_work_list ;
2426 unsigned long trace ;
2427 unsigned long trace_recursion ;
2428 struct memcg_batch_info memcg_batch ;
2429 atomic_t ptrace_bp_refcnt ;
2430};
2431#line 2820 "include/linux/sched.h"
2432struct taskstats {
2433 __u16 version ;
2434 __u32 ac_exitcode ;
2435 __u8 ac_flag ;
2436 __u8 ac_nice ;
2437 __u64 cpu_count ;
2438 __u64 cpu_delay_total ;
2439 __u64 blkio_count ;
2440 __u64 blkio_delay_total ;
2441 __u64 swapin_count ;
2442 __u64 swapin_delay_total ;
2443 __u64 cpu_run_real_total ;
2444 __u64 cpu_run_virtual_total ;
2445 char ac_comm[32U] ;
2446 __u8 ac_sched ;
2447 __u8 ac_pad[3U] ;
2448 __u32 ac_uid ;
2449 __u32 ac_gid ;
2450 __u32 ac_pid ;
2451 __u32 ac_ppid ;
2452 __u32 ac_btime ;
2453 __u64 ac_etime ;
2454 __u64 ac_utime ;
2455 __u64 ac_stime ;
2456 __u64 ac_minflt ;
2457 __u64 ac_majflt ;
2458 __u64 coremem ;
2459 __u64 virtmem ;
2460 __u64 hiwater_rss ;
2461 __u64 hiwater_vm ;
2462 __u64 read_char ;
2463 __u64 write_char ;
2464 __u64 read_syscalls ;
2465 __u64 write_syscalls ;
2466 __u64 read_bytes ;
2467 __u64 write_bytes ;
2468 __u64 cancelled_write_bytes ;
2469 __u64 nvcsw ;
2470 __u64 nivcsw ;
2471 __u64 ac_utimescaled ;
2472 __u64 ac_stimescaled ;
2473 __u64 cpu_scaled_run_real_total ;
2474 __u64 freepages_count ;
2475 __u64 freepages_delay_total ;
2476};
2477#line 154 "include/linux/idr.h"
2478struct cgroupfs_root;
2479#line 154
2480struct cgroupfs_root;
2481#line 156
2482struct cgroup;
2483#line 156
2484struct cgroup;
2485#line 157
2486struct css_id;
2487#line 157
2488struct css_id;
2489#line 56 "include/linux/cgroup.h"
2490struct cgroup_subsys_state {
2491 struct cgroup *cgroup ;
2492 atomic_t refcnt ;
2493 unsigned long flags ;
2494 struct css_id *id ;
2495};
2496#line 149 "include/linux/cgroup.h"
2497struct cgroup {
2498 unsigned long flags ;
2499 atomic_t count ;
2500 struct list_head sibling ;
2501 struct list_head children ;
2502 struct cgroup *parent ;
2503 struct dentry *dentry ;
2504 struct cgroup_subsys_state *subsys[64U] ;
2505 struct cgroupfs_root *root ;
2506 struct cgroup *top_cgroup ;
2507 struct list_head css_sets ;
2508 struct list_head release_list ;
2509 struct list_head pidlists ;
2510 struct mutex pidlist_mutex ;
2511 struct rcu_head rcu_head ;
2512 struct list_head event_list ;
2513 spinlock_t event_list_lock ;
2514};
2515#line 215 "include/linux/cgroup.h"
2516struct css_set {
2517 atomic_t refcount ;
2518 struct hlist_node hlist ;
2519 struct list_head tasks ;
2520 struct list_head cg_links ;
2521 struct cgroup_subsys_state *subsys[64U] ;
2522 struct rcu_head rcu_head ;
2523};
2524#line 108 "include/linux/swap.h"
2525struct reclaim_state {
2526 unsigned long reclaimed_slab ;
2527};
2528#line 178 "include/linux/mm.h"
2529struct vm_fault {
2530 unsigned int flags ;
2531 unsigned long pgoff ;
2532 void *virtual_address ;
2533 struct page *page ;
2534};
2535#line 195 "include/linux/mm.h"
2536struct vm_operations_struct {
2537 void (*open)(struct vm_area_struct * ) ;
2538 void (*close)(struct vm_area_struct * ) ;
2539 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2540 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2541 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
2542 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2543 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
2544 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
2545 unsigned long ) ;
2546};
2547#line 34 "include/linux/suspend.h"
2548typedef int suspend_state_t;
2549#line 443 "include/linux/suspend.h"
2550struct regulator_state {
2551 int uV ;
2552 unsigned int mode ;
2553 int enabled ;
2554 int disabled ;
2555};
2556#line 61 "include/linux/regulator/machine.h"
2557struct regulation_constraints {
2558 char const *name ;
2559 int min_uV ;
2560 int max_uV ;
2561 int uV_offset ;
2562 int min_uA ;
2563 int max_uA ;
2564 unsigned int valid_modes_mask ;
2565 unsigned int valid_ops_mask ;
2566 int input_uV ;
2567 struct regulator_state state_disk ;
2568 struct regulator_state state_mem ;
2569 struct regulator_state state_standby ;
2570 suspend_state_t initial_state ;
2571 unsigned int initial_mode ;
2572 unsigned char always_on : 1 ;
2573 unsigned char boot_on : 1 ;
2574 unsigned char apply_uV : 1 ;
2575};
2576#line 133 "include/linux/regulator/machine.h"
2577struct regulator_consumer_supply {
2578 char const *dev_name ;
2579 char const *supply ;
2580};
2581#line 147 "include/linux/regulator/machine.h"
2582struct regulator_init_data {
2583 char const *supply_regulator ;
2584 struct regulation_constraints constraints ;
2585 int num_consumer_supplies ;
2586 struct regulator_consumer_supply *consumer_supplies ;
2587 int (*regulator_init)(void * ) ;
2588 void *driver_data ;
2589};
2590#line 12 "include/linux/mod_devicetable.h"
2591typedef unsigned long kernel_ulong_t;
2592#line 215 "include/linux/mod_devicetable.h"
2593struct of_device_id {
2594 char name[32U] ;
2595 char type[32U] ;
2596 char compatible[128U] ;
2597 void *data ;
2598};
2599#line 492 "include/linux/mod_devicetable.h"
2600struct platform_device_id {
2601 char name[20U] ;
2602 kernel_ulong_t driver_data ;
2603};
2604#line 584
2605struct mfd_cell;
2606#line 584
2607struct mfd_cell;
2608#line 585 "include/linux/mod_devicetable.h"
2609struct platform_device {
2610 char const *name ;
2611 int id ;
2612 struct device dev ;
2613 u32 num_resources ;
2614 struct resource *resource ;
2615 struct platform_device_id const *id_entry ;
2616 struct mfd_cell *mfd_cell ;
2617 struct pdev_archdata archdata ;
2618};
2619#line 163 "include/linux/platform_device.h"
2620struct platform_driver {
2621 int (*probe)(struct platform_device * ) ;
2622 int (*remove)(struct platform_device * ) ;
2623 void (*shutdown)(struct platform_device * ) ;
2624 int (*suspend)(struct platform_device * , pm_message_t ) ;
2625 int (*resume)(struct platform_device * ) ;
2626 struct device_driver driver ;
2627 struct platform_device_id const *id_table ;
2628};
2629#line 272
2630struct regmap;
2631#line 272
2632struct regmap;
2633#line 273 "include/linux/platform_device.h"
2634struct wm8400 {
2635 struct device *dev ;
2636 struct mutex io_lock ;
2637 struct regmap *regmap ;
2638 u16 reg_cache[85U] ;
2639 struct platform_device regulators[6U] ;
2640};
2641#line 1 "<compiler builtins>"
2642long __builtin_expect(long , long ) ;
2643#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2644void ldv_spin_lock(void) ;
2645#line 3
2646void ldv_spin_unlock(void) ;
2647#line 4
2648int ldv_spin_trylock(void) ;
2649#line 27 "include/linux/err.h"
2650__inline static long PTR_ERR(void const *ptr )
2651{
2652
2653 {
2654#line 29
2655 return ((long )ptr);
2656}
2657}
2658#line 32 "include/linux/err.h"
2659__inline static long IS_ERR(void const *ptr )
2660{ long tmp ;
2661 unsigned long __cil_tmp3 ;
2662 int __cil_tmp4 ;
2663 long __cil_tmp5 ;
2664
2665 {
2666 {
2667#line 34
2668 __cil_tmp3 = (unsigned long )ptr;
2669#line 34
2670 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2671#line 34
2672 __cil_tmp5 = (long )__cil_tmp4;
2673#line 34
2674 tmp = __builtin_expect(__cil_tmp5, 0L);
2675 }
2676#line 34
2677 return (tmp);
2678}
2679}
2680#line 26 "include/linux/export.h"
2681extern struct module __this_module ;
2682#line 220 "include/linux/slub_def.h"
2683extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2684#line 223
2685void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2686#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2687void ldv_check_alloc_flags(gfp_t flags ) ;
2688#line 12
2689void ldv_check_alloc_nonatomic(void) ;
2690#line 14
2691struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2692#line 792 "include/linux/device.h"
2693extern void *dev_get_drvdata(struct device const * ) ;
2694#line 793
2695extern int dev_set_drvdata(struct device * , void * ) ;
2696#line 213 "include/linux/regulator/driver.h"
2697extern struct regulator_dev *regulator_register(struct regulator_desc * , struct device * ,
2698 struct regulator_init_data const * ,
2699 void * , struct device_node * ) ;
2700#line 216
2701extern void regulator_unregister(struct regulator_dev * ) ;
2702#line 221
2703extern void *rdev_get_drvdata(struct regulator_dev * ) ;
2704#line 223
2705extern int rdev_get_id(struct regulator_dev * ) ;
2706#line 37 "include/linux/mfd/wm8400.h"
2707int wm8400_register_regulator(struct device *dev , int reg , struct regulator_init_data *initdata ) ;
2708#line 39 "include/linux/platform_device.h"
2709extern int platform_device_register(struct platform_device * ) ;
2710#line 174
2711extern int platform_driver_register(struct platform_driver * ) ;
2712#line 175
2713extern void platform_driver_unregister(struct platform_driver * ) ;
2714#line 183 "include/linux/platform_device.h"
2715__inline static void *platform_get_drvdata(struct platform_device const *pdev )
2716{ void *tmp ;
2717 unsigned long __cil_tmp3 ;
2718 unsigned long __cil_tmp4 ;
2719 struct device const *__cil_tmp5 ;
2720
2721 {
2722 {
2723#line 185
2724 __cil_tmp3 = (unsigned long )pdev;
2725#line 185
2726 __cil_tmp4 = __cil_tmp3 + 16;
2727#line 185
2728 __cil_tmp5 = (struct device const *)__cil_tmp4;
2729#line 185
2730 tmp = dev_get_drvdata(__cil_tmp5);
2731 }
2732#line 185
2733 return (tmp);
2734}
2735}
2736#line 188 "include/linux/platform_device.h"
2737__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
2738{ unsigned long __cil_tmp3 ;
2739 unsigned long __cil_tmp4 ;
2740 struct device *__cil_tmp5 ;
2741
2742 {
2743 {
2744#line 190
2745 __cil_tmp3 = (unsigned long )pdev;
2746#line 190
2747 __cil_tmp4 = __cil_tmp3 + 16;
2748#line 190
2749 __cil_tmp5 = (struct device *)__cil_tmp4;
2750#line 190
2751 dev_set_drvdata(__cil_tmp5, data);
2752 }
2753#line 191
2754 return;
2755}
2756}
2757#line 931 "include/linux/mfd/wm8400-private.h"
2758extern u16 wm8400_reg_read(struct wm8400 * , u8 ) ;
2759#line 932
2760extern int wm8400_block_read(struct wm8400 * , u8 , int , u16 * ) ;
2761#line 933
2762extern int wm8400_set_bits(struct wm8400 * , u8 , u16 , u16 ) ;
2763#line 37 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2764static int wm8400_ldo_is_enabled(struct regulator_dev *dev )
2765{ struct wm8400 *wm8400 ;
2766 void *tmp ;
2767 u16 val ;
2768 int tmp___0 ;
2769 u8 __cil_tmp6 ;
2770 unsigned int __cil_tmp7 ;
2771 unsigned int __cil_tmp8 ;
2772 int __cil_tmp9 ;
2773 u8 __cil_tmp10 ;
2774 short __cil_tmp11 ;
2775 int __cil_tmp12 ;
2776
2777 {
2778 {
2779#line 39
2780 tmp = rdev_get_drvdata(dev);
2781#line 39
2782 wm8400 = (struct wm8400 *)tmp;
2783#line 42
2784 tmp___0 = rdev_get_id(dev);
2785#line 42
2786 __cil_tmp6 = (u8 )tmp___0;
2787#line 42
2788 __cil_tmp7 = (unsigned int )__cil_tmp6;
2789#line 42
2790 __cil_tmp8 = __cil_tmp7 + 65U;
2791#line 42
2792 __cil_tmp9 = (int )__cil_tmp8;
2793#line 42
2794 __cil_tmp10 = (u8 )__cil_tmp9;
2795#line 42
2796 val = wm8400_reg_read(wm8400, __cil_tmp10);
2797 }
2798 {
2799#line 43
2800 __cil_tmp11 = (short )val;
2801#line 43
2802 __cil_tmp12 = (int )__cil_tmp11;
2803#line 43
2804 return (__cil_tmp12 < 0);
2805 }
2806}
2807}
2808#line 46 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2809static int wm8400_ldo_enable(struct regulator_dev *dev )
2810{ struct wm8400 *wm8400 ;
2811 void *tmp ;
2812 int tmp___0 ;
2813 int tmp___1 ;
2814 u8 __cil_tmp6 ;
2815 unsigned int __cil_tmp7 ;
2816 unsigned int __cil_tmp8 ;
2817 int __cil_tmp9 ;
2818 u8 __cil_tmp10 ;
2819 u16 __cil_tmp11 ;
2820 u16 __cil_tmp12 ;
2821
2822 {
2823 {
2824#line 48
2825 tmp = rdev_get_drvdata(dev);
2826#line 48
2827 wm8400 = (struct wm8400 *)tmp;
2828#line 50
2829 tmp___0 = rdev_get_id(dev);
2830#line 50
2831 __cil_tmp6 = (u8 )tmp___0;
2832#line 50
2833 __cil_tmp7 = (unsigned int )__cil_tmp6;
2834#line 50
2835 __cil_tmp8 = __cil_tmp7 + 65U;
2836#line 50
2837 __cil_tmp9 = (int )__cil_tmp8;
2838#line 50
2839 __cil_tmp10 = (u8 )__cil_tmp9;
2840#line 50
2841 __cil_tmp11 = (u16 )32768;
2842#line 50
2843 __cil_tmp12 = (u16 )32768;
2844#line 50
2845 tmp___1 = wm8400_set_bits(wm8400, __cil_tmp10, __cil_tmp11, __cil_tmp12);
2846 }
2847#line 50
2848 return (tmp___1);
2849}
2850}
2851#line 54 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2852static int wm8400_ldo_disable(struct regulator_dev *dev )
2853{ struct wm8400 *wm8400 ;
2854 void *tmp ;
2855 int tmp___0 ;
2856 int tmp___1 ;
2857 u8 __cil_tmp6 ;
2858 unsigned int __cil_tmp7 ;
2859 unsigned int __cil_tmp8 ;
2860 int __cil_tmp9 ;
2861 u8 __cil_tmp10 ;
2862 u16 __cil_tmp11 ;
2863 u16 __cil_tmp12 ;
2864
2865 {
2866 {
2867#line 56
2868 tmp = rdev_get_drvdata(dev);
2869#line 56
2870 wm8400 = (struct wm8400 *)tmp;
2871#line 58
2872 tmp___0 = rdev_get_id(dev);
2873#line 58
2874 __cil_tmp6 = (u8 )tmp___0;
2875#line 58
2876 __cil_tmp7 = (unsigned int )__cil_tmp6;
2877#line 58
2878 __cil_tmp8 = __cil_tmp7 + 65U;
2879#line 58
2880 __cil_tmp9 = (int )__cil_tmp8;
2881#line 58
2882 __cil_tmp10 = (u8 )__cil_tmp9;
2883#line 58
2884 __cil_tmp11 = (u16 )32768;
2885#line 58
2886 __cil_tmp12 = (u16 )0;
2887#line 58
2888 tmp___1 = wm8400_set_bits(wm8400, __cil_tmp10, __cil_tmp11, __cil_tmp12);
2889 }
2890#line 58
2891 return (tmp___1);
2892}
2893}
2894#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2895static int wm8400_ldo_list_voltage(struct regulator_dev *dev , unsigned int selector )
2896{ unsigned int __cil_tmp3 ;
2897 unsigned int __cil_tmp4 ;
2898 unsigned int __cil_tmp5 ;
2899 unsigned int __cil_tmp6 ;
2900
2901 {
2902#line 65
2903 if (selector > 31U) {
2904#line 66
2905 return (-22);
2906 } else {
2907
2908 }
2909#line 68
2910 if (selector <= 14U) {
2911 {
2912#line 69
2913 __cil_tmp3 = selector * 50000U;
2914#line 69
2915 __cil_tmp4 = __cil_tmp3 + 900000U;
2916#line 69
2917 return ((int )__cil_tmp4);
2918 }
2919 } else {
2920 {
2921#line 71
2922 __cil_tmp5 = selector * 100000U;
2923#line 71
2924 __cil_tmp6 = __cil_tmp5 + 200000U;
2925#line 71
2926 return ((int )__cil_tmp6);
2927 }
2928 }
2929}
2930}
2931#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2932static int wm8400_ldo_get_voltage_sel(struct regulator_dev *dev )
2933{ struct wm8400 *wm8400 ;
2934 void *tmp ;
2935 u16 val ;
2936 int tmp___0 ;
2937 u8 __cil_tmp6 ;
2938 unsigned int __cil_tmp7 ;
2939 unsigned int __cil_tmp8 ;
2940 int __cil_tmp9 ;
2941 u8 __cil_tmp10 ;
2942 unsigned int __cil_tmp11 ;
2943 unsigned int __cil_tmp12 ;
2944
2945 {
2946 {
2947#line 76
2948 tmp = rdev_get_drvdata(dev);
2949#line 76
2950 wm8400 = (struct wm8400 *)tmp;
2951#line 79
2952 tmp___0 = rdev_get_id(dev);
2953#line 79
2954 __cil_tmp6 = (u8 )tmp___0;
2955#line 79
2956 __cil_tmp7 = (unsigned int )__cil_tmp6;
2957#line 79
2958 __cil_tmp8 = __cil_tmp7 + 65U;
2959#line 79
2960 __cil_tmp9 = (int )__cil_tmp8;
2961#line 79
2962 __cil_tmp10 = (u8 )__cil_tmp9;
2963#line 79
2964 val = wm8400_reg_read(wm8400, __cil_tmp10);
2965#line 80
2966 __cil_tmp11 = (unsigned int )val;
2967#line 80
2968 __cil_tmp12 = __cil_tmp11 & 31U;
2969#line 80
2970 val = (u16 )__cil_tmp12;
2971 }
2972#line 82
2973 return ((int )val);
2974}
2975}
2976#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
2977static int wm8400_ldo_set_voltage(struct regulator_dev *dev , int min_uV , int max_uV ,
2978 unsigned int *selector )
2979{ struct wm8400 *wm8400 ;
2980 void *tmp ;
2981 u16 val ;
2982 long tmp___0 ;
2983 long tmp___1 ;
2984 int tmp___2 ;
2985 int tmp___3 ;
2986 int __cil_tmp12 ;
2987 int __cil_tmp13 ;
2988 int __cil_tmp14 ;
2989 int __cil_tmp15 ;
2990 int __cil_tmp16 ;
2991 int __cil_tmp17 ;
2992 int __cil_tmp18 ;
2993 int __cil_tmp19 ;
2994 int __cil_tmp20 ;
2995 long __cil_tmp21 ;
2996 int __cil_tmp22 ;
2997 int __cil_tmp23 ;
2998 int __cil_tmp24 ;
2999 int __cil_tmp25 ;
3000 int __cil_tmp26 ;
3001 int __cil_tmp27 ;
3002 int __cil_tmp28 ;
3003 int __cil_tmp29 ;
3004 int __cil_tmp30 ;
3005 long __cil_tmp31 ;
3006 unsigned int __cil_tmp32 ;
3007 unsigned int __cil_tmp33 ;
3008 u8 __cil_tmp34 ;
3009 unsigned int __cil_tmp35 ;
3010 unsigned int __cil_tmp36 ;
3011 int __cil_tmp37 ;
3012 u8 __cil_tmp38 ;
3013 u16 __cil_tmp39 ;
3014 int __cil_tmp40 ;
3015 u16 __cil_tmp41 ;
3016
3017 {
3018 {
3019#line 88
3020 tmp = rdev_get_drvdata(dev);
3021#line 88
3022 wm8400 = (struct wm8400 *)tmp;
3023 }
3024#line 91
3025 if (min_uV <= 899999) {
3026#line 92
3027 return (-22);
3028 } else
3029#line 91
3030 if (min_uV > 3300000) {
3031#line 92
3032 return (-22);
3033 } else {
3034
3035 }
3036#line 94
3037 if (min_uV <= 1699999) {
3038#line 96
3039 __cil_tmp12 = min_uV + -850001;
3040#line 96
3041 __cil_tmp13 = __cil_tmp12 / 50000;
3042#line 96
3043 val = (u16 )__cil_tmp13;
3044 {
3045#line 98
3046 __cil_tmp14 = (int )val;
3047#line 98
3048 __cil_tmp15 = __cil_tmp14 * 50000;
3049#line 98
3050 __cil_tmp16 = __cil_tmp15 + 900000;
3051#line 98
3052 if (__cil_tmp16 > max_uV) {
3053#line 99
3054 return (-22);
3055 } else {
3056
3057 }
3058 }
3059 {
3060#line 100
3061 __cil_tmp17 = (int )val;
3062#line 100
3063 __cil_tmp18 = __cil_tmp17 * 50000;
3064#line 100
3065 __cil_tmp19 = __cil_tmp18 + 900000;
3066#line 100
3067 __cil_tmp20 = __cil_tmp19 < min_uV;
3068#line 100
3069 __cil_tmp21 = (long )__cil_tmp20;
3070#line 100
3071 tmp___0 = __builtin_expect(__cil_tmp21, 0L);
3072 }
3073#line 100
3074 if (tmp___0 != 0L) {
3075#line 100
3076 __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/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"),
3077 "i" (100), "i" (12UL));
3078 ldv_22455: ;
3079#line 100
3080 goto ldv_22455;
3081 } else {
3082
3083 }
3084 } else {
3085#line 103
3086 __cil_tmp22 = min_uV + -1600001;
3087#line 103
3088 __cil_tmp23 = __cil_tmp22 / 100000;
3089#line 103
3090 val = (u16 )__cil_tmp23;
3091 {
3092#line 105
3093 __cil_tmp24 = (int )val;
3094#line 105
3095 __cil_tmp25 = __cil_tmp24 * 100000;
3096#line 105
3097 __cil_tmp26 = __cil_tmp25 + 1700000;
3098#line 105
3099 if (__cil_tmp26 > max_uV) {
3100#line 106
3101 return (-22);
3102 } else {
3103
3104 }
3105 }
3106 {
3107#line 107
3108 __cil_tmp27 = (int )val;
3109#line 107
3110 __cil_tmp28 = __cil_tmp27 * 100000;
3111#line 107
3112 __cil_tmp29 = __cil_tmp28 + 1700000;
3113#line 107
3114 __cil_tmp30 = __cil_tmp29 < min_uV;
3115#line 107
3116 __cil_tmp31 = (long )__cil_tmp30;
3117#line 107
3118 tmp___1 = __builtin_expect(__cil_tmp31, 0L);
3119 }
3120#line 107
3121 if (tmp___1 != 0L) {
3122#line 107
3123 __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/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"),
3124 "i" (107), "i" (12UL));
3125 ldv_22456: ;
3126#line 107
3127 goto ldv_22456;
3128 } else {
3129
3130 }
3131#line 109
3132 __cil_tmp32 = (unsigned int )val;
3133#line 109
3134 __cil_tmp33 = __cil_tmp32 + 15U;
3135#line 109
3136 val = (u16 )__cil_tmp33;
3137 }
3138 {
3139#line 112
3140 *selector = (unsigned int )val;
3141#line 114
3142 tmp___2 = rdev_get_id(dev);
3143#line 114
3144 __cil_tmp34 = (u8 )tmp___2;
3145#line 114
3146 __cil_tmp35 = (unsigned int )__cil_tmp34;
3147#line 114
3148 __cil_tmp36 = __cil_tmp35 + 65U;
3149#line 114
3150 __cil_tmp37 = (int )__cil_tmp36;
3151#line 114
3152 __cil_tmp38 = (u8 )__cil_tmp37;
3153#line 114
3154 __cil_tmp39 = (u16 )31;
3155#line 114
3156 __cil_tmp40 = (int )val;
3157#line 114
3158 __cil_tmp41 = (u16 )__cil_tmp40;
3159#line 114
3160 tmp___3 = wm8400_set_bits(wm8400, __cil_tmp38, __cil_tmp39, __cil_tmp41);
3161 }
3162#line 114
3163 return (tmp___3);
3164}
3165}
3166#line 118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3167static struct regulator_ops wm8400_ldo_ops =
3168#line 118
3169 {& wm8400_ldo_list_voltage, & wm8400_ldo_set_voltage, (int (*)(struct regulator_dev * ,
3170 unsigned int ))0,
3171 (int (*)(struct regulator_dev * ))0, & wm8400_ldo_get_voltage_sel, (int (*)(struct regulator_dev * ,
3172 int ,
3173 int ))0,
3174 (int (*)(struct regulator_dev * ))0, & wm8400_ldo_enable, & wm8400_ldo_disable,
3175 & wm8400_ldo_is_enabled, (int (*)(struct regulator_dev * , unsigned int ))0,
3176 (unsigned int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0,
3177 (int (*)(struct regulator_dev * , unsigned int , unsigned int ))0, (int (*)(struct regulator_dev * ))0,
3178 (unsigned int (*)(struct regulator_dev * , int , int , int ))0, (int (*)(struct regulator_dev * ,
3179 int ))0,
3180 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ,
3181 unsigned int ))0};
3182#line 127 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3183static int wm8400_dcdc_is_enabled(struct regulator_dev *dev )
3184{ struct wm8400 *wm8400 ;
3185 void *tmp ;
3186 int offset ;
3187 int tmp___0 ;
3188 u16 val ;
3189 int __cil_tmp7 ;
3190 u8 __cil_tmp8 ;
3191 unsigned int __cil_tmp9 ;
3192 unsigned int __cil_tmp10 ;
3193 int __cil_tmp11 ;
3194 u8 __cil_tmp12 ;
3195 short __cil_tmp13 ;
3196 int __cil_tmp14 ;
3197
3198 {
3199 {
3200#line 129
3201 tmp = rdev_get_drvdata(dev);
3202#line 129
3203 wm8400 = (struct wm8400 *)tmp;
3204#line 130
3205 tmp___0 = rdev_get_id(dev);
3206#line 130
3207 __cil_tmp7 = tmp___0 + -4;
3208#line 130
3209 offset = __cil_tmp7 * 2;
3210#line 133
3211 __cil_tmp8 = (u8 )offset;
3212#line 133
3213 __cil_tmp9 = (unsigned int )__cil_tmp8;
3214#line 133
3215 __cil_tmp10 = __cil_tmp9 + 70U;
3216#line 133
3217 __cil_tmp11 = (int )__cil_tmp10;
3218#line 133
3219 __cil_tmp12 = (u8 )__cil_tmp11;
3220#line 133
3221 val = wm8400_reg_read(wm8400, __cil_tmp12);
3222 }
3223 {
3224#line 134
3225 __cil_tmp13 = (short )val;
3226#line 134
3227 __cil_tmp14 = (int )__cil_tmp13;
3228#line 134
3229 return (__cil_tmp14 < 0);
3230 }
3231}
3232}
3233#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3234static int wm8400_dcdc_enable(struct regulator_dev *dev )
3235{ struct wm8400 *wm8400 ;
3236 void *tmp ;
3237 int offset ;
3238 int tmp___0 ;
3239 int tmp___1 ;
3240 int __cil_tmp7 ;
3241 u8 __cil_tmp8 ;
3242 unsigned int __cil_tmp9 ;
3243 unsigned int __cil_tmp10 ;
3244 int __cil_tmp11 ;
3245 u8 __cil_tmp12 ;
3246 u16 __cil_tmp13 ;
3247 u16 __cil_tmp14 ;
3248
3249 {
3250 {
3251#line 139
3252 tmp = rdev_get_drvdata(dev);
3253#line 139
3254 wm8400 = (struct wm8400 *)tmp;
3255#line 140
3256 tmp___0 = rdev_get_id(dev);
3257#line 140
3258 __cil_tmp7 = tmp___0 + -4;
3259#line 140
3260 offset = __cil_tmp7 * 2;
3261#line 142
3262 __cil_tmp8 = (u8 )offset;
3263#line 142
3264 __cil_tmp9 = (unsigned int )__cil_tmp8;
3265#line 142
3266 __cil_tmp10 = __cil_tmp9 + 70U;
3267#line 142
3268 __cil_tmp11 = (int )__cil_tmp10;
3269#line 142
3270 __cil_tmp12 = (u8 )__cil_tmp11;
3271#line 142
3272 __cil_tmp13 = (u16 )32768;
3273#line 142
3274 __cil_tmp14 = (u16 )32768;
3275#line 142
3276 tmp___1 = wm8400_set_bits(wm8400, __cil_tmp12, __cil_tmp13, __cil_tmp14);
3277 }
3278#line 142
3279 return (tmp___1);
3280}
3281}
3282#line 146 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3283static int wm8400_dcdc_disable(struct regulator_dev *dev )
3284{ struct wm8400 *wm8400 ;
3285 void *tmp ;
3286 int offset ;
3287 int tmp___0 ;
3288 int tmp___1 ;
3289 int __cil_tmp7 ;
3290 u8 __cil_tmp8 ;
3291 unsigned int __cil_tmp9 ;
3292 unsigned int __cil_tmp10 ;
3293 int __cil_tmp11 ;
3294 u8 __cil_tmp12 ;
3295 u16 __cil_tmp13 ;
3296 u16 __cil_tmp14 ;
3297
3298 {
3299 {
3300#line 148
3301 tmp = rdev_get_drvdata(dev);
3302#line 148
3303 wm8400 = (struct wm8400 *)tmp;
3304#line 149
3305 tmp___0 = rdev_get_id(dev);
3306#line 149
3307 __cil_tmp7 = tmp___0 + -4;
3308#line 149
3309 offset = __cil_tmp7 * 2;
3310#line 151
3311 __cil_tmp8 = (u8 )offset;
3312#line 151
3313 __cil_tmp9 = (unsigned int )__cil_tmp8;
3314#line 151
3315 __cil_tmp10 = __cil_tmp9 + 70U;
3316#line 151
3317 __cil_tmp11 = (int )__cil_tmp10;
3318#line 151
3319 __cil_tmp12 = (u8 )__cil_tmp11;
3320#line 151
3321 __cil_tmp13 = (u16 )32768;
3322#line 151
3323 __cil_tmp14 = (u16 )0;
3324#line 151
3325 tmp___1 = wm8400_set_bits(wm8400, __cil_tmp12, __cil_tmp13, __cil_tmp14);
3326 }
3327#line 151
3328 return (tmp___1);
3329}
3330}
3331#line 155 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3332static int wm8400_dcdc_list_voltage(struct regulator_dev *dev , unsigned int selector )
3333{ unsigned int __cil_tmp3 ;
3334 unsigned int __cil_tmp4 ;
3335
3336 {
3337#line 158
3338 if (selector > 127U) {
3339#line 159
3340 return (-22);
3341 } else {
3342
3343 }
3344 {
3345#line 161
3346 __cil_tmp3 = selector * 25000U;
3347#line 161
3348 __cil_tmp4 = __cil_tmp3 + 850000U;
3349#line 161
3350 return ((int )__cil_tmp4);
3351 }
3352}
3353}
3354#line 164 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3355static int wm8400_dcdc_get_voltage_sel(struct regulator_dev *dev )
3356{ struct wm8400 *wm8400 ;
3357 void *tmp ;
3358 u16 val ;
3359 int offset ;
3360 int tmp___0 ;
3361 int __cil_tmp7 ;
3362 u8 __cil_tmp8 ;
3363 unsigned int __cil_tmp9 ;
3364 unsigned int __cil_tmp10 ;
3365 int __cil_tmp11 ;
3366 u8 __cil_tmp12 ;
3367 unsigned int __cil_tmp13 ;
3368 unsigned int __cil_tmp14 ;
3369
3370 {
3371 {
3372#line 166
3373 tmp = rdev_get_drvdata(dev);
3374#line 166
3375 wm8400 = (struct wm8400 *)tmp;
3376#line 168
3377 tmp___0 = rdev_get_id(dev);
3378#line 168
3379 __cil_tmp7 = tmp___0 + -4;
3380#line 168
3381 offset = __cil_tmp7 * 2;
3382#line 170
3383 __cil_tmp8 = (u8 )offset;
3384#line 170
3385 __cil_tmp9 = (unsigned int )__cil_tmp8;
3386#line 170
3387 __cil_tmp10 = __cil_tmp9 + 70U;
3388#line 170
3389 __cil_tmp11 = (int )__cil_tmp10;
3390#line 170
3391 __cil_tmp12 = (u8 )__cil_tmp11;
3392#line 170
3393 val = wm8400_reg_read(wm8400, __cil_tmp12);
3394#line 171
3395 __cil_tmp13 = (unsigned int )val;
3396#line 171
3397 __cil_tmp14 = __cil_tmp13 & 127U;
3398#line 171
3399 val = (u16 )__cil_tmp14;
3400 }
3401#line 173
3402 return ((int )val);
3403}
3404}
3405#line 176 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3406static int wm8400_dcdc_set_voltage(struct regulator_dev *dev , int min_uV , int max_uV ,
3407 unsigned int *selector )
3408{ struct wm8400 *wm8400 ;
3409 void *tmp ;
3410 u16 val ;
3411 int offset ;
3412 int tmp___0 ;
3413 long tmp___1 ;
3414 int tmp___2 ;
3415 int __cil_tmp12 ;
3416 int __cil_tmp13 ;
3417 int __cil_tmp14 ;
3418 int __cil_tmp15 ;
3419 int __cil_tmp16 ;
3420 int __cil_tmp17 ;
3421 int __cil_tmp18 ;
3422 int __cil_tmp19 ;
3423 int __cil_tmp20 ;
3424 int __cil_tmp21 ;
3425 long __cil_tmp22 ;
3426 u8 __cil_tmp23 ;
3427 unsigned int __cil_tmp24 ;
3428 unsigned int __cil_tmp25 ;
3429 int __cil_tmp26 ;
3430 u8 __cil_tmp27 ;
3431 u16 __cil_tmp28 ;
3432 int __cil_tmp29 ;
3433 u16 __cil_tmp30 ;
3434
3435 {
3436 {
3437#line 179
3438 tmp = rdev_get_drvdata(dev);
3439#line 179
3440 wm8400 = (struct wm8400 *)tmp;
3441#line 181
3442 tmp___0 = rdev_get_id(dev);
3443#line 181
3444 __cil_tmp12 = tmp___0 + -4;
3445#line 181
3446 offset = __cil_tmp12 * 2;
3447 }
3448#line 183
3449 if (min_uV <= 849999) {
3450#line 184
3451 return (-22);
3452 } else {
3453
3454 }
3455#line 186
3456 __cil_tmp13 = min_uV + -825001;
3457#line 186
3458 __cil_tmp14 = __cil_tmp13 / 25000;
3459#line 186
3460 val = (u16 )__cil_tmp14;
3461 {
3462#line 188
3463 __cil_tmp15 = (int )val;
3464#line 188
3465 __cil_tmp16 = __cil_tmp15 * 25000;
3466#line 188
3467 __cil_tmp17 = __cil_tmp16 + 850000;
3468#line 188
3469 if (__cil_tmp17 > max_uV) {
3470#line 189
3471 return (-22);
3472 } else {
3473
3474 }
3475 }
3476 {
3477#line 190
3478 __cil_tmp18 = (int )val;
3479#line 190
3480 __cil_tmp19 = __cil_tmp18 * 25000;
3481#line 190
3482 __cil_tmp20 = __cil_tmp19 + 850000;
3483#line 190
3484 __cil_tmp21 = __cil_tmp20 < min_uV;
3485#line 190
3486 __cil_tmp22 = (long )__cil_tmp21;
3487#line 190
3488 tmp___1 = __builtin_expect(__cil_tmp22, 0L);
3489 }
3490#line 190
3491 if (tmp___1 != 0L) {
3492#line 190
3493 __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/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"),
3494 "i" (190), "i" (12UL));
3495 ldv_22493: ;
3496#line 190
3497 goto ldv_22493;
3498 } else {
3499
3500 }
3501 {
3502#line 192
3503 *selector = (unsigned int )val;
3504#line 194
3505 __cil_tmp23 = (u8 )offset;
3506#line 194
3507 __cil_tmp24 = (unsigned int )__cil_tmp23;
3508#line 194
3509 __cil_tmp25 = __cil_tmp24 + 70U;
3510#line 194
3511 __cil_tmp26 = (int )__cil_tmp25;
3512#line 194
3513 __cil_tmp27 = (u8 )__cil_tmp26;
3514#line 194
3515 __cil_tmp28 = (u16 )127;
3516#line 194
3517 __cil_tmp29 = (int )val;
3518#line 194
3519 __cil_tmp30 = (u16 )__cil_tmp29;
3520#line 194
3521 tmp___2 = wm8400_set_bits(wm8400, __cil_tmp27, __cil_tmp28, __cil_tmp30);
3522 }
3523#line 194
3524 return (tmp___2);
3525}
3526}
3527#line 198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3528static unsigned int wm8400_dcdc_get_mode(struct regulator_dev *dev )
3529{ struct wm8400 *wm8400 ;
3530 void *tmp ;
3531 int offset ;
3532 int tmp___0 ;
3533 u16 data[2U] ;
3534 int ret ;
3535 int __cil_tmp8 ;
3536 u8 __cil_tmp9 ;
3537 unsigned int __cil_tmp10 ;
3538 unsigned int __cil_tmp11 ;
3539 int __cil_tmp12 ;
3540 u8 __cil_tmp13 ;
3541 u16 *__cil_tmp14 ;
3542 unsigned long __cil_tmp15 ;
3543 unsigned long __cil_tmp16 ;
3544 u16 __cil_tmp17 ;
3545 int __cil_tmp18 ;
3546 int __cil_tmp19 ;
3547 unsigned long __cil_tmp20 ;
3548 unsigned long __cil_tmp21 ;
3549 u16 __cil_tmp22 ;
3550 int __cil_tmp23 ;
3551 int __cil_tmp24 ;
3552 unsigned long __cil_tmp25 ;
3553 unsigned long __cil_tmp26 ;
3554 u16 __cil_tmp27 ;
3555 int __cil_tmp28 ;
3556 int __cil_tmp29 ;
3557
3558 {
3559 {
3560#line 200
3561 tmp = rdev_get_drvdata(dev);
3562#line 200
3563 wm8400 = (struct wm8400 *)tmp;
3564#line 201
3565 tmp___0 = rdev_get_id(dev);
3566#line 201
3567 __cil_tmp8 = tmp___0 + -4;
3568#line 201
3569 offset = __cil_tmp8 * 2;
3570#line 205
3571 __cil_tmp9 = (u8 )offset;
3572#line 205
3573 __cil_tmp10 = (unsigned int )__cil_tmp9;
3574#line 205
3575 __cil_tmp11 = __cil_tmp10 + 70U;
3576#line 205
3577 __cil_tmp12 = (int )__cil_tmp11;
3578#line 205
3579 __cil_tmp13 = (u8 )__cil_tmp12;
3580#line 205
3581 __cil_tmp14 = (u16 *)(& data);
3582#line 205
3583 ret = wm8400_block_read(wm8400, __cil_tmp13, 2, __cil_tmp14);
3584 }
3585#line 207
3586 if (ret != 0) {
3587#line 208
3588 return (0U);
3589 } else {
3590
3591 }
3592 {
3593#line 211
3594 __cil_tmp15 = 0 * 2UL;
3595#line 211
3596 __cil_tmp16 = (unsigned long )(data) + __cil_tmp15;
3597#line 211
3598 __cil_tmp17 = *((u16 *)__cil_tmp16);
3599#line 211
3600 __cil_tmp18 = (int )__cil_tmp17;
3601#line 211
3602 __cil_tmp19 = __cil_tmp18 & 8192;
3603#line 211
3604 if (__cil_tmp19 != 0) {
3605#line 212
3606 return (8U);
3607 } else {
3608
3609 }
3610 }
3611 {
3612#line 215
3613 __cil_tmp20 = 0 * 2UL;
3614#line 215
3615 __cil_tmp21 = (unsigned long )(data) + __cil_tmp20;
3616#line 215
3617 __cil_tmp22 = *((u16 *)__cil_tmp21);
3618#line 215
3619 __cil_tmp23 = (int )__cil_tmp22;
3620#line 215
3621 __cil_tmp24 = __cil_tmp23 & 16384;
3622#line 215
3623 if (__cil_tmp24 == 0) {
3624#line 216
3625 return (4U);
3626 } else {
3627
3628 }
3629 }
3630 {
3631#line 219
3632 __cil_tmp25 = 1 * 2UL;
3633#line 219
3634 __cil_tmp26 = (unsigned long )(data) + __cil_tmp25;
3635#line 219
3636 __cil_tmp27 = *((u16 *)__cil_tmp26);
3637#line 219
3638 __cil_tmp28 = (int )__cil_tmp27;
3639#line 219
3640 __cil_tmp29 = __cil_tmp28 & 8192;
3641#line 219
3642 if (__cil_tmp29 != 0) {
3643#line 220
3644 return (1U);
3645 } else {
3646#line 222
3647 return (2U);
3648 }
3649 }
3650}
3651}
3652#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3653static int wm8400_dcdc_set_mode(struct regulator_dev *dev , unsigned int mode )
3654{ struct wm8400 *wm8400 ;
3655 void *tmp ;
3656 int offset ;
3657 int tmp___0 ;
3658 int ret ;
3659 int tmp___1 ;
3660 int tmp___2 ;
3661 int tmp___3 ;
3662 int __cil_tmp11 ;
3663 u8 __cil_tmp12 ;
3664 unsigned int __cil_tmp13 ;
3665 unsigned int __cil_tmp14 ;
3666 int __cil_tmp15 ;
3667 u8 __cil_tmp16 ;
3668 u16 __cil_tmp17 ;
3669 u16 __cil_tmp18 ;
3670 u8 __cil_tmp19 ;
3671 unsigned int __cil_tmp20 ;
3672 unsigned int __cil_tmp21 ;
3673 int __cil_tmp22 ;
3674 u8 __cil_tmp23 ;
3675 u16 __cil_tmp24 ;
3676 u16 __cil_tmp25 ;
3677 u8 __cil_tmp26 ;
3678 unsigned int __cil_tmp27 ;
3679 unsigned int __cil_tmp28 ;
3680 int __cil_tmp29 ;
3681 u8 __cil_tmp30 ;
3682 u16 __cil_tmp31 ;
3683 u16 __cil_tmp32 ;
3684 u8 __cil_tmp33 ;
3685 unsigned int __cil_tmp34 ;
3686 unsigned int __cil_tmp35 ;
3687 int __cil_tmp36 ;
3688 u8 __cil_tmp37 ;
3689 u16 __cil_tmp38 ;
3690 u16 __cil_tmp39 ;
3691 u8 __cil_tmp40 ;
3692 unsigned int __cil_tmp41 ;
3693 unsigned int __cil_tmp42 ;
3694 int __cil_tmp43 ;
3695 u8 __cil_tmp44 ;
3696 u16 __cil_tmp45 ;
3697 u16 __cil_tmp46 ;
3698 u8 __cil_tmp47 ;
3699 unsigned int __cil_tmp48 ;
3700 unsigned int __cil_tmp49 ;
3701 int __cil_tmp50 ;
3702 u8 __cil_tmp51 ;
3703 u16 __cil_tmp52 ;
3704 u16 __cil_tmp53 ;
3705
3706 {
3707 {
3708#line 227
3709 tmp = rdev_get_drvdata(dev);
3710#line 227
3711 wm8400 = (struct wm8400 *)tmp;
3712#line 228
3713 tmp___0 = rdev_get_id(dev);
3714#line 228
3715 __cil_tmp11 = tmp___0 + -4;
3716#line 228
3717 offset = __cil_tmp11 * 2;
3718 }
3719#line 232
3720 if ((int )mode == 1) {
3721#line 232
3722 goto case_1;
3723 } else
3724#line 243
3725 if ((int )mode == 2) {
3726#line 243
3727 goto case_2;
3728 } else
3729#line 254
3730 if ((int )mode == 4) {
3731#line 254
3732 goto case_4;
3733 } else {
3734 {
3735#line 263
3736 goto switch_default;
3737#line 231
3738 if (0) {
3739 case_1:
3740 {
3741#line 234
3742 __cil_tmp12 = (u8 )offset;
3743#line 234
3744 __cil_tmp13 = (unsigned int )__cil_tmp12;
3745#line 234
3746 __cil_tmp14 = __cil_tmp13 + 71U;
3747#line 234
3748 __cil_tmp15 = (int )__cil_tmp14;
3749#line 234
3750 __cil_tmp16 = (u8 )__cil_tmp15;
3751#line 234
3752 __cil_tmp17 = (u16 )8192;
3753#line 234
3754 __cil_tmp18 = (u16 )8192;
3755#line 234
3756 ret = wm8400_set_bits(wm8400, __cil_tmp16, __cil_tmp17, __cil_tmp18);
3757 }
3758#line 236
3759 if (ret != 0) {
3760#line 237
3761 return (ret);
3762 } else {
3763
3764 }
3765 {
3766#line 239
3767 __cil_tmp19 = (u8 )offset;
3768#line 239
3769 __cil_tmp20 = (unsigned int )__cil_tmp19;
3770#line 239
3771 __cil_tmp21 = __cil_tmp20 + 70U;
3772#line 239
3773 __cil_tmp22 = (int )__cil_tmp21;
3774#line 239
3775 __cil_tmp23 = (u8 )__cil_tmp22;
3776#line 239
3777 __cil_tmp24 = (u16 )24576;
3778#line 239
3779 __cil_tmp25 = (u16 )16384;
3780#line 239
3781 tmp___1 = wm8400_set_bits(wm8400, __cil_tmp23, __cil_tmp24, __cil_tmp25);
3782 }
3783#line 239
3784 return (tmp___1);
3785 case_2:
3786 {
3787#line 245
3788 __cil_tmp26 = (u8 )offset;
3789#line 245
3790 __cil_tmp27 = (unsigned int )__cil_tmp26;
3791#line 245
3792 __cil_tmp28 = __cil_tmp27 + 71U;
3793#line 245
3794 __cil_tmp29 = (int )__cil_tmp28;
3795#line 245
3796 __cil_tmp30 = (u8 )__cil_tmp29;
3797#line 245
3798 __cil_tmp31 = (u16 )8192;
3799#line 245
3800 __cil_tmp32 = (u16 )0;
3801#line 245
3802 ret = wm8400_set_bits(wm8400, __cil_tmp30, __cil_tmp31, __cil_tmp32);
3803 }
3804#line 247
3805 if (ret != 0) {
3806#line 248
3807 return (ret);
3808 } else {
3809
3810 }
3811 {
3812#line 250
3813 __cil_tmp33 = (u8 )offset;
3814#line 250
3815 __cil_tmp34 = (unsigned int )__cil_tmp33;
3816#line 250
3817 __cil_tmp35 = __cil_tmp34 + 70U;
3818#line 250
3819 __cil_tmp36 = (int )__cil_tmp35;
3820#line 250
3821 __cil_tmp37 = (u8 )__cil_tmp36;
3822#line 250
3823 __cil_tmp38 = (u16 )24576;
3824#line 250
3825 __cil_tmp39 = (u16 )16384;
3826#line 250
3827 tmp___2 = wm8400_set_bits(wm8400, __cil_tmp37, __cil_tmp38, __cil_tmp39);
3828 }
3829#line 250
3830 return (tmp___2);
3831 case_4:
3832 {
3833#line 256
3834 __cil_tmp40 = (u8 )offset;
3835#line 256
3836 __cil_tmp41 = (unsigned int )__cil_tmp40;
3837#line 256
3838 __cil_tmp42 = __cil_tmp41 + 70U;
3839#line 256
3840 __cil_tmp43 = (int )__cil_tmp42;
3841#line 256
3842 __cil_tmp44 = (u8 )__cil_tmp43;
3843#line 256
3844 __cil_tmp45 = (u16 )16384;
3845#line 256
3846 __cil_tmp46 = (u16 )0;
3847#line 256
3848 ret = wm8400_set_bits(wm8400, __cil_tmp44, __cil_tmp45, __cil_tmp46);
3849 }
3850#line 258
3851 if (ret != 0) {
3852#line 259
3853 return (ret);
3854 } else {
3855
3856 }
3857 {
3858#line 260
3859 __cil_tmp47 = (u8 )offset;
3860#line 260
3861 __cil_tmp48 = (unsigned int )__cil_tmp47;
3862#line 260
3863 __cil_tmp49 = __cil_tmp48 + 70U;
3864#line 260
3865 __cil_tmp50 = (int )__cil_tmp49;
3866#line 260
3867 __cil_tmp51 = (u8 )__cil_tmp50;
3868#line 260
3869 __cil_tmp52 = (u16 )8192;
3870#line 260
3871 __cil_tmp53 = (u16 )0;
3872#line 260
3873 tmp___3 = wm8400_set_bits(wm8400, __cil_tmp51, __cil_tmp52, __cil_tmp53);
3874 }
3875#line 260
3876 return (tmp___3);
3877 switch_default: ;
3878#line 264
3879 return (-22);
3880 } else {
3881 switch_break: ;
3882 }
3883 }
3884 }
3885}
3886}
3887#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3888static unsigned int wm8400_dcdc_get_optimum_mode(struct regulator_dev *dev , int input_uV ,
3889 int output_uV , int load_uA )
3890{
3891
3892 {
3893#line 272
3894 return (2U);
3895}
3896}
3897#line 275 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3898static struct regulator_ops wm8400_dcdc_ops =
3899#line 275
3900 {& wm8400_dcdc_list_voltage, & wm8400_dcdc_set_voltage, (int (*)(struct regulator_dev * ,
3901 unsigned int ))0,
3902 (int (*)(struct regulator_dev * ))0, & wm8400_dcdc_get_voltage_sel, (int (*)(struct regulator_dev * ,
3903 int ,
3904 int ))0,
3905 (int (*)(struct regulator_dev * ))0, & wm8400_dcdc_enable, & wm8400_dcdc_disable,
3906 & wm8400_dcdc_is_enabled, & wm8400_dcdc_set_mode, & wm8400_dcdc_get_mode, (int (*)(struct regulator_dev * ))0,
3907 (int (*)(struct regulator_dev * , unsigned int , unsigned int ))0, (int (*)(struct regulator_dev * ))0,
3908 & wm8400_dcdc_get_optimum_mode, (int (*)(struct regulator_dev * , int ))0, (int (*)(struct regulator_dev * ))0,
3909 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * , unsigned int ))0};
3910#line 287 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3911static struct regulator_desc regulators[6U] = { {"LDO1", (char const *)0, 0, 32U, & wm8400_ldo_ops, 0, (enum regulator_type )0,
3912 & __this_module},
3913 {"LDO2", (char const *)0, 1, 32U, & wm8400_ldo_ops, 0, (enum regulator_type )0,
3914 & __this_module},
3915 {"LDO3", (char const *)0, 2, 32U, & wm8400_ldo_ops, 0, (enum regulator_type )0,
3916 & __this_module},
3917 {"LDO4", (char const *)0, 3, 32U, & wm8400_ldo_ops, 0, (enum regulator_type )0,
3918 & __this_module},
3919 {"DCDC1", (char const *)0, 4, 128U, & wm8400_dcdc_ops, 0, (enum regulator_type )0,
3920 & __this_module},
3921 {"DCDC2", (char const *)0, 5, 128U, & wm8400_dcdc_ops, 0, (enum regulator_type )0,
3922 & __this_module}};
3923#line 338 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
3924static int wm8400_regulator_probe(struct platform_device *pdev )
3925{ struct wm8400 *wm8400 ;
3926 struct platform_device const *__mptr ;
3927 struct regulator_dev *rdev ;
3928 long tmp ;
3929 long tmp___0 ;
3930 unsigned long __cil_tmp7 ;
3931 unsigned long __cil_tmp8 ;
3932 int __cil_tmp9 ;
3933 unsigned long __cil_tmp10 ;
3934 unsigned long __cil_tmp11 ;
3935 unsigned long __cil_tmp12 ;
3936 unsigned long __cil_tmp13 ;
3937 struct wm8400 *__cil_tmp14 ;
3938 unsigned long __cil_tmp15 ;
3939 unsigned long __cil_tmp16 ;
3940 int __cil_tmp17 ;
3941 unsigned long __cil_tmp18 ;
3942 struct regulator_desc *__cil_tmp19 ;
3943 struct regulator_desc *__cil_tmp20 ;
3944 unsigned long __cil_tmp21 ;
3945 unsigned long __cil_tmp22 ;
3946 struct device *__cil_tmp23 ;
3947 unsigned long __cil_tmp24 ;
3948 unsigned long __cil_tmp25 ;
3949 unsigned long __cil_tmp26 ;
3950 void *__cil_tmp27 ;
3951 struct regulator_init_data const *__cil_tmp28 ;
3952 void *__cil_tmp29 ;
3953 struct device_node *__cil_tmp30 ;
3954 void const *__cil_tmp31 ;
3955 void const *__cil_tmp32 ;
3956 void *__cil_tmp33 ;
3957
3958 {
3959 {
3960#line 340
3961 __mptr = (struct platform_device const *)pdev;
3962#line 340
3963 __cil_tmp7 = (unsigned long )pdev;
3964#line 340
3965 __cil_tmp8 = __cil_tmp7 + 8;
3966#line 340
3967 __cil_tmp9 = *((int *)__cil_tmp8);
3968#line 340
3969 __cil_tmp10 = (unsigned long )__cil_tmp9;
3970#line 340
3971 __cil_tmp11 = __cil_tmp10 * 1200UL;
3972#line 340
3973 __cil_tmp12 = __cil_tmp11 + 360UL;
3974#line 340
3975 __cil_tmp13 = - __cil_tmp12;
3976#line 340
3977 __cil_tmp14 = (struct wm8400 *)__mptr;
3978#line 340
3979 wm8400 = __cil_tmp14 + __cil_tmp13;
3980#line 343
3981 __cil_tmp15 = (unsigned long )pdev;
3982#line 343
3983 __cil_tmp16 = __cil_tmp15 + 8;
3984#line 343
3985 __cil_tmp17 = *((int *)__cil_tmp16);
3986#line 343
3987 __cil_tmp18 = (unsigned long )__cil_tmp17;
3988#line 343
3989 __cil_tmp19 = (struct regulator_desc *)(& regulators);
3990#line 343
3991 __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
3992#line 343
3993 __cil_tmp21 = (unsigned long )pdev;
3994#line 343
3995 __cil_tmp22 = __cil_tmp21 + 16;
3996#line 343
3997 __cil_tmp23 = (struct device *)__cil_tmp22;
3998#line 343
3999 __cil_tmp24 = 16 + 280;
4000#line 343
4001 __cil_tmp25 = (unsigned long )pdev;
4002#line 343
4003 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
4004#line 343
4005 __cil_tmp27 = *((void **)__cil_tmp26);
4006#line 343
4007 __cil_tmp28 = (struct regulator_init_data const *)__cil_tmp27;
4008#line 343
4009 __cil_tmp29 = (void *)wm8400;
4010#line 343
4011 __cil_tmp30 = (struct device_node *)0;
4012#line 343
4013 rdev = regulator_register(__cil_tmp20, __cil_tmp23, __cil_tmp28, __cil_tmp29, __cil_tmp30);
4014#line 346
4015 __cil_tmp31 = (void const *)rdev;
4016#line 346
4017 tmp___0 = IS_ERR(__cil_tmp31);
4018 }
4019#line 346
4020 if (tmp___0 != 0L) {
4021 {
4022#line 347
4023 __cil_tmp32 = (void const *)rdev;
4024#line 347
4025 tmp = PTR_ERR(__cil_tmp32);
4026 }
4027#line 347
4028 return ((int )tmp);
4029 } else {
4030
4031 }
4032 {
4033#line 349
4034 __cil_tmp33 = (void *)rdev;
4035#line 349
4036 platform_set_drvdata(pdev, __cil_tmp33);
4037 }
4038#line 351
4039 return (0);
4040}
4041}
4042#line 354 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4043static int wm8400_regulator_remove(struct platform_device *pdev )
4044{ struct regulator_dev *rdev ;
4045 void *tmp ;
4046 struct platform_device const *__cil_tmp4 ;
4047 void *__cil_tmp5 ;
4048
4049 {
4050 {
4051#line 356
4052 __cil_tmp4 = (struct platform_device const *)pdev;
4053#line 356
4054 tmp = platform_get_drvdata(__cil_tmp4);
4055#line 356
4056 rdev = (struct regulator_dev *)tmp;
4057#line 358
4058 __cil_tmp5 = (void *)0;
4059#line 358
4060 platform_set_drvdata(pdev, __cil_tmp5);
4061#line 359
4062 regulator_unregister(rdev);
4063 }
4064#line 361
4065 return (0);
4066}
4067}
4068#line 364 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4069static struct platform_driver wm8400_regulator_driver = {& wm8400_regulator_probe, & wm8400_regulator_remove, (void (*)(struct platform_device * ))0,
4070 (int (*)(struct platform_device * , pm_message_t ))0, (int (*)(struct platform_device * ))0,
4071 {"wm8400-regulator", (struct bus_type *)0, (struct module *)0, (char const *)0,
4072 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
4073 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
4074 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
4075 (struct driver_private *)0}, (struct platform_device_id const *)0};
4076#line 383 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4077int wm8400_register_regulator(struct device *dev , int reg , struct regulator_init_data *initdata )
4078{ struct wm8400 *wm8400 ;
4079 void *tmp ;
4080 int tmp___0 ;
4081 struct device const *__cil_tmp7 ;
4082 char const *__cil_tmp8 ;
4083 unsigned long __cil_tmp9 ;
4084 unsigned long __cil_tmp10 ;
4085 unsigned long __cil_tmp11 ;
4086 unsigned long __cil_tmp12 ;
4087 unsigned long __cil_tmp13 ;
4088 char const *__cil_tmp14 ;
4089 unsigned long __cil_tmp15 ;
4090 unsigned long __cil_tmp16 ;
4091 unsigned long __cil_tmp17 ;
4092 unsigned long __cil_tmp18 ;
4093 unsigned long __cil_tmp19 ;
4094 unsigned long __cil_tmp20 ;
4095 unsigned long __cil_tmp21 ;
4096 unsigned long __cil_tmp22 ;
4097 unsigned long __cil_tmp23 ;
4098 unsigned long __cil_tmp24 ;
4099 unsigned long __cil_tmp25 ;
4100 unsigned long __cil_tmp26 ;
4101 unsigned long __cil_tmp27 ;
4102 unsigned long __cil_tmp28 ;
4103 unsigned long __cil_tmp29 ;
4104 unsigned long __cil_tmp30 ;
4105 unsigned long __cil_tmp31 ;
4106 unsigned long __cil_tmp32 ;
4107 unsigned long __cil_tmp33 ;
4108 unsigned long __cil_tmp34 ;
4109 unsigned long __cil_tmp35 ;
4110 unsigned long __cil_tmp36 ;
4111 unsigned long __cil_tmp37 ;
4112 unsigned long __cil_tmp38 ;
4113 unsigned long __cil_tmp39 ;
4114 unsigned long __cil_tmp40 ;
4115 struct platform_device (*__cil_tmp41)[6U] ;
4116 struct platform_device *__cil_tmp42 ;
4117 struct platform_device *__cil_tmp43 ;
4118
4119 {
4120 {
4121#line 386
4122 __cil_tmp7 = (struct device const *)dev;
4123#line 386
4124 tmp = dev_get_drvdata(__cil_tmp7);
4125#line 386
4126 wm8400 = (struct wm8400 *)tmp;
4127 }
4128 {
4129#line 388
4130 __cil_tmp8 = (char const *)0;
4131#line 388
4132 __cil_tmp9 = (unsigned long )__cil_tmp8;
4133#line 388
4134 __cil_tmp10 = reg * 1200UL;
4135#line 388
4136 __cil_tmp11 = 360 + __cil_tmp10;
4137#line 388
4138 __cil_tmp12 = (unsigned long )wm8400;
4139#line 388
4140 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
4141#line 388
4142 __cil_tmp14 = *((char const **)__cil_tmp13);
4143#line 388
4144 __cil_tmp15 = (unsigned long )__cil_tmp14;
4145#line 388
4146 if (__cil_tmp15 != __cil_tmp9) {
4147#line 389
4148 return (-16);
4149 } else {
4150
4151 }
4152 }
4153 {
4154#line 391
4155 __cil_tmp16 = (unsigned long )initdata;
4156#line 391
4157 __cil_tmp17 = __cil_tmp16 + 136;
4158#line 391
4159 *((void **)__cil_tmp17) = (void *)wm8400;
4160#line 393
4161 __cil_tmp18 = reg * 1200UL;
4162#line 393
4163 __cil_tmp19 = 360 + __cil_tmp18;
4164#line 393
4165 __cil_tmp20 = (unsigned long )wm8400;
4166#line 393
4167 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
4168#line 393
4169 *((char const **)__cil_tmp21) = "wm8400-regulator";
4170#line 394
4171 __cil_tmp22 = reg * 1200UL;
4172#line 394
4173 __cil_tmp23 = __cil_tmp22 + 8;
4174#line 394
4175 __cil_tmp24 = 360 + __cil_tmp23;
4176#line 394
4177 __cil_tmp25 = (unsigned long )wm8400;
4178#line 394
4179 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
4180#line 394
4181 *((int *)__cil_tmp26) = reg;
4182#line 395
4183 __cil_tmp27 = reg * 1200UL;
4184#line 395
4185 __cil_tmp28 = __cil_tmp27 + 16;
4186#line 395
4187 __cil_tmp29 = 360 + __cil_tmp28;
4188#line 395
4189 __cil_tmp30 = (unsigned long )wm8400;
4190#line 395
4191 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
4192#line 395
4193 *((struct device **)__cil_tmp31) = dev;
4194#line 396
4195 __cil_tmp32 = 16 + 280;
4196#line 396
4197 __cil_tmp33 = reg * 1200UL;
4198#line 396
4199 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
4200#line 396
4201 __cil_tmp35 = 360 + __cil_tmp34;
4202#line 396
4203 __cil_tmp36 = (unsigned long )wm8400;
4204#line 396
4205 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
4206#line 396
4207 *((void **)__cil_tmp37) = (void *)initdata;
4208#line 398
4209 __cil_tmp38 = (unsigned long )reg;
4210#line 398
4211 __cil_tmp39 = (unsigned long )wm8400;
4212#line 398
4213 __cil_tmp40 = __cil_tmp39 + 360;
4214#line 398
4215 __cil_tmp41 = (struct platform_device (*)[6U])__cil_tmp40;
4216#line 398
4217 __cil_tmp42 = (struct platform_device *)__cil_tmp41;
4218#line 398
4219 __cil_tmp43 = __cil_tmp42 + __cil_tmp38;
4220#line 398
4221 tmp___0 = platform_device_register(__cil_tmp43);
4222 }
4223#line 398
4224 return (tmp___0);
4225}
4226}
4227#line 402 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4228static int wm8400_regulator_init(void)
4229{ int tmp ;
4230
4231 {
4232 {
4233#line 404
4234 tmp = platform_driver_register(& wm8400_regulator_driver);
4235 }
4236#line 404
4237 return (tmp);
4238}
4239}
4240#line 408 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4241static void wm8400_regulator_exit(void)
4242{
4243
4244 {
4245 {
4246#line 410
4247 platform_driver_unregister(& wm8400_regulator_driver);
4248 }
4249#line 411
4250 return;
4251}
4252}
4253#line 435
4254extern void ldv_check_final_state(void) ;
4255#line 438
4256extern void ldv_check_return_value(int ) ;
4257#line 441
4258extern void ldv_initialize(void) ;
4259#line 444
4260extern int __VERIFIER_nondet_int(void) ;
4261#line 447 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4262int LDV_IN_INTERRUPT ;
4263#line 450 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4264void main(void)
4265{ struct regulator_dev *var_group1 ;
4266 unsigned int var_wm8400_ldo_list_voltage_3_p1 ;
4267 int var_wm8400_ldo_set_voltage_5_p1 ;
4268 int var_wm8400_ldo_set_voltage_5_p2 ;
4269 unsigned int *var_wm8400_ldo_set_voltage_5_p3 ;
4270 unsigned int var_wm8400_dcdc_list_voltage_9_p1 ;
4271 int var_wm8400_dcdc_set_voltage_11_p1 ;
4272 int var_wm8400_dcdc_set_voltage_11_p2 ;
4273 unsigned int *var_wm8400_dcdc_set_voltage_11_p3 ;
4274 unsigned int var_wm8400_dcdc_set_mode_13_p1 ;
4275 int var_wm8400_dcdc_get_optimum_mode_14_p1 ;
4276 int var_wm8400_dcdc_get_optimum_mode_14_p2 ;
4277 int var_wm8400_dcdc_get_optimum_mode_14_p3 ;
4278 struct platform_device *var_group2 ;
4279 int res_wm8400_regulator_probe_15 ;
4280 int ldv_s_wm8400_regulator_driver_platform_driver ;
4281 int tmp ;
4282 int tmp___0 ;
4283 int tmp___1 ;
4284
4285 {
4286 {
4287#line 551
4288 ldv_s_wm8400_regulator_driver_platform_driver = 0;
4289#line 530
4290 LDV_IN_INTERRUPT = 1;
4291#line 539
4292 ldv_initialize();
4293#line 545
4294 tmp = wm8400_regulator_init();
4295 }
4296#line 545
4297 if (tmp != 0) {
4298#line 546
4299 goto ldv_final;
4300 } else {
4301
4302 }
4303#line 554
4304 goto ldv_22615;
4305 ldv_22614:
4306 {
4307#line 558
4308 tmp___0 = __VERIFIER_nondet_int();
4309 }
4310#line 560
4311 if (tmp___0 == 0) {
4312#line 560
4313 goto case_0;
4314 } else
4315#line 576
4316 if (tmp___0 == 1) {
4317#line 576
4318 goto case_1;
4319 } else
4320#line 592
4321 if (tmp___0 == 2) {
4322#line 592
4323 goto case_2;
4324 } else
4325#line 608
4326 if (tmp___0 == 3) {
4327#line 608
4328 goto case_3;
4329 } else
4330#line 624
4331 if (tmp___0 == 4) {
4332#line 624
4333 goto case_4;
4334 } else
4335#line 640
4336 if (tmp___0 == 5) {
4337#line 640
4338 goto case_5;
4339 } else
4340#line 656
4341 if (tmp___0 == 6) {
4342#line 656
4343 goto case_6;
4344 } else
4345#line 672
4346 if (tmp___0 == 7) {
4347#line 672
4348 goto case_7;
4349 } else
4350#line 688
4351 if (tmp___0 == 8) {
4352#line 688
4353 goto case_8;
4354 } else
4355#line 704
4356 if (tmp___0 == 9) {
4357#line 704
4358 goto case_9;
4359 } else
4360#line 720
4361 if (tmp___0 == 10) {
4362#line 720
4363 goto case_10;
4364 } else
4365#line 736
4366 if (tmp___0 == 11) {
4367#line 736
4368 goto case_11;
4369 } else
4370#line 752
4371 if (tmp___0 == 12) {
4372#line 752
4373 goto case_12;
4374 } else
4375#line 768
4376 if (tmp___0 == 13) {
4377#line 768
4378 goto case_13;
4379 } else
4380#line 784
4381 if (tmp___0 == 14) {
4382#line 784
4383 goto case_14;
4384 } else
4385#line 800
4386 if (tmp___0 == 15) {
4387#line 800
4388 goto case_15;
4389 } else {
4390 {
4391#line 819
4392 goto switch_default;
4393#line 558
4394 if (0) {
4395 case_0:
4396 {
4397#line 568
4398 wm8400_ldo_is_enabled(var_group1);
4399 }
4400#line 575
4401 goto ldv_22596;
4402 case_1:
4403 {
4404#line 584
4405 wm8400_ldo_enable(var_group1);
4406 }
4407#line 591
4408 goto ldv_22596;
4409 case_2:
4410 {
4411#line 600
4412 wm8400_ldo_disable(var_group1);
4413 }
4414#line 607
4415 goto ldv_22596;
4416 case_3:
4417 {
4418#line 616
4419 wm8400_ldo_list_voltage(var_group1, var_wm8400_ldo_list_voltage_3_p1);
4420 }
4421#line 623
4422 goto ldv_22596;
4423 case_4:
4424 {
4425#line 632
4426 wm8400_ldo_get_voltage_sel(var_group1);
4427 }
4428#line 639
4429 goto ldv_22596;
4430 case_5:
4431 {
4432#line 648
4433 wm8400_ldo_set_voltage(var_group1, var_wm8400_ldo_set_voltage_5_p1, var_wm8400_ldo_set_voltage_5_p2,
4434 var_wm8400_ldo_set_voltage_5_p3);
4435 }
4436#line 655
4437 goto ldv_22596;
4438 case_6:
4439 {
4440#line 664
4441 wm8400_dcdc_is_enabled(var_group1);
4442 }
4443#line 671
4444 goto ldv_22596;
4445 case_7:
4446 {
4447#line 680
4448 wm8400_dcdc_enable(var_group1);
4449 }
4450#line 687
4451 goto ldv_22596;
4452 case_8:
4453 {
4454#line 696
4455 wm8400_dcdc_disable(var_group1);
4456 }
4457#line 703
4458 goto ldv_22596;
4459 case_9:
4460 {
4461#line 712
4462 wm8400_dcdc_list_voltage(var_group1, var_wm8400_dcdc_list_voltage_9_p1);
4463 }
4464#line 719
4465 goto ldv_22596;
4466 case_10:
4467 {
4468#line 728
4469 wm8400_dcdc_get_voltage_sel(var_group1);
4470 }
4471#line 735
4472 goto ldv_22596;
4473 case_11:
4474 {
4475#line 744
4476 wm8400_dcdc_set_voltage(var_group1, var_wm8400_dcdc_set_voltage_11_p1, var_wm8400_dcdc_set_voltage_11_p2,
4477 var_wm8400_dcdc_set_voltage_11_p3);
4478 }
4479#line 751
4480 goto ldv_22596;
4481 case_12:
4482 {
4483#line 760
4484 wm8400_dcdc_get_mode(var_group1);
4485 }
4486#line 767
4487 goto ldv_22596;
4488 case_13:
4489 {
4490#line 776
4491 wm8400_dcdc_set_mode(var_group1, var_wm8400_dcdc_set_mode_13_p1);
4492 }
4493#line 783
4494 goto ldv_22596;
4495 case_14:
4496 {
4497#line 792
4498 wm8400_dcdc_get_optimum_mode(var_group1, var_wm8400_dcdc_get_optimum_mode_14_p1,
4499 var_wm8400_dcdc_get_optimum_mode_14_p2, var_wm8400_dcdc_get_optimum_mode_14_p3);
4500 }
4501#line 799
4502 goto ldv_22596;
4503 case_15: ;
4504#line 803
4505 if (ldv_s_wm8400_regulator_driver_platform_driver == 0) {
4506 {
4507#line 808
4508 res_wm8400_regulator_probe_15 = wm8400_regulator_probe(var_group2);
4509#line 809
4510 ldv_check_return_value(res_wm8400_regulator_probe_15);
4511 }
4512#line 810
4513 if (res_wm8400_regulator_probe_15 != 0) {
4514#line 811
4515 goto ldv_module_exit;
4516 } else {
4517
4518 }
4519#line 812
4520 ldv_s_wm8400_regulator_driver_platform_driver = 0;
4521 } else {
4522
4523 }
4524#line 818
4525 goto ldv_22596;
4526 switch_default: ;
4527#line 819
4528 goto ldv_22596;
4529 } else {
4530 switch_break: ;
4531 }
4532 }
4533 }
4534 ldv_22596: ;
4535 ldv_22615:
4536 {
4537#line 554
4538 tmp___1 = __VERIFIER_nondet_int();
4539 }
4540#line 554
4541 if (tmp___1 != 0) {
4542#line 556
4543 goto ldv_22614;
4544 } else
4545#line 554
4546 if (ldv_s_wm8400_regulator_driver_platform_driver != 0) {
4547#line 556
4548 goto ldv_22614;
4549 } else {
4550#line 558
4551 goto ldv_22616;
4552 }
4553 ldv_22616: ;
4554 ldv_module_exit:
4555 {
4556#line 831
4557 wm8400_regulator_exit();
4558 }
4559 ldv_final:
4560 {
4561#line 834
4562 ldv_check_final_state();
4563 }
4564#line 837
4565 return;
4566}
4567}
4568#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4569void ldv_blast_assert(void)
4570{
4571
4572 {
4573 ERROR: ;
4574#line 6
4575 goto ERROR;
4576}
4577}
4578#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4579extern int __VERIFIER_nondet_int(void) ;
4580#line 858 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4581int ldv_spin = 0;
4582#line 862 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4583void ldv_check_alloc_flags(gfp_t flags )
4584{
4585
4586 {
4587#line 865
4588 if (ldv_spin != 0) {
4589#line 865
4590 if (flags != 32U) {
4591 {
4592#line 865
4593 ldv_blast_assert();
4594 }
4595 } else {
4596
4597 }
4598 } else {
4599
4600 }
4601#line 868
4602 return;
4603}
4604}
4605#line 868
4606extern struct page *ldv_some_page(void) ;
4607#line 871 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4608struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
4609{ struct page *tmp ;
4610
4611 {
4612#line 874
4613 if (ldv_spin != 0) {
4614#line 874
4615 if (flags != 32U) {
4616 {
4617#line 874
4618 ldv_blast_assert();
4619 }
4620 } else {
4621
4622 }
4623 } else {
4624
4625 }
4626 {
4627#line 876
4628 tmp = ldv_some_page();
4629 }
4630#line 876
4631 return (tmp);
4632}
4633}
4634#line 880 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4635void ldv_check_alloc_nonatomic(void)
4636{
4637
4638 {
4639#line 883
4640 if (ldv_spin != 0) {
4641 {
4642#line 883
4643 ldv_blast_assert();
4644 }
4645 } else {
4646
4647 }
4648#line 886
4649 return;
4650}
4651}
4652#line 887 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4653void ldv_spin_lock(void)
4654{
4655
4656 {
4657#line 890
4658 ldv_spin = 1;
4659#line 891
4660 return;
4661}
4662}
4663#line 894 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4664void ldv_spin_unlock(void)
4665{
4666
4667 {
4668#line 897
4669 ldv_spin = 0;
4670#line 898
4671 return;
4672}
4673}
4674#line 901 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4675int ldv_spin_trylock(void)
4676{ int is_lock ;
4677
4678 {
4679 {
4680#line 906
4681 is_lock = __VERIFIER_nondet_int();
4682 }
4683#line 908
4684 if (is_lock != 0) {
4685#line 911
4686 return (0);
4687 } else {
4688#line 916
4689 ldv_spin = 1;
4690#line 918
4691 return (1);
4692 }
4693}
4694}
4695#line 1085 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12256/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm8400-regulator.c.p"
4696void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
4697{
4698
4699 {
4700 {
4701#line 1091
4702 ldv_check_alloc_flags(ldv_func_arg2);
4703#line 1093
4704 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
4705 }
4706#line 1094
4707 return ((void *)0);
4708}
4709}