1
2
3
4#line 23 "include/asm-generic/int-ll64.h"
5typedef unsigned short __u16;
6#line 26 "include/asm-generic/int-ll64.h"
7typedef unsigned int __u32;
8#line 30 "include/asm-generic/int-ll64.h"
9typedef unsigned long long __u64;
10#line 45 "include/asm-generic/int-ll64.h"
11typedef short s16;
12#line 46 "include/asm-generic/int-ll64.h"
13typedef unsigned short u16;
14#line 48 "include/asm-generic/int-ll64.h"
15typedef int s32;
16#line 49 "include/asm-generic/int-ll64.h"
17typedef unsigned int u32;
18#line 51 "include/asm-generic/int-ll64.h"
19typedef long long s64;
20#line 52 "include/asm-generic/int-ll64.h"
21typedef unsigned long long u64;
22#line 14 "include/asm-generic/posix_types.h"
23typedef long __kernel_long_t;
24#line 15 "include/asm-generic/posix_types.h"
25typedef unsigned long __kernel_ulong_t;
26#line 75 "include/asm-generic/posix_types.h"
27typedef __kernel_ulong_t __kernel_size_t;
28#line 76 "include/asm-generic/posix_types.h"
29typedef __kernel_long_t __kernel_ssize_t;
30#line 91 "include/asm-generic/posix_types.h"
31typedef long long __kernel_loff_t;
32#line 21 "include/linux/types.h"
33typedef __u32 __kernel_dev_t;
34#line 24 "include/linux/types.h"
35typedef __kernel_dev_t dev_t;
36#line 27 "include/linux/types.h"
37typedef unsigned short umode_t;
38#line 38 "include/linux/types.h"
39typedef _Bool bool;
40#line 54 "include/linux/types.h"
41typedef __kernel_loff_t loff_t;
42#line 63 "include/linux/types.h"
43typedef __kernel_size_t size_t;
44#line 68 "include/linux/types.h"
45typedef __kernel_ssize_t ssize_t;
46#line 202 "include/linux/types.h"
47typedef unsigned int gfp_t;
48#line 206 "include/linux/types.h"
49typedef u64 phys_addr_t;
50#line 211 "include/linux/types.h"
51typedef phys_addr_t resource_size_t;
52#line 219 "include/linux/types.h"
53struct __anonstruct_atomic_t_7 {
54 int counter ;
55};
56#line 219 "include/linux/types.h"
57typedef struct __anonstruct_atomic_t_7 atomic_t;
58#line 224 "include/linux/types.h"
59struct __anonstruct_atomic64_t_8 {
60 long counter ;
61};
62#line 224 "include/linux/types.h"
63typedef struct __anonstruct_atomic64_t_8 atomic64_t;
64#line 229 "include/linux/types.h"
65struct list_head {
66 struct list_head *next ;
67 struct list_head *prev ;
68};
69#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
70struct module;
71#line 56
72struct module;
73#line 146 "include/linux/init.h"
74typedef void (*ctor_fn_t)(void);
75#line 47 "include/linux/dynamic_debug.h"
76struct device;
77#line 47
78struct device;
79#line 135 "include/linux/kernel.h"
80struct completion;
81#line 135
82struct completion;
83#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
84struct page;
85#line 18
86struct page;
87#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
88struct task_struct;
89#line 20
90struct task_struct;
91#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
92struct task_struct;
93#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
94struct file;
95#line 295
96struct file;
97#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
98struct page;
99#line 52
100struct task_struct;
101#line 329
102struct arch_spinlock;
103#line 329
104struct arch_spinlock;
105#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
106struct task_struct;
107#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
108struct task_struct;
109#line 10 "include/asm-generic/bug.h"
110struct bug_entry {
111 int bug_addr_disp ;
112 int file_disp ;
113 unsigned short line ;
114 unsigned short flags ;
115};
116#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
117struct static_key;
118#line 234
119struct static_key;
120#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
121struct kmem_cache;
122#line 23 "include/asm-generic/atomic-long.h"
123typedef atomic64_t atomic_long_t;
124#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
125typedef u16 __ticket_t;
126#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
127typedef u32 __ticketpair_t;
128#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
129struct __raw_tickets {
130 __ticket_t head ;
131 __ticket_t tail ;
132};
133#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
134union __anonunion____missing_field_name_36 {
135 __ticketpair_t head_tail ;
136 struct __raw_tickets tickets ;
137};
138#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
139struct arch_spinlock {
140 union __anonunion____missing_field_name_36 __annonCompField17 ;
141};
142#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
143typedef struct arch_spinlock arch_spinlock_t;
144#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
145struct __anonstruct____missing_field_name_38 {
146 u32 read ;
147 s32 write ;
148};
149#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
150union __anonunion_arch_rwlock_t_37 {
151 s64 lock ;
152 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
153};
154#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
155typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
156#line 12 "include/linux/lockdep.h"
157struct task_struct;
158#line 20 "include/linux/spinlock_types.h"
159struct raw_spinlock {
160 arch_spinlock_t raw_lock ;
161 unsigned int magic ;
162 unsigned int owner_cpu ;
163 void *owner ;
164};
165#line 20 "include/linux/spinlock_types.h"
166typedef struct raw_spinlock raw_spinlock_t;
167#line 64 "include/linux/spinlock_types.h"
168union __anonunion____missing_field_name_39 {
169 struct raw_spinlock rlock ;
170};
171#line 64 "include/linux/spinlock_types.h"
172struct spinlock {
173 union __anonunion____missing_field_name_39 __annonCompField19 ;
174};
175#line 64 "include/linux/spinlock_types.h"
176typedef struct spinlock spinlock_t;
177#line 11 "include/linux/rwlock_types.h"
178struct __anonstruct_rwlock_t_40 {
179 arch_rwlock_t raw_lock ;
180 unsigned int magic ;
181 unsigned int owner_cpu ;
182 void *owner ;
183};
184#line 11 "include/linux/rwlock_types.h"
185typedef struct __anonstruct_rwlock_t_40 rwlock_t;
186#line 49 "include/linux/wait.h"
187struct __wait_queue_head {
188 spinlock_t lock ;
189 struct list_head task_list ;
190};
191#line 53 "include/linux/wait.h"
192typedef struct __wait_queue_head wait_queue_head_t;
193#line 55
194struct task_struct;
195#line 60 "include/linux/pageblock-flags.h"
196struct page;
197#line 48 "include/linux/mutex.h"
198struct mutex {
199 atomic_t count ;
200 spinlock_t wait_lock ;
201 struct list_head wait_list ;
202 struct task_struct *owner ;
203 char const *name ;
204 void *magic ;
205};
206#line 19 "include/linux/rwsem.h"
207struct rw_semaphore;
208#line 19
209struct rw_semaphore;
210#line 25 "include/linux/rwsem.h"
211struct rw_semaphore {
212 long count ;
213 raw_spinlock_t wait_lock ;
214 struct list_head wait_list ;
215};
216#line 25 "include/linux/completion.h"
217struct completion {
218 unsigned int done ;
219 wait_queue_head_t wait ;
220};
221#line 9 "include/linux/memory_hotplug.h"
222struct page;
223#line 18 "include/linux/ioport.h"
224struct resource {
225 resource_size_t start ;
226 resource_size_t end ;
227 char const *name ;
228 unsigned long flags ;
229 struct resource *parent ;
230 struct resource *sibling ;
231 struct resource *child ;
232};
233#line 202
234struct device;
235#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
236struct device;
237#line 46 "include/linux/ktime.h"
238union ktime {
239 s64 tv64 ;
240};
241#line 59 "include/linux/ktime.h"
242typedef union ktime ktime_t;
243#line 10 "include/linux/timer.h"
244struct tvec_base;
245#line 10
246struct tvec_base;
247#line 12 "include/linux/timer.h"
248struct timer_list {
249 struct list_head entry ;
250 unsigned long expires ;
251 struct tvec_base *base ;
252 void (*function)(unsigned long ) ;
253 unsigned long data ;
254 int slack ;
255 int start_pid ;
256 void *start_site ;
257 char start_comm[16] ;
258};
259#line 17 "include/linux/workqueue.h"
260struct work_struct;
261#line 17
262struct work_struct;
263#line 79 "include/linux/workqueue.h"
264struct work_struct {
265 atomic_long_t data ;
266 struct list_head entry ;
267 void (*func)(struct work_struct *work ) ;
268};
269#line 42 "include/linux/pm.h"
270struct device;
271#line 50 "include/linux/pm.h"
272struct pm_message {
273 int event ;
274};
275#line 50 "include/linux/pm.h"
276typedef struct pm_message pm_message_t;
277#line 264 "include/linux/pm.h"
278struct dev_pm_ops {
279 int (*prepare)(struct device *dev ) ;
280 void (*complete)(struct device *dev ) ;
281 int (*suspend)(struct device *dev ) ;
282 int (*resume)(struct device *dev ) ;
283 int (*freeze)(struct device *dev ) ;
284 int (*thaw)(struct device *dev ) ;
285 int (*poweroff)(struct device *dev ) ;
286 int (*restore)(struct device *dev ) ;
287 int (*suspend_late)(struct device *dev ) ;
288 int (*resume_early)(struct device *dev ) ;
289 int (*freeze_late)(struct device *dev ) ;
290 int (*thaw_early)(struct device *dev ) ;
291 int (*poweroff_late)(struct device *dev ) ;
292 int (*restore_early)(struct device *dev ) ;
293 int (*suspend_noirq)(struct device *dev ) ;
294 int (*resume_noirq)(struct device *dev ) ;
295 int (*freeze_noirq)(struct device *dev ) ;
296 int (*thaw_noirq)(struct device *dev ) ;
297 int (*poweroff_noirq)(struct device *dev ) ;
298 int (*restore_noirq)(struct device *dev ) ;
299 int (*runtime_suspend)(struct device *dev ) ;
300 int (*runtime_resume)(struct device *dev ) ;
301 int (*runtime_idle)(struct device *dev ) ;
302};
303#line 458
304enum rpm_status {
305 RPM_ACTIVE = 0,
306 RPM_RESUMING = 1,
307 RPM_SUSPENDED = 2,
308 RPM_SUSPENDING = 3
309} ;
310#line 480
311enum rpm_request {
312 RPM_REQ_NONE = 0,
313 RPM_REQ_IDLE = 1,
314 RPM_REQ_SUSPEND = 2,
315 RPM_REQ_AUTOSUSPEND = 3,
316 RPM_REQ_RESUME = 4
317} ;
318#line 488
319struct wakeup_source;
320#line 488
321struct wakeup_source;
322#line 495 "include/linux/pm.h"
323struct pm_subsys_data {
324 spinlock_t lock ;
325 unsigned int refcount ;
326};
327#line 506
328struct dev_pm_qos_request;
329#line 506
330struct pm_qos_constraints;
331#line 506 "include/linux/pm.h"
332struct dev_pm_info {
333 pm_message_t power_state ;
334 unsigned int can_wakeup : 1 ;
335 unsigned int async_suspend : 1 ;
336 bool is_prepared : 1 ;
337 bool is_suspended : 1 ;
338 bool ignore_children : 1 ;
339 spinlock_t lock ;
340 struct list_head entry ;
341 struct completion completion ;
342 struct wakeup_source *wakeup ;
343 bool wakeup_path : 1 ;
344 struct timer_list suspend_timer ;
345 unsigned long timer_expires ;
346 struct work_struct work ;
347 wait_queue_head_t wait_queue ;
348 atomic_t usage_count ;
349 atomic_t child_count ;
350 unsigned int disable_depth : 3 ;
351 unsigned int idle_notification : 1 ;
352 unsigned int request_pending : 1 ;
353 unsigned int deferred_resume : 1 ;
354 unsigned int run_wake : 1 ;
355 unsigned int runtime_auto : 1 ;
356 unsigned int no_callbacks : 1 ;
357 unsigned int irq_safe : 1 ;
358 unsigned int use_autosuspend : 1 ;
359 unsigned int timer_autosuspends : 1 ;
360 enum rpm_request request ;
361 enum rpm_status runtime_status ;
362 int runtime_error ;
363 int autosuspend_delay ;
364 unsigned long last_busy ;
365 unsigned long active_jiffies ;
366 unsigned long suspended_jiffies ;
367 unsigned long accounting_timestamp ;
368 ktime_t suspend_time ;
369 s64 max_time_suspended_ns ;
370 struct dev_pm_qos_request *pq_req ;
371 struct pm_subsys_data *subsys_data ;
372 struct pm_qos_constraints *constraints ;
373};
374#line 564 "include/linux/pm.h"
375struct dev_pm_domain {
376 struct dev_pm_ops ops ;
377};
378#line 8 "include/linux/vmalloc.h"
379struct vm_area_struct;
380#line 8
381struct vm_area_struct;
382#line 994 "include/linux/mmzone.h"
383struct page;
384#line 10 "include/linux/gfp.h"
385struct vm_area_struct;
386#line 29 "include/linux/sysctl.h"
387struct completion;
388#line 49 "include/linux/kmod.h"
389struct file;
390#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
391struct task_struct;
392#line 18 "include/linux/elf.h"
393typedef __u64 Elf64_Addr;
394#line 19 "include/linux/elf.h"
395typedef __u16 Elf64_Half;
396#line 23 "include/linux/elf.h"
397typedef __u32 Elf64_Word;
398#line 24 "include/linux/elf.h"
399typedef __u64 Elf64_Xword;
400#line 194 "include/linux/elf.h"
401struct elf64_sym {
402 Elf64_Word st_name ;
403 unsigned char st_info ;
404 unsigned char st_other ;
405 Elf64_Half st_shndx ;
406 Elf64_Addr st_value ;
407 Elf64_Xword st_size ;
408};
409#line 194 "include/linux/elf.h"
410typedef struct elf64_sym Elf64_Sym;
411#line 438
412struct file;
413#line 20 "include/linux/kobject_ns.h"
414struct sock;
415#line 20
416struct sock;
417#line 21
418struct kobject;
419#line 21
420struct kobject;
421#line 27
422enum kobj_ns_type {
423 KOBJ_NS_TYPE_NONE = 0,
424 KOBJ_NS_TYPE_NET = 1,
425 KOBJ_NS_TYPES = 2
426} ;
427#line 40 "include/linux/kobject_ns.h"
428struct kobj_ns_type_operations {
429 enum kobj_ns_type type ;
430 void *(*grab_current_ns)(void) ;
431 void const *(*netlink_ns)(struct sock *sk ) ;
432 void const *(*initial_ns)(void) ;
433 void (*drop_ns)(void * ) ;
434};
435#line 22 "include/linux/sysfs.h"
436struct kobject;
437#line 23
438struct module;
439#line 24
440enum kobj_ns_type;
441#line 26 "include/linux/sysfs.h"
442struct attribute {
443 char const *name ;
444 umode_t mode ;
445};
446#line 56 "include/linux/sysfs.h"
447struct attribute_group {
448 char const *name ;
449 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
450 struct attribute **attrs ;
451};
452#line 85
453struct file;
454#line 86
455struct vm_area_struct;
456#line 88 "include/linux/sysfs.h"
457struct bin_attribute {
458 struct attribute attr ;
459 size_t size ;
460 void *private ;
461 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
462 loff_t , size_t ) ;
463 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
464 loff_t , size_t ) ;
465 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
466};
467#line 112 "include/linux/sysfs.h"
468struct sysfs_ops {
469 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
470 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
471 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
472};
473#line 118
474struct sysfs_dirent;
475#line 118
476struct sysfs_dirent;
477#line 22 "include/linux/kref.h"
478struct kref {
479 atomic_t refcount ;
480};
481#line 60 "include/linux/kobject.h"
482struct kset;
483#line 60
484struct kobj_type;
485#line 60 "include/linux/kobject.h"
486struct kobject {
487 char const *name ;
488 struct list_head entry ;
489 struct kobject *parent ;
490 struct kset *kset ;
491 struct kobj_type *ktype ;
492 struct sysfs_dirent *sd ;
493 struct kref kref ;
494 unsigned int state_initialized : 1 ;
495 unsigned int state_in_sysfs : 1 ;
496 unsigned int state_add_uevent_sent : 1 ;
497 unsigned int state_remove_uevent_sent : 1 ;
498 unsigned int uevent_suppress : 1 ;
499};
500#line 108 "include/linux/kobject.h"
501struct kobj_type {
502 void (*release)(struct kobject *kobj ) ;
503 struct sysfs_ops const *sysfs_ops ;
504 struct attribute **default_attrs ;
505 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
506 void const *(*namespace)(struct kobject *kobj ) ;
507};
508#line 116 "include/linux/kobject.h"
509struct kobj_uevent_env {
510 char *envp[32] ;
511 int envp_idx ;
512 char buf[2048] ;
513 int buflen ;
514};
515#line 123 "include/linux/kobject.h"
516struct kset_uevent_ops {
517 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
518 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
519 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
520};
521#line 140
522struct sock;
523#line 159 "include/linux/kobject.h"
524struct kset {
525 struct list_head list ;
526 spinlock_t list_lock ;
527 struct kobject kobj ;
528 struct kset_uevent_ops const *uevent_ops ;
529};
530#line 39 "include/linux/moduleparam.h"
531struct kernel_param;
532#line 39
533struct kernel_param;
534#line 41 "include/linux/moduleparam.h"
535struct kernel_param_ops {
536 int (*set)(char const *val , struct kernel_param const *kp ) ;
537 int (*get)(char *buffer , struct kernel_param const *kp ) ;
538 void (*free)(void *arg ) ;
539};
540#line 50
541struct kparam_string;
542#line 50
543struct kparam_array;
544#line 50 "include/linux/moduleparam.h"
545union __anonunion____missing_field_name_199 {
546 void *arg ;
547 struct kparam_string const *str ;
548 struct kparam_array const *arr ;
549};
550#line 50 "include/linux/moduleparam.h"
551struct kernel_param {
552 char const *name ;
553 struct kernel_param_ops const *ops ;
554 u16 perm ;
555 s16 level ;
556 union __anonunion____missing_field_name_199 __annonCompField32 ;
557};
558#line 63 "include/linux/moduleparam.h"
559struct kparam_string {
560 unsigned int maxlen ;
561 char *string ;
562};
563#line 69 "include/linux/moduleparam.h"
564struct kparam_array {
565 unsigned int max ;
566 unsigned int elemsize ;
567 unsigned int *num ;
568 struct kernel_param_ops const *ops ;
569 void *elem ;
570};
571#line 445
572struct module;
573#line 80 "include/linux/jump_label.h"
574struct module;
575#line 143 "include/linux/jump_label.h"
576struct static_key {
577 atomic_t enabled ;
578};
579#line 22 "include/linux/tracepoint.h"
580struct module;
581#line 23
582struct tracepoint;
583#line 23
584struct tracepoint;
585#line 25 "include/linux/tracepoint.h"
586struct tracepoint_func {
587 void *func ;
588 void *data ;
589};
590#line 30 "include/linux/tracepoint.h"
591struct tracepoint {
592 char const *name ;
593 struct static_key key ;
594 void (*regfunc)(void) ;
595 void (*unregfunc)(void) ;
596 struct tracepoint_func *funcs ;
597};
598#line 19 "include/linux/export.h"
599struct kernel_symbol {
600 unsigned long value ;
601 char const *name ;
602};
603#line 8 "include/asm-generic/module.h"
604struct mod_arch_specific {
605
606};
607#line 35 "include/linux/module.h"
608struct module;
609#line 37
610struct module_param_attrs;
611#line 37 "include/linux/module.h"
612struct module_kobject {
613 struct kobject kobj ;
614 struct module *mod ;
615 struct kobject *drivers_dir ;
616 struct module_param_attrs *mp ;
617};
618#line 44 "include/linux/module.h"
619struct module_attribute {
620 struct attribute attr ;
621 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
622 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
623 size_t count ) ;
624 void (*setup)(struct module * , char const * ) ;
625 int (*test)(struct module * ) ;
626 void (*free)(struct module * ) ;
627};
628#line 71
629struct exception_table_entry;
630#line 71
631struct exception_table_entry;
632#line 199
633enum module_state {
634 MODULE_STATE_LIVE = 0,
635 MODULE_STATE_COMING = 1,
636 MODULE_STATE_GOING = 2
637} ;
638#line 215 "include/linux/module.h"
639struct module_ref {
640 unsigned long incs ;
641 unsigned long decs ;
642} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
643#line 220
644struct module_sect_attrs;
645#line 220
646struct module_notes_attrs;
647#line 220
648struct ftrace_event_call;
649#line 220 "include/linux/module.h"
650struct module {
651 enum module_state state ;
652 struct list_head list ;
653 char name[64UL - sizeof(unsigned long )] ;
654 struct module_kobject mkobj ;
655 struct module_attribute *modinfo_attrs ;
656 char const *version ;
657 char const *srcversion ;
658 struct kobject *holders_dir ;
659 struct kernel_symbol const *syms ;
660 unsigned long const *crcs ;
661 unsigned int num_syms ;
662 struct kernel_param *kp ;
663 unsigned int num_kp ;
664 unsigned int num_gpl_syms ;
665 struct kernel_symbol const *gpl_syms ;
666 unsigned long const *gpl_crcs ;
667 struct kernel_symbol const *unused_syms ;
668 unsigned long const *unused_crcs ;
669 unsigned int num_unused_syms ;
670 unsigned int num_unused_gpl_syms ;
671 struct kernel_symbol const *unused_gpl_syms ;
672 unsigned long const *unused_gpl_crcs ;
673 struct kernel_symbol const *gpl_future_syms ;
674 unsigned long const *gpl_future_crcs ;
675 unsigned int num_gpl_future_syms ;
676 unsigned int num_exentries ;
677 struct exception_table_entry *extable ;
678 int (*init)(void) ;
679 void *module_init ;
680 void *module_core ;
681 unsigned int init_size ;
682 unsigned int core_size ;
683 unsigned int init_text_size ;
684 unsigned int core_text_size ;
685 unsigned int init_ro_size ;
686 unsigned int core_ro_size ;
687 struct mod_arch_specific arch ;
688 unsigned int taints ;
689 unsigned int num_bugs ;
690 struct list_head bug_list ;
691 struct bug_entry *bug_table ;
692 Elf64_Sym *symtab ;
693 Elf64_Sym *core_symtab ;
694 unsigned int num_symtab ;
695 unsigned int core_num_syms ;
696 char *strtab ;
697 char *core_strtab ;
698 struct module_sect_attrs *sect_attrs ;
699 struct module_notes_attrs *notes_attrs ;
700 char *args ;
701 void *percpu ;
702 unsigned int percpu_size ;
703 unsigned int num_tracepoints ;
704 struct tracepoint * const *tracepoints_ptrs ;
705 unsigned int num_trace_bprintk_fmt ;
706 char const **trace_bprintk_fmt_start ;
707 struct ftrace_event_call **trace_events ;
708 unsigned int num_trace_events ;
709 struct list_head source_list ;
710 struct list_head target_list ;
711 struct task_struct *waiter ;
712 void (*exit)(void) ;
713 struct module_ref *refptr ;
714 ctor_fn_t *ctors ;
715 unsigned int num_ctors ;
716};
717#line 19 "include/linux/klist.h"
718struct klist_node;
719#line 19
720struct klist_node;
721#line 39 "include/linux/klist.h"
722struct klist_node {
723 void *n_klist ;
724 struct list_head n_node ;
725 struct kref n_ref ;
726};
727#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
728struct dma_map_ops;
729#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
730struct dev_archdata {
731 void *acpi_handle ;
732 struct dma_map_ops *dma_ops ;
733 void *iommu ;
734};
735#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
736struct pdev_archdata {
737
738};
739#line 28 "include/linux/device.h"
740struct device;
741#line 29
742struct device_private;
743#line 29
744struct device_private;
745#line 30
746struct device_driver;
747#line 30
748struct device_driver;
749#line 31
750struct driver_private;
751#line 31
752struct driver_private;
753#line 32
754struct module;
755#line 33
756struct class;
757#line 33
758struct class;
759#line 34
760struct subsys_private;
761#line 34
762struct subsys_private;
763#line 35
764struct bus_type;
765#line 35
766struct bus_type;
767#line 36
768struct device_node;
769#line 36
770struct device_node;
771#line 37
772struct iommu_ops;
773#line 37
774struct iommu_ops;
775#line 39 "include/linux/device.h"
776struct bus_attribute {
777 struct attribute attr ;
778 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
779 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
780};
781#line 89
782struct device_attribute;
783#line 89
784struct driver_attribute;
785#line 89 "include/linux/device.h"
786struct bus_type {
787 char const *name ;
788 char const *dev_name ;
789 struct device *dev_root ;
790 struct bus_attribute *bus_attrs ;
791 struct device_attribute *dev_attrs ;
792 struct driver_attribute *drv_attrs ;
793 int (*match)(struct device *dev , struct device_driver *drv ) ;
794 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
795 int (*probe)(struct device *dev ) ;
796 int (*remove)(struct device *dev ) ;
797 void (*shutdown)(struct device *dev ) ;
798 int (*suspend)(struct device *dev , pm_message_t state ) ;
799 int (*resume)(struct device *dev ) ;
800 struct dev_pm_ops const *pm ;
801 struct iommu_ops *iommu_ops ;
802 struct subsys_private *p ;
803};
804#line 127
805struct device_type;
806#line 214
807struct of_device_id;
808#line 214 "include/linux/device.h"
809struct device_driver {
810 char const *name ;
811 struct bus_type *bus ;
812 struct module *owner ;
813 char const *mod_name ;
814 bool suppress_bind_attrs ;
815 struct of_device_id const *of_match_table ;
816 int (*probe)(struct device *dev ) ;
817 int (*remove)(struct device *dev ) ;
818 void (*shutdown)(struct device *dev ) ;
819 int (*suspend)(struct device *dev , pm_message_t state ) ;
820 int (*resume)(struct device *dev ) ;
821 struct attribute_group const **groups ;
822 struct dev_pm_ops const *pm ;
823 struct driver_private *p ;
824};
825#line 249 "include/linux/device.h"
826struct driver_attribute {
827 struct attribute attr ;
828 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
829 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
830};
831#line 330
832struct class_attribute;
833#line 330 "include/linux/device.h"
834struct class {
835 char const *name ;
836 struct module *owner ;
837 struct class_attribute *class_attrs ;
838 struct device_attribute *dev_attrs ;
839 struct bin_attribute *dev_bin_attrs ;
840 struct kobject *dev_kobj ;
841 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
842 char *(*devnode)(struct device *dev , umode_t *mode ) ;
843 void (*class_release)(struct class *class ) ;
844 void (*dev_release)(struct device *dev ) ;
845 int (*suspend)(struct device *dev , pm_message_t state ) ;
846 int (*resume)(struct device *dev ) ;
847 struct kobj_ns_type_operations const *ns_type ;
848 void const *(*namespace)(struct device *dev ) ;
849 struct dev_pm_ops const *pm ;
850 struct subsys_private *p ;
851};
852#line 397 "include/linux/device.h"
853struct class_attribute {
854 struct attribute attr ;
855 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
856 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
857 size_t count ) ;
858 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
859};
860#line 465 "include/linux/device.h"
861struct device_type {
862 char const *name ;
863 struct attribute_group const **groups ;
864 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
865 char *(*devnode)(struct device *dev , umode_t *mode ) ;
866 void (*release)(struct device *dev ) ;
867 struct dev_pm_ops const *pm ;
868};
869#line 476 "include/linux/device.h"
870struct device_attribute {
871 struct attribute attr ;
872 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
873 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
874 size_t count ) ;
875};
876#line 559 "include/linux/device.h"
877struct device_dma_parameters {
878 unsigned int max_segment_size ;
879 unsigned long segment_boundary_mask ;
880};
881#line 627
882struct dma_coherent_mem;
883#line 627 "include/linux/device.h"
884struct device {
885 struct device *parent ;
886 struct device_private *p ;
887 struct kobject kobj ;
888 char const *init_name ;
889 struct device_type const *type ;
890 struct mutex mutex ;
891 struct bus_type *bus ;
892 struct device_driver *driver ;
893 void *platform_data ;
894 struct dev_pm_info power ;
895 struct dev_pm_domain *pm_domain ;
896 int numa_node ;
897 u64 *dma_mask ;
898 u64 coherent_dma_mask ;
899 struct device_dma_parameters *dma_parms ;
900 struct list_head dma_pools ;
901 struct dma_coherent_mem *dma_mem ;
902 struct dev_archdata archdata ;
903 struct device_node *of_node ;
904 dev_t devt ;
905 u32 id ;
906 spinlock_t devres_lock ;
907 struct list_head devres_head ;
908 struct klist_node knode_class ;
909 struct class *class ;
910 struct attribute_group const **groups ;
911 void (*release)(struct device *dev ) ;
912};
913#line 43 "include/linux/pm_wakeup.h"
914struct wakeup_source {
915 char const *name ;
916 struct list_head entry ;
917 spinlock_t lock ;
918 struct timer_list timer ;
919 unsigned long timer_expires ;
920 ktime_t total_time ;
921 ktime_t max_time ;
922 ktime_t last_time ;
923 unsigned long event_count ;
924 unsigned long active_count ;
925 unsigned long relax_count ;
926 unsigned long hit_count ;
927 unsigned int active : 1 ;
928};
929#line 12 "include/linux/mod_devicetable.h"
930typedef unsigned long kernel_ulong_t;
931#line 219 "include/linux/mod_devicetable.h"
932struct of_device_id {
933 char name[32] ;
934 char type[32] ;
935 char compatible[128] ;
936 void *data ;
937};
938#line 506 "include/linux/mod_devicetable.h"
939struct platform_device_id {
940 char name[20] ;
941 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
942};
943#line 17 "include/linux/platform_device.h"
944struct mfd_cell;
945#line 17
946struct mfd_cell;
947#line 19 "include/linux/platform_device.h"
948struct platform_device {
949 char const *name ;
950 int id ;
951 struct device dev ;
952 u32 num_resources ;
953 struct resource *resource ;
954 struct platform_device_id const *id_entry ;
955 struct mfd_cell *mfd_cell ;
956 struct pdev_archdata archdata ;
957};
958#line 164 "include/linux/platform_device.h"
959struct platform_driver {
960 int (*probe)(struct platform_device * ) ;
961 int (*remove)(struct platform_device * ) ;
962 void (*shutdown)(struct platform_device * ) ;
963 int (*suspend)(struct platform_device * , pm_message_t state ) ;
964 int (*resume)(struct platform_device * ) ;
965 struct device_driver driver ;
966 struct platform_device_id const *id_table ;
967};
968#line 20 "include/linux/leds.h"
969struct device;
970#line 25
971enum led_brightness {
972 LED_OFF = 0,
973 LED_HALF = 127,
974 LED_FULL = 255
975} ;
976#line 31
977struct led_trigger;
978#line 31 "include/linux/leds.h"
979struct led_classdev {
980 char const *name ;
981 int brightness ;
982 int max_brightness ;
983 int flags ;
984 void (*brightness_set)(struct led_classdev *led_cdev , enum led_brightness brightness ) ;
985 enum led_brightness (*brightness_get)(struct led_classdev *led_cdev ) ;
986 int (*blink_set)(struct led_classdev *led_cdev , unsigned long *delay_on , unsigned long *delay_off ) ;
987 struct device *dev ;
988 struct list_head node ;
989 char const *default_trigger ;
990 unsigned long blink_delay_on ;
991 unsigned long blink_delay_off ;
992 struct timer_list blink_timer ;
993 int blink_brightness ;
994 struct rw_semaphore trigger_lock ;
995 struct led_trigger *trigger ;
996 struct list_head trig_list ;
997 void *trigger_data ;
998};
999#line 122 "include/linux/leds.h"
1000struct led_trigger {
1001 char const *name ;
1002 void (*activate)(struct led_classdev *led_cdev ) ;
1003 void (*deactivate)(struct led_classdev *led_cdev ) ;
1004 rwlock_t leddev_list_lock ;
1005 struct list_head led_cdevs ;
1006 struct list_head next_trig ;
1007};
1008#line 19 "include/linux/power_supply.h"
1009struct device;
1010#line 84
1011enum power_supply_property {
1012 POWER_SUPPLY_PROP_STATUS = 0,
1013 POWER_SUPPLY_PROP_CHARGE_TYPE = 1,
1014 POWER_SUPPLY_PROP_HEALTH = 2,
1015 POWER_SUPPLY_PROP_PRESENT = 3,
1016 POWER_SUPPLY_PROP_ONLINE = 4,
1017 POWER_SUPPLY_PROP_TECHNOLOGY = 5,
1018 POWER_SUPPLY_PROP_CYCLE_COUNT = 6,
1019 POWER_SUPPLY_PROP_VOLTAGE_MAX = 7,
1020 POWER_SUPPLY_PROP_VOLTAGE_MIN = 8,
1021 POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN = 9,
1022 POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN = 10,
1023 POWER_SUPPLY_PROP_VOLTAGE_NOW = 11,
1024 POWER_SUPPLY_PROP_VOLTAGE_AVG = 12,
1025 POWER_SUPPLY_PROP_CURRENT_MAX = 13,
1026 POWER_SUPPLY_PROP_CURRENT_NOW = 14,
1027 POWER_SUPPLY_PROP_CURRENT_AVG = 15,
1028 POWER_SUPPLY_PROP_POWER_NOW = 16,
1029 POWER_SUPPLY_PROP_POWER_AVG = 17,
1030 POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN = 18,
1031 POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN = 19,
1032 POWER_SUPPLY_PROP_CHARGE_FULL = 20,
1033 POWER_SUPPLY_PROP_CHARGE_EMPTY = 21,
1034 POWER_SUPPLY_PROP_CHARGE_NOW = 22,
1035 POWER_SUPPLY_PROP_CHARGE_AVG = 23,
1036 POWER_SUPPLY_PROP_CHARGE_COUNTER = 24,
1037 POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN = 25,
1038 POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN = 26,
1039 POWER_SUPPLY_PROP_ENERGY_FULL = 27,
1040 POWER_SUPPLY_PROP_ENERGY_EMPTY = 28,
1041 POWER_SUPPLY_PROP_ENERGY_NOW = 29,
1042 POWER_SUPPLY_PROP_ENERGY_AVG = 30,
1043 POWER_SUPPLY_PROP_CAPACITY = 31,
1044 POWER_SUPPLY_PROP_CAPACITY_LEVEL = 32,
1045 POWER_SUPPLY_PROP_TEMP = 33,
1046 POWER_SUPPLY_PROP_TEMP_AMBIENT = 34,
1047 POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW = 35,
1048 POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG = 36,
1049 POWER_SUPPLY_PROP_TIME_TO_FULL_NOW = 37,
1050 POWER_SUPPLY_PROP_TIME_TO_FULL_AVG = 38,
1051 POWER_SUPPLY_PROP_TYPE = 39,
1052 POWER_SUPPLY_PROP_SCOPE = 40,
1053 POWER_SUPPLY_PROP_MODEL_NAME = 41,
1054 POWER_SUPPLY_PROP_MANUFACTURER = 42,
1055 POWER_SUPPLY_PROP_SERIAL_NUMBER = 43
1056} ;
1057#line 133
1058enum power_supply_type {
1059 POWER_SUPPLY_TYPE_UNKNOWN = 0,
1060 POWER_SUPPLY_TYPE_BATTERY = 1,
1061 POWER_SUPPLY_TYPE_UPS = 2,
1062 POWER_SUPPLY_TYPE_MAINS = 3,
1063 POWER_SUPPLY_TYPE_USB = 4,
1064 POWER_SUPPLY_TYPE_USB_DCP = 5,
1065 POWER_SUPPLY_TYPE_USB_CDP = 6,
1066 POWER_SUPPLY_TYPE_USB_ACA = 7
1067} ;
1068#line 144 "include/linux/power_supply.h"
1069union power_supply_propval {
1070 int intval ;
1071 char const *strval ;
1072};
1073#line 149 "include/linux/power_supply.h"
1074struct power_supply {
1075 char const *name ;
1076 enum power_supply_type type ;
1077 enum power_supply_property *properties ;
1078 size_t num_properties ;
1079 char **supplied_to ;
1080 size_t num_supplicants ;
1081 int (*get_property)(struct power_supply *psy , enum power_supply_property psp ,
1082 union power_supply_propval *val ) ;
1083 int (*set_property)(struct power_supply *psy , enum power_supply_property psp ,
1084 union power_supply_propval const *val ) ;
1085 int (*property_is_writeable)(struct power_supply *psy , enum power_supply_property psp ) ;
1086 void (*external_power_changed)(struct power_supply *psy ) ;
1087 void (*set_charged)(struct power_supply *psy ) ;
1088 int use_for_apm ;
1089 struct device *dev ;
1090 struct work_struct changed_work ;
1091 struct led_trigger *charging_full_trig ;
1092 char *charging_full_trig_name ;
1093 struct led_trigger *charging_trig ;
1094 char *charging_trig_name ;
1095 struct led_trigger *full_trig ;
1096 char *full_trig_name ;
1097 struct led_trigger *online_trig ;
1098 char *online_trig_name ;
1099 struct led_trigger *charging_blink_full_solid_trig ;
1100 char *charging_blink_full_solid_trig_name ;
1101};
1102#line 46 "include/linux/slub_def.h"
1103struct kmem_cache_cpu {
1104 void **freelist ;
1105 unsigned long tid ;
1106 struct page *page ;
1107 struct page *partial ;
1108 int node ;
1109 unsigned int stat[26] ;
1110};
1111#line 57 "include/linux/slub_def.h"
1112struct kmem_cache_node {
1113 spinlock_t list_lock ;
1114 unsigned long nr_partial ;
1115 struct list_head partial ;
1116 atomic_long_t nr_slabs ;
1117 atomic_long_t total_objects ;
1118 struct list_head full ;
1119};
1120#line 73 "include/linux/slub_def.h"
1121struct kmem_cache_order_objects {
1122 unsigned long x ;
1123};
1124#line 80 "include/linux/slub_def.h"
1125struct kmem_cache {
1126 struct kmem_cache_cpu *cpu_slab ;
1127 unsigned long flags ;
1128 unsigned long min_partial ;
1129 int size ;
1130 int objsize ;
1131 int offset ;
1132 int cpu_partial ;
1133 struct kmem_cache_order_objects oo ;
1134 struct kmem_cache_order_objects max ;
1135 struct kmem_cache_order_objects min ;
1136 gfp_t allocflags ;
1137 int refcount ;
1138 void (*ctor)(void * ) ;
1139 int inuse ;
1140 int align ;
1141 int reserved ;
1142 char const *name ;
1143 struct list_head list ;
1144 struct kobject kobj ;
1145 int remote_node_defrag_ratio ;
1146 struct kmem_cache_node *node[1 << 10] ;
1147};
1148#line 32 "include/linux/irq.h"
1149struct module;
1150#line 14 "include/linux/irqdesc.h"
1151struct module;
1152#line 65 "include/linux/profile.h"
1153struct task_struct;
1154#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1155struct exception_table_entry {
1156 unsigned long insn ;
1157 unsigned long fixup ;
1158};
1159#line 132 "include/linux/hardirq.h"
1160struct task_struct;
1161#line 187 "include/linux/interrupt.h"
1162struct device;
1163#line 18 "include/linux/regmap.h"
1164struct module;
1165#line 19
1166struct device;
1167#line 22
1168struct regmap;
1169#line 22
1170struct regmap;
1171#line 355 "include/linux/mfd/wm831x/core.h"
1172struct wm831x;
1173#line 355
1174struct wm831x;
1175#line 356
1176enum wm831x_auxadc;
1177#line 356
1178enum wm831x_auxadc;
1179#line 361 "include/linux/mfd/wm831x/core.h"
1180struct wm831x {
1181 struct mutex io_lock ;
1182 struct device *dev ;
1183 struct regmap *regmap ;
1184 int irq ;
1185 struct mutex irq_lock ;
1186 int irq_base ;
1187 int irq_masks_cur[5] ;
1188 int irq_masks_cache[5] ;
1189 bool soft_shutdown ;
1190 unsigned int has_gpio_ena : 1 ;
1191 unsigned int has_cs_sts : 1 ;
1192 unsigned int charger_irq_wake : 1 ;
1193 int num_gpio ;
1194 int gpio_update[16] ;
1195 bool gpio_level[16] ;
1196 struct mutex auxadc_lock ;
1197 struct list_head auxadc_pending ;
1198 u16 auxadc_active ;
1199 int (*auxadc_read)(struct wm831x *wm831x , enum wm831x_auxadc input ) ;
1200 struct mutex key_lock ;
1201 unsigned int locked : 1 ;
1202};
1203#line 198 "include/linux/mfd/wm831x/auxadc.h"
1204enum wm831x_auxadc {
1205 WM831X_AUX_CAL = 15,
1206 WM831X_AUX_BKUP_BATT = 10,
1207 WM831X_AUX_WALL = 9,
1208 WM831X_AUX_BATT = 8,
1209 WM831X_AUX_USB = 7,
1210 WM831X_AUX_SYSVDD = 6,
1211 WM831X_AUX_BATT_TEMP = 5,
1212 WM831X_AUX_CHIP_TEMP = 4,
1213 WM831X_AUX_AUX4 = 3,
1214 WM831X_AUX_AUX3 = 2,
1215 WM831X_AUX_AUX2 = 1,
1216 WM831X_AUX_AUX1 = 0
1217} ;
1218#line 18 "include/linux/mfd/wm831x/pdata.h"
1219struct wm831x;
1220#line 19
1221struct regulator_init_data;
1222#line 19
1223struct regulator_init_data;
1224#line 21 "include/linux/mfd/wm831x/pdata.h"
1225struct wm831x_backlight_pdata {
1226 int isink ;
1227 int max_uA ;
1228};
1229#line 26 "include/linux/mfd/wm831x/pdata.h"
1230struct wm831x_backup_pdata {
1231 int charger_enable ;
1232 int no_constant_voltage ;
1233 int vlim ;
1234 int ilim ;
1235};
1236#line 33 "include/linux/mfd/wm831x/pdata.h"
1237struct wm831x_battery_pdata {
1238 int enable ;
1239 int fast_enable ;
1240 int off_mask ;
1241 int trickle_ilim ;
1242 int vsel ;
1243 int eoc_iterm ;
1244 int fast_ilim ;
1245 int timeout ;
1246};
1247#line 64
1248enum wm831x_status_src {
1249 WM831X_STATUS_PRESERVE = 0,
1250 WM831X_STATUS_OTP = 1,
1251 WM831X_STATUS_POWER = 2,
1252 WM831X_STATUS_CHARGER = 3,
1253 WM831X_STATUS_MANUAL = 4
1254} ;
1255#line 72 "include/linux/mfd/wm831x/pdata.h"
1256struct wm831x_status_pdata {
1257 enum wm831x_status_src default_src ;
1258 char const *name ;
1259 char const *default_trigger ;
1260};
1261#line 78 "include/linux/mfd/wm831x/pdata.h"
1262struct wm831x_touch_pdata {
1263 int fivewire ;
1264 int isel ;
1265 int rpu ;
1266 int pressure ;
1267 unsigned int data_irq ;
1268 int data_irqf ;
1269 unsigned int pd_irq ;
1270 int pd_irqf ;
1271};
1272#line 89
1273enum wm831x_watchdog_action {
1274 WM831X_WDOG_NONE = 0,
1275 WM831X_WDOG_INTERRUPT = 1,
1276 WM831X_WDOG_RESET = 2,
1277 WM831X_WDOG_WAKE = 3
1278} ;
1279#line 96 "include/linux/mfd/wm831x/pdata.h"
1280struct wm831x_watchdog_pdata {
1281 enum wm831x_watchdog_action primary ;
1282 enum wm831x_watchdog_action secondary ;
1283 int update_gpio ;
1284 unsigned int software : 1 ;
1285};
1286#line 111 "include/linux/mfd/wm831x/pdata.h"
1287struct wm831x_pdata {
1288 int wm831x_num ;
1289 int (*pre_init)(struct wm831x *wm831x ) ;
1290 int (*post_init)(struct wm831x *wm831x ) ;
1291 bool irq_cmos ;
1292 bool disable_touch ;
1293 bool soft_shutdown ;
1294 int irq_base ;
1295 int gpio_base ;
1296 int gpio_defaults[16] ;
1297 struct wm831x_backlight_pdata *backlight ;
1298 struct wm831x_backup_pdata *backup ;
1299 struct wm831x_battery_pdata *battery ;
1300 struct wm831x_touch_pdata *touch ;
1301 struct wm831x_watchdog_pdata *watchdog ;
1302 struct wm831x_status_pdata *status[2] ;
1303 struct regulator_init_data *dcdc[4] ;
1304 struct regulator_init_data *epe[2] ;
1305 struct regulator_init_data *ldo[11] ;
1306 struct regulator_init_data *isink[2] ;
1307};
1308#line 23 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
1309struct wm831x_backup {
1310 struct wm831x *wm831x ;
1311 struct power_supply backup ;
1312 char name[20] ;
1313};
1314#line 198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
1315struct __anonstruct_216 {
1316 int : 0 ;
1317};
1318#line 1 "<compiler builtins>"
1319long __builtin_expect(long val , long res ) ;
1320#line 322 "include/linux/kernel.h"
1321extern int ( snprintf)(char *buf , size_t size , char const *fmt
1322 , ...) ;
1323#line 152 "include/linux/mutex.h"
1324void mutex_lock(struct mutex *lock ) ;
1325#line 153
1326int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
1327#line 154
1328int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
1329#line 168
1330int mutex_trylock(struct mutex *lock ) ;
1331#line 169
1332void mutex_unlock(struct mutex *lock ) ;
1333#line 170
1334int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1335#line 67 "include/linux/module.h"
1336int init_module(void) ;
1337#line 68
1338void cleanup_module(void) ;
1339#line 792 "include/linux/device.h"
1340extern void *dev_get_drvdata(struct device const *dev ) ;
1341#line 793
1342extern int dev_set_drvdata(struct device *dev , void *data ) ;
1343#line 891
1344extern int ( dev_err)(struct device const *dev , char const *fmt
1345 , ...) ;
1346#line 893
1347extern int ( dev_warn)(struct device const *dev , char const *fmt
1348 , ...) ;
1349#line 174 "include/linux/platform_device.h"
1350extern int platform_driver_register(struct platform_driver * ) ;
1351#line 175
1352extern void platform_driver_unregister(struct platform_driver * ) ;
1353#line 183
1354__inline static void *platform_get_drvdata(struct platform_device const *pdev ) __attribute__((__no_instrument_function__)) ;
1355#line 183 "include/linux/platform_device.h"
1356__inline static void *platform_get_drvdata(struct platform_device const *pdev )
1357{ void *tmp ;
1358 unsigned long __cil_tmp3 ;
1359 unsigned long __cil_tmp4 ;
1360 struct device const *__cil_tmp5 ;
1361
1362 {
1363 {
1364#line 185
1365 __cil_tmp3 = (unsigned long )pdev;
1366#line 185
1367 __cil_tmp4 = __cil_tmp3 + 16;
1368#line 185
1369 __cil_tmp5 = (struct device const *)__cil_tmp4;
1370#line 185
1371 tmp = dev_get_drvdata(__cil_tmp5);
1372 }
1373#line 185
1374 return (tmp);
1375}
1376}
1377#line 188
1378__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) __attribute__((__no_instrument_function__)) ;
1379#line 188 "include/linux/platform_device.h"
1380__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
1381{ unsigned long __cil_tmp3 ;
1382 unsigned long __cil_tmp4 ;
1383 struct device *__cil_tmp5 ;
1384
1385 {
1386 {
1387#line 190
1388 __cil_tmp3 = (unsigned long )pdev;
1389#line 190
1390 __cil_tmp4 = __cil_tmp3 + 16;
1391#line 190
1392 __cil_tmp5 = (struct device *)__cil_tmp4;
1393#line 190
1394 dev_set_drvdata(__cil_tmp5, data);
1395 }
1396#line 191
1397 return;
1398}
1399}
1400#line 220 "include/linux/power_supply.h"
1401extern int power_supply_register(struct device *parent , struct power_supply *psy ) ;
1402#line 222
1403extern void power_supply_unregister(struct power_supply *psy ) ;
1404#line 161 "include/linux/slab.h"
1405extern void kfree(void const * ) ;
1406#line 221 "include/linux/slub_def.h"
1407extern void *__kmalloc(size_t size , gfp_t flags ) ;
1408#line 268
1409__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1410 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
1411#line 268 "include/linux/slub_def.h"
1412__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1413 gfp_t flags )
1414{ void *tmp___2 ;
1415
1416 {
1417 {
1418#line 283
1419 tmp___2 = __kmalloc(size, flags);
1420 }
1421#line 283
1422 return (tmp___2);
1423}
1424}
1425#line 349 "include/linux/slab.h"
1426__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
1427#line 349 "include/linux/slab.h"
1428__inline static void *kzalloc(size_t size , gfp_t flags )
1429{ void *tmp ;
1430 unsigned int __cil_tmp4 ;
1431
1432 {
1433 {
1434#line 351
1435 __cil_tmp4 = flags | 32768U;
1436#line 351
1437 tmp = kmalloc(size, __cil_tmp4);
1438 }
1439#line 351
1440 return (tmp);
1441}
1442}
1443#line 402 "include/linux/mfd/wm831x/core.h"
1444extern int wm831x_reg_read(struct wm831x *wm831x , unsigned short reg ) ;
1445#line 405
1446extern void wm831x_reg_lock(struct wm831x *wm831x ) ;
1447#line 406
1448extern int wm831x_reg_unlock(struct wm831x *wm831x ) ;
1449#line 407
1450extern int wm831x_set_bits(struct wm831x *wm831x , unsigned short reg , unsigned short mask ,
1451 unsigned short val ) ;
1452#line 214 "include/linux/mfd/wm831x/auxadc.h"
1453extern int wm831x_auxadc_read_uv(struct wm831x *wm831x , enum wm831x_auxadc input ) ;
1454#line 29 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
1455static int wm831x_backup_read_voltage(struct wm831x *wm831x , enum wm831x_auxadc src ,
1456 union power_supply_propval *val )
1457{ int ret ;
1458
1459 {
1460 {
1461#line 35
1462 ret = wm831x_auxadc_read_uv(wm831x, src);
1463 }
1464#line 36
1465 if (ret >= 0) {
1466#line 37
1467 *((int *)val) = ret;
1468 } else {
1469
1470 }
1471#line 39
1472 return (ret);
1473}
1474}
1475#line 46 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
1476static void wm831x_config_backup(struct wm831x *wm831x )
1477{ struct wm831x_pdata *wm831x_pdata ;
1478 struct wm831x_backup_pdata *pdata ;
1479 int ret ;
1480 int reg ;
1481 unsigned long __cil_tmp6 ;
1482 unsigned long __cil_tmp7 ;
1483 struct device *__cil_tmp8 ;
1484 unsigned long __cil_tmp9 ;
1485 unsigned long __cil_tmp10 ;
1486 void *__cil_tmp11 ;
1487 unsigned long __cil_tmp12 ;
1488 unsigned long __cil_tmp13 ;
1489 struct device *__cil_tmp14 ;
1490 struct device const *__cil_tmp15 ;
1491 unsigned long __cil_tmp16 ;
1492 unsigned long __cil_tmp17 ;
1493 struct wm831x_backup_pdata *__cil_tmp18 ;
1494 unsigned long __cil_tmp19 ;
1495 unsigned long __cil_tmp20 ;
1496 struct device *__cil_tmp21 ;
1497 struct device const *__cil_tmp22 ;
1498 unsigned long __cil_tmp23 ;
1499 unsigned long __cil_tmp24 ;
1500 unsigned long __cil_tmp25 ;
1501 unsigned long __cil_tmp26 ;
1502 unsigned long __cil_tmp27 ;
1503 unsigned long __cil_tmp28 ;
1504 unsigned long __cil_tmp29 ;
1505 unsigned long __cil_tmp30 ;
1506 struct device *__cil_tmp31 ;
1507 struct device const *__cil_tmp32 ;
1508 unsigned long __cil_tmp33 ;
1509 unsigned long __cil_tmp34 ;
1510 int __cil_tmp35 ;
1511 unsigned long __cil_tmp36 ;
1512 unsigned long __cil_tmp37 ;
1513 unsigned long __cil_tmp38 ;
1514 unsigned long __cil_tmp39 ;
1515 struct device *__cil_tmp40 ;
1516 struct device const *__cil_tmp41 ;
1517 unsigned long __cil_tmp42 ;
1518 unsigned long __cil_tmp43 ;
1519 int __cil_tmp44 ;
1520 unsigned long __cil_tmp45 ;
1521 unsigned long __cil_tmp46 ;
1522 struct device *__cil_tmp47 ;
1523 struct device const *__cil_tmp48 ;
1524 unsigned short __cil_tmp49 ;
1525 unsigned long __cil_tmp50 ;
1526 unsigned long __cil_tmp51 ;
1527 struct device *__cil_tmp52 ;
1528 struct device const *__cil_tmp53 ;
1529
1530 {
1531#line 48
1532 __cil_tmp6 = (unsigned long )wm831x;
1533#line 48
1534 __cil_tmp7 = __cil_tmp6 + 72;
1535#line 48
1536 __cil_tmp8 = *((struct device **)__cil_tmp7);
1537#line 48
1538 __cil_tmp9 = (unsigned long )__cil_tmp8;
1539#line 48
1540 __cil_tmp10 = __cil_tmp9 + 184;
1541#line 48
1542 __cil_tmp11 = *((void **)__cil_tmp10);
1543#line 48
1544 wm831x_pdata = (struct wm831x_pdata *)__cil_tmp11;
1545#line 52
1546 if (! wm831x_pdata) {
1547 {
1548#line 53
1549 __cil_tmp12 = (unsigned long )wm831x;
1550#line 53
1551 __cil_tmp13 = __cil_tmp12 + 72;
1552#line 53
1553 __cil_tmp14 = *((struct device **)__cil_tmp13);
1554#line 53
1555 __cil_tmp15 = (struct device const *)__cil_tmp14;
1556#line 53
1557 dev_warn(__cil_tmp15, "No backup battery charger configuration\n");
1558 }
1559#line 55
1560 return;
1561 } else {
1562 {
1563#line 52
1564 __cil_tmp16 = (unsigned long )wm831x_pdata;
1565#line 52
1566 __cil_tmp17 = __cil_tmp16 + 112;
1567#line 52
1568 __cil_tmp18 = *((struct wm831x_backup_pdata **)__cil_tmp17);
1569#line 52
1570 if (! __cil_tmp18) {
1571 {
1572#line 53
1573 __cil_tmp19 = (unsigned long )wm831x;
1574#line 53
1575 __cil_tmp20 = __cil_tmp19 + 72;
1576#line 53
1577 __cil_tmp21 = *((struct device **)__cil_tmp20);
1578#line 53
1579 __cil_tmp22 = (struct device const *)__cil_tmp21;
1580#line 53
1581 dev_warn(__cil_tmp22, "No backup battery charger configuration\n");
1582 }
1583#line 55
1584 return;
1585 } else {
1586
1587 }
1588 }
1589 }
1590#line 58
1591 __cil_tmp23 = (unsigned long )wm831x_pdata;
1592#line 58
1593 __cil_tmp24 = __cil_tmp23 + 112;
1594#line 58
1595 pdata = *((struct wm831x_backup_pdata **)__cil_tmp24);
1596#line 60
1597 reg = 0;
1598#line 62
1599 if (*((int *)pdata)) {
1600#line 63
1601 reg = reg | 34816;
1602 } else {
1603
1604 }
1605 {
1606#line 64
1607 __cil_tmp25 = (unsigned long )pdata;
1608#line 64
1609 __cil_tmp26 = __cil_tmp25 + 4;
1610#line 64
1611 if (*((int *)__cil_tmp26)) {
1612#line 65
1613 reg = reg | 4096;
1614 } else {
1615
1616 }
1617 }
1618 {
1619#line 67
1620 __cil_tmp27 = (unsigned long )pdata;
1621#line 67
1622 __cil_tmp28 = __cil_tmp27 + 8;
1623#line 68
1624 if (*((int *)__cil_tmp28) == 2500) {
1625#line 68
1626 goto case_2500;
1627 } else
1628#line 70
1629 if (*((int *)__cil_tmp28) == 3100) {
1630#line 70
1631 goto case_3100;
1632 } else {
1633 {
1634#line 73
1635 goto switch_default;
1636#line 67
1637 if (0) {
1638 case_2500:
1639#line 69
1640 goto switch_break;
1641 case_3100:
1642#line 71
1643 reg = reg | 16;
1644#line 72
1645 goto switch_break;
1646 switch_default:
1647 {
1648#line 74
1649 __cil_tmp29 = (unsigned long )wm831x;
1650#line 74
1651 __cil_tmp30 = __cil_tmp29 + 72;
1652#line 74
1653 __cil_tmp31 = *((struct device **)__cil_tmp30);
1654#line 74
1655 __cil_tmp32 = (struct device const *)__cil_tmp31;
1656#line 74
1657 __cil_tmp33 = (unsigned long )pdata;
1658#line 74
1659 __cil_tmp34 = __cil_tmp33 + 8;
1660#line 74
1661 __cil_tmp35 = *((int *)__cil_tmp34);
1662#line 74
1663 dev_err(__cil_tmp32, "Invalid backup voltage limit %dmV\n", __cil_tmp35);
1664 }
1665 } else {
1666 switch_break: ;
1667 }
1668 }
1669 }
1670 }
1671 {
1672#line 78
1673 __cil_tmp36 = (unsigned long )pdata;
1674#line 78
1675 __cil_tmp37 = __cil_tmp36 + 12;
1676#line 79
1677 if (*((int *)__cil_tmp37) == 100) {
1678#line 79
1679 goto case_100;
1680 } else
1681#line 81
1682 if (*((int *)__cil_tmp37) == 200) {
1683#line 81
1684 goto case_200;
1685 } else
1686#line 84
1687 if (*((int *)__cil_tmp37) == 300) {
1688#line 84
1689 goto case_300;
1690 } else
1691#line 87
1692 if (*((int *)__cil_tmp37) == 400) {
1693#line 87
1694 goto case_400;
1695 } else {
1696 {
1697#line 90
1698 goto switch_default___0;
1699#line 78
1700 if (0) {
1701 case_100:
1702#line 80
1703 goto switch_break___0;
1704 case_200:
1705#line 82
1706 reg = reg | 1;
1707#line 83
1708 goto switch_break___0;
1709 case_300:
1710#line 85
1711 reg = reg | 2;
1712#line 86
1713 goto switch_break___0;
1714 case_400:
1715#line 88
1716 reg = reg | 3;
1717#line 89
1718 goto switch_break___0;
1719 switch_default___0:
1720 {
1721#line 91
1722 __cil_tmp38 = (unsigned long )wm831x;
1723#line 91
1724 __cil_tmp39 = __cil_tmp38 + 72;
1725#line 91
1726 __cil_tmp40 = *((struct device **)__cil_tmp39);
1727#line 91
1728 __cil_tmp41 = (struct device const *)__cil_tmp40;
1729#line 91
1730 __cil_tmp42 = (unsigned long )pdata;
1731#line 91
1732 __cil_tmp43 = __cil_tmp42 + 12;
1733#line 91
1734 __cil_tmp44 = *((int *)__cil_tmp43);
1735#line 91
1736 dev_err(__cil_tmp41, "Invalid backup current limit %duA\n", __cil_tmp44);
1737 }
1738 } else {
1739 switch_break___0: ;
1740 }
1741 }
1742 }
1743 }
1744 {
1745#line 95
1746 ret = wm831x_reg_unlock(wm831x);
1747 }
1748#line 96
1749 if (ret != 0) {
1750 {
1751#line 97
1752 __cil_tmp45 = (unsigned long )wm831x;
1753#line 97
1754 __cil_tmp46 = __cil_tmp45 + 72;
1755#line 97
1756 __cil_tmp47 = *((struct device **)__cil_tmp46);
1757#line 97
1758 __cil_tmp48 = (struct device const *)__cil_tmp47;
1759#line 97
1760 dev_err(__cil_tmp48, "Failed to unlock registers: %d\n", ret);
1761 }
1762#line 98
1763 return;
1764 } else {
1765
1766 }
1767 {
1768#line 101
1769 __cil_tmp49 = (unsigned short )reg;
1770#line 101
1771 ret = wm831x_set_bits(wm831x, (unsigned short)16459, (unsigned short)38931, __cil_tmp49);
1772 }
1773#line 108
1774 if (ret != 0) {
1775 {
1776#line 109
1777 __cil_tmp50 = (unsigned long )wm831x;
1778#line 109
1779 __cil_tmp51 = __cil_tmp50 + 72;
1780#line 109
1781 __cil_tmp52 = *((struct device **)__cil_tmp51);
1782#line 109
1783 __cil_tmp53 = (struct device const *)__cil_tmp52;
1784#line 109
1785 dev_err(__cil_tmp53, "Failed to set backup charger config: %d\n", ret);
1786 }
1787 } else {
1788
1789 }
1790 {
1791#line 112
1792 wm831x_reg_lock(wm831x);
1793 }
1794#line 113
1795 return;
1796}
1797}
1798#line 115 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
1799static int wm831x_backup_get_prop(struct power_supply *psy , enum power_supply_property psp ,
1800 union power_supply_propval *val )
1801{ struct wm831x_backup *devdata ;
1802 void *tmp ;
1803 struct wm831x *wm831x ;
1804 int ret ;
1805 unsigned long __cil_tmp8 ;
1806 unsigned long __cil_tmp9 ;
1807 struct device *__cil_tmp10 ;
1808 struct device *__cil_tmp11 ;
1809 struct device const *__cil_tmp12 ;
1810 enum wm831x_auxadc __cil_tmp13 ;
1811
1812 {
1813 {
1814#line 119
1815 __cil_tmp8 = (unsigned long )psy;
1816#line 119
1817 __cil_tmp9 = __cil_tmp8 + 96;
1818#line 119
1819 __cil_tmp10 = *((struct device **)__cil_tmp9);
1820#line 119
1821 __cil_tmp11 = *((struct device **)__cil_tmp10);
1822#line 119
1823 __cil_tmp12 = (struct device const *)__cil_tmp11;
1824#line 119
1825 tmp = dev_get_drvdata(__cil_tmp12);
1826#line 119
1827 devdata = (struct wm831x_backup *)tmp;
1828#line 120
1829 wm831x = *((struct wm831x **)devdata);
1830#line 121
1831 ret = 0;
1832#line 123
1833 ret = wm831x_reg_read(wm831x, (unsigned short)16459);
1834 }
1835#line 124
1836 if (ret < 0) {
1837#line 125
1838 return (ret);
1839 } else {
1840
1841 }
1842#line 128
1843 if ((int )psp == 0) {
1844#line 128
1845 goto case_0;
1846 } else
1847#line 135
1848 if ((int )psp == 11) {
1849#line 135
1850 goto case_11;
1851 } else
1852#line 140
1853 if ((int )psp == 3) {
1854#line 140
1855 goto case_3;
1856 } else {
1857 {
1858#line 147
1859 goto switch_default;
1860#line 127
1861 if (0) {
1862 case_0:
1863#line 129
1864 if (ret & 16384) {
1865#line 130
1866 *((int *)val) = 1;
1867 } else {
1868#line 132
1869 *((int *)val) = 3;
1870 }
1871#line 133
1872 goto switch_break;
1873 case_11:
1874 {
1875#line 136
1876 __cil_tmp13 = (enum wm831x_auxadc )10;
1877#line 136
1878 ret = wm831x_backup_read_voltage(wm831x, __cil_tmp13, val);
1879 }
1880#line 138
1881 goto switch_break;
1882 case_3:
1883#line 141
1884 if (ret & 16384) {
1885#line 142
1886 *((int *)val) = 1;
1887 } else {
1888#line 144
1889 *((int *)val) = 0;
1890 }
1891#line 145
1892 goto switch_break;
1893 switch_default:
1894#line 148
1895 ret = -22;
1896#line 149
1897 goto switch_break;
1898 } else {
1899 switch_break: ;
1900 }
1901 }
1902 }
1903#line 152
1904 return (ret);
1905}
1906}
1907#line 155 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
1908static enum power_supply_property wm831x_backup_props[3] = { (enum power_supply_property )0, (enum power_supply_property )11, (enum power_supply_property )3};
1909#line 165
1910static int wm831x_backup_probe(struct platform_device *pdev ) __attribute__((__section__(".devinit.text"),
1911__no_instrument_function__)) ;
1912#line 165 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
1913static int wm831x_backup_probe(struct platform_device *pdev )
1914{ struct wm831x *wm831x ;
1915 void *tmp ;
1916 struct wm831x_pdata *wm831x_pdata ;
1917 struct wm831x_backup *devdata ;
1918 struct power_supply *backup ;
1919 int ret ;
1920 void *tmp___0 ;
1921 unsigned long __cil_tmp9 ;
1922 unsigned long __cil_tmp10 ;
1923 struct device *__cil_tmp11 ;
1924 struct device const *__cil_tmp12 ;
1925 unsigned long __cil_tmp13 ;
1926 unsigned long __cil_tmp14 ;
1927 struct device *__cil_tmp15 ;
1928 unsigned long __cil_tmp16 ;
1929 unsigned long __cil_tmp17 ;
1930 void *__cil_tmp18 ;
1931 void *__cil_tmp19 ;
1932 unsigned long __cil_tmp20 ;
1933 unsigned long __cil_tmp21 ;
1934 void *__cil_tmp22 ;
1935 unsigned long __cil_tmp23 ;
1936 unsigned long __cil_tmp24 ;
1937 unsigned long __cil_tmp25 ;
1938 unsigned long __cil_tmp26 ;
1939 unsigned long __cil_tmp27 ;
1940 unsigned long __cil_tmp28 ;
1941 char *__cil_tmp29 ;
1942 int __cil_tmp30 ;
1943 unsigned long __cil_tmp31 ;
1944 unsigned long __cil_tmp32 ;
1945 unsigned long __cil_tmp33 ;
1946 unsigned long __cil_tmp34 ;
1947 char *__cil_tmp35 ;
1948 unsigned long __cil_tmp36 ;
1949 unsigned long __cil_tmp37 ;
1950 unsigned long __cil_tmp38 ;
1951 unsigned long __cil_tmp39 ;
1952 char *__cil_tmp40 ;
1953 unsigned long __cil_tmp41 ;
1954 unsigned long __cil_tmp42 ;
1955 unsigned long __cil_tmp43 ;
1956 unsigned long __cil_tmp44 ;
1957 char *__cil_tmp45 ;
1958 unsigned long __cil_tmp46 ;
1959 unsigned long __cil_tmp47 ;
1960 unsigned long __cil_tmp48 ;
1961 unsigned long __cil_tmp49 ;
1962 unsigned long __cil_tmp50 ;
1963 unsigned long __cil_tmp51 ;
1964 unsigned long __cil_tmp52 ;
1965 unsigned long __cil_tmp53 ;
1966 unsigned long __cil_tmp54 ;
1967 unsigned long __cil_tmp55 ;
1968 unsigned long __cil_tmp56 ;
1969 unsigned long __cil_tmp57 ;
1970 unsigned long __cil_tmp58 ;
1971 struct device *__cil_tmp59 ;
1972 void const *__cil_tmp60 ;
1973
1974 {
1975 {
1976#line 167
1977 __cil_tmp9 = (unsigned long )pdev;
1978#line 167
1979 __cil_tmp10 = __cil_tmp9 + 16;
1980#line 167
1981 __cil_tmp11 = *((struct device **)__cil_tmp10);
1982#line 167
1983 __cil_tmp12 = (struct device const *)__cil_tmp11;
1984#line 167
1985 tmp = dev_get_drvdata(__cil_tmp12);
1986#line 167
1987 wm831x = (struct wm831x *)tmp;
1988#line 168
1989 __cil_tmp13 = (unsigned long )wm831x;
1990#line 168
1991 __cil_tmp14 = __cil_tmp13 + 72;
1992#line 168
1993 __cil_tmp15 = *((struct device **)__cil_tmp14);
1994#line 168
1995 __cil_tmp16 = (unsigned long )__cil_tmp15;
1996#line 168
1997 __cil_tmp17 = __cil_tmp16 + 184;
1998#line 168
1999 __cil_tmp18 = *((void **)__cil_tmp17);
2000#line 168
2001 wm831x_pdata = (struct wm831x_pdata *)__cil_tmp18;
2002#line 173
2003 tmp___0 = kzalloc(248UL, 208U);
2004#line 173
2005 devdata = (struct wm831x_backup *)tmp___0;
2006 }
2007 {
2008#line 174
2009 __cil_tmp19 = (void *)0;
2010#line 174
2011 __cil_tmp20 = (unsigned long )__cil_tmp19;
2012#line 174
2013 __cil_tmp21 = (unsigned long )devdata;
2014#line 174
2015 if (__cil_tmp21 == __cil_tmp20) {
2016#line 175
2017 return (-12);
2018 } else {
2019
2020 }
2021 }
2022 {
2023#line 177
2024 *((struct wm831x **)devdata) = wm831x;
2025#line 178
2026 __cil_tmp22 = (void *)devdata;
2027#line 178
2028 platform_set_drvdata(pdev, __cil_tmp22);
2029#line 180
2030 __cil_tmp23 = (unsigned long )devdata;
2031#line 180
2032 __cil_tmp24 = __cil_tmp23 + 8;
2033#line 180
2034 backup = (struct power_supply *)__cil_tmp24;
2035#line 186
2036 wm831x_config_backup(wm831x);
2037 }
2038#line 188
2039 if (wm831x_pdata) {
2040#line 188
2041 if (*((int *)wm831x_pdata)) {
2042 {
2043#line 189
2044 __cil_tmp25 = 0 * 1UL;
2045#line 189
2046 __cil_tmp26 = 224 + __cil_tmp25;
2047#line 189
2048 __cil_tmp27 = (unsigned long )devdata;
2049#line 189
2050 __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
2051#line 189
2052 __cil_tmp29 = (char *)__cil_tmp28;
2053#line 189
2054 __cil_tmp30 = *((int *)wm831x_pdata);
2055#line 189
2056 snprintf(__cil_tmp29, 20UL, "wm831x-backup.%d", __cil_tmp30);
2057 }
2058 } else {
2059 {
2060#line 192
2061 __cil_tmp31 = 0 * 1UL;
2062#line 192
2063 __cil_tmp32 = 224 + __cil_tmp31;
2064#line 192
2065 __cil_tmp33 = (unsigned long )devdata;
2066#line 192
2067 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
2068#line 192
2069 __cil_tmp35 = (char *)__cil_tmp34;
2070#line 192
2071 snprintf(__cil_tmp35, 20UL, "wm831x-backup");
2072 }
2073 }
2074 } else {
2075 {
2076#line 192
2077 __cil_tmp36 = 0 * 1UL;
2078#line 192
2079 __cil_tmp37 = 224 + __cil_tmp36;
2080#line 192
2081 __cil_tmp38 = (unsigned long )devdata;
2082#line 192
2083 __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
2084#line 192
2085 __cil_tmp40 = (char *)__cil_tmp39;
2086#line 192
2087 snprintf(__cil_tmp40, 20UL, "wm831x-backup");
2088 }
2089 }
2090 {
2091#line 195
2092 __cil_tmp41 = 0 * 1UL;
2093#line 195
2094 __cil_tmp42 = 224 + __cil_tmp41;
2095#line 195
2096 __cil_tmp43 = (unsigned long )devdata;
2097#line 195
2098 __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
2099#line 195
2100 __cil_tmp45 = (char *)__cil_tmp44;
2101#line 195
2102 *((char const **)backup) = (char const *)__cil_tmp45;
2103#line 196
2104 __cil_tmp46 = (unsigned long )backup;
2105#line 196
2106 __cil_tmp47 = __cil_tmp46 + 8;
2107#line 196
2108 *((enum power_supply_type *)__cil_tmp47) = (enum power_supply_type )1;
2109#line 197
2110 __cil_tmp48 = (unsigned long )backup;
2111#line 197
2112 __cil_tmp49 = __cil_tmp48 + 16;
2113#line 197
2114 __cil_tmp50 = 0 * 4UL;
2115#line 197
2116 __cil_tmp51 = (unsigned long )(wm831x_backup_props) + __cil_tmp50;
2117#line 197
2118 *((enum power_supply_property **)__cil_tmp49) = (enum power_supply_property *)__cil_tmp51;
2119#line 198
2120 __cil_tmp52 = (unsigned long )backup;
2121#line 198
2122 __cil_tmp53 = __cil_tmp52 + 24;
2123#line 198
2124 __cil_tmp54 = 12UL / 4UL;
2125#line 198
2126 *((size_t *)__cil_tmp53) = __cil_tmp54 + 0UL;
2127#line 199
2128 __cil_tmp55 = (unsigned long )backup;
2129#line 199
2130 __cil_tmp56 = __cil_tmp55 + 48;
2131#line 199
2132 *((int (**)(struct power_supply *psy , enum power_supply_property psp , union power_supply_propval *val ))__cil_tmp56) = & wm831x_backup_get_prop;
2133#line 200
2134 __cil_tmp57 = (unsigned long )pdev;
2135#line 200
2136 __cil_tmp58 = __cil_tmp57 + 16;
2137#line 200
2138 __cil_tmp59 = (struct device *)__cil_tmp58;
2139#line 200
2140 ret = power_supply_register(__cil_tmp59, backup);
2141 }
2142#line 201
2143 if (ret) {
2144#line 202
2145 goto err_kmalloc;
2146 } else {
2147
2148 }
2149#line 204
2150 return (ret);
2151 err_kmalloc:
2152 {
2153#line 207
2154 __cil_tmp60 = (void const *)devdata;
2155#line 207
2156 kfree(__cil_tmp60);
2157 }
2158#line 208
2159 return (ret);
2160}
2161}
2162#line 211
2163static int wm831x_backup_remove(struct platform_device *pdev ) __attribute__((__section__(".devexit.text"),
2164__no_instrument_function__)) ;
2165#line 211 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2166static int wm831x_backup_remove(struct platform_device *pdev )
2167{ struct wm831x_backup *devdata ;
2168 void *tmp ;
2169 struct platform_device const *__cil_tmp4 ;
2170 unsigned long __cil_tmp5 ;
2171 unsigned long __cil_tmp6 ;
2172 struct power_supply *__cil_tmp7 ;
2173 unsigned long __cil_tmp8 ;
2174 unsigned long __cil_tmp9 ;
2175 char const *__cil_tmp10 ;
2176 void const *__cil_tmp11 ;
2177 void const *__cil_tmp12 ;
2178
2179 {
2180 {
2181#line 213
2182 __cil_tmp4 = (struct platform_device const *)pdev;
2183#line 213
2184 tmp = platform_get_drvdata(__cil_tmp4);
2185#line 213
2186 devdata = (struct wm831x_backup *)tmp;
2187#line 215
2188 __cil_tmp5 = (unsigned long )devdata;
2189#line 215
2190 __cil_tmp6 = __cil_tmp5 + 8;
2191#line 215
2192 __cil_tmp7 = (struct power_supply *)__cil_tmp6;
2193#line 215
2194 power_supply_unregister(__cil_tmp7);
2195#line 216
2196 __cil_tmp8 = (unsigned long )devdata;
2197#line 216
2198 __cil_tmp9 = __cil_tmp8 + 8;
2199#line 216
2200 __cil_tmp10 = *((char const **)__cil_tmp9);
2201#line 216
2202 __cil_tmp11 = (void const *)__cil_tmp10;
2203#line 216
2204 kfree(__cil_tmp11);
2205#line 217
2206 __cil_tmp12 = (void const *)devdata;
2207#line 217
2208 kfree(__cil_tmp12);
2209 }
2210#line 219
2211 return (0);
2212}
2213}
2214#line 222 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2215static struct platform_driver wm831x_backup_driver = {& wm831x_backup_probe, & wm831x_backup_remove, (void (*)(struct platform_device * ))0,
2216 (int (*)(struct platform_device * , pm_message_t state ))0, (int (*)(struct platform_device * ))0,
2217 {"wm831x-backup", (struct bus_type *)0, (struct module *)0, (char const *)0,
2218 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
2219 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
2220 pm_message_t state ))0,
2221 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
2222 (struct driver_private *)0}, (struct platform_device_id const *)0};
2223#line 230
2224static int wm831x_backup_driver_init(void) __attribute__((__section__(".init.text"),
2225__no_instrument_function__)) ;
2226#line 230 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2227static int wm831x_backup_driver_init(void)
2228{ int tmp ;
2229
2230 {
2231 {
2232#line 230
2233 tmp = platform_driver_register(& wm831x_backup_driver);
2234 }
2235#line 230
2236 return (tmp);
2237}
2238}
2239#line 230 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2240int init_module(void)
2241{ int tmp ;
2242
2243 {
2244 {
2245#line 230
2246 tmp = wm831x_backup_driver_init();
2247 }
2248#line 230
2249 return (tmp);
2250}
2251}
2252#line 230
2253static void wm831x_backup_driver_exit(void) __attribute__((__section__(".exit.text"),
2254__no_instrument_function__)) ;
2255#line 230 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2256static void wm831x_backup_driver_exit(void)
2257{
2258
2259 {
2260 {
2261#line 230
2262 platform_driver_unregister(& wm831x_backup_driver);
2263 }
2264#line 230
2265 return;
2266}
2267}
2268#line 230 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2269void cleanup_module(void)
2270{
2271
2272 {
2273 {
2274#line 230
2275 wm831x_backup_driver_exit();
2276 }
2277#line 230
2278 return;
2279}
2280}
2281#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2282static char const __mod_description232[59] __attribute__((__used__, __unused__,
2283__section__(".modinfo"), __aligned__(1))) =
2284#line 232
2285 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
2286 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
2287 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
2288 (char const )'B', (char const )'a', (char const )'c', (char const )'k',
2289 (char const )'u', (char const )'p', (char const )' ', (char const )'b',
2290 (char const )'a', (char const )'t', (char const )'t', (char const )'e',
2291 (char const )'r', (char const )'y', (char const )' ', (char const )'c',
2292 (char const )'h', (char const )'a', (char const )'r', (char const )'g',
2293 (char const )'e', (char const )'r', (char const )' ', (char const )'d',
2294 (char const )'r', (char const )'i', (char const )'v', (char const )'e',
2295 (char const )'r', (char const )' ', (char const )'f', (char const )'o',
2296 (char const )'r', (char const )' ', (char const )'W', (char const )'M',
2297 (char const )'8', (char const )'3', (char const )'1', (char const )'x',
2298 (char const )' ', (char const )'P', (char const )'M', (char const )'I',
2299 (char const )'C', (char const )'s', (char const )'\000'};
2300#line 233 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2301static char const __mod_author233[56] __attribute__((__used__, __unused__, __section__(".modinfo"),
2302__aligned__(1))) =
2303#line 233
2304 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
2305 (char const )'o', (char const )'r', (char const )'=', (char const )'M',
2306 (char const )'a', (char const )'r', (char const )'k', (char const )' ',
2307 (char const )'B', (char const )'r', (char const )'o', (char const )'w',
2308 (char const )'n', (char const )' ', (char const )'<', (char const )'b',
2309 (char const )'r', (char const )'o', (char const )'o', (char const )'n',
2310 (char const )'i', (char const )'e', (char const )'@', (char const )'o',
2311 (char const )'p', (char const )'e', (char const )'n', (char const )'s',
2312 (char const )'o', (char const )'u', (char const )'r', (char const )'c',
2313 (char const )'e', (char const )'.', (char const )'w', (char const )'o',
2314 (char const )'l', (char const )'f', (char const )'s', (char const )'o',
2315 (char const )'n', (char const )'m', (char const )'i', (char const )'c',
2316 (char const )'r', (char const )'o', (char const )'.', (char const )'c',
2317 (char const )'o', (char const )'m', (char const )'>', (char const )'\000'};
2318#line 234 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2319static char const __mod_license234[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
2320__aligned__(1))) =
2321#line 234
2322 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
2323 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
2324 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
2325#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2326static char const __mod_alias235[29] __attribute__((__used__, __unused__, __section__(".modinfo"),
2327__aligned__(1))) =
2328#line 235
2329 { (char const )'a', (char const )'l', (char const )'i', (char const )'a',
2330 (char const )'s', (char const )'=', (char const )'p', (char const )'l',
2331 (char const )'a', (char const )'t', (char const )'f', (char const )'o',
2332 (char const )'r', (char const )'m', (char const )':', (char const )'w',
2333 (char const )'m', (char const )'8', (char const )'3', (char const )'1',
2334 (char const )'x', (char const )'-', (char const )'b', (char const )'a',
2335 (char const )'c', (char const )'k', (char const )'u', (char const )'p',
2336 (char const )'\000'};
2337#line 253
2338void ldv_check_final_state(void) ;
2339#line 256
2340extern void ldv_check_return_value(int res ) ;
2341#line 259
2342extern void ldv_initialize(void) ;
2343#line 262
2344extern int __VERIFIER_nondet_int(void) ;
2345#line 265 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2346int LDV_IN_INTERRUPT ;
2347#line 280 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2348static int res_wm831x_backup_probe_3 ;
2349#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2350void main(void)
2351{ struct platform_device *var_group1 ;
2352 int ldv_s_wm831x_backup_driver_platform_driver ;
2353 int tmp ;
2354 int tmp___0 ;
2355 int __cil_tmp5 ;
2356
2357 {
2358 {
2359#line 288
2360 LDV_IN_INTERRUPT = 1;
2361#line 297
2362 ldv_initialize();
2363#line 298
2364 ldv_s_wm831x_backup_driver_platform_driver = 0;
2365 }
2366 {
2367#line 301
2368 while (1) {
2369 while_continue: ;
2370 {
2371#line 301
2372 tmp___0 = __VERIFIER_nondet_int();
2373 }
2374#line 301
2375 if (tmp___0) {
2376
2377 } else {
2378 {
2379#line 301
2380 __cil_tmp5 = ldv_s_wm831x_backup_driver_platform_driver == 0;
2381#line 301
2382 if (! __cil_tmp5) {
2383
2384 } else {
2385#line 301
2386 goto while_break;
2387 }
2388 }
2389 }
2390 {
2391#line 305
2392 tmp = __VERIFIER_nondet_int();
2393 }
2394#line 307
2395 if (tmp == 0) {
2396#line 307
2397 goto case_0;
2398 } else {
2399 {
2400#line 326
2401 goto switch_default;
2402#line 305
2403 if (0) {
2404 case_0:
2405#line 310
2406 if (ldv_s_wm831x_backup_driver_platform_driver == 0) {
2407 {
2408#line 315
2409 res_wm831x_backup_probe_3 = wm831x_backup_probe(var_group1);
2410#line 316
2411 ldv_check_return_value(res_wm831x_backup_probe_3);
2412 }
2413#line 317
2414 if (res_wm831x_backup_probe_3) {
2415#line 318
2416 goto ldv_module_exit;
2417 } else {
2418
2419 }
2420#line 319
2421 ldv_s_wm831x_backup_driver_platform_driver = 0;
2422 } else {
2423
2424 }
2425#line 325
2426 goto switch_break;
2427 switch_default:
2428#line 326
2429 goto switch_break;
2430 } else {
2431 switch_break: ;
2432 }
2433 }
2434 }
2435 }
2436 while_break: ;
2437 }
2438 ldv_module_exit:
2439 {
2440#line 335
2441 ldv_check_final_state();
2442 }
2443#line 338
2444 return;
2445}
2446}
2447#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
2448void ldv_blast_assert(void)
2449{
2450
2451 {
2452 ERROR:
2453#line 6
2454 goto ERROR;
2455}
2456}
2457#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
2458extern int __VERIFIER_nondet_int(void) ;
2459#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2460int ldv_mutex = 1;
2461#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2462int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
2463{ int nondetermined ;
2464
2465 {
2466#line 29
2467 if (ldv_mutex == 1) {
2468
2469 } else {
2470 {
2471#line 29
2472 ldv_blast_assert();
2473 }
2474 }
2475 {
2476#line 32
2477 nondetermined = __VERIFIER_nondet_int();
2478 }
2479#line 35
2480 if (nondetermined) {
2481#line 38
2482 ldv_mutex = 2;
2483#line 40
2484 return (0);
2485 } else {
2486#line 45
2487 return (-4);
2488 }
2489}
2490}
2491#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2492int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
2493{ int nondetermined ;
2494
2495 {
2496#line 57
2497 if (ldv_mutex == 1) {
2498
2499 } else {
2500 {
2501#line 57
2502 ldv_blast_assert();
2503 }
2504 }
2505 {
2506#line 60
2507 nondetermined = __VERIFIER_nondet_int();
2508 }
2509#line 63
2510 if (nondetermined) {
2511#line 66
2512 ldv_mutex = 2;
2513#line 68
2514 return (0);
2515 } else {
2516#line 73
2517 return (-4);
2518 }
2519}
2520}
2521#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2522int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
2523{ int atomic_value_after_dec ;
2524
2525 {
2526#line 83
2527 if (ldv_mutex == 1) {
2528
2529 } else {
2530 {
2531#line 83
2532 ldv_blast_assert();
2533 }
2534 }
2535 {
2536#line 86
2537 atomic_value_after_dec = __VERIFIER_nondet_int();
2538 }
2539#line 89
2540 if (atomic_value_after_dec == 0) {
2541#line 92
2542 ldv_mutex = 2;
2543#line 94
2544 return (1);
2545 } else {
2546
2547 }
2548#line 98
2549 return (0);
2550}
2551}
2552#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2553void mutex_lock(struct mutex *lock )
2554{
2555
2556 {
2557#line 108
2558 if (ldv_mutex == 1) {
2559
2560 } else {
2561 {
2562#line 108
2563 ldv_blast_assert();
2564 }
2565 }
2566#line 110
2567 ldv_mutex = 2;
2568#line 111
2569 return;
2570}
2571}
2572#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2573int mutex_trylock(struct mutex *lock )
2574{ int nondetermined ;
2575
2576 {
2577#line 121
2578 if (ldv_mutex == 1) {
2579
2580 } else {
2581 {
2582#line 121
2583 ldv_blast_assert();
2584 }
2585 }
2586 {
2587#line 124
2588 nondetermined = __VERIFIER_nondet_int();
2589 }
2590#line 127
2591 if (nondetermined) {
2592#line 130
2593 ldv_mutex = 2;
2594#line 132
2595 return (1);
2596 } else {
2597#line 137
2598 return (0);
2599 }
2600}
2601}
2602#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2603void mutex_unlock(struct mutex *lock )
2604{
2605
2606 {
2607#line 147
2608 if (ldv_mutex == 2) {
2609
2610 } else {
2611 {
2612#line 147
2613 ldv_blast_assert();
2614 }
2615 }
2616#line 149
2617 ldv_mutex = 1;
2618#line 150
2619 return;
2620}
2621}
2622#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2623void ldv_check_final_state(void)
2624{
2625
2626 {
2627#line 156
2628 if (ldv_mutex == 1) {
2629
2630 } else {
2631 {
2632#line 156
2633 ldv_blast_assert();
2634 }
2635 }
2636#line 157
2637 return;
2638}
2639}
2640#line 347 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/1059/dscv_tempdir/dscv/ri/32_1/drivers/power/wm831x_backup.c.common.c"
2641long s__builtin_expect(long val , long res )
2642{
2643
2644 {
2645#line 348
2646 return (val);
2647}
2648}