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/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-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 12 "include/linux/mod_devicetable.h"
1342typedef unsigned long kernel_ulong_t;
1343#line 215 "include/linux/mod_devicetable.h"
1344struct of_device_id {
1345 char name[32U] ;
1346 char type[32U] ;
1347 char compatible[128U] ;
1348 void *data ;
1349};
1350#line 492 "include/linux/mod_devicetable.h"
1351struct platform_device_id {
1352 char name[20U] ;
1353 kernel_ulong_t driver_data ;
1354};
1355#line 584
1356struct mfd_cell;
1357#line 584
1358struct mfd_cell;
1359#line 585 "include/linux/mod_devicetable.h"
1360struct platform_device {
1361 char const *name ;
1362 int id ;
1363 struct device dev ;
1364 u32 num_resources ;
1365 struct resource *resource ;
1366 struct platform_device_id const *id_entry ;
1367 struct mfd_cell *mfd_cell ;
1368 struct pdev_archdata archdata ;
1369};
1370#line 163 "include/linux/platform_device.h"
1371struct platform_driver {
1372 int (*probe)(struct platform_device * ) ;
1373 int (*remove)(struct platform_device * ) ;
1374 void (*shutdown)(struct platform_device * ) ;
1375 int (*suspend)(struct platform_device * , pm_message_t ) ;
1376 int (*resume)(struct platform_device * ) ;
1377 struct device_driver driver ;
1378 struct platform_device_id const *id_table ;
1379};
1380#line 272
1381struct regulator;
1382#line 272
1383struct regulator;
1384#line 189 "include/linux/regulator/consumer.h"
1385struct regulator_dev;
1386#line 189
1387struct regulator_dev;
1388#line 190
1389struct regulator_init_data;
1390#line 190
1391struct regulator_init_data;
1392#line 201 "include/linux/regulator/consumer.h"
1393struct regulator_ops {
1394 int (*list_voltage)(struct regulator_dev * , unsigned int ) ;
1395 int (*set_voltage)(struct regulator_dev * , int , int , unsigned int * ) ;
1396 int (*set_voltage_sel)(struct regulator_dev * , unsigned int ) ;
1397 int (*get_voltage)(struct regulator_dev * ) ;
1398 int (*get_voltage_sel)(struct regulator_dev * ) ;
1399 int (*set_current_limit)(struct regulator_dev * , int , int ) ;
1400 int (*get_current_limit)(struct regulator_dev * ) ;
1401 int (*enable)(struct regulator_dev * ) ;
1402 int (*disable)(struct regulator_dev * ) ;
1403 int (*is_enabled)(struct regulator_dev * ) ;
1404 int (*set_mode)(struct regulator_dev * , unsigned int ) ;
1405 unsigned int (*get_mode)(struct regulator_dev * ) ;
1406 int (*enable_time)(struct regulator_dev * ) ;
1407 int (*set_voltage_time_sel)(struct regulator_dev * , unsigned int , unsigned int ) ;
1408 int (*get_status)(struct regulator_dev * ) ;
1409 unsigned int (*get_optimum_mode)(struct regulator_dev * , int , int , int ) ;
1410 int (*set_suspend_voltage)(struct regulator_dev * , int ) ;
1411 int (*set_suspend_enable)(struct regulator_dev * ) ;
1412 int (*set_suspend_disable)(struct regulator_dev * ) ;
1413 int (*set_suspend_mode)(struct regulator_dev * , unsigned int ) ;
1414};
1415#line 141 "include/linux/regulator/driver.h"
1416enum regulator_type {
1417 REGULATOR_VOLTAGE = 0,
1418 REGULATOR_CURRENT = 1
1419} ;
1420#line 146 "include/linux/regulator/driver.h"
1421struct regulator_desc {
1422 char const *name ;
1423 char const *supply_name ;
1424 int id ;
1425 unsigned int n_voltages ;
1426 struct regulator_ops *ops ;
1427 int irq ;
1428 enum regulator_type type ;
1429 struct module *owner ;
1430};
1431#line 175
1432struct regulation_constraints;
1433#line 175
1434struct dentry;
1435#line 175 "include/linux/regulator/driver.h"
1436struct regulator_dev {
1437 struct regulator_desc *desc ;
1438 int exclusive ;
1439 u32 use_count ;
1440 u32 open_count ;
1441 struct list_head list ;
1442 struct list_head consumer_list ;
1443 struct blocking_notifier_head notifier ;
1444 struct mutex mutex ;
1445 struct module *owner ;
1446 struct device dev ;
1447 struct regulation_constraints *constraints ;
1448 struct regulator *supply ;
1449 struct delayed_work disable_work ;
1450 int deferred_disables ;
1451 void *reg_data ;
1452 struct dentry *debugfs ;
1453};
1454#line 93 "include/linux/capability.h"
1455struct kernel_cap_struct {
1456 __u32 cap[2U] ;
1457};
1458#line 96 "include/linux/capability.h"
1459typedef struct kernel_cap_struct kernel_cap_t;
1460#line 104
1461struct user_namespace;
1462#line 104
1463struct user_namespace;
1464#line 554
1465struct prio_tree_node;
1466#line 554 "include/linux/capability.h"
1467struct raw_prio_tree_node {
1468 struct prio_tree_node *left ;
1469 struct prio_tree_node *right ;
1470 struct prio_tree_node *parent ;
1471};
1472#line 19 "include/linux/prio_tree.h"
1473struct prio_tree_node {
1474 struct prio_tree_node *left ;
1475 struct prio_tree_node *right ;
1476 struct prio_tree_node *parent ;
1477 unsigned long start ;
1478 unsigned long last ;
1479};
1480#line 116
1481struct address_space;
1482#line 116
1483struct address_space;
1484#line 117 "include/linux/prio_tree.h"
1485union __anonunion_ldv_15670_138 {
1486 unsigned long index ;
1487 void *freelist ;
1488};
1489#line 117 "include/linux/prio_tree.h"
1490struct __anonstruct_ldv_15680_142 {
1491 unsigned short inuse ;
1492 unsigned short objects : 15 ;
1493 unsigned char frozen : 1 ;
1494};
1495#line 117 "include/linux/prio_tree.h"
1496union __anonunion_ldv_15681_141 {
1497 atomic_t _mapcount ;
1498 struct __anonstruct_ldv_15680_142 ldv_15680 ;
1499};
1500#line 117 "include/linux/prio_tree.h"
1501struct __anonstruct_ldv_15683_140 {
1502 union __anonunion_ldv_15681_141 ldv_15681 ;
1503 atomic_t _count ;
1504};
1505#line 117 "include/linux/prio_tree.h"
1506union __anonunion_ldv_15684_139 {
1507 unsigned long counters ;
1508 struct __anonstruct_ldv_15683_140 ldv_15683 ;
1509};
1510#line 117 "include/linux/prio_tree.h"
1511struct __anonstruct_ldv_15685_137 {
1512 union __anonunion_ldv_15670_138 ldv_15670 ;
1513 union __anonunion_ldv_15684_139 ldv_15684 ;
1514};
1515#line 117 "include/linux/prio_tree.h"
1516struct __anonstruct_ldv_15692_144 {
1517 struct page *next ;
1518 int pages ;
1519 int pobjects ;
1520};
1521#line 117 "include/linux/prio_tree.h"
1522union __anonunion_ldv_15693_143 {
1523 struct list_head lru ;
1524 struct __anonstruct_ldv_15692_144 ldv_15692 ;
1525};
1526#line 117 "include/linux/prio_tree.h"
1527union __anonunion_ldv_15698_145 {
1528 unsigned long private ;
1529 struct kmem_cache *slab ;
1530 struct page *first_page ;
1531};
1532#line 117 "include/linux/prio_tree.h"
1533struct page {
1534 unsigned long flags ;
1535 struct address_space *mapping ;
1536 struct __anonstruct_ldv_15685_137 ldv_15685 ;
1537 union __anonunion_ldv_15693_143 ldv_15693 ;
1538 union __anonunion_ldv_15698_145 ldv_15698 ;
1539 unsigned long debug_flags ;
1540};
1541#line 192 "include/linux/mm_types.h"
1542struct __anonstruct_vm_set_147 {
1543 struct list_head list ;
1544 void *parent ;
1545 struct vm_area_struct *head ;
1546};
1547#line 192 "include/linux/mm_types.h"
1548union __anonunion_shared_146 {
1549 struct __anonstruct_vm_set_147 vm_set ;
1550 struct raw_prio_tree_node prio_tree_node ;
1551};
1552#line 192
1553struct anon_vma;
1554#line 192
1555struct vm_operations_struct;
1556#line 192
1557struct mempolicy;
1558#line 192 "include/linux/mm_types.h"
1559struct vm_area_struct {
1560 struct mm_struct *vm_mm ;
1561 unsigned long vm_start ;
1562 unsigned long vm_end ;
1563 struct vm_area_struct *vm_next ;
1564 struct vm_area_struct *vm_prev ;
1565 pgprot_t vm_page_prot ;
1566 unsigned long vm_flags ;
1567 struct rb_node vm_rb ;
1568 union __anonunion_shared_146 shared ;
1569 struct list_head anon_vma_chain ;
1570 struct anon_vma *anon_vma ;
1571 struct vm_operations_struct const *vm_ops ;
1572 unsigned long vm_pgoff ;
1573 struct file *vm_file ;
1574 void *vm_private_data ;
1575 struct mempolicy *vm_policy ;
1576};
1577#line 255 "include/linux/mm_types.h"
1578struct core_thread {
1579 struct task_struct *task ;
1580 struct core_thread *next ;
1581};
1582#line 261 "include/linux/mm_types.h"
1583struct core_state {
1584 atomic_t nr_threads ;
1585 struct core_thread dumper ;
1586 struct completion startup ;
1587};
1588#line 274 "include/linux/mm_types.h"
1589struct mm_rss_stat {
1590 atomic_long_t count[3U] ;
1591};
1592#line 287
1593struct linux_binfmt;
1594#line 287
1595struct mmu_notifier_mm;
1596#line 287 "include/linux/mm_types.h"
1597struct mm_struct {
1598 struct vm_area_struct *mmap ;
1599 struct rb_root mm_rb ;
1600 struct vm_area_struct *mmap_cache ;
1601 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1602 unsigned long , unsigned long ) ;
1603 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1604 unsigned long mmap_base ;
1605 unsigned long task_size ;
1606 unsigned long cached_hole_size ;
1607 unsigned long free_area_cache ;
1608 pgd_t *pgd ;
1609 atomic_t mm_users ;
1610 atomic_t mm_count ;
1611 int map_count ;
1612 spinlock_t page_table_lock ;
1613 struct rw_semaphore mmap_sem ;
1614 struct list_head mmlist ;
1615 unsigned long hiwater_rss ;
1616 unsigned long hiwater_vm ;
1617 unsigned long total_vm ;
1618 unsigned long locked_vm ;
1619 unsigned long pinned_vm ;
1620 unsigned long shared_vm ;
1621 unsigned long exec_vm ;
1622 unsigned long stack_vm ;
1623 unsigned long reserved_vm ;
1624 unsigned long def_flags ;
1625 unsigned long nr_ptes ;
1626 unsigned long start_code ;
1627 unsigned long end_code ;
1628 unsigned long start_data ;
1629 unsigned long end_data ;
1630 unsigned long start_brk ;
1631 unsigned long brk ;
1632 unsigned long start_stack ;
1633 unsigned long arg_start ;
1634 unsigned long arg_end ;
1635 unsigned long env_start ;
1636 unsigned long env_end ;
1637 unsigned long saved_auxv[44U] ;
1638 struct mm_rss_stat rss_stat ;
1639 struct linux_binfmt *binfmt ;
1640 cpumask_var_t cpu_vm_mask_var ;
1641 mm_context_t context ;
1642 unsigned int faultstamp ;
1643 unsigned int token_priority ;
1644 unsigned int last_interval ;
1645 unsigned long flags ;
1646 struct core_state *core_state ;
1647 spinlock_t ioctx_lock ;
1648 struct hlist_head ioctx_list ;
1649 struct task_struct *owner ;
1650 struct file *exe_file ;
1651 unsigned long num_exe_file_vmas ;
1652 struct mmu_notifier_mm *mmu_notifier_mm ;
1653 pgtable_t pmd_huge_pte ;
1654 struct cpumask cpumask_allocation ;
1655};
1656#line 7 "include/asm-generic/cputime.h"
1657typedef unsigned long cputime_t;
1658#line 98 "include/linux/sem.h"
1659struct sem_undo_list;
1660#line 98 "include/linux/sem.h"
1661struct sysv_sem {
1662 struct sem_undo_list *undo_list ;
1663};
1664#line 107
1665struct siginfo;
1666#line 107
1667struct siginfo;
1668#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1669struct __anonstruct_sigset_t_148 {
1670 unsigned long sig[1U] ;
1671};
1672#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1673typedef struct __anonstruct_sigset_t_148 sigset_t;
1674#line 17 "include/asm-generic/signal-defs.h"
1675typedef void __signalfn_t(int );
1676#line 18 "include/asm-generic/signal-defs.h"
1677typedef __signalfn_t *__sighandler_t;
1678#line 20 "include/asm-generic/signal-defs.h"
1679typedef void __restorefn_t(void);
1680#line 21 "include/asm-generic/signal-defs.h"
1681typedef __restorefn_t *__sigrestore_t;
1682#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1683struct sigaction {
1684 __sighandler_t sa_handler ;
1685 unsigned long sa_flags ;
1686 __sigrestore_t sa_restorer ;
1687 sigset_t sa_mask ;
1688};
1689#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1690struct k_sigaction {
1691 struct sigaction sa ;
1692};
1693#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1694union sigval {
1695 int sival_int ;
1696 void *sival_ptr ;
1697};
1698#line 10 "include/asm-generic/siginfo.h"
1699typedef union sigval sigval_t;
1700#line 11 "include/asm-generic/siginfo.h"
1701struct __anonstruct__kill_150 {
1702 __kernel_pid_t _pid ;
1703 __kernel_uid32_t _uid ;
1704};
1705#line 11 "include/asm-generic/siginfo.h"
1706struct __anonstruct__timer_151 {
1707 __kernel_timer_t _tid ;
1708 int _overrun ;
1709 char _pad[0U] ;
1710 sigval_t _sigval ;
1711 int _sys_private ;
1712};
1713#line 11 "include/asm-generic/siginfo.h"
1714struct __anonstruct__rt_152 {
1715 __kernel_pid_t _pid ;
1716 __kernel_uid32_t _uid ;
1717 sigval_t _sigval ;
1718};
1719#line 11 "include/asm-generic/siginfo.h"
1720struct __anonstruct__sigchld_153 {
1721 __kernel_pid_t _pid ;
1722 __kernel_uid32_t _uid ;
1723 int _status ;
1724 __kernel_clock_t _utime ;
1725 __kernel_clock_t _stime ;
1726};
1727#line 11 "include/asm-generic/siginfo.h"
1728struct __anonstruct__sigfault_154 {
1729 void *_addr ;
1730 short _addr_lsb ;
1731};
1732#line 11 "include/asm-generic/siginfo.h"
1733struct __anonstruct__sigpoll_155 {
1734 long _band ;
1735 int _fd ;
1736};
1737#line 11 "include/asm-generic/siginfo.h"
1738union __anonunion__sifields_149 {
1739 int _pad[28U] ;
1740 struct __anonstruct__kill_150 _kill ;
1741 struct __anonstruct__timer_151 _timer ;
1742 struct __anonstruct__rt_152 _rt ;
1743 struct __anonstruct__sigchld_153 _sigchld ;
1744 struct __anonstruct__sigfault_154 _sigfault ;
1745 struct __anonstruct__sigpoll_155 _sigpoll ;
1746};
1747#line 11 "include/asm-generic/siginfo.h"
1748struct siginfo {
1749 int si_signo ;
1750 int si_errno ;
1751 int si_code ;
1752 union __anonunion__sifields_149 _sifields ;
1753};
1754#line 102 "include/asm-generic/siginfo.h"
1755typedef struct siginfo siginfo_t;
1756#line 14 "include/linux/signal.h"
1757struct user_struct;
1758#line 24 "include/linux/signal.h"
1759struct sigpending {
1760 struct list_head list ;
1761 sigset_t signal ;
1762};
1763#line 395
1764struct pid_namespace;
1765#line 395 "include/linux/signal.h"
1766struct upid {
1767 int nr ;
1768 struct pid_namespace *ns ;
1769 struct hlist_node pid_chain ;
1770};
1771#line 56 "include/linux/pid.h"
1772struct pid {
1773 atomic_t count ;
1774 unsigned int level ;
1775 struct hlist_head tasks[3U] ;
1776 struct rcu_head rcu ;
1777 struct upid numbers[1U] ;
1778};
1779#line 68 "include/linux/pid.h"
1780struct pid_link {
1781 struct hlist_node node ;
1782 struct pid *pid ;
1783};
1784#line 10 "include/linux/seccomp.h"
1785struct __anonstruct_seccomp_t_158 {
1786 int mode ;
1787};
1788#line 10 "include/linux/seccomp.h"
1789typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1790#line 427 "include/linux/rculist.h"
1791struct plist_head {
1792 struct list_head node_list ;
1793};
1794#line 84 "include/linux/plist.h"
1795struct plist_node {
1796 int prio ;
1797 struct list_head prio_list ;
1798 struct list_head node_list ;
1799};
1800#line 38 "include/linux/rtmutex.h"
1801struct rt_mutex_waiter;
1802#line 38
1803struct rt_mutex_waiter;
1804#line 41 "include/linux/resource.h"
1805struct rlimit {
1806 unsigned long rlim_cur ;
1807 unsigned long rlim_max ;
1808};
1809#line 85 "include/linux/resource.h"
1810struct timerqueue_node {
1811 struct rb_node node ;
1812 ktime_t expires ;
1813};
1814#line 12 "include/linux/timerqueue.h"
1815struct timerqueue_head {
1816 struct rb_root head ;
1817 struct timerqueue_node *next ;
1818};
1819#line 50
1820struct hrtimer_clock_base;
1821#line 50
1822struct hrtimer_clock_base;
1823#line 51
1824struct hrtimer_cpu_base;
1825#line 51
1826struct hrtimer_cpu_base;
1827#line 60
1828enum hrtimer_restart {
1829 HRTIMER_NORESTART = 0,
1830 HRTIMER_RESTART = 1
1831} ;
1832#line 65 "include/linux/timerqueue.h"
1833struct hrtimer {
1834 struct timerqueue_node node ;
1835 ktime_t _softexpires ;
1836 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1837 struct hrtimer_clock_base *base ;
1838 unsigned long state ;
1839 int start_pid ;
1840 void *start_site ;
1841 char start_comm[16U] ;
1842};
1843#line 132 "include/linux/hrtimer.h"
1844struct hrtimer_clock_base {
1845 struct hrtimer_cpu_base *cpu_base ;
1846 int index ;
1847 clockid_t clockid ;
1848 struct timerqueue_head active ;
1849 ktime_t resolution ;
1850 ktime_t (*get_time)(void) ;
1851 ktime_t softirq_time ;
1852 ktime_t offset ;
1853};
1854#line 162 "include/linux/hrtimer.h"
1855struct hrtimer_cpu_base {
1856 raw_spinlock_t lock ;
1857 unsigned long active_bases ;
1858 ktime_t expires_next ;
1859 int hres_active ;
1860 int hang_detected ;
1861 unsigned long nr_events ;
1862 unsigned long nr_retries ;
1863 unsigned long nr_hangs ;
1864 ktime_t max_hang_time ;
1865 struct hrtimer_clock_base clock_base[3U] ;
1866};
1867#line 452 "include/linux/hrtimer.h"
1868struct task_io_accounting {
1869 u64 rchar ;
1870 u64 wchar ;
1871 u64 syscr ;
1872 u64 syscw ;
1873 u64 read_bytes ;
1874 u64 write_bytes ;
1875 u64 cancelled_write_bytes ;
1876};
1877#line 45 "include/linux/task_io_accounting.h"
1878struct latency_record {
1879 unsigned long backtrace[12U] ;
1880 unsigned int count ;
1881 unsigned long time ;
1882 unsigned long max ;
1883};
1884#line 29 "include/linux/key.h"
1885typedef int32_t key_serial_t;
1886#line 32 "include/linux/key.h"
1887typedef uint32_t key_perm_t;
1888#line 33
1889struct key;
1890#line 33
1891struct key;
1892#line 34
1893struct signal_struct;
1894#line 34
1895struct signal_struct;
1896#line 35
1897struct key_type;
1898#line 35
1899struct key_type;
1900#line 37
1901struct keyring_list;
1902#line 37
1903struct keyring_list;
1904#line 115
1905struct key_user;
1906#line 115 "include/linux/key.h"
1907union __anonunion_ldv_16934_159 {
1908 time_t expiry ;
1909 time_t revoked_at ;
1910};
1911#line 115 "include/linux/key.h"
1912union __anonunion_type_data_160 {
1913 struct list_head link ;
1914 unsigned long x[2U] ;
1915 void *p[2U] ;
1916 int reject_error ;
1917};
1918#line 115 "include/linux/key.h"
1919union __anonunion_payload_161 {
1920 unsigned long value ;
1921 void *rcudata ;
1922 void *data ;
1923 struct keyring_list *subscriptions ;
1924};
1925#line 115 "include/linux/key.h"
1926struct key {
1927 atomic_t usage ;
1928 key_serial_t serial ;
1929 struct rb_node serial_node ;
1930 struct key_type *type ;
1931 struct rw_semaphore sem ;
1932 struct key_user *user ;
1933 void *security ;
1934 union __anonunion_ldv_16934_159 ldv_16934 ;
1935 uid_t uid ;
1936 gid_t gid ;
1937 key_perm_t perm ;
1938 unsigned short quotalen ;
1939 unsigned short datalen ;
1940 unsigned long flags ;
1941 char *description ;
1942 union __anonunion_type_data_160 type_data ;
1943 union __anonunion_payload_161 payload ;
1944};
1945#line 316
1946struct audit_context;
1947#line 316
1948struct audit_context;
1949#line 28 "include/linux/selinux.h"
1950struct group_info {
1951 atomic_t usage ;
1952 int ngroups ;
1953 int nblocks ;
1954 gid_t small_block[32U] ;
1955 gid_t *blocks[0U] ;
1956};
1957#line 77 "include/linux/cred.h"
1958struct thread_group_cred {
1959 atomic_t usage ;
1960 pid_t tgid ;
1961 spinlock_t lock ;
1962 struct key *session_keyring ;
1963 struct key *process_keyring ;
1964 struct rcu_head rcu ;
1965};
1966#line 91 "include/linux/cred.h"
1967struct cred {
1968 atomic_t usage ;
1969 atomic_t subscribers ;
1970 void *put_addr ;
1971 unsigned int magic ;
1972 uid_t uid ;
1973 gid_t gid ;
1974 uid_t suid ;
1975 gid_t sgid ;
1976 uid_t euid ;
1977 gid_t egid ;
1978 uid_t fsuid ;
1979 gid_t fsgid ;
1980 unsigned int securebits ;
1981 kernel_cap_t cap_inheritable ;
1982 kernel_cap_t cap_permitted ;
1983 kernel_cap_t cap_effective ;
1984 kernel_cap_t cap_bset ;
1985 unsigned char jit_keyring ;
1986 struct key *thread_keyring ;
1987 struct key *request_key_auth ;
1988 struct thread_group_cred *tgcred ;
1989 void *security ;
1990 struct user_struct *user ;
1991 struct user_namespace *user_ns ;
1992 struct group_info *group_info ;
1993 struct rcu_head rcu ;
1994};
1995#line 264
1996struct llist_node;
1997#line 64 "include/linux/llist.h"
1998struct llist_node {
1999 struct llist_node *next ;
2000};
2001#line 185
2002struct futex_pi_state;
2003#line 185
2004struct futex_pi_state;
2005#line 186
2006struct robust_list_head;
2007#line 186
2008struct robust_list_head;
2009#line 187
2010struct bio_list;
2011#line 187
2012struct bio_list;
2013#line 188
2014struct fs_struct;
2015#line 188
2016struct fs_struct;
2017#line 189
2018struct perf_event_context;
2019#line 189
2020struct perf_event_context;
2021#line 190
2022struct blk_plug;
2023#line 190
2024struct blk_plug;
2025#line 149 "include/linux/sched.h"
2026struct cfs_rq;
2027#line 149
2028struct cfs_rq;
2029#line 406 "include/linux/sched.h"
2030struct sighand_struct {
2031 atomic_t count ;
2032 struct k_sigaction action[64U] ;
2033 spinlock_t siglock ;
2034 wait_queue_head_t signalfd_wqh ;
2035};
2036#line 449 "include/linux/sched.h"
2037struct pacct_struct {
2038 int ac_flag ;
2039 long ac_exitcode ;
2040 unsigned long ac_mem ;
2041 cputime_t ac_utime ;
2042 cputime_t ac_stime ;
2043 unsigned long ac_minflt ;
2044 unsigned long ac_majflt ;
2045};
2046#line 457 "include/linux/sched.h"
2047struct cpu_itimer {
2048 cputime_t expires ;
2049 cputime_t incr ;
2050 u32 error ;
2051 u32 incr_error ;
2052};
2053#line 464 "include/linux/sched.h"
2054struct task_cputime {
2055 cputime_t utime ;
2056 cputime_t stime ;
2057 unsigned long long sum_exec_runtime ;
2058};
2059#line 481 "include/linux/sched.h"
2060struct thread_group_cputimer {
2061 struct task_cputime cputime ;
2062 int running ;
2063 raw_spinlock_t lock ;
2064};
2065#line 517
2066struct autogroup;
2067#line 517
2068struct autogroup;
2069#line 518
2070struct tty_struct;
2071#line 518
2072struct taskstats;
2073#line 518
2074struct tty_audit_buf;
2075#line 518 "include/linux/sched.h"
2076struct signal_struct {
2077 atomic_t sigcnt ;
2078 atomic_t live ;
2079 int nr_threads ;
2080 wait_queue_head_t wait_chldexit ;
2081 struct task_struct *curr_target ;
2082 struct sigpending shared_pending ;
2083 int group_exit_code ;
2084 int notify_count ;
2085 struct task_struct *group_exit_task ;
2086 int group_stop_count ;
2087 unsigned int flags ;
2088 unsigned char is_child_subreaper : 1 ;
2089 unsigned char has_child_subreaper : 1 ;
2090 struct list_head posix_timers ;
2091 struct hrtimer real_timer ;
2092 struct pid *leader_pid ;
2093 ktime_t it_real_incr ;
2094 struct cpu_itimer it[2U] ;
2095 struct thread_group_cputimer cputimer ;
2096 struct task_cputime cputime_expires ;
2097 struct list_head cpu_timers[3U] ;
2098 struct pid *tty_old_pgrp ;
2099 int leader ;
2100 struct tty_struct *tty ;
2101 struct autogroup *autogroup ;
2102 cputime_t utime ;
2103 cputime_t stime ;
2104 cputime_t cutime ;
2105 cputime_t cstime ;
2106 cputime_t gtime ;
2107 cputime_t cgtime ;
2108 cputime_t prev_utime ;
2109 cputime_t prev_stime ;
2110 unsigned long nvcsw ;
2111 unsigned long nivcsw ;
2112 unsigned long cnvcsw ;
2113 unsigned long cnivcsw ;
2114 unsigned long min_flt ;
2115 unsigned long maj_flt ;
2116 unsigned long cmin_flt ;
2117 unsigned long cmaj_flt ;
2118 unsigned long inblock ;
2119 unsigned long oublock ;
2120 unsigned long cinblock ;
2121 unsigned long coublock ;
2122 unsigned long maxrss ;
2123 unsigned long cmaxrss ;
2124 struct task_io_accounting ioac ;
2125 unsigned long long sum_sched_runtime ;
2126 struct rlimit rlim[16U] ;
2127 struct pacct_struct pacct ;
2128 struct taskstats *stats ;
2129 unsigned int audit_tty ;
2130 struct tty_audit_buf *tty_audit_buf ;
2131 struct rw_semaphore group_rwsem ;
2132 int oom_adj ;
2133 int oom_score_adj ;
2134 int oom_score_adj_min ;
2135 struct mutex cred_guard_mutex ;
2136};
2137#line 699 "include/linux/sched.h"
2138struct user_struct {
2139 atomic_t __count ;
2140 atomic_t processes ;
2141 atomic_t files ;
2142 atomic_t sigpending ;
2143 atomic_t inotify_watches ;
2144 atomic_t inotify_devs ;
2145 atomic_t fanotify_listeners ;
2146 atomic_long_t epoll_watches ;
2147 unsigned long mq_bytes ;
2148 unsigned long locked_shm ;
2149 struct key *uid_keyring ;
2150 struct key *session_keyring ;
2151 struct hlist_node uidhash_node ;
2152 uid_t uid ;
2153 struct user_namespace *user_ns ;
2154 atomic_long_t locked_vm ;
2155};
2156#line 744
2157struct backing_dev_info;
2158#line 744
2159struct backing_dev_info;
2160#line 745
2161struct reclaim_state;
2162#line 745
2163struct reclaim_state;
2164#line 746 "include/linux/sched.h"
2165struct sched_info {
2166 unsigned long pcount ;
2167 unsigned long long run_delay ;
2168 unsigned long long last_arrival ;
2169 unsigned long long last_queued ;
2170};
2171#line 760 "include/linux/sched.h"
2172struct task_delay_info {
2173 spinlock_t lock ;
2174 unsigned int flags ;
2175 struct timespec blkio_start ;
2176 struct timespec blkio_end ;
2177 u64 blkio_delay ;
2178 u64 swapin_delay ;
2179 u32 blkio_count ;
2180 u32 swapin_count ;
2181 struct timespec freepages_start ;
2182 struct timespec freepages_end ;
2183 u64 freepages_delay ;
2184 u32 freepages_count ;
2185};
2186#line 1069
2187struct io_context;
2188#line 1069
2189struct io_context;
2190#line 1097
2191struct pipe_inode_info;
2192#line 1097
2193struct pipe_inode_info;
2194#line 1099
2195struct rq;
2196#line 1099
2197struct rq;
2198#line 1100 "include/linux/sched.h"
2199struct sched_class {
2200 struct sched_class const *next ;
2201 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2202 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2203 void (*yield_task)(struct rq * ) ;
2204 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2205 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2206 struct task_struct *(*pick_next_task)(struct rq * ) ;
2207 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2208 int (*select_task_rq)(struct task_struct * , int , int ) ;
2209 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2210 void (*post_schedule)(struct rq * ) ;
2211 void (*task_waking)(struct task_struct * ) ;
2212 void (*task_woken)(struct rq * , struct task_struct * ) ;
2213 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2214 void (*rq_online)(struct rq * ) ;
2215 void (*rq_offline)(struct rq * ) ;
2216 void (*set_curr_task)(struct rq * ) ;
2217 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2218 void (*task_fork)(struct task_struct * ) ;
2219 void (*switched_from)(struct rq * , struct task_struct * ) ;
2220 void (*switched_to)(struct rq * , struct task_struct * ) ;
2221 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2222 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2223 void (*task_move_group)(struct task_struct * , int ) ;
2224};
2225#line 1165 "include/linux/sched.h"
2226struct load_weight {
2227 unsigned long weight ;
2228 unsigned long inv_weight ;
2229};
2230#line 1170 "include/linux/sched.h"
2231struct sched_statistics {
2232 u64 wait_start ;
2233 u64 wait_max ;
2234 u64 wait_count ;
2235 u64 wait_sum ;
2236 u64 iowait_count ;
2237 u64 iowait_sum ;
2238 u64 sleep_start ;
2239 u64 sleep_max ;
2240 s64 sum_sleep_runtime ;
2241 u64 block_start ;
2242 u64 block_max ;
2243 u64 exec_max ;
2244 u64 slice_max ;
2245 u64 nr_migrations_cold ;
2246 u64 nr_failed_migrations_affine ;
2247 u64 nr_failed_migrations_running ;
2248 u64 nr_failed_migrations_hot ;
2249 u64 nr_forced_migrations ;
2250 u64 nr_wakeups ;
2251 u64 nr_wakeups_sync ;
2252 u64 nr_wakeups_migrate ;
2253 u64 nr_wakeups_local ;
2254 u64 nr_wakeups_remote ;
2255 u64 nr_wakeups_affine ;
2256 u64 nr_wakeups_affine_attempts ;
2257 u64 nr_wakeups_passive ;
2258 u64 nr_wakeups_idle ;
2259};
2260#line 1205 "include/linux/sched.h"
2261struct sched_entity {
2262 struct load_weight load ;
2263 struct rb_node run_node ;
2264 struct list_head group_node ;
2265 unsigned int on_rq ;
2266 u64 exec_start ;
2267 u64 sum_exec_runtime ;
2268 u64 vruntime ;
2269 u64 prev_sum_exec_runtime ;
2270 u64 nr_migrations ;
2271 struct sched_statistics statistics ;
2272 struct sched_entity *parent ;
2273 struct cfs_rq *cfs_rq ;
2274 struct cfs_rq *my_q ;
2275};
2276#line 1231
2277struct rt_rq;
2278#line 1231 "include/linux/sched.h"
2279struct sched_rt_entity {
2280 struct list_head run_list ;
2281 unsigned long timeout ;
2282 unsigned int time_slice ;
2283 int nr_cpus_allowed ;
2284 struct sched_rt_entity *back ;
2285 struct sched_rt_entity *parent ;
2286 struct rt_rq *rt_rq ;
2287 struct rt_rq *my_q ;
2288};
2289#line 1255
2290struct mem_cgroup;
2291#line 1255 "include/linux/sched.h"
2292struct memcg_batch_info {
2293 int do_batch ;
2294 struct mem_cgroup *memcg ;
2295 unsigned long nr_pages ;
2296 unsigned long memsw_nr_pages ;
2297};
2298#line 1616
2299struct files_struct;
2300#line 1616
2301struct css_set;
2302#line 1616
2303struct compat_robust_list_head;
2304#line 1616 "include/linux/sched.h"
2305struct task_struct {
2306 long volatile state ;
2307 void *stack ;
2308 atomic_t usage ;
2309 unsigned int flags ;
2310 unsigned int ptrace ;
2311 struct llist_node wake_entry ;
2312 int on_cpu ;
2313 int on_rq ;
2314 int prio ;
2315 int static_prio ;
2316 int normal_prio ;
2317 unsigned int rt_priority ;
2318 struct sched_class const *sched_class ;
2319 struct sched_entity se ;
2320 struct sched_rt_entity rt ;
2321 struct hlist_head preempt_notifiers ;
2322 unsigned char fpu_counter ;
2323 unsigned int policy ;
2324 cpumask_t cpus_allowed ;
2325 struct sched_info sched_info ;
2326 struct list_head tasks ;
2327 struct plist_node pushable_tasks ;
2328 struct mm_struct *mm ;
2329 struct mm_struct *active_mm ;
2330 unsigned char brk_randomized : 1 ;
2331 int exit_state ;
2332 int exit_code ;
2333 int exit_signal ;
2334 int pdeath_signal ;
2335 unsigned int jobctl ;
2336 unsigned int personality ;
2337 unsigned char did_exec : 1 ;
2338 unsigned char in_execve : 1 ;
2339 unsigned char in_iowait : 1 ;
2340 unsigned char sched_reset_on_fork : 1 ;
2341 unsigned char sched_contributes_to_load : 1 ;
2342 unsigned char irq_thread : 1 ;
2343 pid_t pid ;
2344 pid_t tgid ;
2345 unsigned long stack_canary ;
2346 struct task_struct *real_parent ;
2347 struct task_struct *parent ;
2348 struct list_head children ;
2349 struct list_head sibling ;
2350 struct task_struct *group_leader ;
2351 struct list_head ptraced ;
2352 struct list_head ptrace_entry ;
2353 struct pid_link pids[3U] ;
2354 struct list_head thread_group ;
2355 struct completion *vfork_done ;
2356 int *set_child_tid ;
2357 int *clear_child_tid ;
2358 cputime_t utime ;
2359 cputime_t stime ;
2360 cputime_t utimescaled ;
2361 cputime_t stimescaled ;
2362 cputime_t gtime ;
2363 cputime_t prev_utime ;
2364 cputime_t prev_stime ;
2365 unsigned long nvcsw ;
2366 unsigned long nivcsw ;
2367 struct timespec start_time ;
2368 struct timespec real_start_time ;
2369 unsigned long min_flt ;
2370 unsigned long maj_flt ;
2371 struct task_cputime cputime_expires ;
2372 struct list_head cpu_timers[3U] ;
2373 struct cred const *real_cred ;
2374 struct cred const *cred ;
2375 struct cred *replacement_session_keyring ;
2376 char comm[16U] ;
2377 int link_count ;
2378 int total_link_count ;
2379 struct sysv_sem sysvsem ;
2380 unsigned long last_switch_count ;
2381 struct thread_struct thread ;
2382 struct fs_struct *fs ;
2383 struct files_struct *files ;
2384 struct nsproxy *nsproxy ;
2385 struct signal_struct *signal ;
2386 struct sighand_struct *sighand ;
2387 sigset_t blocked ;
2388 sigset_t real_blocked ;
2389 sigset_t saved_sigmask ;
2390 struct sigpending pending ;
2391 unsigned long sas_ss_sp ;
2392 size_t sas_ss_size ;
2393 int (*notifier)(void * ) ;
2394 void *notifier_data ;
2395 sigset_t *notifier_mask ;
2396 struct audit_context *audit_context ;
2397 uid_t loginuid ;
2398 unsigned int sessionid ;
2399 seccomp_t seccomp ;
2400 u32 parent_exec_id ;
2401 u32 self_exec_id ;
2402 spinlock_t alloc_lock ;
2403 raw_spinlock_t pi_lock ;
2404 struct plist_head pi_waiters ;
2405 struct rt_mutex_waiter *pi_blocked_on ;
2406 struct mutex_waiter *blocked_on ;
2407 unsigned int irq_events ;
2408 unsigned long hardirq_enable_ip ;
2409 unsigned long hardirq_disable_ip ;
2410 unsigned int hardirq_enable_event ;
2411 unsigned int hardirq_disable_event ;
2412 int hardirqs_enabled ;
2413 int hardirq_context ;
2414 unsigned long softirq_disable_ip ;
2415 unsigned long softirq_enable_ip ;
2416 unsigned int softirq_disable_event ;
2417 unsigned int softirq_enable_event ;
2418 int softirqs_enabled ;
2419 int softirq_context ;
2420 u64 curr_chain_key ;
2421 int lockdep_depth ;
2422 unsigned int lockdep_recursion ;
2423 struct held_lock held_locks[48U] ;
2424 gfp_t lockdep_reclaim_gfp ;
2425 void *journal_info ;
2426 struct bio_list *bio_list ;
2427 struct blk_plug *plug ;
2428 struct reclaim_state *reclaim_state ;
2429 struct backing_dev_info *backing_dev_info ;
2430 struct io_context *io_context ;
2431 unsigned long ptrace_message ;
2432 siginfo_t *last_siginfo ;
2433 struct task_io_accounting ioac ;
2434 u64 acct_rss_mem1 ;
2435 u64 acct_vm_mem1 ;
2436 cputime_t acct_timexpd ;
2437 nodemask_t mems_allowed ;
2438 seqcount_t mems_allowed_seq ;
2439 int cpuset_mem_spread_rotor ;
2440 int cpuset_slab_spread_rotor ;
2441 struct css_set *cgroups ;
2442 struct list_head cg_list ;
2443 struct robust_list_head *robust_list ;
2444 struct compat_robust_list_head *compat_robust_list ;
2445 struct list_head pi_state_list ;
2446 struct futex_pi_state *pi_state_cache ;
2447 struct perf_event_context *perf_event_ctxp[2U] ;
2448 struct mutex perf_event_mutex ;
2449 struct list_head perf_event_list ;
2450 struct mempolicy *mempolicy ;
2451 short il_next ;
2452 short pref_node_fork ;
2453 struct rcu_head rcu ;
2454 struct pipe_inode_info *splice_pipe ;
2455 struct task_delay_info *delays ;
2456 int make_it_fail ;
2457 int nr_dirtied ;
2458 int nr_dirtied_pause ;
2459 unsigned long dirty_paused_when ;
2460 int latency_record_count ;
2461 struct latency_record latency_record[32U] ;
2462 unsigned long timer_slack_ns ;
2463 unsigned long default_timer_slack_ns ;
2464 struct list_head *scm_work_list ;
2465 unsigned long trace ;
2466 unsigned long trace_recursion ;
2467 struct memcg_batch_info memcg_batch ;
2468 atomic_t ptrace_bp_refcnt ;
2469};
2470#line 2820 "include/linux/sched.h"
2471struct taskstats {
2472 __u16 version ;
2473 __u32 ac_exitcode ;
2474 __u8 ac_flag ;
2475 __u8 ac_nice ;
2476 __u64 cpu_count ;
2477 __u64 cpu_delay_total ;
2478 __u64 blkio_count ;
2479 __u64 blkio_delay_total ;
2480 __u64 swapin_count ;
2481 __u64 swapin_delay_total ;
2482 __u64 cpu_run_real_total ;
2483 __u64 cpu_run_virtual_total ;
2484 char ac_comm[32U] ;
2485 __u8 ac_sched ;
2486 __u8 ac_pad[3U] ;
2487 __u32 ac_uid ;
2488 __u32 ac_gid ;
2489 __u32 ac_pid ;
2490 __u32 ac_ppid ;
2491 __u32 ac_btime ;
2492 __u64 ac_etime ;
2493 __u64 ac_utime ;
2494 __u64 ac_stime ;
2495 __u64 ac_minflt ;
2496 __u64 ac_majflt ;
2497 __u64 coremem ;
2498 __u64 virtmem ;
2499 __u64 hiwater_rss ;
2500 __u64 hiwater_vm ;
2501 __u64 read_char ;
2502 __u64 write_char ;
2503 __u64 read_syscalls ;
2504 __u64 write_syscalls ;
2505 __u64 read_bytes ;
2506 __u64 write_bytes ;
2507 __u64 cancelled_write_bytes ;
2508 __u64 nvcsw ;
2509 __u64 nivcsw ;
2510 __u64 ac_utimescaled ;
2511 __u64 ac_stimescaled ;
2512 __u64 cpu_scaled_run_real_total ;
2513 __u64 freepages_count ;
2514 __u64 freepages_delay_total ;
2515};
2516#line 154 "include/linux/idr.h"
2517struct cgroupfs_root;
2518#line 154
2519struct cgroupfs_root;
2520#line 156
2521struct cgroup;
2522#line 156
2523struct cgroup;
2524#line 157
2525struct css_id;
2526#line 157
2527struct css_id;
2528#line 56 "include/linux/cgroup.h"
2529struct cgroup_subsys_state {
2530 struct cgroup *cgroup ;
2531 atomic_t refcnt ;
2532 unsigned long flags ;
2533 struct css_id *id ;
2534};
2535#line 149 "include/linux/cgroup.h"
2536struct cgroup {
2537 unsigned long flags ;
2538 atomic_t count ;
2539 struct list_head sibling ;
2540 struct list_head children ;
2541 struct cgroup *parent ;
2542 struct dentry *dentry ;
2543 struct cgroup_subsys_state *subsys[64U] ;
2544 struct cgroupfs_root *root ;
2545 struct cgroup *top_cgroup ;
2546 struct list_head css_sets ;
2547 struct list_head release_list ;
2548 struct list_head pidlists ;
2549 struct mutex pidlist_mutex ;
2550 struct rcu_head rcu_head ;
2551 struct list_head event_list ;
2552 spinlock_t event_list_lock ;
2553};
2554#line 215 "include/linux/cgroup.h"
2555struct css_set {
2556 atomic_t refcount ;
2557 struct hlist_node hlist ;
2558 struct list_head tasks ;
2559 struct list_head cg_links ;
2560 struct cgroup_subsys_state *subsys[64U] ;
2561 struct rcu_head rcu_head ;
2562};
2563#line 108 "include/linux/swap.h"
2564struct reclaim_state {
2565 unsigned long reclaimed_slab ;
2566};
2567#line 178 "include/linux/mm.h"
2568struct vm_fault {
2569 unsigned int flags ;
2570 unsigned long pgoff ;
2571 void *virtual_address ;
2572 struct page *page ;
2573};
2574#line 195 "include/linux/mm.h"
2575struct vm_operations_struct {
2576 void (*open)(struct vm_area_struct * ) ;
2577 void (*close)(struct vm_area_struct * ) ;
2578 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2579 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2580 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
2581 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2582 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
2583 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
2584 unsigned long ) ;
2585};
2586#line 34 "include/linux/suspend.h"
2587typedef int suspend_state_t;
2588#line 443 "include/linux/suspend.h"
2589struct regulator_state {
2590 int uV ;
2591 unsigned int mode ;
2592 int enabled ;
2593 int disabled ;
2594};
2595#line 61 "include/linux/regulator/machine.h"
2596struct regulation_constraints {
2597 char const *name ;
2598 int min_uV ;
2599 int max_uV ;
2600 int uV_offset ;
2601 int min_uA ;
2602 int max_uA ;
2603 unsigned int valid_modes_mask ;
2604 unsigned int valid_ops_mask ;
2605 int input_uV ;
2606 struct regulator_state state_disk ;
2607 struct regulator_state state_mem ;
2608 struct regulator_state state_standby ;
2609 suspend_state_t initial_state ;
2610 unsigned int initial_mode ;
2611 unsigned char always_on : 1 ;
2612 unsigned char boot_on : 1 ;
2613 unsigned char apply_uV : 1 ;
2614};
2615#line 133 "include/linux/regulator/machine.h"
2616struct regulator_consumer_supply {
2617 char const *dev_name ;
2618 char const *supply ;
2619};
2620#line 147 "include/linux/regulator/machine.h"
2621struct regulator_init_data {
2622 char const *supply_regulator ;
2623 struct regulation_constraints constraints ;
2624 int num_consumer_supplies ;
2625 struct regulator_consumer_supply *consumer_supplies ;
2626 int (*regulator_init)(void * ) ;
2627 void *driver_data ;
2628};
2629#line 191 "include/linux/regulator/machine.h"
2630struct gpio_regulator_state {
2631 int value ;
2632 int gpios ;
2633};
2634#line 43 "include/linux/regulator/gpio-regulator.h"
2635struct gpio;
2636#line 43 "include/linux/regulator/gpio-regulator.h"
2637struct gpio_regulator_config {
2638 char const *supply_name ;
2639 int enable_gpio ;
2640 unsigned char enable_high : 1 ;
2641 unsigned char enabled_at_boot : 1 ;
2642 unsigned int startup_delay ;
2643 struct gpio *gpios ;
2644 int nr_gpios ;
2645 struct gpio_regulator_state *states ;
2646 int nr_states ;
2647 enum regulator_type type ;
2648 struct regulator_init_data *init_data ;
2649};
2650#line 86 "include/linux/regulator/gpio-regulator.h"
2651struct gpio {
2652 unsigned int gpio ;
2653 unsigned long flags ;
2654 char const *label ;
2655};
2656#line 28 "include/linux/of.h"
2657typedef u32 phandle;
2658#line 30 "include/linux/of.h"
2659struct property {
2660 char *name ;
2661 int length ;
2662 void *value ;
2663 struct property *next ;
2664 unsigned long _flags ;
2665 unsigned int unique_id ;
2666};
2667#line 39
2668struct proc_dir_entry;
2669#line 39 "include/linux/of.h"
2670struct device_node {
2671 char const *name ;
2672 char const *type ;
2673 phandle phandle ;
2674 char *full_name ;
2675 struct property *properties ;
2676 struct property *deadprops ;
2677 struct device_node *parent ;
2678 struct device_node *child ;
2679 struct device_node *sibling ;
2680 struct device_node *next ;
2681 struct device_node *allnext ;
2682 struct proc_dir_entry *pde ;
2683 struct kref kref ;
2684 unsigned long _flags ;
2685 void *data ;
2686};
2687#line 54 "include/linux/delay.h"
2688struct gpio_regulator_data {
2689 struct regulator_desc desc ;
2690 struct regulator_dev *dev ;
2691 int enable_gpio ;
2692 bool enable_high ;
2693 bool is_enabled ;
2694 unsigned int startup_delay ;
2695 struct gpio *gpios ;
2696 int nr_gpios ;
2697 struct gpio_regulator_state *states ;
2698 int nr_states ;
2699 int state ;
2700};
2701#line 1 "<compiler builtins>"
2702long __builtin_expect(long , long ) ;
2703#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
2704void ldv_spin_lock(void) ;
2705#line 3
2706void ldv_spin_unlock(void) ;
2707#line 4
2708int ldv_spin_trylock(void) ;
2709#line 119 "include/linux/string.h"
2710extern char *kstrdup(char const * , gfp_t ) ;
2711#line 121
2712extern void *kmemdup(void const * , size_t , gfp_t ) ;
2713#line 27 "include/linux/err.h"
2714__inline static long PTR_ERR(void const *ptr )
2715{
2716
2717 {
2718#line 29
2719 return ((long )ptr);
2720}
2721}
2722#line 32 "include/linux/err.h"
2723__inline static long IS_ERR(void const *ptr )
2724{ long tmp ;
2725 unsigned long __cil_tmp3 ;
2726 int __cil_tmp4 ;
2727 long __cil_tmp5 ;
2728
2729 {
2730 {
2731#line 34
2732 __cil_tmp3 = (unsigned long )ptr;
2733#line 34
2734 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2735#line 34
2736 __cil_tmp5 = (long )__cil_tmp4;
2737#line 34
2738 tmp = __builtin_expect(__cil_tmp5, 0L);
2739 }
2740#line 34
2741 return (tmp);
2742}
2743}
2744#line 26 "include/linux/export.h"
2745extern struct module __this_module ;
2746#line 161 "include/linux/slab.h"
2747extern void kfree(void const * ) ;
2748#line 220 "include/linux/slub_def.h"
2749extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2750#line 223
2751void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2752#line 353 "include/linux/slab.h"
2753__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2754#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
2755extern void *__VERIFIER_nondet_pointer(void) ;
2756#line 11
2757void ldv_check_alloc_flags(gfp_t flags ) ;
2758#line 12
2759void ldv_check_alloc_nonatomic(void) ;
2760#line 14
2761struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2762#line 792 "include/linux/device.h"
2763extern void *dev_get_drvdata(struct device const * ) ;
2764#line 793
2765extern int dev_set_drvdata(struct device * , void * ) ;
2766#line 892
2767extern int dev_err(struct device const * , char const * , ...) ;
2768#line 174 "include/linux/platform_device.h"
2769extern int platform_driver_register(struct platform_driver * ) ;
2770#line 175
2771extern void platform_driver_unregister(struct platform_driver * ) ;
2772#line 183 "include/linux/platform_device.h"
2773__inline static void *platform_get_drvdata(struct platform_device const *pdev )
2774{ void *tmp ;
2775 unsigned long __cil_tmp3 ;
2776 unsigned long __cil_tmp4 ;
2777 struct device const *__cil_tmp5 ;
2778
2779 {
2780 {
2781#line 185
2782 __cil_tmp3 = (unsigned long )pdev;
2783#line 185
2784 __cil_tmp4 = __cil_tmp3 + 16;
2785#line 185
2786 __cil_tmp5 = (struct device const *)__cil_tmp4;
2787#line 185
2788 tmp = dev_get_drvdata(__cil_tmp5);
2789 }
2790#line 185
2791 return (tmp);
2792}
2793}
2794#line 188 "include/linux/platform_device.h"
2795__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
2796{ unsigned long __cil_tmp3 ;
2797 unsigned long __cil_tmp4 ;
2798 struct device *__cil_tmp5 ;
2799
2800 {
2801 {
2802#line 190
2803 __cil_tmp3 = (unsigned long )pdev;
2804#line 190
2805 __cil_tmp4 = __cil_tmp3 + 16;
2806#line 190
2807 __cil_tmp5 = (struct device *)__cil_tmp4;
2808#line 190
2809 dev_set_drvdata(__cil_tmp5, data);
2810 }
2811#line 191
2812 return;
2813}
2814}
2815#line 213 "include/linux/regulator/driver.h"
2816extern struct regulator_dev *regulator_register(struct regulator_desc * , struct device * ,
2817 struct regulator_init_data const * ,
2818 void * , struct device_node * ) ;
2819#line 216
2820extern void regulator_unregister(struct regulator_dev * ) ;
2821#line 221
2822extern void *rdev_get_drvdata(struct regulator_dev * ) ;
2823#line 39 "include/asm-generic/gpio.h"
2824__inline static bool gpio_is_valid(int number )
2825{ int tmp ;
2826
2827 {
2828#line 41
2829 if (number >= 0) {
2830#line 41
2831 if (number <= 255) {
2832#line 41
2833 tmp = 1;
2834 } else {
2835#line 41
2836 tmp = 0;
2837 }
2838 } else {
2839#line 41
2840 tmp = 0;
2841 }
2842#line 41
2843 return ((bool )tmp);
2844}
2845}
2846#line 153
2847extern int gpio_request(unsigned int , char const * ) ;
2848#line 154
2849extern void gpio_free(unsigned int ) ;
2850#line 157
2851extern int gpio_direction_output(unsigned int , int ) ;
2852#line 162
2853extern void gpio_set_value_cansleep(unsigned int , int ) ;
2854#line 170
2855extern void __gpio_set_value(unsigned int , int ) ;
2856#line 177
2857extern int gpio_request_array(struct gpio const * , size_t ) ;
2858#line 178
2859extern void gpio_free_array(struct gpio const * , size_t ) ;
2860#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2861__inline static void gpio_set_value(unsigned int gpio , int value )
2862{
2863
2864 {
2865 {
2866#line 33
2867 __gpio_set_value(gpio, value);
2868 }
2869#line 34
2870 return;
2871}
2872}
2873#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
2874static int gpio_regulator_is_enabled(struct regulator_dev *dev )
2875{ struct gpio_regulator_data *data ;
2876 void *tmp ;
2877 unsigned long __cil_tmp4 ;
2878 unsigned long __cil_tmp5 ;
2879 bool __cil_tmp6 ;
2880
2881 {
2882 {
2883#line 71
2884 tmp = rdev_get_drvdata(dev);
2885#line 71
2886 data = (struct gpio_regulator_data *)tmp;
2887 }
2888 {
2889#line 73
2890 __cil_tmp4 = (unsigned long )data;
2891#line 73
2892 __cil_tmp5 = __cil_tmp4 + 61;
2893#line 73
2894 __cil_tmp6 = *((bool *)__cil_tmp5);
2895#line 73
2896 return ((int )__cil_tmp6);
2897 }
2898}
2899}
2900#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
2901static int gpio_regulator_enable(struct regulator_dev *dev )
2902{ struct gpio_regulator_data *data ;
2903 void *tmp ;
2904 bool tmp___0 ;
2905 unsigned long __cil_tmp5 ;
2906 unsigned long __cil_tmp6 ;
2907 int __cil_tmp7 ;
2908 unsigned long __cil_tmp8 ;
2909 unsigned long __cil_tmp9 ;
2910 int __cil_tmp10 ;
2911 unsigned int __cil_tmp11 ;
2912 unsigned long __cil_tmp12 ;
2913 unsigned long __cil_tmp13 ;
2914 bool __cil_tmp14 ;
2915 int __cil_tmp15 ;
2916 unsigned long __cil_tmp16 ;
2917 unsigned long __cil_tmp17 ;
2918
2919 {
2920 {
2921#line 78
2922 tmp = rdev_get_drvdata(dev);
2923#line 78
2924 data = (struct gpio_regulator_data *)tmp;
2925#line 80
2926 __cil_tmp5 = (unsigned long )data;
2927#line 80
2928 __cil_tmp6 = __cil_tmp5 + 56;
2929#line 80
2930 __cil_tmp7 = *((int *)__cil_tmp6);
2931#line 80
2932 tmp___0 = gpio_is_valid(__cil_tmp7);
2933 }
2934#line 80
2935 if ((int )tmp___0) {
2936 {
2937#line 81
2938 __cil_tmp8 = (unsigned long )data;
2939#line 81
2940 __cil_tmp9 = __cil_tmp8 + 56;
2941#line 81
2942 __cil_tmp10 = *((int *)__cil_tmp9);
2943#line 81
2944 __cil_tmp11 = (unsigned int )__cil_tmp10;
2945#line 81
2946 __cil_tmp12 = (unsigned long )data;
2947#line 81
2948 __cil_tmp13 = __cil_tmp12 + 60;
2949#line 81
2950 __cil_tmp14 = *((bool *)__cil_tmp13);
2951#line 81
2952 __cil_tmp15 = (int )__cil_tmp14;
2953#line 81
2954 gpio_set_value_cansleep(__cil_tmp11, __cil_tmp15);
2955#line 82
2956 __cil_tmp16 = (unsigned long )data;
2957#line 82
2958 __cil_tmp17 = __cil_tmp16 + 61;
2959#line 82
2960 *((bool *)__cil_tmp17) = (bool )1;
2961 }
2962 } else {
2963
2964 }
2965#line 85
2966 return (0);
2967}
2968}
2969#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
2970static int gpio_regulator_disable(struct regulator_dev *dev )
2971{ struct gpio_regulator_data *data ;
2972 void *tmp ;
2973 bool tmp___0 ;
2974 unsigned long __cil_tmp5 ;
2975 unsigned long __cil_tmp6 ;
2976 int __cil_tmp7 ;
2977 unsigned long __cil_tmp8 ;
2978 unsigned long __cil_tmp9 ;
2979 int __cil_tmp10 ;
2980 unsigned int __cil_tmp11 ;
2981 unsigned long __cil_tmp12 ;
2982 unsigned long __cil_tmp13 ;
2983 bool __cil_tmp14 ;
2984 int __cil_tmp15 ;
2985 unsigned long __cil_tmp16 ;
2986 unsigned long __cil_tmp17 ;
2987
2988 {
2989 {
2990#line 90
2991 tmp = rdev_get_drvdata(dev);
2992#line 90
2993 data = (struct gpio_regulator_data *)tmp;
2994#line 92
2995 __cil_tmp5 = (unsigned long )data;
2996#line 92
2997 __cil_tmp6 = __cil_tmp5 + 56;
2998#line 92
2999 __cil_tmp7 = *((int *)__cil_tmp6);
3000#line 92
3001 tmp___0 = gpio_is_valid(__cil_tmp7);
3002 }
3003#line 92
3004 if ((int )tmp___0) {
3005 {
3006#line 93
3007 __cil_tmp8 = (unsigned long )data;
3008#line 93
3009 __cil_tmp9 = __cil_tmp8 + 56;
3010#line 93
3011 __cil_tmp10 = *((int *)__cil_tmp9);
3012#line 93
3013 __cil_tmp11 = (unsigned int )__cil_tmp10;
3014#line 93
3015 __cil_tmp12 = (unsigned long )data;
3016#line 93
3017 __cil_tmp13 = __cil_tmp12 + 60;
3018#line 93
3019 __cil_tmp14 = *((bool *)__cil_tmp13);
3020#line 93
3021 __cil_tmp15 = ! __cil_tmp14;
3022#line 93
3023 gpio_set_value_cansleep(__cil_tmp11, __cil_tmp15);
3024#line 94
3025 __cil_tmp16 = (unsigned long )data;
3026#line 94
3027 __cil_tmp17 = __cil_tmp16 + 61;
3028#line 94
3029 *((bool *)__cil_tmp17) = (bool )0;
3030 }
3031 } else {
3032
3033 }
3034#line 97
3035 return (0);
3036}
3037}
3038#line 100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3039static int gpio_regulator_enable_time(struct regulator_dev *dev )
3040{ struct gpio_regulator_data *data ;
3041 void *tmp ;
3042 unsigned long __cil_tmp4 ;
3043 unsigned long __cil_tmp5 ;
3044 unsigned int __cil_tmp6 ;
3045
3046 {
3047 {
3048#line 102
3049 tmp = rdev_get_drvdata(dev);
3050#line 102
3051 data = (struct gpio_regulator_data *)tmp;
3052 }
3053 {
3054#line 104
3055 __cil_tmp4 = (unsigned long )data;
3056#line 104
3057 __cil_tmp5 = __cil_tmp4 + 64;
3058#line 104
3059 __cil_tmp6 = *((unsigned int *)__cil_tmp5);
3060#line 104
3061 return ((int )__cil_tmp6);
3062 }
3063}
3064}
3065#line 107 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3066static int gpio_regulator_get_value(struct regulator_dev *dev )
3067{ struct gpio_regulator_data *data ;
3068 void *tmp ;
3069 int ptr ;
3070 unsigned long __cil_tmp5 ;
3071 unsigned long __cil_tmp6 ;
3072 int __cil_tmp7 ;
3073 unsigned long __cil_tmp8 ;
3074 unsigned long __cil_tmp9 ;
3075 unsigned long __cil_tmp10 ;
3076 struct gpio_regulator_state *__cil_tmp11 ;
3077 struct gpio_regulator_state *__cil_tmp12 ;
3078 unsigned long __cil_tmp13 ;
3079 unsigned long __cil_tmp14 ;
3080 int __cil_tmp15 ;
3081 unsigned long __cil_tmp16 ;
3082 unsigned long __cil_tmp17 ;
3083 unsigned long __cil_tmp18 ;
3084 struct gpio_regulator_state *__cil_tmp19 ;
3085 struct gpio_regulator_state *__cil_tmp20 ;
3086 unsigned long __cil_tmp21 ;
3087 unsigned long __cil_tmp22 ;
3088 int __cil_tmp23 ;
3089
3090 {
3091 {
3092#line 109
3093 tmp = rdev_get_drvdata(dev);
3094#line 109
3095 data = (struct gpio_regulator_data *)tmp;
3096#line 112
3097 ptr = 0;
3098 }
3099#line 112
3100 goto ldv_22715;
3101 ldv_22714: ;
3102 {
3103#line 113
3104 __cil_tmp5 = (unsigned long )data;
3105#line 113
3106 __cil_tmp6 = __cil_tmp5 + 100;
3107#line 113
3108 __cil_tmp7 = *((int *)__cil_tmp6);
3109#line 113
3110 __cil_tmp8 = (unsigned long )ptr;
3111#line 113
3112 __cil_tmp9 = (unsigned long )data;
3113#line 113
3114 __cil_tmp10 = __cil_tmp9 + 88;
3115#line 113
3116 __cil_tmp11 = *((struct gpio_regulator_state **)__cil_tmp10);
3117#line 113
3118 __cil_tmp12 = __cil_tmp11 + __cil_tmp8;
3119#line 113
3120 __cil_tmp13 = (unsigned long )__cil_tmp12;
3121#line 113
3122 __cil_tmp14 = __cil_tmp13 + 4;
3123#line 113
3124 __cil_tmp15 = *((int *)__cil_tmp14);
3125#line 113
3126 if (__cil_tmp15 == __cil_tmp7) {
3127 {
3128#line 114
3129 __cil_tmp16 = (unsigned long )ptr;
3130#line 114
3131 __cil_tmp17 = (unsigned long )data;
3132#line 114
3133 __cil_tmp18 = __cil_tmp17 + 88;
3134#line 114
3135 __cil_tmp19 = *((struct gpio_regulator_state **)__cil_tmp18);
3136#line 114
3137 __cil_tmp20 = __cil_tmp19 + __cil_tmp16;
3138#line 114
3139 return (*((int *)__cil_tmp20));
3140 }
3141 } else {
3142
3143 }
3144 }
3145#line 112
3146 ptr = ptr + 1;
3147 ldv_22715: ;
3148 {
3149#line 112
3150 __cil_tmp21 = (unsigned long )data;
3151#line 112
3152 __cil_tmp22 = __cil_tmp21 + 96;
3153#line 112
3154 __cil_tmp23 = *((int *)__cil_tmp22);
3155#line 112
3156 if (__cil_tmp23 > ptr) {
3157#line 113
3158 goto ldv_22714;
3159 } else {
3160#line 115
3161 goto ldv_22716;
3162 }
3163 }
3164 ldv_22716: ;
3165#line 116
3166 return (-22);
3167}
3168}
3169#line 119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3170static int gpio_regulator_set_value(struct regulator_dev *dev , int min , int max )
3171{ struct gpio_regulator_data *data ;
3172 void *tmp ;
3173 int ptr ;
3174 int target ;
3175 int state ;
3176 unsigned long __cil_tmp9 ;
3177 unsigned long __cil_tmp10 ;
3178 unsigned long __cil_tmp11 ;
3179 struct gpio_regulator_state *__cil_tmp12 ;
3180 struct gpio_regulator_state *__cil_tmp13 ;
3181 int __cil_tmp14 ;
3182 unsigned long __cil_tmp15 ;
3183 unsigned long __cil_tmp16 ;
3184 unsigned long __cil_tmp17 ;
3185 struct gpio_regulator_state *__cil_tmp18 ;
3186 struct gpio_regulator_state *__cil_tmp19 ;
3187 int __cil_tmp20 ;
3188 unsigned long __cil_tmp21 ;
3189 unsigned long __cil_tmp22 ;
3190 unsigned long __cil_tmp23 ;
3191 struct gpio_regulator_state *__cil_tmp24 ;
3192 struct gpio_regulator_state *__cil_tmp25 ;
3193 unsigned long __cil_tmp26 ;
3194 unsigned long __cil_tmp27 ;
3195 unsigned long __cil_tmp28 ;
3196 unsigned long __cil_tmp29 ;
3197 int __cil_tmp30 ;
3198 int __cil_tmp31 ;
3199 int __cil_tmp32 ;
3200 unsigned long __cil_tmp33 ;
3201 unsigned long __cil_tmp34 ;
3202 unsigned long __cil_tmp35 ;
3203 struct gpio *__cil_tmp36 ;
3204 struct gpio *__cil_tmp37 ;
3205 unsigned int __cil_tmp38 ;
3206 unsigned long __cil_tmp39 ;
3207 unsigned long __cil_tmp40 ;
3208 int __cil_tmp41 ;
3209 unsigned long __cil_tmp42 ;
3210 unsigned long __cil_tmp43 ;
3211
3212 {
3213 {
3214#line 122
3215 tmp = rdev_get_drvdata(dev);
3216#line 122
3217 data = (struct gpio_regulator_data *)tmp;
3218#line 125
3219 target = -1;
3220#line 126
3221 ptr = 0;
3222 }
3223#line 126
3224 goto ldv_22727;
3225 ldv_22726: ;
3226 {
3227#line 127
3228 __cil_tmp9 = (unsigned long )ptr;
3229#line 127
3230 __cil_tmp10 = (unsigned long )data;
3231#line 127
3232 __cil_tmp11 = __cil_tmp10 + 88;
3233#line 127
3234 __cil_tmp12 = *((struct gpio_regulator_state **)__cil_tmp11);
3235#line 127
3236 __cil_tmp13 = __cil_tmp12 + __cil_tmp9;
3237#line 127
3238 __cil_tmp14 = *((int *)__cil_tmp13);
3239#line 127
3240 if (__cil_tmp14 >= min) {
3241 {
3242#line 127
3243 __cil_tmp15 = (unsigned long )ptr;
3244#line 127
3245 __cil_tmp16 = (unsigned long )data;
3246#line 127
3247 __cil_tmp17 = __cil_tmp16 + 88;
3248#line 127
3249 __cil_tmp18 = *((struct gpio_regulator_state **)__cil_tmp17);
3250#line 127
3251 __cil_tmp19 = __cil_tmp18 + __cil_tmp15;
3252#line 127
3253 __cil_tmp20 = *((int *)__cil_tmp19);
3254#line 127
3255 if (__cil_tmp20 <= max) {
3256#line 129
3257 __cil_tmp21 = (unsigned long )ptr;
3258#line 129
3259 __cil_tmp22 = (unsigned long )data;
3260#line 129
3261 __cil_tmp23 = __cil_tmp22 + 88;
3262#line 129
3263 __cil_tmp24 = *((struct gpio_regulator_state **)__cil_tmp23);
3264#line 129
3265 __cil_tmp25 = __cil_tmp24 + __cil_tmp21;
3266#line 129
3267 __cil_tmp26 = (unsigned long )__cil_tmp25;
3268#line 129
3269 __cil_tmp27 = __cil_tmp26 + 4;
3270#line 129
3271 target = *((int *)__cil_tmp27);
3272 } else {
3273
3274 }
3275 }
3276 } else {
3277
3278 }
3279 }
3280#line 126
3281 ptr = ptr + 1;
3282 ldv_22727: ;
3283 {
3284#line 126
3285 __cil_tmp28 = (unsigned long )data;
3286#line 126
3287 __cil_tmp29 = __cil_tmp28 + 96;
3288#line 126
3289 __cil_tmp30 = *((int *)__cil_tmp29);
3290#line 126
3291 if (__cil_tmp30 > ptr) {
3292#line 127
3293 goto ldv_22726;
3294 } else {
3295#line 129
3296 goto ldv_22728;
3297 }
3298 }
3299 ldv_22728: ;
3300#line 131
3301 if (target < 0) {
3302#line 132
3303 return (-22);
3304 } else {
3305
3306 }
3307#line 134
3308 ptr = 0;
3309#line 134
3310 goto ldv_22730;
3311 ldv_22729:
3312 {
3313#line 135
3314 __cil_tmp31 = 1 << ptr;
3315#line 135
3316 __cil_tmp32 = __cil_tmp31 & target;
3317#line 135
3318 state = __cil_tmp32 >> ptr;
3319#line 136
3320 __cil_tmp33 = (unsigned long )ptr;
3321#line 136
3322 __cil_tmp34 = (unsigned long )data;
3323#line 136
3324 __cil_tmp35 = __cil_tmp34 + 72;
3325#line 136
3326 __cil_tmp36 = *((struct gpio **)__cil_tmp35);
3327#line 136
3328 __cil_tmp37 = __cil_tmp36 + __cil_tmp33;
3329#line 136
3330 __cil_tmp38 = *((unsigned int *)__cil_tmp37);
3331#line 136
3332 gpio_set_value(__cil_tmp38, state);
3333#line 134
3334 ptr = ptr + 1;
3335 }
3336 ldv_22730: ;
3337 {
3338#line 134
3339 __cil_tmp39 = (unsigned long )data;
3340#line 134
3341 __cil_tmp40 = __cil_tmp39 + 80;
3342#line 134
3343 __cil_tmp41 = *((int *)__cil_tmp40);
3344#line 134
3345 if (__cil_tmp41 > ptr) {
3346#line 135
3347 goto ldv_22729;
3348 } else {
3349#line 137
3350 goto ldv_22731;
3351 }
3352 }
3353 ldv_22731:
3354#line 138
3355 __cil_tmp42 = (unsigned long )data;
3356#line 138
3357 __cil_tmp43 = __cil_tmp42 + 100;
3358#line 138
3359 *((int *)__cil_tmp43) = target;
3360#line 140
3361 return (0);
3362}
3363}
3364#line 143 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3365static int gpio_regulator_set_voltage(struct regulator_dev *dev , int min_uV , int max_uV ,
3366 unsigned int *selector )
3367{ int tmp ;
3368
3369 {
3370 {
3371#line 147
3372 tmp = gpio_regulator_set_value(dev, min_uV, max_uV);
3373 }
3374#line 147
3375 return (tmp);
3376}
3377}
3378#line 150 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3379static int gpio_regulator_list_voltage(struct regulator_dev *dev , unsigned int selector )
3380{ struct gpio_regulator_data *data ;
3381 void *tmp ;
3382 unsigned long __cil_tmp5 ;
3383 unsigned long __cil_tmp6 ;
3384 int __cil_tmp7 ;
3385 unsigned int __cil_tmp8 ;
3386 unsigned long __cil_tmp9 ;
3387 unsigned long __cil_tmp10 ;
3388 unsigned long __cil_tmp11 ;
3389 struct gpio_regulator_state *__cil_tmp12 ;
3390 struct gpio_regulator_state *__cil_tmp13 ;
3391
3392 {
3393 {
3394#line 153
3395 tmp = rdev_get_drvdata(dev);
3396#line 153
3397 data = (struct gpio_regulator_data *)tmp;
3398 }
3399 {
3400#line 155
3401 __cil_tmp5 = (unsigned long )data;
3402#line 155
3403 __cil_tmp6 = __cil_tmp5 + 96;
3404#line 155
3405 __cil_tmp7 = *((int *)__cil_tmp6);
3406#line 155
3407 __cil_tmp8 = (unsigned int )__cil_tmp7;
3408#line 155
3409 if (__cil_tmp8 <= selector) {
3410#line 156
3411 return (-22);
3412 } else {
3413
3414 }
3415 }
3416 {
3417#line 158
3418 __cil_tmp9 = (unsigned long )selector;
3419#line 158
3420 __cil_tmp10 = (unsigned long )data;
3421#line 158
3422 __cil_tmp11 = __cil_tmp10 + 88;
3423#line 158
3424 __cil_tmp12 = *((struct gpio_regulator_state **)__cil_tmp11);
3425#line 158
3426 __cil_tmp13 = __cil_tmp12 + __cil_tmp9;
3427#line 158
3428 return (*((int *)__cil_tmp13));
3429 }
3430}
3431}
3432#line 161 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3433static int gpio_regulator_set_current_limit(struct regulator_dev *dev , int min_uA ,
3434 int max_uA )
3435{ int tmp ;
3436
3437 {
3438 {
3439#line 164
3440 tmp = gpio_regulator_set_value(dev, min_uA, max_uA);
3441 }
3442#line 164
3443 return (tmp);
3444}
3445}
3446#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3447static struct regulator_ops gpio_regulator_voltage_ops =
3448#line 167
3449 {& gpio_regulator_list_voltage, & gpio_regulator_set_voltage, (int (*)(struct regulator_dev * ,
3450 unsigned int ))0,
3451 & gpio_regulator_get_value, (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ,
3452 int ,
3453 int ))0,
3454 (int (*)(struct regulator_dev * ))0, & gpio_regulator_enable, & gpio_regulator_disable,
3455 & gpio_regulator_is_enabled, (int (*)(struct regulator_dev * , unsigned int ))0,
3456 (unsigned int (*)(struct regulator_dev * ))0, & gpio_regulator_enable_time, (int (*)(struct regulator_dev * ,
3457 unsigned int ,
3458 unsigned int ))0,
3459 (int (*)(struct regulator_dev * ))0, (unsigned int (*)(struct regulator_dev * ,
3460 int , int , int ))0,
3461 (int (*)(struct regulator_dev * , int ))0, (int (*)(struct regulator_dev * ))0,
3462 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * , unsigned int ))0};
3463#line 177 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3464static struct regulator_ops gpio_regulator_current_ops =
3465#line 177
3466 {(int (*)(struct regulator_dev * , unsigned int ))0, (int (*)(struct regulator_dev * ,
3467 int , int , unsigned int * ))0,
3468 (int (*)(struct regulator_dev * , unsigned int ))0, (int (*)(struct regulator_dev * ))0,
3469 (int (*)(struct regulator_dev * ))0, & gpio_regulator_set_current_limit, & gpio_regulator_get_value,
3470 & gpio_regulator_enable, & gpio_regulator_disable, & gpio_regulator_is_enabled,
3471 (int (*)(struct regulator_dev * , unsigned int ))0, (unsigned int (*)(struct regulator_dev * ))0,
3472 & gpio_regulator_enable_time, (int (*)(struct regulator_dev * , unsigned int ,
3473 unsigned int ))0, (int (*)(struct regulator_dev * ))0,
3474 (unsigned int (*)(struct regulator_dev * , int , int , int ))0, (int (*)(struct regulator_dev * ,
3475 int ))0,
3476 (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ,
3477 unsigned int ))0};
3478#line 186 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
3479static int gpio_regulator_probe(struct platform_device *pdev )
3480{ struct gpio_regulator_config *config ;
3481 struct gpio_regulator_data *drvdata ;
3482 int ptr ;
3483 int ret ;
3484 int state ;
3485 void *tmp ;
3486 char *tmp___0 ;
3487 void *tmp___1 ;
3488 void *tmp___2 ;
3489 bool tmp___3 ;
3490 long tmp___4 ;
3491 long tmp___5 ;
3492 bool tmp___6 ;
3493 unsigned long __cil_tmp15 ;
3494 unsigned long __cil_tmp16 ;
3495 unsigned long __cil_tmp17 ;
3496 void *__cil_tmp18 ;
3497 struct gpio_regulator_data *__cil_tmp19 ;
3498 unsigned long __cil_tmp20 ;
3499 unsigned long __cil_tmp21 ;
3500 unsigned long __cil_tmp22 ;
3501 unsigned long __cil_tmp23 ;
3502 struct device *__cil_tmp24 ;
3503 struct device const *__cil_tmp25 ;
3504 char const *__cil_tmp26 ;
3505 char const *__cil_tmp27 ;
3506 unsigned long __cil_tmp28 ;
3507 char const *__cil_tmp29 ;
3508 unsigned long __cil_tmp30 ;
3509 unsigned long __cil_tmp31 ;
3510 unsigned long __cil_tmp32 ;
3511 struct device *__cil_tmp33 ;
3512 struct device const *__cil_tmp34 ;
3513 unsigned long __cil_tmp35 ;
3514 unsigned long __cil_tmp36 ;
3515 struct gpio *__cil_tmp37 ;
3516 void const *__cil_tmp38 ;
3517 unsigned long __cil_tmp39 ;
3518 unsigned long __cil_tmp40 ;
3519 int __cil_tmp41 ;
3520 unsigned long __cil_tmp42 ;
3521 unsigned long __cil_tmp43 ;
3522 unsigned long __cil_tmp44 ;
3523 unsigned long __cil_tmp45 ;
3524 struct gpio *__cil_tmp46 ;
3525 unsigned long __cil_tmp47 ;
3526 unsigned long __cil_tmp48 ;
3527 unsigned long __cil_tmp49 ;
3528 struct gpio *__cil_tmp50 ;
3529 unsigned long __cil_tmp51 ;
3530 unsigned long __cil_tmp52 ;
3531 unsigned long __cil_tmp53 ;
3532 struct device *__cil_tmp54 ;
3533 struct device const *__cil_tmp55 ;
3534 unsigned long __cil_tmp56 ;
3535 unsigned long __cil_tmp57 ;
3536 struct gpio_regulator_state *__cil_tmp58 ;
3537 void const *__cil_tmp59 ;
3538 unsigned long __cil_tmp60 ;
3539 unsigned long __cil_tmp61 ;
3540 int __cil_tmp62 ;
3541 unsigned long __cil_tmp63 ;
3542 unsigned long __cil_tmp64 ;
3543 unsigned long __cil_tmp65 ;
3544 unsigned long __cil_tmp66 ;
3545 struct gpio_regulator_state *__cil_tmp67 ;
3546 unsigned long __cil_tmp68 ;
3547 unsigned long __cil_tmp69 ;
3548 unsigned long __cil_tmp70 ;
3549 struct gpio_regulator_state *__cil_tmp71 ;
3550 unsigned long __cil_tmp72 ;
3551 unsigned long __cil_tmp73 ;
3552 unsigned long __cil_tmp74 ;
3553 struct device *__cil_tmp75 ;
3554 struct device const *__cil_tmp76 ;
3555 unsigned long __cil_tmp77 ;
3556 unsigned long __cil_tmp78 ;
3557 unsigned long __cil_tmp79 ;
3558 unsigned long __cil_tmp80 ;
3559 unsigned long __cil_tmp81 ;
3560 unsigned long __cil_tmp82 ;
3561 unsigned long __cil_tmp83 ;
3562 unsigned long __cil_tmp84 ;
3563 unsigned long __cil_tmp85 ;
3564 enum regulator_type __cil_tmp86 ;
3565 unsigned int __cil_tmp87 ;
3566 unsigned long __cil_tmp88 ;
3567 unsigned long __cil_tmp89 ;
3568 unsigned long __cil_tmp90 ;
3569 unsigned long __cil_tmp91 ;
3570 unsigned long __cil_tmp92 ;
3571 unsigned long __cil_tmp93 ;
3572 unsigned long __cil_tmp94 ;
3573 unsigned long __cil_tmp95 ;
3574 unsigned long __cil_tmp96 ;
3575 unsigned long __cil_tmp97 ;
3576 unsigned long __cil_tmp98 ;
3577 int __cil_tmp99 ;
3578 unsigned long __cil_tmp100 ;
3579 unsigned long __cil_tmp101 ;
3580 unsigned long __cil_tmp102 ;
3581 unsigned long __cil_tmp103 ;
3582 unsigned long __cil_tmp104 ;
3583 unsigned long __cil_tmp105 ;
3584 unsigned long __cil_tmp106 ;
3585 unsigned long __cil_tmp107 ;
3586 struct device *__cil_tmp108 ;
3587 struct device const *__cil_tmp109 ;
3588 unsigned long __cil_tmp110 ;
3589 unsigned long __cil_tmp111 ;
3590 unsigned long __cil_tmp112 ;
3591 unsigned long __cil_tmp113 ;
3592 unsigned long __cil_tmp114 ;
3593 unsigned long __cil_tmp115 ;
3594 unsigned long __cil_tmp116 ;
3595 unsigned long __cil_tmp117 ;
3596 unsigned long __cil_tmp118 ;
3597 unsigned long __cil_tmp119 ;
3598 int __cil_tmp120 ;
3599 unsigned long __cil_tmp121 ;
3600 unsigned long __cil_tmp122 ;
3601 unsigned long __cil_tmp123 ;
3602 unsigned long __cil_tmp124 ;
3603 unsigned char __cil_tmp125 ;
3604 int __cil_tmp126 ;
3605 int __cil_tmp127 ;
3606 unsigned long __cil_tmp128 ;
3607 unsigned long __cil_tmp129 ;
3608 int __cil_tmp130 ;
3609 unsigned int __cil_tmp131 ;
3610 char const *__cil_tmp132 ;
3611 unsigned long __cil_tmp133 ;
3612 unsigned long __cil_tmp134 ;
3613 struct device *__cil_tmp135 ;
3614 struct device const *__cil_tmp136 ;
3615 unsigned long __cil_tmp137 ;
3616 unsigned long __cil_tmp138 ;
3617 int __cil_tmp139 ;
3618 unsigned char *__cil_tmp140 ;
3619 unsigned char *__cil_tmp141 ;
3620 unsigned char __cil_tmp142 ;
3621 unsigned int __cil_tmp143 ;
3622 unsigned long __cil_tmp144 ;
3623 unsigned long __cil_tmp145 ;
3624 unsigned long __cil_tmp146 ;
3625 unsigned long __cil_tmp147 ;
3626 int __cil_tmp148 ;
3627 unsigned int __cil_tmp149 ;
3628 unsigned long __cil_tmp150 ;
3629 unsigned long __cil_tmp151 ;
3630 unsigned char __cil_tmp152 ;
3631 int __cil_tmp153 ;
3632 unsigned long __cil_tmp154 ;
3633 unsigned long __cil_tmp155 ;
3634 unsigned long __cil_tmp156 ;
3635 unsigned long __cil_tmp157 ;
3636 int __cil_tmp158 ;
3637 unsigned int __cil_tmp159 ;
3638 unsigned char *__cil_tmp160 ;
3639 unsigned char *__cil_tmp161 ;
3640 unsigned char __cil_tmp162 ;
3641 unsigned int __cil_tmp163 ;
3642 int __cil_tmp164 ;
3643 unsigned long __cil_tmp165 ;
3644 unsigned long __cil_tmp166 ;
3645 struct device *__cil_tmp167 ;
3646 struct device const *__cil_tmp168 ;
3647 unsigned long __cil_tmp169 ;
3648 unsigned long __cil_tmp170 ;
3649 int __cil_tmp171 ;
3650 unsigned long __cil_tmp172 ;
3651 unsigned long __cil_tmp173 ;
3652 unsigned long __cil_tmp174 ;
3653 unsigned long __cil_tmp175 ;
3654 unsigned long __cil_tmp176 ;
3655 unsigned long __cil_tmp177 ;
3656 unsigned long __cil_tmp178 ;
3657 unsigned long __cil_tmp179 ;
3658 struct gpio *__cil_tmp180 ;
3659 struct gpio const *__cil_tmp181 ;
3660 unsigned long __cil_tmp182 ;
3661 unsigned long __cil_tmp183 ;
3662 int __cil_tmp184 ;
3663 size_t __cil_tmp185 ;
3664 unsigned long __cil_tmp186 ;
3665 unsigned long __cil_tmp187 ;
3666 struct device *__cil_tmp188 ;
3667 struct device const *__cil_tmp189 ;
3668 unsigned long __cil_tmp190 ;
3669 unsigned long __cil_tmp191 ;
3670 unsigned long __cil_tmp192 ;
3671 struct gpio *__cil_tmp193 ;
3672 struct gpio *__cil_tmp194 ;
3673 unsigned long __cil_tmp195 ;
3674 unsigned long __cil_tmp196 ;
3675 unsigned long __cil_tmp197 ;
3676 unsigned long __cil_tmp198 ;
3677 int __cil_tmp199 ;
3678 unsigned long __cil_tmp200 ;
3679 unsigned long __cil_tmp201 ;
3680 int __cil_tmp202 ;
3681 unsigned long __cil_tmp203 ;
3682 unsigned long __cil_tmp204 ;
3683 unsigned long __cil_tmp205 ;
3684 unsigned long __cil_tmp206 ;
3685 struct regulator_desc *__cil_tmp207 ;
3686 unsigned long __cil_tmp208 ;
3687 unsigned long __cil_tmp209 ;
3688 struct device *__cil_tmp210 ;
3689 unsigned long __cil_tmp211 ;
3690 unsigned long __cil_tmp212 ;
3691 struct regulator_init_data *__cil_tmp213 ;
3692 struct regulator_init_data const *__cil_tmp214 ;
3693 void *__cil_tmp215 ;
3694 struct device_node *__cil_tmp216 ;
3695 unsigned long __cil_tmp217 ;
3696 unsigned long __cil_tmp218 ;
3697 struct regulator_dev *__cil_tmp219 ;
3698 void const *__cil_tmp220 ;
3699 unsigned long __cil_tmp221 ;
3700 unsigned long __cil_tmp222 ;
3701 struct regulator_dev *__cil_tmp223 ;
3702 void const *__cil_tmp224 ;
3703 unsigned long __cil_tmp225 ;
3704 unsigned long __cil_tmp226 ;
3705 struct device *__cil_tmp227 ;
3706 struct device const *__cil_tmp228 ;
3707 void *__cil_tmp229 ;
3708 unsigned long __cil_tmp230 ;
3709 unsigned long __cil_tmp231 ;
3710 struct gpio *__cil_tmp232 ;
3711 struct gpio const *__cil_tmp233 ;
3712 unsigned long __cil_tmp234 ;
3713 unsigned long __cil_tmp235 ;
3714 int __cil_tmp236 ;
3715 size_t __cil_tmp237 ;
3716 unsigned long __cil_tmp238 ;
3717 unsigned long __cil_tmp239 ;
3718 int __cil_tmp240 ;
3719 unsigned long __cil_tmp241 ;
3720 unsigned long __cil_tmp242 ;
3721 int __cil_tmp243 ;
3722 unsigned int __cil_tmp244 ;
3723 unsigned long __cil_tmp245 ;
3724 unsigned long __cil_tmp246 ;
3725 struct gpio_regulator_state *__cil_tmp247 ;
3726 void const *__cil_tmp248 ;
3727 unsigned long __cil_tmp249 ;
3728 unsigned long __cil_tmp250 ;
3729 struct gpio *__cil_tmp251 ;
3730 void const *__cil_tmp252 ;
3731 char const *__cil_tmp253 ;
3732 void const *__cil_tmp254 ;
3733 void const *__cil_tmp255 ;
3734
3735 {
3736 {
3737#line 188
3738 __cil_tmp15 = 16 + 280;
3739#line 188
3740 __cil_tmp16 = (unsigned long )pdev;
3741#line 188
3742 __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
3743#line 188
3744 __cil_tmp18 = *((void **)__cil_tmp17);
3745#line 188
3746 config = (struct gpio_regulator_config *)__cil_tmp18;
3747#line 192
3748 tmp = kzalloc(104UL, 208U);
3749#line 192
3750 drvdata = (struct gpio_regulator_data *)tmp;
3751 }
3752 {
3753#line 193
3754 __cil_tmp19 = (struct gpio_regulator_data *)0;
3755#line 193
3756 __cil_tmp20 = (unsigned long )__cil_tmp19;
3757#line 193
3758 __cil_tmp21 = (unsigned long )drvdata;
3759#line 193
3760 if (__cil_tmp21 == __cil_tmp20) {
3761 {
3762#line 194
3763 __cil_tmp22 = (unsigned long )pdev;
3764#line 194
3765 __cil_tmp23 = __cil_tmp22 + 16;
3766#line 194
3767 __cil_tmp24 = (struct device *)__cil_tmp23;
3768#line 194
3769 __cil_tmp25 = (struct device const *)__cil_tmp24;
3770#line 194
3771 dev_err(__cil_tmp25, "Failed to allocate device data\n");
3772 }
3773#line 195
3774 return (-12);
3775 } else {
3776
3777 }
3778 }
3779 {
3780#line 198
3781 __cil_tmp26 = *((char const **)config);
3782#line 198
3783 tmp___0 = kstrdup(__cil_tmp26, 208U);
3784#line 198
3785 *((char const **)drvdata) = (char const *)tmp___0;
3786 }
3787 {
3788#line 199
3789 __cil_tmp27 = (char const *)0;
3790#line 199
3791 __cil_tmp28 = (unsigned long )__cil_tmp27;
3792#line 199
3793 __cil_tmp29 = *((char const **)drvdata);
3794#line 199
3795 __cil_tmp30 = (unsigned long )__cil_tmp29;
3796#line 199
3797 if (__cil_tmp30 == __cil_tmp28) {
3798 {
3799#line 200
3800 __cil_tmp31 = (unsigned long )pdev;
3801#line 200
3802 __cil_tmp32 = __cil_tmp31 + 16;
3803#line 200
3804 __cil_tmp33 = (struct device *)__cil_tmp32;
3805#line 200
3806 __cil_tmp34 = (struct device const *)__cil_tmp33;
3807#line 200
3808 dev_err(__cil_tmp34, "Failed to allocate supply name\n");
3809#line 201
3810 ret = -12;
3811 }
3812#line 202
3813 goto err;
3814 } else {
3815
3816 }
3817 }
3818 {
3819#line 205
3820 __cil_tmp35 = (unsigned long )config;
3821#line 205
3822 __cil_tmp36 = __cil_tmp35 + 24;
3823#line 205
3824 __cil_tmp37 = *((struct gpio **)__cil_tmp36);
3825#line 205
3826 __cil_tmp38 = (void const *)__cil_tmp37;
3827#line 205
3828 __cil_tmp39 = (unsigned long )config;
3829#line 205
3830 __cil_tmp40 = __cil_tmp39 + 32;
3831#line 205
3832 __cil_tmp41 = *((int *)__cil_tmp40);
3833#line 205
3834 __cil_tmp42 = (unsigned long )__cil_tmp41;
3835#line 205
3836 __cil_tmp43 = __cil_tmp42 * 24UL;
3837#line 205
3838 tmp___1 = kmemdup(__cil_tmp38, __cil_tmp43, 208U);
3839#line 205
3840 __cil_tmp44 = (unsigned long )drvdata;
3841#line 205
3842 __cil_tmp45 = __cil_tmp44 + 72;
3843#line 205
3844 *((struct gpio **)__cil_tmp45) = (struct gpio *)tmp___1;
3845 }
3846 {
3847#line 208
3848 __cil_tmp46 = (struct gpio *)0;
3849#line 208
3850 __cil_tmp47 = (unsigned long )__cil_tmp46;
3851#line 208
3852 __cil_tmp48 = (unsigned long )drvdata;
3853#line 208
3854 __cil_tmp49 = __cil_tmp48 + 72;
3855#line 208
3856 __cil_tmp50 = *((struct gpio **)__cil_tmp49);
3857#line 208
3858 __cil_tmp51 = (unsigned long )__cil_tmp50;
3859#line 208
3860 if (__cil_tmp51 == __cil_tmp47) {
3861 {
3862#line 209
3863 __cil_tmp52 = (unsigned long )pdev;
3864#line 209
3865 __cil_tmp53 = __cil_tmp52 + 16;
3866#line 209
3867 __cil_tmp54 = (struct device *)__cil_tmp53;
3868#line 209
3869 __cil_tmp55 = (struct device const *)__cil_tmp54;
3870#line 209
3871 dev_err(__cil_tmp55, "Failed to allocate gpio data\n");
3872#line 210
3873 ret = -12;
3874 }
3875#line 211
3876 goto err_name;
3877 } else {
3878
3879 }
3880 }
3881 {
3882#line 214
3883 __cil_tmp56 = (unsigned long )config;
3884#line 214
3885 __cil_tmp57 = __cil_tmp56 + 40;
3886#line 214
3887 __cil_tmp58 = *((struct gpio_regulator_state **)__cil_tmp57);
3888#line 214
3889 __cil_tmp59 = (void const *)__cil_tmp58;
3890#line 214
3891 __cil_tmp60 = (unsigned long )config;
3892#line 214
3893 __cil_tmp61 = __cil_tmp60 + 48;
3894#line 214
3895 __cil_tmp62 = *((int *)__cil_tmp61);
3896#line 214
3897 __cil_tmp63 = (unsigned long )__cil_tmp62;
3898#line 214
3899 __cil_tmp64 = __cil_tmp63 * 8UL;
3900#line 214
3901 tmp___2 = kmemdup(__cil_tmp59, __cil_tmp64, 208U);
3902#line 214
3903 __cil_tmp65 = (unsigned long )drvdata;
3904#line 214
3905 __cil_tmp66 = __cil_tmp65 + 88;
3906#line 214
3907 *((struct gpio_regulator_state **)__cil_tmp66) = (struct gpio_regulator_state *)tmp___2;
3908 }
3909 {
3910#line 218
3911 __cil_tmp67 = (struct gpio_regulator_state *)0;
3912#line 218
3913 __cil_tmp68 = (unsigned long )__cil_tmp67;
3914#line 218
3915 __cil_tmp69 = (unsigned long )drvdata;
3916#line 218
3917 __cil_tmp70 = __cil_tmp69 + 88;
3918#line 218
3919 __cil_tmp71 = *((struct gpio_regulator_state **)__cil_tmp70);
3920#line 218
3921 __cil_tmp72 = (unsigned long )__cil_tmp71;
3922#line 218
3923 if (__cil_tmp72 == __cil_tmp68) {
3924 {
3925#line 219
3926 __cil_tmp73 = (unsigned long )pdev;
3927#line 219
3928 __cil_tmp74 = __cil_tmp73 + 16;
3929#line 219
3930 __cil_tmp75 = (struct device *)__cil_tmp74;
3931#line 219
3932 __cil_tmp76 = (struct device const *)__cil_tmp75;
3933#line 219
3934 dev_err(__cil_tmp76, "Failed to allocate state data\n");
3935#line 220
3936 ret = -12;
3937 }
3938#line 221
3939 goto err_memgpio;
3940 } else {
3941
3942 }
3943 }
3944#line 223
3945 __cil_tmp77 = (unsigned long )drvdata;
3946#line 223
3947 __cil_tmp78 = __cil_tmp77 + 96;
3948#line 223
3949 __cil_tmp79 = (unsigned long )config;
3950#line 223
3951 __cil_tmp80 = __cil_tmp79 + 48;
3952#line 223
3953 *((int *)__cil_tmp78) = *((int *)__cil_tmp80);
3954#line 225
3955 __cil_tmp81 = 0 + 40;
3956#line 225
3957 __cil_tmp82 = (unsigned long )drvdata;
3958#line 225
3959 __cil_tmp83 = __cil_tmp82 + __cil_tmp81;
3960#line 225
3961 *((struct module **)__cil_tmp83) = & __this_module;
3962 {
3963#line 228
3964 __cil_tmp84 = (unsigned long )config;
3965#line 228
3966 __cil_tmp85 = __cil_tmp84 + 52;
3967#line 228
3968 __cil_tmp86 = *((enum regulator_type *)__cil_tmp85);
3969#line 228
3970 __cil_tmp87 = (unsigned int )__cil_tmp86;
3971#line 229
3972 if ((int )__cil_tmp87 == 0) {
3973#line 229
3974 goto case_0;
3975 } else
3976#line 234
3977 if ((int )__cil_tmp87 == 1) {
3978#line 234
3979 goto case_1;
3980 } else {
3981 {
3982#line 238
3983 goto switch_default;
3984#line 228
3985 if (0) {
3986 case_0:
3987#line 230
3988 __cil_tmp88 = 0 + 36;
3989#line 230
3990 __cil_tmp89 = (unsigned long )drvdata;
3991#line 230
3992 __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
3993#line 230
3994 *((enum regulator_type *)__cil_tmp90) = (enum regulator_type )0;
3995#line 231
3996 __cil_tmp91 = 0 + 24;
3997#line 231
3998 __cil_tmp92 = (unsigned long )drvdata;
3999#line 231
4000 __cil_tmp93 = __cil_tmp92 + __cil_tmp91;
4001#line 231
4002 *((struct regulator_ops **)__cil_tmp93) = & gpio_regulator_voltage_ops;
4003#line 232
4004 __cil_tmp94 = 0 + 20;
4005#line 232
4006 __cil_tmp95 = (unsigned long )drvdata;
4007#line 232
4008 __cil_tmp96 = __cil_tmp95 + __cil_tmp94;
4009#line 232
4010 __cil_tmp97 = (unsigned long )config;
4011#line 232
4012 __cil_tmp98 = __cil_tmp97 + 48;
4013#line 232
4014 __cil_tmp99 = *((int *)__cil_tmp98);
4015#line 232
4016 *((unsigned int *)__cil_tmp96) = (unsigned int )__cil_tmp99;
4017#line 233
4018 goto ldv_22762;
4019 case_1:
4020#line 235
4021 __cil_tmp100 = 0 + 36;
4022#line 235
4023 __cil_tmp101 = (unsigned long )drvdata;
4024#line 235
4025 __cil_tmp102 = __cil_tmp101 + __cil_tmp100;
4026#line 235
4027 *((enum regulator_type *)__cil_tmp102) = (enum regulator_type )1;
4028#line 236
4029 __cil_tmp103 = 0 + 24;
4030#line 236
4031 __cil_tmp104 = (unsigned long )drvdata;
4032#line 236
4033 __cil_tmp105 = __cil_tmp104 + __cil_tmp103;
4034#line 236
4035 *((struct regulator_ops **)__cil_tmp105) = & gpio_regulator_current_ops;
4036#line 237
4037 goto ldv_22762;
4038 switch_default:
4039 {
4040#line 239
4041 __cil_tmp106 = (unsigned long )pdev;
4042#line 239
4043 __cil_tmp107 = __cil_tmp106 + 16;
4044#line 239
4045 __cil_tmp108 = (struct device *)__cil_tmp107;
4046#line 239
4047 __cil_tmp109 = (struct device const *)__cil_tmp108;
4048#line 239
4049 dev_err(__cil_tmp109, "No regulator type set\n");
4050#line 240
4051 ret = -22;
4052 }
4053#line 241
4054 goto err_memgpio;
4055 } else {
4056 switch_break: ;
4057 }
4058 }
4059 }
4060 }
4061 ldv_22762:
4062 {
4063#line 245
4064 __cil_tmp110 = (unsigned long )drvdata;
4065#line 245
4066 __cil_tmp111 = __cil_tmp110 + 56;
4067#line 245
4068 __cil_tmp112 = (unsigned long )config;
4069#line 245
4070 __cil_tmp113 = __cil_tmp112 + 8;
4071#line 245
4072 *((int *)__cil_tmp111) = *((int *)__cil_tmp113);
4073#line 246
4074 __cil_tmp114 = (unsigned long )drvdata;
4075#line 246
4076 __cil_tmp115 = __cil_tmp114 + 64;
4077#line 246
4078 __cil_tmp116 = (unsigned long )config;
4079#line 246
4080 __cil_tmp117 = __cil_tmp116 + 16;
4081#line 246
4082 *((unsigned int *)__cil_tmp115) = *((unsigned int *)__cil_tmp117);
4083#line 248
4084 __cil_tmp118 = (unsigned long )config;
4085#line 248
4086 __cil_tmp119 = __cil_tmp118 + 8;
4087#line 248
4088 __cil_tmp120 = *((int *)__cil_tmp119);
4089#line 248
4090 tmp___3 = gpio_is_valid(__cil_tmp120);
4091 }
4092#line 248
4093 if ((int )tmp___3) {
4094 {
4095#line 249
4096 __cil_tmp121 = (unsigned long )drvdata;
4097#line 249
4098 __cil_tmp122 = __cil_tmp121 + 60;
4099#line 249
4100 __cil_tmp123 = (unsigned long )config;
4101#line 249
4102 __cil_tmp124 = __cil_tmp123 + 12;
4103#line 249
4104 __cil_tmp125 = *((unsigned char *)__cil_tmp124);
4105#line 249
4106 __cil_tmp126 = (int )__cil_tmp125;
4107#line 249
4108 __cil_tmp127 = __cil_tmp126 != 0;
4109#line 249
4110 *((bool *)__cil_tmp122) = (bool )__cil_tmp127;
4111#line 251
4112 __cil_tmp128 = (unsigned long )config;
4113#line 251
4114 __cil_tmp129 = __cil_tmp128 + 8;
4115#line 251
4116 __cil_tmp130 = *((int *)__cil_tmp129);
4117#line 251
4118 __cil_tmp131 = (unsigned int )__cil_tmp130;
4119#line 251
4120 __cil_tmp132 = *((char const **)config);
4121#line 251
4122 ret = gpio_request(__cil_tmp131, __cil_tmp132);
4123 }
4124#line 252
4125 if (ret != 0) {
4126 {
4127#line 253
4128 __cil_tmp133 = (unsigned long )pdev;
4129#line 253
4130 __cil_tmp134 = __cil_tmp133 + 16;
4131#line 253
4132 __cil_tmp135 = (struct device *)__cil_tmp134;
4133#line 253
4134 __cil_tmp136 = (struct device const *)__cil_tmp135;
4135#line 253
4136 __cil_tmp137 = (unsigned long )config;
4137#line 253
4138 __cil_tmp138 = __cil_tmp137 + 8;
4139#line 253
4140 __cil_tmp139 = *((int *)__cil_tmp138);
4141#line 253
4142 dev_err(__cil_tmp136, "Could not obtain regulator enable GPIO %d: %d\n", __cil_tmp139,
4143 ret);
4144 }
4145#line 256
4146 goto err_memstate;
4147 } else {
4148
4149 }
4150 {
4151#line 262
4152 __cil_tmp140 = (unsigned char *)config;
4153#line 262
4154 __cil_tmp141 = __cil_tmp140 + 12UL;
4155#line 262
4156 __cil_tmp142 = *__cil_tmp141;
4157#line 262
4158 __cil_tmp143 = (unsigned int )__cil_tmp142;
4159#line 262
4160 if (__cil_tmp143 != 0U) {
4161 {
4162#line 263
4163 __cil_tmp144 = (unsigned long )drvdata;
4164#line 263
4165 __cil_tmp145 = __cil_tmp144 + 61;
4166#line 263
4167 *((bool *)__cil_tmp145) = (bool )1;
4168#line 264
4169 __cil_tmp146 = (unsigned long )config;
4170#line 264
4171 __cil_tmp147 = __cil_tmp146 + 8;
4172#line 264
4173 __cil_tmp148 = *((int *)__cil_tmp147);
4174#line 264
4175 __cil_tmp149 = (unsigned int )__cil_tmp148;
4176#line 264
4177 __cil_tmp150 = (unsigned long )config;
4178#line 264
4179 __cil_tmp151 = __cil_tmp150 + 12;
4180#line 264
4181 __cil_tmp152 = *((unsigned char *)__cil_tmp151);
4182#line 264
4183 __cil_tmp153 = (int )__cil_tmp152;
4184#line 264
4185 ret = gpio_direction_output(__cil_tmp149, __cil_tmp153);
4186 }
4187 } else {
4188 {
4189#line 267
4190 __cil_tmp154 = (unsigned long )drvdata;
4191#line 267
4192 __cil_tmp155 = __cil_tmp154 + 61;
4193#line 267
4194 *((bool *)__cil_tmp155) = (bool )0;
4195#line 268
4196 __cil_tmp156 = (unsigned long )config;
4197#line 268
4198 __cil_tmp157 = __cil_tmp156 + 8;
4199#line 268
4200 __cil_tmp158 = *((int *)__cil_tmp157);
4201#line 268
4202 __cil_tmp159 = (unsigned int )__cil_tmp158;
4203#line 268
4204 __cil_tmp160 = (unsigned char *)config;
4205#line 268
4206 __cil_tmp161 = __cil_tmp160 + 12UL;
4207#line 268
4208 __cil_tmp162 = *__cil_tmp161;
4209#line 268
4210 __cil_tmp163 = (unsigned int )__cil_tmp162;
4211#line 268
4212 __cil_tmp164 = __cil_tmp163 == 0U;
4213#line 268
4214 ret = gpio_direction_output(__cil_tmp159, __cil_tmp164);
4215 }
4216 }
4217 }
4218#line 272
4219 if (ret != 0) {
4220 {
4221#line 273
4222 __cil_tmp165 = (unsigned long )pdev;
4223#line 273
4224 __cil_tmp166 = __cil_tmp165 + 16;
4225#line 273
4226 __cil_tmp167 = (struct device *)__cil_tmp166;
4227#line 273
4228 __cil_tmp168 = (struct device const *)__cil_tmp167;
4229#line 273
4230 __cil_tmp169 = (unsigned long )config;
4231#line 273
4232 __cil_tmp170 = __cil_tmp169 + 8;
4233#line 273
4234 __cil_tmp171 = *((int *)__cil_tmp170);
4235#line 273
4236 dev_err(__cil_tmp168, "Could not configure regulator enable GPIO %d direction: %d\n",
4237 __cil_tmp171, ret);
4238 }
4239#line 276
4240 goto err_enablegpio;
4241 } else {
4242
4243 }
4244 } else {
4245#line 282
4246 __cil_tmp172 = (unsigned long )drvdata;
4247#line 282
4248 __cil_tmp173 = __cil_tmp172 + 61;
4249#line 282
4250 *((bool *)__cil_tmp173) = (bool )1;
4251 }
4252 {
4253#line 285
4254 __cil_tmp174 = (unsigned long )drvdata;
4255#line 285
4256 __cil_tmp175 = __cil_tmp174 + 80;
4257#line 285
4258 __cil_tmp176 = (unsigned long )config;
4259#line 285
4260 __cil_tmp177 = __cil_tmp176 + 32;
4261#line 285
4262 *((int *)__cil_tmp175) = *((int *)__cil_tmp177);
4263#line 286
4264 __cil_tmp178 = (unsigned long )drvdata;
4265#line 286
4266 __cil_tmp179 = __cil_tmp178 + 72;
4267#line 286
4268 __cil_tmp180 = *((struct gpio **)__cil_tmp179);
4269#line 286
4270 __cil_tmp181 = (struct gpio const *)__cil_tmp180;
4271#line 286
4272 __cil_tmp182 = (unsigned long )drvdata;
4273#line 286
4274 __cil_tmp183 = __cil_tmp182 + 80;
4275#line 286
4276 __cil_tmp184 = *((int *)__cil_tmp183);
4277#line 286
4278 __cil_tmp185 = (size_t )__cil_tmp184;
4279#line 286
4280 ret = gpio_request_array(__cil_tmp181, __cil_tmp185);
4281 }
4282#line 287
4283 if (ret != 0) {
4284 {
4285#line 288
4286 __cil_tmp186 = (unsigned long )pdev;
4287#line 288
4288 __cil_tmp187 = __cil_tmp186 + 16;
4289#line 288
4290 __cil_tmp188 = (struct device *)__cil_tmp187;
4291#line 288
4292 __cil_tmp189 = (struct device const *)__cil_tmp188;
4293#line 288
4294 dev_err(__cil_tmp189, "Could not obtain regulator setting GPIOs: %d\n", ret);
4295 }
4296#line 290
4297 goto err_enablegpio;
4298 } else {
4299
4300 }
4301#line 294
4302 state = 0;
4303#line 295
4304 ptr = 0;
4305#line 295
4306 goto ldv_22768;
4307 ldv_22767: ;
4308 {
4309#line 296
4310 __cil_tmp190 = (unsigned long )ptr;
4311#line 296
4312 __cil_tmp191 = (unsigned long )config;
4313#line 296
4314 __cil_tmp192 = __cil_tmp191 + 24;
4315#line 296
4316 __cil_tmp193 = *((struct gpio **)__cil_tmp192);
4317#line 296
4318 __cil_tmp194 = __cil_tmp193 + __cil_tmp190;
4319#line 296
4320 __cil_tmp195 = (unsigned long )__cil_tmp194;
4321#line 296
4322 __cil_tmp196 = __cil_tmp195 + 8;
4323#line 296
4324 __cil_tmp197 = *((unsigned long *)__cil_tmp196);
4325#line 296
4326 __cil_tmp198 = __cil_tmp197 & 2UL;
4327#line 296
4328 if (__cil_tmp198 != 0UL) {
4329#line 297
4330 __cil_tmp199 = 1 << ptr;
4331#line 297
4332 state = __cil_tmp199 | state;
4333 } else {
4334
4335 }
4336 }
4337#line 295
4338 ptr = ptr + 1;
4339 ldv_22768: ;
4340 {
4341#line 295
4342 __cil_tmp200 = (unsigned long )drvdata;
4343#line 295
4344 __cil_tmp201 = __cil_tmp200 + 80;
4345#line 295
4346 __cil_tmp202 = *((int *)__cil_tmp201);
4347#line 295
4348 if (__cil_tmp202 > ptr) {
4349#line 296
4350 goto ldv_22767;
4351 } else {
4352#line 298
4353 goto ldv_22769;
4354 }
4355 }
4356 ldv_22769:
4357 {
4358#line 299
4359 __cil_tmp203 = (unsigned long )drvdata;
4360#line 299
4361 __cil_tmp204 = __cil_tmp203 + 100;
4362#line 299
4363 *((int *)__cil_tmp204) = state;
4364#line 301
4365 __cil_tmp205 = (unsigned long )drvdata;
4366#line 301
4367 __cil_tmp206 = __cil_tmp205 + 48;
4368#line 301
4369 __cil_tmp207 = (struct regulator_desc *)drvdata;
4370#line 301
4371 __cil_tmp208 = (unsigned long )pdev;
4372#line 301
4373 __cil_tmp209 = __cil_tmp208 + 16;
4374#line 301
4375 __cil_tmp210 = (struct device *)__cil_tmp209;
4376#line 301
4377 __cil_tmp211 = (unsigned long )config;
4378#line 301
4379 __cil_tmp212 = __cil_tmp211 + 56;
4380#line 301
4381 __cil_tmp213 = *((struct regulator_init_data **)__cil_tmp212);
4382#line 301
4383 __cil_tmp214 = (struct regulator_init_data const *)__cil_tmp213;
4384#line 301
4385 __cil_tmp215 = (void *)drvdata;
4386#line 301
4387 __cil_tmp216 = (struct device_node *)0;
4388#line 301
4389 *((struct regulator_dev **)__cil_tmp206) = regulator_register(__cil_tmp207, __cil_tmp210,
4390 __cil_tmp214, __cil_tmp215,
4391 __cil_tmp216);
4392#line 303
4393 __cil_tmp217 = (unsigned long )drvdata;
4394#line 303
4395 __cil_tmp218 = __cil_tmp217 + 48;
4396#line 303
4397 __cil_tmp219 = *((struct regulator_dev **)__cil_tmp218);
4398#line 303
4399 __cil_tmp220 = (void const *)__cil_tmp219;
4400#line 303
4401 tmp___5 = IS_ERR(__cil_tmp220);
4402 }
4403#line 303
4404 if (tmp___5 != 0L) {
4405 {
4406#line 304
4407 __cil_tmp221 = (unsigned long )drvdata;
4408#line 304
4409 __cil_tmp222 = __cil_tmp221 + 48;
4410#line 304
4411 __cil_tmp223 = *((struct regulator_dev **)__cil_tmp222);
4412#line 304
4413 __cil_tmp224 = (void const *)__cil_tmp223;
4414#line 304
4415 tmp___4 = PTR_ERR(__cil_tmp224);
4416#line 304
4417 ret = (int )tmp___4;
4418#line 305
4419 __cil_tmp225 = (unsigned long )pdev;
4420#line 305
4421 __cil_tmp226 = __cil_tmp225 + 16;
4422#line 305
4423 __cil_tmp227 = (struct device *)__cil_tmp226;
4424#line 305
4425 __cil_tmp228 = (struct device const *)__cil_tmp227;
4426#line 305
4427 dev_err(__cil_tmp228, "Failed to register regulator: %d\n", ret);
4428 }
4429#line 306
4430 goto err_stategpio;
4431 } else {
4432
4433 }
4434 {
4435#line 309
4436 __cil_tmp229 = (void *)drvdata;
4437#line 309
4438 platform_set_drvdata(pdev, __cil_tmp229);
4439 }
4440#line 311
4441 return (0);
4442 err_stategpio:
4443 {
4444#line 314
4445 __cil_tmp230 = (unsigned long )drvdata;
4446#line 314
4447 __cil_tmp231 = __cil_tmp230 + 72;
4448#line 314
4449 __cil_tmp232 = *((struct gpio **)__cil_tmp231);
4450#line 314
4451 __cil_tmp233 = (struct gpio const *)__cil_tmp232;
4452#line 314
4453 __cil_tmp234 = (unsigned long )drvdata;
4454#line 314
4455 __cil_tmp235 = __cil_tmp234 + 80;
4456#line 314
4457 __cil_tmp236 = *((int *)__cil_tmp235);
4458#line 314
4459 __cil_tmp237 = (size_t )__cil_tmp236;
4460#line 314
4461 gpio_free_array(__cil_tmp233, __cil_tmp237);
4462 }
4463 err_enablegpio:
4464 {
4465#line 316
4466 __cil_tmp238 = (unsigned long )config;
4467#line 316
4468 __cil_tmp239 = __cil_tmp238 + 8;
4469#line 316
4470 __cil_tmp240 = *((int *)__cil_tmp239);
4471#line 316
4472 tmp___6 = gpio_is_valid(__cil_tmp240);
4473 }
4474#line 316
4475 if ((int )tmp___6) {
4476 {
4477#line 317
4478 __cil_tmp241 = (unsigned long )config;
4479#line 317
4480 __cil_tmp242 = __cil_tmp241 + 8;
4481#line 317
4482 __cil_tmp243 = *((int *)__cil_tmp242);
4483#line 317
4484 __cil_tmp244 = (unsigned int )__cil_tmp243;
4485#line 317
4486 gpio_free(__cil_tmp244);
4487 }
4488 } else {
4489
4490 }
4491 err_memstate:
4492 {
4493#line 319
4494 __cil_tmp245 = (unsigned long )drvdata;
4495#line 319
4496 __cil_tmp246 = __cil_tmp245 + 88;
4497#line 319
4498 __cil_tmp247 = *((struct gpio_regulator_state **)__cil_tmp246);
4499#line 319
4500 __cil_tmp248 = (void const *)__cil_tmp247;
4501#line 319
4502 kfree(__cil_tmp248);
4503 }
4504 err_memgpio:
4505 {
4506#line 321
4507 __cil_tmp249 = (unsigned long )drvdata;
4508#line 321
4509 __cil_tmp250 = __cil_tmp249 + 72;
4510#line 321
4511 __cil_tmp251 = *((struct gpio **)__cil_tmp250);
4512#line 321
4513 __cil_tmp252 = (void const *)__cil_tmp251;
4514#line 321
4515 kfree(__cil_tmp252);
4516 }
4517 err_name:
4518 {
4519#line 323
4520 __cil_tmp253 = *((char const **)drvdata);
4521#line 323
4522 __cil_tmp254 = (void const *)__cil_tmp253;
4523#line 323
4524 kfree(__cil_tmp254);
4525 }
4526 err:
4527 {
4528#line 325
4529 __cil_tmp255 = (void const *)drvdata;
4530#line 325
4531 kfree(__cil_tmp255);
4532 }
4533#line 326
4534 return (ret);
4535}
4536}
4537#line 329 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
4538static int gpio_regulator_remove(struct platform_device *pdev )
4539{ struct gpio_regulator_data *drvdata ;
4540 void *tmp ;
4541 bool tmp___0 ;
4542 struct platform_device const *__cil_tmp5 ;
4543 unsigned long __cil_tmp6 ;
4544 unsigned long __cil_tmp7 ;
4545 struct regulator_dev *__cil_tmp8 ;
4546 unsigned long __cil_tmp9 ;
4547 unsigned long __cil_tmp10 ;
4548 struct gpio *__cil_tmp11 ;
4549 struct gpio const *__cil_tmp12 ;
4550 unsigned long __cil_tmp13 ;
4551 unsigned long __cil_tmp14 ;
4552 int __cil_tmp15 ;
4553 size_t __cil_tmp16 ;
4554 unsigned long __cil_tmp17 ;
4555 unsigned long __cil_tmp18 ;
4556 struct gpio_regulator_state *__cil_tmp19 ;
4557 void const *__cil_tmp20 ;
4558 unsigned long __cil_tmp21 ;
4559 unsigned long __cil_tmp22 ;
4560 struct gpio *__cil_tmp23 ;
4561 void const *__cil_tmp24 ;
4562 unsigned long __cil_tmp25 ;
4563 unsigned long __cil_tmp26 ;
4564 int __cil_tmp27 ;
4565 unsigned long __cil_tmp28 ;
4566 unsigned long __cil_tmp29 ;
4567 int __cil_tmp30 ;
4568 unsigned int __cil_tmp31 ;
4569 char const *__cil_tmp32 ;
4570 void const *__cil_tmp33 ;
4571 void const *__cil_tmp34 ;
4572
4573 {
4574 {
4575#line 331
4576 __cil_tmp5 = (struct platform_device const *)pdev;
4577#line 331
4578 tmp = platform_get_drvdata(__cil_tmp5);
4579#line 331
4580 drvdata = (struct gpio_regulator_data *)tmp;
4581#line 333
4582 __cil_tmp6 = (unsigned long )drvdata;
4583#line 333
4584 __cil_tmp7 = __cil_tmp6 + 48;
4585#line 333
4586 __cil_tmp8 = *((struct regulator_dev **)__cil_tmp7);
4587#line 333
4588 regulator_unregister(__cil_tmp8);
4589#line 335
4590 __cil_tmp9 = (unsigned long )drvdata;
4591#line 335
4592 __cil_tmp10 = __cil_tmp9 + 72;
4593#line 335
4594 __cil_tmp11 = *((struct gpio **)__cil_tmp10);
4595#line 335
4596 __cil_tmp12 = (struct gpio const *)__cil_tmp11;
4597#line 335
4598 __cil_tmp13 = (unsigned long )drvdata;
4599#line 335
4600 __cil_tmp14 = __cil_tmp13 + 80;
4601#line 335
4602 __cil_tmp15 = *((int *)__cil_tmp14);
4603#line 335
4604 __cil_tmp16 = (size_t )__cil_tmp15;
4605#line 335
4606 gpio_free_array(__cil_tmp12, __cil_tmp16);
4607#line 337
4608 __cil_tmp17 = (unsigned long )drvdata;
4609#line 337
4610 __cil_tmp18 = __cil_tmp17 + 88;
4611#line 337
4612 __cil_tmp19 = *((struct gpio_regulator_state **)__cil_tmp18);
4613#line 337
4614 __cil_tmp20 = (void const *)__cil_tmp19;
4615#line 337
4616 kfree(__cil_tmp20);
4617#line 338
4618 __cil_tmp21 = (unsigned long )drvdata;
4619#line 338
4620 __cil_tmp22 = __cil_tmp21 + 72;
4621#line 338
4622 __cil_tmp23 = *((struct gpio **)__cil_tmp22);
4623#line 338
4624 __cil_tmp24 = (void const *)__cil_tmp23;
4625#line 338
4626 kfree(__cil_tmp24);
4627#line 340
4628 __cil_tmp25 = (unsigned long )drvdata;
4629#line 340
4630 __cil_tmp26 = __cil_tmp25 + 56;
4631#line 340
4632 __cil_tmp27 = *((int *)__cil_tmp26);
4633#line 340
4634 tmp___0 = gpio_is_valid(__cil_tmp27);
4635 }
4636#line 340
4637 if ((int )tmp___0) {
4638 {
4639#line 341
4640 __cil_tmp28 = (unsigned long )drvdata;
4641#line 341
4642 __cil_tmp29 = __cil_tmp28 + 56;
4643#line 341
4644 __cil_tmp30 = *((int *)__cil_tmp29);
4645#line 341
4646 __cil_tmp31 = (unsigned int )__cil_tmp30;
4647#line 341
4648 gpio_free(__cil_tmp31);
4649 }
4650 } else {
4651
4652 }
4653 {
4654#line 343
4655 __cil_tmp32 = *((char const **)drvdata);
4656#line 343
4657 __cil_tmp33 = (void const *)__cil_tmp32;
4658#line 343
4659 kfree(__cil_tmp33);
4660#line 344
4661 __cil_tmp34 = (void const *)drvdata;
4662#line 344
4663 kfree(__cil_tmp34);
4664 }
4665#line 346
4666 return (0);
4667}
4668}
4669#line 349 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
4670static struct platform_driver gpio_regulator_driver = {& gpio_regulator_probe, & gpio_regulator_remove, (void (*)(struct platform_device * ))0,
4671 (int (*)(struct platform_device * , pm_message_t ))0, (int (*)(struct platform_device * ))0,
4672 {"gpio-regulator", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
4673 (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
4674 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
4675 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
4676 (struct driver_private *)0}, (struct platform_device_id const *)0};
4677#line 358 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
4678static int gpio_regulator_init(void)
4679{ int tmp ;
4680
4681 {
4682 {
4683#line 360
4684 tmp = platform_driver_register(& gpio_regulator_driver);
4685 }
4686#line 360
4687 return (tmp);
4688}
4689}
4690#line 364 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
4691static void gpio_regulator_exit(void)
4692{
4693
4694 {
4695 {
4696#line 366
4697 platform_driver_unregister(& gpio_regulator_driver);
4698 }
4699#line 367
4700 return;
4701}
4702}
4703#line 391
4704extern void ldv_check_final_state(void) ;
4705#line 394
4706extern void ldv_check_return_value(int ) ;
4707#line 397
4708extern void ldv_initialize(void) ;
4709#line 400
4710extern int __VERIFIER_nondet_int(void) ;
4711#line 403 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
4712int LDV_IN_INTERRUPT ;
4713#line 406 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
4714void main(void)
4715{ struct regulator_dev *var_group1 ;
4716 int var_gpio_regulator_set_voltage_6_p1 ;
4717 int var_gpio_regulator_set_voltage_6_p2 ;
4718 unsigned int *var_gpio_regulator_set_voltage_6_p3 ;
4719 unsigned int var_gpio_regulator_list_voltage_7_p1 ;
4720 int var_gpio_regulator_set_current_limit_8_p1 ;
4721 int var_gpio_regulator_set_current_limit_8_p2 ;
4722 struct platform_device *var_group2 ;
4723 int res_gpio_regulator_probe_9 ;
4724 int ldv_s_gpio_regulator_driver_platform_driver ;
4725 int tmp ;
4726 int tmp___0 ;
4727 int tmp___1 ;
4728
4729 {
4730 {
4731#line 491
4732 ldv_s_gpio_regulator_driver_platform_driver = 0;
4733#line 470
4734 LDV_IN_INTERRUPT = 1;
4735#line 479
4736 ldv_initialize();
4737#line 485
4738 tmp = gpio_regulator_init();
4739 }
4740#line 485
4741 if (tmp != 0) {
4742#line 486
4743 goto ldv_final;
4744 } else {
4745
4746 }
4747#line 494
4748 goto ldv_22837;
4749 ldv_22836:
4750 {
4751#line 498
4752 tmp___0 = __VERIFIER_nondet_int();
4753 }
4754#line 500
4755 if (tmp___0 == 0) {
4756#line 500
4757 goto case_0;
4758 } else
4759#line 516
4760 if (tmp___0 == 1) {
4761#line 516
4762 goto case_1;
4763 } else
4764#line 532
4765 if (tmp___0 == 2) {
4766#line 532
4767 goto case_2;
4768 } else
4769#line 548
4770 if (tmp___0 == 3) {
4771#line 548
4772 goto case_3;
4773 } else
4774#line 564
4775 if (tmp___0 == 4) {
4776#line 564
4777 goto case_4;
4778 } else
4779#line 580
4780 if (tmp___0 == 5) {
4781#line 580
4782 goto case_5;
4783 } else
4784#line 596
4785 if (tmp___0 == 6) {
4786#line 596
4787 goto case_6;
4788 } else
4789#line 612
4790 if (tmp___0 == 7) {
4791#line 612
4792 goto case_7;
4793 } else
4794#line 628
4795 if (tmp___0 == 8) {
4796#line 628
4797 goto case_8;
4798 } else
4799#line 644
4800 if (tmp___0 == 9) {
4801#line 644
4802 goto case_9;
4803 } else
4804#line 660
4805 if (tmp___0 == 10) {
4806#line 660
4807 goto case_10;
4808 } else
4809#line 676
4810 if (tmp___0 == 11) {
4811#line 676
4812 goto case_11;
4813 } else
4814#line 692
4815 if (tmp___0 == 12) {
4816#line 692
4817 goto case_12;
4818 } else
4819#line 708
4820 if (tmp___0 == 13) {
4821#line 708
4822 goto case_13;
4823 } else {
4824 {
4825#line 727
4826 goto switch_default;
4827#line 498
4828 if (0) {
4829 case_0:
4830 {
4831#line 508
4832 gpio_regulator_is_enabled(var_group1);
4833 }
4834#line 515
4835 goto ldv_22820;
4836 case_1:
4837 {
4838#line 524
4839 gpio_regulator_enable(var_group1);
4840 }
4841#line 531
4842 goto ldv_22820;
4843 case_2:
4844 {
4845#line 540
4846 gpio_regulator_disable(var_group1);
4847 }
4848#line 547
4849 goto ldv_22820;
4850 case_3:
4851 {
4852#line 556
4853 gpio_regulator_enable_time(var_group1);
4854 }
4855#line 563
4856 goto ldv_22820;
4857 case_4:
4858 {
4859#line 572
4860 gpio_regulator_get_value(var_group1);
4861 }
4862#line 579
4863 goto ldv_22820;
4864 case_5:
4865 {
4866#line 588
4867 gpio_regulator_set_voltage(var_group1, var_gpio_regulator_set_voltage_6_p1,
4868 var_gpio_regulator_set_voltage_6_p2, var_gpio_regulator_set_voltage_6_p3);
4869 }
4870#line 595
4871 goto ldv_22820;
4872 case_6:
4873 {
4874#line 604
4875 gpio_regulator_list_voltage(var_group1, var_gpio_regulator_list_voltage_7_p1);
4876 }
4877#line 611
4878 goto ldv_22820;
4879 case_7:
4880 {
4881#line 620
4882 gpio_regulator_is_enabled(var_group1);
4883 }
4884#line 627
4885 goto ldv_22820;
4886 case_8:
4887 {
4888#line 636
4889 gpio_regulator_enable(var_group1);
4890 }
4891#line 643
4892 goto ldv_22820;
4893 case_9:
4894 {
4895#line 652
4896 gpio_regulator_disable(var_group1);
4897 }
4898#line 659
4899 goto ldv_22820;
4900 case_10:
4901 {
4902#line 668
4903 gpio_regulator_enable_time(var_group1);
4904 }
4905#line 675
4906 goto ldv_22820;
4907 case_11:
4908 {
4909#line 684
4910 gpio_regulator_get_value(var_group1);
4911 }
4912#line 691
4913 goto ldv_22820;
4914 case_12:
4915 {
4916#line 700
4917 gpio_regulator_set_current_limit(var_group1, var_gpio_regulator_set_current_limit_8_p1,
4918 var_gpio_regulator_set_current_limit_8_p2);
4919 }
4920#line 707
4921 goto ldv_22820;
4922 case_13: ;
4923#line 711
4924 if (ldv_s_gpio_regulator_driver_platform_driver == 0) {
4925 {
4926#line 716
4927 res_gpio_regulator_probe_9 = gpio_regulator_probe(var_group2);
4928#line 717
4929 ldv_check_return_value(res_gpio_regulator_probe_9);
4930 }
4931#line 718
4932 if (res_gpio_regulator_probe_9 != 0) {
4933#line 719
4934 goto ldv_module_exit;
4935 } else {
4936
4937 }
4938#line 720
4939 ldv_s_gpio_regulator_driver_platform_driver = 0;
4940 } else {
4941
4942 }
4943#line 726
4944 goto ldv_22820;
4945 switch_default: ;
4946#line 727
4947 goto ldv_22820;
4948 } else {
4949 switch_break: ;
4950 }
4951 }
4952 }
4953 ldv_22820: ;
4954 ldv_22837:
4955 {
4956#line 494
4957 tmp___1 = __VERIFIER_nondet_int();
4958 }
4959#line 494
4960 if (tmp___1 != 0) {
4961#line 496
4962 goto ldv_22836;
4963 } else
4964#line 494
4965 if (ldv_s_gpio_regulator_driver_platform_driver != 0) {
4966#line 496
4967 goto ldv_22836;
4968 } else {
4969#line 498
4970 goto ldv_22838;
4971 }
4972 ldv_22838: ;
4973 ldv_module_exit:
4974 {
4975#line 739
4976 gpio_regulator_exit();
4977 }
4978 ldv_final:
4979 {
4980#line 742
4981 ldv_check_final_state();
4982 }
4983#line 745
4984 return;
4985}
4986}
4987#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4988void ldv_blast_assert(void)
4989{
4990
4991 {
4992 ERROR: ;
4993#line 6
4994 goto ERROR;
4995}
4996}
4997#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4998extern int __VERIFIER_nondet_int(void) ;
4999#line 766 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5000int ldv_spin = 0;
5001#line 770 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5002void ldv_check_alloc_flags(gfp_t flags )
5003{
5004
5005 {
5006#line 773
5007 if (ldv_spin != 0) {
5008#line 773
5009 if (flags != 32U) {
5010 {
5011#line 773
5012 ldv_blast_assert();
5013 }
5014 } else {
5015
5016 }
5017 } else {
5018
5019 }
5020#line 776
5021 return;
5022}
5023}
5024#line 776
5025extern struct page *ldv_some_page(void) ;
5026#line 779 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5027struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
5028{ struct page *tmp ;
5029
5030 {
5031#line 782
5032 if (ldv_spin != 0) {
5033#line 782
5034 if (flags != 32U) {
5035 {
5036#line 782
5037 ldv_blast_assert();
5038 }
5039 } else {
5040
5041 }
5042 } else {
5043
5044 }
5045 {
5046#line 784
5047 tmp = ldv_some_page();
5048 }
5049#line 784
5050 return (tmp);
5051}
5052}
5053#line 788 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5054void ldv_check_alloc_nonatomic(void)
5055{
5056
5057 {
5058#line 791
5059 if (ldv_spin != 0) {
5060 {
5061#line 791
5062 ldv_blast_assert();
5063 }
5064 } else {
5065
5066 }
5067#line 794
5068 return;
5069}
5070}
5071#line 795 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5072void ldv_spin_lock(void)
5073{
5074
5075 {
5076#line 798
5077 ldv_spin = 1;
5078#line 799
5079 return;
5080}
5081}
5082#line 802 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5083void ldv_spin_unlock(void)
5084{
5085
5086 {
5087#line 805
5088 ldv_spin = 0;
5089#line 806
5090 return;
5091}
5092}
5093#line 809 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5094int ldv_spin_trylock(void)
5095{ int is_lock ;
5096
5097 {
5098 {
5099#line 814
5100 is_lock = __VERIFIER_nondet_int();
5101 }
5102#line 816
5103 if (is_lock != 0) {
5104#line 819
5105 return (0);
5106 } else {
5107#line 824
5108 ldv_spin = 1;
5109#line 826
5110 return (1);
5111 }
5112}
5113}
5114#line 993 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5115void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
5116{
5117
5118 {
5119 {
5120#line 999
5121 ldv_check_alloc_flags(ldv_func_arg2);
5122#line 1001
5123 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
5124 }
5125#line 1002
5126 return ((void *)0);
5127}
5128}
5129#line 1004 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12231/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/gpio-regulator.c.p"
5130__inline static void *kzalloc(size_t size , gfp_t flags )
5131{ void *tmp ;
5132
5133 {
5134 {
5135#line 1010
5136 ldv_check_alloc_flags(flags);
5137#line 1011
5138 tmp = __VERIFIER_nondet_pointer();
5139 }
5140#line 1011
5141 return (tmp);
5142}
5143}