1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_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 35 "include/linux/types.h"
57typedef __kernel_clockid_t clockid_t;
58#line 38 "include/linux/types.h"
59typedef _Bool bool;
60#line 40 "include/linux/types.h"
61typedef __kernel_uid32_t uid_t;
62#line 41 "include/linux/types.h"
63typedef __kernel_gid32_t gid_t;
64#line 54 "include/linux/types.h"
65typedef __kernel_loff_t loff_t;
66#line 63 "include/linux/types.h"
67typedef __kernel_size_t size_t;
68#line 68 "include/linux/types.h"
69typedef __kernel_ssize_t ssize_t;
70#line 78 "include/linux/types.h"
71typedef __kernel_time_t time_t;
72#line 115 "include/linux/types.h"
73typedef __u8 uint8_t;
74#line 142 "include/linux/types.h"
75typedef unsigned long sector_t;
76#line 143 "include/linux/types.h"
77typedef unsigned long blkcnt_t;
78#line 202 "include/linux/types.h"
79typedef unsigned int gfp_t;
80#line 203 "include/linux/types.h"
81typedef unsigned int fmode_t;
82#line 206 "include/linux/types.h"
83typedef u64 phys_addr_t;
84#line 211 "include/linux/types.h"
85typedef phys_addr_t resource_size_t;
86#line 219 "include/linux/types.h"
87struct __anonstruct_atomic_t_7 {
88 int counter ;
89};
90#line 219 "include/linux/types.h"
91typedef struct __anonstruct_atomic_t_7 atomic_t;
92#line 224 "include/linux/types.h"
93struct __anonstruct_atomic64_t_8 {
94 long counter ;
95};
96#line 224 "include/linux/types.h"
97typedef struct __anonstruct_atomic64_t_8 atomic64_t;
98#line 229 "include/linux/types.h"
99struct list_head {
100 struct list_head *next ;
101 struct list_head *prev ;
102};
103#line 233
104struct hlist_node;
105#line 233 "include/linux/types.h"
106struct hlist_head {
107 struct hlist_node *first ;
108};
109#line 237 "include/linux/types.h"
110struct hlist_node {
111 struct hlist_node *next ;
112 struct hlist_node **pprev ;
113};
114#line 253 "include/linux/types.h"
115struct rcu_head {
116 struct rcu_head *next ;
117 void (*func)(struct rcu_head *head ) ;
118};
119#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
120struct module;
121#line 56
122struct module;
123#line 146 "include/linux/init.h"
124typedef void (*ctor_fn_t)(void);
125#line 47 "include/linux/dynamic_debug.h"
126struct device;
127#line 47
128struct device;
129#line 135 "include/linux/kernel.h"
130struct completion;
131#line 135
132struct completion;
133#line 349
134struct pid;
135#line 349
136struct pid;
137#line 12 "include/linux/thread_info.h"
138struct timespec;
139#line 12
140struct timespec;
141#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
142struct page;
143#line 18
144struct page;
145#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
146struct task_struct;
147#line 20
148struct task_struct;
149#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
150struct task_struct;
151#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
152struct file;
153#line 295
154struct file;
155#line 313
156struct seq_file;
157#line 313
158struct seq_file;
159#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
160struct page;
161#line 52
162struct task_struct;
163#line 329
164struct arch_spinlock;
165#line 329
166struct arch_spinlock;
167#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
168struct task_struct;
169#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
170struct task_struct;
171#line 10 "include/asm-generic/bug.h"
172struct bug_entry {
173 int bug_addr_disp ;
174 int file_disp ;
175 unsigned short line ;
176 unsigned short flags ;
177};
178#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
179struct static_key;
180#line 234
181struct static_key;
182#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
183struct seq_operations;
184#line 23 "include/asm-generic/atomic-long.h"
185typedef atomic64_t atomic_long_t;
186#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
187typedef u16 __ticket_t;
188#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
189typedef u32 __ticketpair_t;
190#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
191struct __raw_tickets {
192 __ticket_t head ;
193 __ticket_t tail ;
194};
195#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
196union __anonunion____missing_field_name_36 {
197 __ticketpair_t head_tail ;
198 struct __raw_tickets tickets ;
199};
200#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
201struct arch_spinlock {
202 union __anonunion____missing_field_name_36 __annonCompField17 ;
203};
204#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
205typedef struct arch_spinlock arch_spinlock_t;
206#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
207struct __anonstruct____missing_field_name_38 {
208 u32 read ;
209 s32 write ;
210};
211#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
212union __anonunion_arch_rwlock_t_37 {
213 s64 lock ;
214 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
215};
216#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
217typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
218#line 12 "include/linux/lockdep.h"
219struct task_struct;
220#line 391 "include/linux/lockdep.h"
221struct lock_class_key {
222
223};
224#line 20 "include/linux/spinlock_types.h"
225struct raw_spinlock {
226 arch_spinlock_t raw_lock ;
227 unsigned int magic ;
228 unsigned int owner_cpu ;
229 void *owner ;
230};
231#line 20 "include/linux/spinlock_types.h"
232typedef struct raw_spinlock raw_spinlock_t;
233#line 64 "include/linux/spinlock_types.h"
234union __anonunion____missing_field_name_39 {
235 struct raw_spinlock rlock ;
236};
237#line 64 "include/linux/spinlock_types.h"
238struct spinlock {
239 union __anonunion____missing_field_name_39 __annonCompField19 ;
240};
241#line 64 "include/linux/spinlock_types.h"
242typedef struct spinlock spinlock_t;
243#line 11 "include/linux/rwlock_types.h"
244struct __anonstruct_rwlock_t_40 {
245 arch_rwlock_t raw_lock ;
246 unsigned int magic ;
247 unsigned int owner_cpu ;
248 void *owner ;
249};
250#line 11 "include/linux/rwlock_types.h"
251typedef struct __anonstruct_rwlock_t_40 rwlock_t;
252#line 119 "include/linux/seqlock.h"
253struct seqcount {
254 unsigned int sequence ;
255};
256#line 119 "include/linux/seqlock.h"
257typedef struct seqcount seqcount_t;
258#line 14 "include/linux/time.h"
259struct timespec {
260 __kernel_time_t tv_sec ;
261 long tv_nsec ;
262};
263#line 62 "include/linux/stat.h"
264struct kstat {
265 u64 ino ;
266 dev_t dev ;
267 umode_t mode ;
268 unsigned int nlink ;
269 uid_t uid ;
270 gid_t gid ;
271 dev_t rdev ;
272 loff_t size ;
273 struct timespec atime ;
274 struct timespec mtime ;
275 struct timespec ctime ;
276 unsigned long blksize ;
277 unsigned long long blocks ;
278};
279#line 49 "include/linux/wait.h"
280struct __wait_queue_head {
281 spinlock_t lock ;
282 struct list_head task_list ;
283};
284#line 53 "include/linux/wait.h"
285typedef struct __wait_queue_head wait_queue_head_t;
286#line 55
287struct task_struct;
288#line 60 "include/linux/pageblock-flags.h"
289struct page;
290#line 48 "include/linux/mutex.h"
291struct mutex {
292 atomic_t count ;
293 spinlock_t wait_lock ;
294 struct list_head wait_list ;
295 struct task_struct *owner ;
296 char const *name ;
297 void *magic ;
298};
299#line 19 "include/linux/rwsem.h"
300struct rw_semaphore;
301#line 19
302struct rw_semaphore;
303#line 25 "include/linux/rwsem.h"
304struct rw_semaphore {
305 long count ;
306 raw_spinlock_t wait_lock ;
307 struct list_head wait_list ;
308};
309#line 25 "include/linux/completion.h"
310struct completion {
311 unsigned int done ;
312 wait_queue_head_t wait ;
313};
314#line 9 "include/linux/memory_hotplug.h"
315struct page;
316#line 18 "include/linux/ioport.h"
317struct resource {
318 resource_size_t start ;
319 resource_size_t end ;
320 char const *name ;
321 unsigned long flags ;
322 struct resource *parent ;
323 struct resource *sibling ;
324 struct resource *child ;
325};
326#line 202
327struct device;
328#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
329struct device;
330#line 46 "include/linux/ktime.h"
331union ktime {
332 s64 tv64 ;
333};
334#line 59 "include/linux/ktime.h"
335typedef union ktime ktime_t;
336#line 10 "include/linux/timer.h"
337struct tvec_base;
338#line 10
339struct tvec_base;
340#line 12 "include/linux/timer.h"
341struct timer_list {
342 struct list_head entry ;
343 unsigned long expires ;
344 struct tvec_base *base ;
345 void (*function)(unsigned long ) ;
346 unsigned long data ;
347 int slack ;
348 int start_pid ;
349 void *start_site ;
350 char start_comm[16] ;
351};
352#line 289
353struct hrtimer;
354#line 289
355struct hrtimer;
356#line 290
357enum hrtimer_restart;
358#line 17 "include/linux/workqueue.h"
359struct work_struct;
360#line 17
361struct work_struct;
362#line 79 "include/linux/workqueue.h"
363struct work_struct {
364 atomic_long_t data ;
365 struct list_head entry ;
366 void (*func)(struct work_struct *work ) ;
367};
368#line 42 "include/linux/pm.h"
369struct device;
370#line 50 "include/linux/pm.h"
371struct pm_message {
372 int event ;
373};
374#line 50 "include/linux/pm.h"
375typedef struct pm_message pm_message_t;
376#line 264 "include/linux/pm.h"
377struct dev_pm_ops {
378 int (*prepare)(struct device *dev ) ;
379 void (*complete)(struct device *dev ) ;
380 int (*suspend)(struct device *dev ) ;
381 int (*resume)(struct device *dev ) ;
382 int (*freeze)(struct device *dev ) ;
383 int (*thaw)(struct device *dev ) ;
384 int (*poweroff)(struct device *dev ) ;
385 int (*restore)(struct device *dev ) ;
386 int (*suspend_late)(struct device *dev ) ;
387 int (*resume_early)(struct device *dev ) ;
388 int (*freeze_late)(struct device *dev ) ;
389 int (*thaw_early)(struct device *dev ) ;
390 int (*poweroff_late)(struct device *dev ) ;
391 int (*restore_early)(struct device *dev ) ;
392 int (*suspend_noirq)(struct device *dev ) ;
393 int (*resume_noirq)(struct device *dev ) ;
394 int (*freeze_noirq)(struct device *dev ) ;
395 int (*thaw_noirq)(struct device *dev ) ;
396 int (*poweroff_noirq)(struct device *dev ) ;
397 int (*restore_noirq)(struct device *dev ) ;
398 int (*runtime_suspend)(struct device *dev ) ;
399 int (*runtime_resume)(struct device *dev ) ;
400 int (*runtime_idle)(struct device *dev ) ;
401};
402#line 458
403enum rpm_status {
404 RPM_ACTIVE = 0,
405 RPM_RESUMING = 1,
406 RPM_SUSPENDED = 2,
407 RPM_SUSPENDING = 3
408} ;
409#line 480
410enum rpm_request {
411 RPM_REQ_NONE = 0,
412 RPM_REQ_IDLE = 1,
413 RPM_REQ_SUSPEND = 2,
414 RPM_REQ_AUTOSUSPEND = 3,
415 RPM_REQ_RESUME = 4
416} ;
417#line 488
418struct wakeup_source;
419#line 488
420struct wakeup_source;
421#line 495 "include/linux/pm.h"
422struct pm_subsys_data {
423 spinlock_t lock ;
424 unsigned int refcount ;
425};
426#line 506
427struct dev_pm_qos_request;
428#line 506
429struct pm_qos_constraints;
430#line 506 "include/linux/pm.h"
431struct dev_pm_info {
432 pm_message_t power_state ;
433 unsigned int can_wakeup : 1 ;
434 unsigned int async_suspend : 1 ;
435 bool is_prepared : 1 ;
436 bool is_suspended : 1 ;
437 bool ignore_children : 1 ;
438 spinlock_t lock ;
439 struct list_head entry ;
440 struct completion completion ;
441 struct wakeup_source *wakeup ;
442 bool wakeup_path : 1 ;
443 struct timer_list suspend_timer ;
444 unsigned long timer_expires ;
445 struct work_struct work ;
446 wait_queue_head_t wait_queue ;
447 atomic_t usage_count ;
448 atomic_t child_count ;
449 unsigned int disable_depth : 3 ;
450 unsigned int idle_notification : 1 ;
451 unsigned int request_pending : 1 ;
452 unsigned int deferred_resume : 1 ;
453 unsigned int run_wake : 1 ;
454 unsigned int runtime_auto : 1 ;
455 unsigned int no_callbacks : 1 ;
456 unsigned int irq_safe : 1 ;
457 unsigned int use_autosuspend : 1 ;
458 unsigned int timer_autosuspends : 1 ;
459 enum rpm_request request ;
460 enum rpm_status runtime_status ;
461 int runtime_error ;
462 int autosuspend_delay ;
463 unsigned long last_busy ;
464 unsigned long active_jiffies ;
465 unsigned long suspended_jiffies ;
466 unsigned long accounting_timestamp ;
467 ktime_t suspend_time ;
468 s64 max_time_suspended_ns ;
469 struct dev_pm_qos_request *pq_req ;
470 struct pm_subsys_data *subsys_data ;
471 struct pm_qos_constraints *constraints ;
472};
473#line 564 "include/linux/pm.h"
474struct dev_pm_domain {
475 struct dev_pm_ops ops ;
476};
477#line 8 "include/linux/vmalloc.h"
478struct vm_area_struct;
479#line 8
480struct vm_area_struct;
481#line 994 "include/linux/mmzone.h"
482struct page;
483#line 10 "include/linux/gfp.h"
484struct vm_area_struct;
485#line 29 "include/linux/sysctl.h"
486struct completion;
487#line 100 "include/linux/rbtree.h"
488struct rb_node {
489 unsigned long rb_parent_color ;
490 struct rb_node *rb_right ;
491 struct rb_node *rb_left ;
492} __attribute__((__aligned__(sizeof(long )))) ;
493#line 110 "include/linux/rbtree.h"
494struct rb_root {
495 struct rb_node *rb_node ;
496};
497#line 48 "include/linux/kmod.h"
498struct cred;
499#line 48
500struct cred;
501#line 49
502struct file;
503#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
504struct task_struct;
505#line 18 "include/linux/elf.h"
506typedef __u64 Elf64_Addr;
507#line 19 "include/linux/elf.h"
508typedef __u16 Elf64_Half;
509#line 23 "include/linux/elf.h"
510typedef __u32 Elf64_Word;
511#line 24 "include/linux/elf.h"
512typedef __u64 Elf64_Xword;
513#line 194 "include/linux/elf.h"
514struct elf64_sym {
515 Elf64_Word st_name ;
516 unsigned char st_info ;
517 unsigned char st_other ;
518 Elf64_Half st_shndx ;
519 Elf64_Addr st_value ;
520 Elf64_Xword st_size ;
521};
522#line 194 "include/linux/elf.h"
523typedef struct elf64_sym Elf64_Sym;
524#line 438
525struct file;
526#line 20 "include/linux/kobject_ns.h"
527struct sock;
528#line 20
529struct sock;
530#line 21
531struct kobject;
532#line 21
533struct kobject;
534#line 27
535enum kobj_ns_type {
536 KOBJ_NS_TYPE_NONE = 0,
537 KOBJ_NS_TYPE_NET = 1,
538 KOBJ_NS_TYPES = 2
539} ;
540#line 40 "include/linux/kobject_ns.h"
541struct kobj_ns_type_operations {
542 enum kobj_ns_type type ;
543 void *(*grab_current_ns)(void) ;
544 void const *(*netlink_ns)(struct sock *sk ) ;
545 void const *(*initial_ns)(void) ;
546 void (*drop_ns)(void * ) ;
547};
548#line 22 "include/linux/sysfs.h"
549struct kobject;
550#line 23
551struct module;
552#line 24
553enum kobj_ns_type;
554#line 26 "include/linux/sysfs.h"
555struct attribute {
556 char const *name ;
557 umode_t mode ;
558};
559#line 56 "include/linux/sysfs.h"
560struct attribute_group {
561 char const *name ;
562 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
563 struct attribute **attrs ;
564};
565#line 85
566struct file;
567#line 86
568struct vm_area_struct;
569#line 88 "include/linux/sysfs.h"
570struct bin_attribute {
571 struct attribute attr ;
572 size_t size ;
573 void *private ;
574 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
575 loff_t , size_t ) ;
576 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
577 loff_t , size_t ) ;
578 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
579};
580#line 112 "include/linux/sysfs.h"
581struct sysfs_ops {
582 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
583 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
584 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
585};
586#line 118
587struct sysfs_dirent;
588#line 118
589struct sysfs_dirent;
590#line 22 "include/linux/kref.h"
591struct kref {
592 atomic_t refcount ;
593};
594#line 60 "include/linux/kobject.h"
595struct kset;
596#line 60
597struct kobj_type;
598#line 60 "include/linux/kobject.h"
599struct kobject {
600 char const *name ;
601 struct list_head entry ;
602 struct kobject *parent ;
603 struct kset *kset ;
604 struct kobj_type *ktype ;
605 struct sysfs_dirent *sd ;
606 struct kref kref ;
607 unsigned int state_initialized : 1 ;
608 unsigned int state_in_sysfs : 1 ;
609 unsigned int state_add_uevent_sent : 1 ;
610 unsigned int state_remove_uevent_sent : 1 ;
611 unsigned int uevent_suppress : 1 ;
612};
613#line 108 "include/linux/kobject.h"
614struct kobj_type {
615 void (*release)(struct kobject *kobj ) ;
616 struct sysfs_ops const *sysfs_ops ;
617 struct attribute **default_attrs ;
618 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
619 void const *(*namespace)(struct kobject *kobj ) ;
620};
621#line 116 "include/linux/kobject.h"
622struct kobj_uevent_env {
623 char *envp[32] ;
624 int envp_idx ;
625 char buf[2048] ;
626 int buflen ;
627};
628#line 123 "include/linux/kobject.h"
629struct kset_uevent_ops {
630 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
631 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
632 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
633};
634#line 140
635struct sock;
636#line 159 "include/linux/kobject.h"
637struct kset {
638 struct list_head list ;
639 spinlock_t list_lock ;
640 struct kobject kobj ;
641 struct kset_uevent_ops const *uevent_ops ;
642};
643#line 39 "include/linux/moduleparam.h"
644struct kernel_param;
645#line 39
646struct kernel_param;
647#line 41 "include/linux/moduleparam.h"
648struct kernel_param_ops {
649 int (*set)(char const *val , struct kernel_param const *kp ) ;
650 int (*get)(char *buffer , struct kernel_param const *kp ) ;
651 void (*free)(void *arg ) ;
652};
653#line 50
654struct kparam_string;
655#line 50
656struct kparam_array;
657#line 50 "include/linux/moduleparam.h"
658union __anonunion____missing_field_name_199 {
659 void *arg ;
660 struct kparam_string const *str ;
661 struct kparam_array const *arr ;
662};
663#line 50 "include/linux/moduleparam.h"
664struct kernel_param {
665 char const *name ;
666 struct kernel_param_ops const *ops ;
667 u16 perm ;
668 s16 level ;
669 union __anonunion____missing_field_name_199 __annonCompField32 ;
670};
671#line 63 "include/linux/moduleparam.h"
672struct kparam_string {
673 unsigned int maxlen ;
674 char *string ;
675};
676#line 69 "include/linux/moduleparam.h"
677struct kparam_array {
678 unsigned int max ;
679 unsigned int elemsize ;
680 unsigned int *num ;
681 struct kernel_param_ops const *ops ;
682 void *elem ;
683};
684#line 445
685struct module;
686#line 80 "include/linux/jump_label.h"
687struct module;
688#line 143 "include/linux/jump_label.h"
689struct static_key {
690 atomic_t enabled ;
691};
692#line 22 "include/linux/tracepoint.h"
693struct module;
694#line 23
695struct tracepoint;
696#line 23
697struct tracepoint;
698#line 25 "include/linux/tracepoint.h"
699struct tracepoint_func {
700 void *func ;
701 void *data ;
702};
703#line 30 "include/linux/tracepoint.h"
704struct tracepoint {
705 char const *name ;
706 struct static_key key ;
707 void (*regfunc)(void) ;
708 void (*unregfunc)(void) ;
709 struct tracepoint_func *funcs ;
710};
711#line 19 "include/linux/export.h"
712struct kernel_symbol {
713 unsigned long value ;
714 char const *name ;
715};
716#line 8 "include/asm-generic/module.h"
717struct mod_arch_specific {
718
719};
720#line 35 "include/linux/module.h"
721struct module;
722#line 37
723struct module_param_attrs;
724#line 37 "include/linux/module.h"
725struct module_kobject {
726 struct kobject kobj ;
727 struct module *mod ;
728 struct kobject *drivers_dir ;
729 struct module_param_attrs *mp ;
730};
731#line 44 "include/linux/module.h"
732struct module_attribute {
733 struct attribute attr ;
734 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
735 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
736 size_t count ) ;
737 void (*setup)(struct module * , char const * ) ;
738 int (*test)(struct module * ) ;
739 void (*free)(struct module * ) ;
740};
741#line 71
742struct exception_table_entry;
743#line 71
744struct exception_table_entry;
745#line 199
746enum module_state {
747 MODULE_STATE_LIVE = 0,
748 MODULE_STATE_COMING = 1,
749 MODULE_STATE_GOING = 2
750} ;
751#line 215 "include/linux/module.h"
752struct module_ref {
753 unsigned long incs ;
754 unsigned long decs ;
755} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
756#line 220
757struct module_sect_attrs;
758#line 220
759struct module_notes_attrs;
760#line 220
761struct ftrace_event_call;
762#line 220 "include/linux/module.h"
763struct module {
764 enum module_state state ;
765 struct list_head list ;
766 char name[64UL - sizeof(unsigned long )] ;
767 struct module_kobject mkobj ;
768 struct module_attribute *modinfo_attrs ;
769 char const *version ;
770 char const *srcversion ;
771 struct kobject *holders_dir ;
772 struct kernel_symbol const *syms ;
773 unsigned long const *crcs ;
774 unsigned int num_syms ;
775 struct kernel_param *kp ;
776 unsigned int num_kp ;
777 unsigned int num_gpl_syms ;
778 struct kernel_symbol const *gpl_syms ;
779 unsigned long const *gpl_crcs ;
780 struct kernel_symbol const *unused_syms ;
781 unsigned long const *unused_crcs ;
782 unsigned int num_unused_syms ;
783 unsigned int num_unused_gpl_syms ;
784 struct kernel_symbol const *unused_gpl_syms ;
785 unsigned long const *unused_gpl_crcs ;
786 struct kernel_symbol const *gpl_future_syms ;
787 unsigned long const *gpl_future_crcs ;
788 unsigned int num_gpl_future_syms ;
789 unsigned int num_exentries ;
790 struct exception_table_entry *extable ;
791 int (*init)(void) ;
792 void *module_init ;
793 void *module_core ;
794 unsigned int init_size ;
795 unsigned int core_size ;
796 unsigned int init_text_size ;
797 unsigned int core_text_size ;
798 unsigned int init_ro_size ;
799 unsigned int core_ro_size ;
800 struct mod_arch_specific arch ;
801 unsigned int taints ;
802 unsigned int num_bugs ;
803 struct list_head bug_list ;
804 struct bug_entry *bug_table ;
805 Elf64_Sym *symtab ;
806 Elf64_Sym *core_symtab ;
807 unsigned int num_symtab ;
808 unsigned int core_num_syms ;
809 char *strtab ;
810 char *core_strtab ;
811 struct module_sect_attrs *sect_attrs ;
812 struct module_notes_attrs *notes_attrs ;
813 char *args ;
814 void *percpu ;
815 unsigned int percpu_size ;
816 unsigned int num_tracepoints ;
817 struct tracepoint * const *tracepoints_ptrs ;
818 unsigned int num_trace_bprintk_fmt ;
819 char const **trace_bprintk_fmt_start ;
820 struct ftrace_event_call **trace_events ;
821 unsigned int num_trace_events ;
822 struct list_head source_list ;
823 struct list_head target_list ;
824 struct task_struct *waiter ;
825 void (*exit)(void) ;
826 struct module_ref *refptr ;
827 ctor_fn_t *ctors ;
828 unsigned int num_ctors ;
829};
830#line 19 "include/linux/klist.h"
831struct klist_node;
832#line 19
833struct klist_node;
834#line 39 "include/linux/klist.h"
835struct klist_node {
836 void *n_klist ;
837 struct list_head n_node ;
838 struct kref n_ref ;
839};
840#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
841struct dma_map_ops;
842#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
843struct dev_archdata {
844 void *acpi_handle ;
845 struct dma_map_ops *dma_ops ;
846 void *iommu ;
847};
848#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
849struct pdev_archdata {
850
851};
852#line 28 "include/linux/device.h"
853struct device;
854#line 29
855struct device_private;
856#line 29
857struct device_private;
858#line 30
859struct device_driver;
860#line 30
861struct device_driver;
862#line 31
863struct driver_private;
864#line 31
865struct driver_private;
866#line 32
867struct module;
868#line 33
869struct class;
870#line 33
871struct class;
872#line 34
873struct subsys_private;
874#line 34
875struct subsys_private;
876#line 35
877struct bus_type;
878#line 35
879struct bus_type;
880#line 36
881struct device_node;
882#line 36
883struct device_node;
884#line 37
885struct iommu_ops;
886#line 37
887struct iommu_ops;
888#line 39 "include/linux/device.h"
889struct bus_attribute {
890 struct attribute attr ;
891 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
892 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
893};
894#line 89
895struct device_attribute;
896#line 89
897struct driver_attribute;
898#line 89 "include/linux/device.h"
899struct bus_type {
900 char const *name ;
901 char const *dev_name ;
902 struct device *dev_root ;
903 struct bus_attribute *bus_attrs ;
904 struct device_attribute *dev_attrs ;
905 struct driver_attribute *drv_attrs ;
906 int (*match)(struct device *dev , struct device_driver *drv ) ;
907 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
908 int (*probe)(struct device *dev ) ;
909 int (*remove)(struct device *dev ) ;
910 void (*shutdown)(struct device *dev ) ;
911 int (*suspend)(struct device *dev , pm_message_t state ) ;
912 int (*resume)(struct device *dev ) ;
913 struct dev_pm_ops const *pm ;
914 struct iommu_ops *iommu_ops ;
915 struct subsys_private *p ;
916};
917#line 127
918struct device_type;
919#line 214
920struct of_device_id;
921#line 214 "include/linux/device.h"
922struct device_driver {
923 char const *name ;
924 struct bus_type *bus ;
925 struct module *owner ;
926 char const *mod_name ;
927 bool suppress_bind_attrs ;
928 struct of_device_id const *of_match_table ;
929 int (*probe)(struct device *dev ) ;
930 int (*remove)(struct device *dev ) ;
931 void (*shutdown)(struct device *dev ) ;
932 int (*suspend)(struct device *dev , pm_message_t state ) ;
933 int (*resume)(struct device *dev ) ;
934 struct attribute_group const **groups ;
935 struct dev_pm_ops const *pm ;
936 struct driver_private *p ;
937};
938#line 249 "include/linux/device.h"
939struct driver_attribute {
940 struct attribute attr ;
941 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
942 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
943};
944#line 330
945struct class_attribute;
946#line 330 "include/linux/device.h"
947struct class {
948 char const *name ;
949 struct module *owner ;
950 struct class_attribute *class_attrs ;
951 struct device_attribute *dev_attrs ;
952 struct bin_attribute *dev_bin_attrs ;
953 struct kobject *dev_kobj ;
954 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
955 char *(*devnode)(struct device *dev , umode_t *mode ) ;
956 void (*class_release)(struct class *class ) ;
957 void (*dev_release)(struct device *dev ) ;
958 int (*suspend)(struct device *dev , pm_message_t state ) ;
959 int (*resume)(struct device *dev ) ;
960 struct kobj_ns_type_operations const *ns_type ;
961 void const *(*namespace)(struct device *dev ) ;
962 struct dev_pm_ops const *pm ;
963 struct subsys_private *p ;
964};
965#line 397 "include/linux/device.h"
966struct class_attribute {
967 struct attribute attr ;
968 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
969 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
970 size_t count ) ;
971 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
972};
973#line 465 "include/linux/device.h"
974struct device_type {
975 char const *name ;
976 struct attribute_group const **groups ;
977 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
978 char *(*devnode)(struct device *dev , umode_t *mode ) ;
979 void (*release)(struct device *dev ) ;
980 struct dev_pm_ops const *pm ;
981};
982#line 476 "include/linux/device.h"
983struct device_attribute {
984 struct attribute attr ;
985 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
986 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
987 size_t count ) ;
988};
989#line 559 "include/linux/device.h"
990struct device_dma_parameters {
991 unsigned int max_segment_size ;
992 unsigned long segment_boundary_mask ;
993};
994#line 627
995struct dma_coherent_mem;
996#line 627 "include/linux/device.h"
997struct device {
998 struct device *parent ;
999 struct device_private *p ;
1000 struct kobject kobj ;
1001 char const *init_name ;
1002 struct device_type const *type ;
1003 struct mutex mutex ;
1004 struct bus_type *bus ;
1005 struct device_driver *driver ;
1006 void *platform_data ;
1007 struct dev_pm_info power ;
1008 struct dev_pm_domain *pm_domain ;
1009 int numa_node ;
1010 u64 *dma_mask ;
1011 u64 coherent_dma_mask ;
1012 struct device_dma_parameters *dma_parms ;
1013 struct list_head dma_pools ;
1014 struct dma_coherent_mem *dma_mem ;
1015 struct dev_archdata archdata ;
1016 struct device_node *of_node ;
1017 dev_t devt ;
1018 u32 id ;
1019 spinlock_t devres_lock ;
1020 struct list_head devres_head ;
1021 struct klist_node knode_class ;
1022 struct class *class ;
1023 struct attribute_group const **groups ;
1024 void (*release)(struct device *dev ) ;
1025};
1026#line 43 "include/linux/pm_wakeup.h"
1027struct wakeup_source {
1028 char const *name ;
1029 struct list_head entry ;
1030 spinlock_t lock ;
1031 struct timer_list timer ;
1032 unsigned long timer_expires ;
1033 ktime_t total_time ;
1034 ktime_t max_time ;
1035 ktime_t last_time ;
1036 unsigned long event_count ;
1037 unsigned long active_count ;
1038 unsigned long relax_count ;
1039 unsigned long hit_count ;
1040 unsigned int active : 1 ;
1041};
1042#line 12 "include/linux/mod_devicetable.h"
1043typedef unsigned long kernel_ulong_t;
1044#line 219 "include/linux/mod_devicetable.h"
1045struct of_device_id {
1046 char name[32] ;
1047 char type[32] ;
1048 char compatible[128] ;
1049 void *data ;
1050};
1051#line 506 "include/linux/mod_devicetable.h"
1052struct platform_device_id {
1053 char name[20] ;
1054 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
1055};
1056#line 17 "include/linux/platform_device.h"
1057struct mfd_cell;
1058#line 17
1059struct mfd_cell;
1060#line 19 "include/linux/platform_device.h"
1061struct platform_device {
1062 char const *name ;
1063 int id ;
1064 struct device dev ;
1065 u32 num_resources ;
1066 struct resource *resource ;
1067 struct platform_device_id const *id_entry ;
1068 struct mfd_cell *mfd_cell ;
1069 struct pdev_archdata archdata ;
1070};
1071#line 164 "include/linux/platform_device.h"
1072struct platform_driver {
1073 int (*probe)(struct platform_device * ) ;
1074 int (*remove)(struct platform_device * ) ;
1075 void (*shutdown)(struct platform_device * ) ;
1076 int (*suspend)(struct platform_device * , pm_message_t state ) ;
1077 int (*resume)(struct platform_device * ) ;
1078 struct device_driver driver ;
1079 struct platform_device_id const *id_table ;
1080};
1081#line 20 "include/linux/rtc.h"
1082struct rtc_time {
1083 int tm_sec ;
1084 int tm_min ;
1085 int tm_hour ;
1086 int tm_mday ;
1087 int tm_mon ;
1088 int tm_year ;
1089 int tm_wday ;
1090 int tm_yday ;
1091 int tm_isdst ;
1092};
1093#line 36 "include/linux/rtc.h"
1094struct rtc_wkalrm {
1095 unsigned char enabled ;
1096 unsigned char pending ;
1097 struct rtc_time time ;
1098};
1099#line 10 "include/linux/irqreturn.h"
1100enum irqreturn {
1101 IRQ_NONE = 0,
1102 IRQ_HANDLED = 1,
1103 IRQ_WAKE_THREAD = 2
1104} ;
1105#line 16 "include/linux/irqreturn.h"
1106typedef enum irqreturn irqreturn_t;
1107#line 31 "include/linux/irq.h"
1108struct seq_file;
1109#line 32
1110struct module;
1111#line 14 "include/linux/irqdesc.h"
1112struct module;
1113#line 65 "include/linux/profile.h"
1114struct task_struct;
1115#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1116struct exception_table_entry {
1117 unsigned long insn ;
1118 unsigned long fixup ;
1119};
1120#line 132 "include/linux/hardirq.h"
1121struct task_struct;
1122#line 8 "include/linux/timerqueue.h"
1123struct timerqueue_node {
1124 struct rb_node node ;
1125 ktime_t expires ;
1126};
1127#line 13 "include/linux/timerqueue.h"
1128struct timerqueue_head {
1129 struct rb_root head ;
1130 struct timerqueue_node *next ;
1131};
1132#line 27 "include/linux/hrtimer.h"
1133struct hrtimer_clock_base;
1134#line 27
1135struct hrtimer_clock_base;
1136#line 28
1137struct hrtimer_cpu_base;
1138#line 28
1139struct hrtimer_cpu_base;
1140#line 44
1141enum hrtimer_restart {
1142 HRTIMER_NORESTART = 0,
1143 HRTIMER_RESTART = 1
1144} ;
1145#line 108 "include/linux/hrtimer.h"
1146struct hrtimer {
1147 struct timerqueue_node node ;
1148 ktime_t _softexpires ;
1149 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1150 struct hrtimer_clock_base *base ;
1151 unsigned long state ;
1152 int start_pid ;
1153 void *start_site ;
1154 char start_comm[16] ;
1155};
1156#line 145 "include/linux/hrtimer.h"
1157struct hrtimer_clock_base {
1158 struct hrtimer_cpu_base *cpu_base ;
1159 int index ;
1160 clockid_t clockid ;
1161 struct timerqueue_head active ;
1162 ktime_t resolution ;
1163 ktime_t (*get_time)(void) ;
1164 ktime_t softirq_time ;
1165 ktime_t offset ;
1166};
1167#line 178 "include/linux/hrtimer.h"
1168struct hrtimer_cpu_base {
1169 raw_spinlock_t lock ;
1170 unsigned long active_bases ;
1171 ktime_t expires_next ;
1172 int hres_active ;
1173 int hang_detected ;
1174 unsigned long nr_events ;
1175 unsigned long nr_retries ;
1176 unsigned long nr_hangs ;
1177 ktime_t max_hang_time ;
1178 struct hrtimer_clock_base clock_base[3] ;
1179};
1180#line 187 "include/linux/interrupt.h"
1181struct device;
1182#line 695
1183struct seq_file;
1184#line 11 "include/linux/seq_file.h"
1185struct seq_operations;
1186#line 12
1187struct file;
1188#line 13
1189struct path;
1190#line 13
1191struct path;
1192#line 14
1193struct inode;
1194#line 14
1195struct inode;
1196#line 15
1197struct dentry;
1198#line 15
1199struct dentry;
1200#line 17 "include/linux/seq_file.h"
1201struct seq_file {
1202 char *buf ;
1203 size_t size ;
1204 size_t from ;
1205 size_t count ;
1206 loff_t index ;
1207 loff_t read_pos ;
1208 u64 version ;
1209 struct mutex lock ;
1210 struct seq_operations const *op ;
1211 int poll_event ;
1212 void *private ;
1213};
1214#line 31 "include/linux/seq_file.h"
1215struct seq_operations {
1216 void *(*start)(struct seq_file *m , loff_t *pos ) ;
1217 void (*stop)(struct seq_file *m , void *v ) ;
1218 void *(*next)(struct seq_file *m , void *v , loff_t *pos ) ;
1219 int (*show)(struct seq_file *m , void *v ) ;
1220};
1221#line 8 "include/linux/cdev.h"
1222struct file_operations;
1223#line 8
1224struct file_operations;
1225#line 9
1226struct inode;
1227#line 10
1228struct module;
1229#line 12 "include/linux/cdev.h"
1230struct cdev {
1231 struct kobject kobj ;
1232 struct module *owner ;
1233 struct file_operations const *ops ;
1234 struct list_head list ;
1235 dev_t dev ;
1236 unsigned int count ;
1237};
1238#line 33
1239struct backing_dev_info;
1240#line 15 "include/linux/blk_types.h"
1241struct page;
1242#line 16
1243struct block_device;
1244#line 16
1245struct block_device;
1246#line 33 "include/linux/list_bl.h"
1247struct hlist_bl_node;
1248#line 33 "include/linux/list_bl.h"
1249struct hlist_bl_head {
1250 struct hlist_bl_node *first ;
1251};
1252#line 37 "include/linux/list_bl.h"
1253struct hlist_bl_node {
1254 struct hlist_bl_node *next ;
1255 struct hlist_bl_node **pprev ;
1256};
1257#line 13 "include/linux/dcache.h"
1258struct nameidata;
1259#line 13
1260struct nameidata;
1261#line 14
1262struct path;
1263#line 15
1264struct vfsmount;
1265#line 15
1266struct vfsmount;
1267#line 35 "include/linux/dcache.h"
1268struct qstr {
1269 unsigned int hash ;
1270 unsigned int len ;
1271 unsigned char const *name ;
1272};
1273#line 88
1274struct dentry_operations;
1275#line 88
1276struct super_block;
1277#line 88 "include/linux/dcache.h"
1278union __anonunion_d_u_210 {
1279 struct list_head d_child ;
1280 struct rcu_head d_rcu ;
1281};
1282#line 88 "include/linux/dcache.h"
1283struct dentry {
1284 unsigned int d_flags ;
1285 seqcount_t d_seq ;
1286 struct hlist_bl_node d_hash ;
1287 struct dentry *d_parent ;
1288 struct qstr d_name ;
1289 struct inode *d_inode ;
1290 unsigned char d_iname[32] ;
1291 unsigned int d_count ;
1292 spinlock_t d_lock ;
1293 struct dentry_operations const *d_op ;
1294 struct super_block *d_sb ;
1295 unsigned long d_time ;
1296 void *d_fsdata ;
1297 struct list_head d_lru ;
1298 union __anonunion_d_u_210 d_u ;
1299 struct list_head d_subdirs ;
1300 struct list_head d_alias ;
1301};
1302#line 131 "include/linux/dcache.h"
1303struct dentry_operations {
1304 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1305 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1306 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1307 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1308 int (*d_delete)(struct dentry const * ) ;
1309 void (*d_release)(struct dentry * ) ;
1310 void (*d_prune)(struct dentry * ) ;
1311 void (*d_iput)(struct dentry * , struct inode * ) ;
1312 char *(*d_dname)(struct dentry * , char * , int ) ;
1313 struct vfsmount *(*d_automount)(struct path * ) ;
1314 int (*d_manage)(struct dentry * , bool ) ;
1315} __attribute__((__aligned__((1) << (6) ))) ;
1316#line 4 "include/linux/path.h"
1317struct dentry;
1318#line 5
1319struct vfsmount;
1320#line 7 "include/linux/path.h"
1321struct path {
1322 struct vfsmount *mnt ;
1323 struct dentry *dentry ;
1324};
1325#line 64 "include/linux/radix-tree.h"
1326struct radix_tree_node;
1327#line 64 "include/linux/radix-tree.h"
1328struct radix_tree_root {
1329 unsigned int height ;
1330 gfp_t gfp_mask ;
1331 struct radix_tree_node *rnode ;
1332};
1333#line 14 "include/linux/prio_tree.h"
1334struct prio_tree_node;
1335#line 20 "include/linux/prio_tree.h"
1336struct prio_tree_node {
1337 struct prio_tree_node *left ;
1338 struct prio_tree_node *right ;
1339 struct prio_tree_node *parent ;
1340 unsigned long start ;
1341 unsigned long last ;
1342};
1343#line 28 "include/linux/prio_tree.h"
1344struct prio_tree_root {
1345 struct prio_tree_node *prio_tree_node ;
1346 unsigned short index_bits ;
1347 unsigned short raw ;
1348};
1349#line 6 "include/linux/pid.h"
1350enum pid_type {
1351 PIDTYPE_PID = 0,
1352 PIDTYPE_PGID = 1,
1353 PIDTYPE_SID = 2,
1354 PIDTYPE_MAX = 3
1355} ;
1356#line 50
1357struct pid_namespace;
1358#line 50 "include/linux/pid.h"
1359struct upid {
1360 int nr ;
1361 struct pid_namespace *ns ;
1362 struct hlist_node pid_chain ;
1363};
1364#line 57 "include/linux/pid.h"
1365struct pid {
1366 atomic_t count ;
1367 unsigned int level ;
1368 struct hlist_head tasks[3] ;
1369 struct rcu_head rcu ;
1370 struct upid numbers[1] ;
1371};
1372#line 100
1373struct pid_namespace;
1374#line 18 "include/linux/capability.h"
1375struct task_struct;
1376#line 377
1377struct dentry;
1378#line 16 "include/linux/fiemap.h"
1379struct fiemap_extent {
1380 __u64 fe_logical ;
1381 __u64 fe_physical ;
1382 __u64 fe_length ;
1383 __u64 fe_reserved64[2] ;
1384 __u32 fe_flags ;
1385 __u32 fe_reserved[3] ;
1386};
1387#line 8 "include/linux/shrinker.h"
1388struct shrink_control {
1389 gfp_t gfp_mask ;
1390 unsigned long nr_to_scan ;
1391};
1392#line 31 "include/linux/shrinker.h"
1393struct shrinker {
1394 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1395 int seeks ;
1396 long batch ;
1397 struct list_head list ;
1398 atomic_long_t nr_in_batch ;
1399};
1400#line 10 "include/linux/migrate_mode.h"
1401enum migrate_mode {
1402 MIGRATE_ASYNC = 0,
1403 MIGRATE_SYNC_LIGHT = 1,
1404 MIGRATE_SYNC = 2
1405} ;
1406#line 408 "include/linux/fs.h"
1407struct export_operations;
1408#line 408
1409struct export_operations;
1410#line 410
1411struct iovec;
1412#line 410
1413struct iovec;
1414#line 411
1415struct nameidata;
1416#line 412
1417struct kiocb;
1418#line 412
1419struct kiocb;
1420#line 413
1421struct kobject;
1422#line 414
1423struct pipe_inode_info;
1424#line 414
1425struct pipe_inode_info;
1426#line 415
1427struct poll_table_struct;
1428#line 415
1429struct poll_table_struct;
1430#line 416
1431struct kstatfs;
1432#line 416
1433struct kstatfs;
1434#line 417
1435struct vm_area_struct;
1436#line 418
1437struct vfsmount;
1438#line 419
1439struct cred;
1440#line 469 "include/linux/fs.h"
1441struct iattr {
1442 unsigned int ia_valid ;
1443 umode_t ia_mode ;
1444 uid_t ia_uid ;
1445 gid_t ia_gid ;
1446 loff_t ia_size ;
1447 struct timespec ia_atime ;
1448 struct timespec ia_mtime ;
1449 struct timespec ia_ctime ;
1450 struct file *ia_file ;
1451};
1452#line 129 "include/linux/quota.h"
1453struct if_dqinfo {
1454 __u64 dqi_bgrace ;
1455 __u64 dqi_igrace ;
1456 __u32 dqi_flags ;
1457 __u32 dqi_valid ;
1458};
1459#line 50 "include/linux/dqblk_xfs.h"
1460struct fs_disk_quota {
1461 __s8 d_version ;
1462 __s8 d_flags ;
1463 __u16 d_fieldmask ;
1464 __u32 d_id ;
1465 __u64 d_blk_hardlimit ;
1466 __u64 d_blk_softlimit ;
1467 __u64 d_ino_hardlimit ;
1468 __u64 d_ino_softlimit ;
1469 __u64 d_bcount ;
1470 __u64 d_icount ;
1471 __s32 d_itimer ;
1472 __s32 d_btimer ;
1473 __u16 d_iwarns ;
1474 __u16 d_bwarns ;
1475 __s32 d_padding2 ;
1476 __u64 d_rtb_hardlimit ;
1477 __u64 d_rtb_softlimit ;
1478 __u64 d_rtbcount ;
1479 __s32 d_rtbtimer ;
1480 __u16 d_rtbwarns ;
1481 __s16 d_padding3 ;
1482 char d_padding4[8] ;
1483};
1484#line 146 "include/linux/dqblk_xfs.h"
1485struct fs_qfilestat {
1486 __u64 qfs_ino ;
1487 __u64 qfs_nblks ;
1488 __u32 qfs_nextents ;
1489};
1490#line 146 "include/linux/dqblk_xfs.h"
1491typedef struct fs_qfilestat fs_qfilestat_t;
1492#line 152 "include/linux/dqblk_xfs.h"
1493struct fs_quota_stat {
1494 __s8 qs_version ;
1495 __u16 qs_flags ;
1496 __s8 qs_pad ;
1497 fs_qfilestat_t qs_uquota ;
1498 fs_qfilestat_t qs_gquota ;
1499 __u32 qs_incoredqs ;
1500 __s32 qs_btimelimit ;
1501 __s32 qs_itimelimit ;
1502 __s32 qs_rtbtimelimit ;
1503 __u16 qs_bwarnlimit ;
1504 __u16 qs_iwarnlimit ;
1505};
1506#line 17 "include/linux/dqblk_qtree.h"
1507struct dquot;
1508#line 17
1509struct dquot;
1510#line 185 "include/linux/quota.h"
1511typedef __kernel_uid32_t qid_t;
1512#line 186 "include/linux/quota.h"
1513typedef long long qsize_t;
1514#line 200 "include/linux/quota.h"
1515struct mem_dqblk {
1516 qsize_t dqb_bhardlimit ;
1517 qsize_t dqb_bsoftlimit ;
1518 qsize_t dqb_curspace ;
1519 qsize_t dqb_rsvspace ;
1520 qsize_t dqb_ihardlimit ;
1521 qsize_t dqb_isoftlimit ;
1522 qsize_t dqb_curinodes ;
1523 time_t dqb_btime ;
1524 time_t dqb_itime ;
1525};
1526#line 215
1527struct quota_format_type;
1528#line 215
1529struct quota_format_type;
1530#line 217 "include/linux/quota.h"
1531struct mem_dqinfo {
1532 struct quota_format_type *dqi_format ;
1533 int dqi_fmt_id ;
1534 struct list_head dqi_dirty_list ;
1535 unsigned long dqi_flags ;
1536 unsigned int dqi_bgrace ;
1537 unsigned int dqi_igrace ;
1538 qsize_t dqi_maxblimit ;
1539 qsize_t dqi_maxilimit ;
1540 void *dqi_priv ;
1541};
1542#line 230
1543struct super_block;
1544#line 288 "include/linux/quota.h"
1545struct dquot {
1546 struct hlist_node dq_hash ;
1547 struct list_head dq_inuse ;
1548 struct list_head dq_free ;
1549 struct list_head dq_dirty ;
1550 struct mutex dq_lock ;
1551 atomic_t dq_count ;
1552 wait_queue_head_t dq_wait_unused ;
1553 struct super_block *dq_sb ;
1554 unsigned int dq_id ;
1555 loff_t dq_off ;
1556 unsigned long dq_flags ;
1557 short dq_type ;
1558 struct mem_dqblk dq_dqb ;
1559};
1560#line 305 "include/linux/quota.h"
1561struct quota_format_ops {
1562 int (*check_quota_file)(struct super_block *sb , int type ) ;
1563 int (*read_file_info)(struct super_block *sb , int type ) ;
1564 int (*write_file_info)(struct super_block *sb , int type ) ;
1565 int (*free_file_info)(struct super_block *sb , int type ) ;
1566 int (*read_dqblk)(struct dquot *dquot ) ;
1567 int (*commit_dqblk)(struct dquot *dquot ) ;
1568 int (*release_dqblk)(struct dquot *dquot ) ;
1569};
1570#line 316 "include/linux/quota.h"
1571struct dquot_operations {
1572 int (*write_dquot)(struct dquot * ) ;
1573 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1574 void (*destroy_dquot)(struct dquot * ) ;
1575 int (*acquire_dquot)(struct dquot * ) ;
1576 int (*release_dquot)(struct dquot * ) ;
1577 int (*mark_dirty)(struct dquot * ) ;
1578 int (*write_info)(struct super_block * , int ) ;
1579 qsize_t *(*get_reserved_space)(struct inode * ) ;
1580};
1581#line 329
1582struct path;
1583#line 332 "include/linux/quota.h"
1584struct quotactl_ops {
1585 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1586 int (*quota_on_meta)(struct super_block * , int , int ) ;
1587 int (*quota_off)(struct super_block * , int ) ;
1588 int (*quota_sync)(struct super_block * , int , int ) ;
1589 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1590 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1591 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1592 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1593 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1594 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1595};
1596#line 345 "include/linux/quota.h"
1597struct quota_format_type {
1598 int qf_fmt_id ;
1599 struct quota_format_ops const *qf_ops ;
1600 struct module *qf_owner ;
1601 struct quota_format_type *qf_next ;
1602};
1603#line 399 "include/linux/quota.h"
1604struct quota_info {
1605 unsigned int flags ;
1606 struct mutex dqio_mutex ;
1607 struct mutex dqonoff_mutex ;
1608 struct rw_semaphore dqptr_sem ;
1609 struct inode *files[2] ;
1610 struct mem_dqinfo info[2] ;
1611 struct quota_format_ops const *ops[2] ;
1612};
1613#line 532 "include/linux/fs.h"
1614struct page;
1615#line 533
1616struct address_space;
1617#line 533
1618struct address_space;
1619#line 534
1620struct writeback_control;
1621#line 534
1622struct writeback_control;
1623#line 577 "include/linux/fs.h"
1624union __anonunion_arg_218 {
1625 char *buf ;
1626 void *data ;
1627};
1628#line 577 "include/linux/fs.h"
1629struct __anonstruct_read_descriptor_t_217 {
1630 size_t written ;
1631 size_t count ;
1632 union __anonunion_arg_218 arg ;
1633 int error ;
1634};
1635#line 577 "include/linux/fs.h"
1636typedef struct __anonstruct_read_descriptor_t_217 read_descriptor_t;
1637#line 590 "include/linux/fs.h"
1638struct address_space_operations {
1639 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1640 int (*readpage)(struct file * , struct page * ) ;
1641 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1642 int (*set_page_dirty)(struct page *page ) ;
1643 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1644 unsigned int nr_pages ) ;
1645 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1646 unsigned int len , unsigned int flags , struct page **pagep ,
1647 void **fsdata ) ;
1648 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1649 unsigned int copied , struct page *page , void *fsdata ) ;
1650 sector_t (*bmap)(struct address_space * , sector_t ) ;
1651 void (*invalidatepage)(struct page * , unsigned long ) ;
1652 int (*releasepage)(struct page * , gfp_t ) ;
1653 void (*freepage)(struct page * ) ;
1654 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1655 unsigned long nr_segs ) ;
1656 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1657 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1658 int (*launder_page)(struct page * ) ;
1659 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1660 int (*error_remove_page)(struct address_space * , struct page * ) ;
1661};
1662#line 645
1663struct backing_dev_info;
1664#line 646 "include/linux/fs.h"
1665struct address_space {
1666 struct inode *host ;
1667 struct radix_tree_root page_tree ;
1668 spinlock_t tree_lock ;
1669 unsigned int i_mmap_writable ;
1670 struct prio_tree_root i_mmap ;
1671 struct list_head i_mmap_nonlinear ;
1672 struct mutex i_mmap_mutex ;
1673 unsigned long nrpages ;
1674 unsigned long writeback_index ;
1675 struct address_space_operations const *a_ops ;
1676 unsigned long flags ;
1677 struct backing_dev_info *backing_dev_info ;
1678 spinlock_t private_lock ;
1679 struct list_head private_list ;
1680 struct address_space *assoc_mapping ;
1681} __attribute__((__aligned__(sizeof(long )))) ;
1682#line 669
1683struct request_queue;
1684#line 669
1685struct request_queue;
1686#line 671
1687struct hd_struct;
1688#line 671
1689struct gendisk;
1690#line 671 "include/linux/fs.h"
1691struct block_device {
1692 dev_t bd_dev ;
1693 int bd_openers ;
1694 struct inode *bd_inode ;
1695 struct super_block *bd_super ;
1696 struct mutex bd_mutex ;
1697 struct list_head bd_inodes ;
1698 void *bd_claiming ;
1699 void *bd_holder ;
1700 int bd_holders ;
1701 bool bd_write_holder ;
1702 struct list_head bd_holder_disks ;
1703 struct block_device *bd_contains ;
1704 unsigned int bd_block_size ;
1705 struct hd_struct *bd_part ;
1706 unsigned int bd_part_count ;
1707 int bd_invalidated ;
1708 struct gendisk *bd_disk ;
1709 struct request_queue *bd_queue ;
1710 struct list_head bd_list ;
1711 unsigned long bd_private ;
1712 int bd_fsfreeze_count ;
1713 struct mutex bd_fsfreeze_mutex ;
1714};
1715#line 749
1716struct posix_acl;
1717#line 749
1718struct posix_acl;
1719#line 761
1720struct inode_operations;
1721#line 761 "include/linux/fs.h"
1722union __anonunion____missing_field_name_219 {
1723 unsigned int const i_nlink ;
1724 unsigned int __i_nlink ;
1725};
1726#line 761 "include/linux/fs.h"
1727union __anonunion____missing_field_name_220 {
1728 struct list_head i_dentry ;
1729 struct rcu_head i_rcu ;
1730};
1731#line 761
1732struct file_lock;
1733#line 761 "include/linux/fs.h"
1734union __anonunion____missing_field_name_221 {
1735 struct pipe_inode_info *i_pipe ;
1736 struct block_device *i_bdev ;
1737 struct cdev *i_cdev ;
1738};
1739#line 761 "include/linux/fs.h"
1740struct inode {
1741 umode_t i_mode ;
1742 unsigned short i_opflags ;
1743 uid_t i_uid ;
1744 gid_t i_gid ;
1745 unsigned int i_flags ;
1746 struct posix_acl *i_acl ;
1747 struct posix_acl *i_default_acl ;
1748 struct inode_operations const *i_op ;
1749 struct super_block *i_sb ;
1750 struct address_space *i_mapping ;
1751 void *i_security ;
1752 unsigned long i_ino ;
1753 union __anonunion____missing_field_name_219 __annonCompField33 ;
1754 dev_t i_rdev ;
1755 struct timespec i_atime ;
1756 struct timespec i_mtime ;
1757 struct timespec i_ctime ;
1758 spinlock_t i_lock ;
1759 unsigned short i_bytes ;
1760 blkcnt_t i_blocks ;
1761 loff_t i_size ;
1762 unsigned long i_state ;
1763 struct mutex i_mutex ;
1764 unsigned long dirtied_when ;
1765 struct hlist_node i_hash ;
1766 struct list_head i_wb_list ;
1767 struct list_head i_lru ;
1768 struct list_head i_sb_list ;
1769 union __anonunion____missing_field_name_220 __annonCompField34 ;
1770 atomic_t i_count ;
1771 unsigned int i_blkbits ;
1772 u64 i_version ;
1773 atomic_t i_dio_count ;
1774 atomic_t i_writecount ;
1775 struct file_operations const *i_fop ;
1776 struct file_lock *i_flock ;
1777 struct address_space i_data ;
1778 struct dquot *i_dquot[2] ;
1779 struct list_head i_devices ;
1780 union __anonunion____missing_field_name_221 __annonCompField35 ;
1781 __u32 i_generation ;
1782 __u32 i_fsnotify_mask ;
1783 struct hlist_head i_fsnotify_marks ;
1784 atomic_t i_readcount ;
1785 void *i_private ;
1786};
1787#line 942 "include/linux/fs.h"
1788struct fown_struct {
1789 rwlock_t lock ;
1790 struct pid *pid ;
1791 enum pid_type pid_type ;
1792 uid_t uid ;
1793 uid_t euid ;
1794 int signum ;
1795};
1796#line 953 "include/linux/fs.h"
1797struct file_ra_state {
1798 unsigned long start ;
1799 unsigned int size ;
1800 unsigned int async_size ;
1801 unsigned int ra_pages ;
1802 unsigned int mmap_miss ;
1803 loff_t prev_pos ;
1804};
1805#line 976 "include/linux/fs.h"
1806union __anonunion_f_u_222 {
1807 struct list_head fu_list ;
1808 struct rcu_head fu_rcuhead ;
1809};
1810#line 976 "include/linux/fs.h"
1811struct file {
1812 union __anonunion_f_u_222 f_u ;
1813 struct path f_path ;
1814 struct file_operations const *f_op ;
1815 spinlock_t f_lock ;
1816 int f_sb_list_cpu ;
1817 atomic_long_t f_count ;
1818 unsigned int f_flags ;
1819 fmode_t f_mode ;
1820 loff_t f_pos ;
1821 struct fown_struct f_owner ;
1822 struct cred const *f_cred ;
1823 struct file_ra_state f_ra ;
1824 u64 f_version ;
1825 void *f_security ;
1826 void *private_data ;
1827 struct list_head f_ep_links ;
1828 struct list_head f_tfile_llink ;
1829 struct address_space *f_mapping ;
1830 unsigned long f_mnt_write_state ;
1831};
1832#line 1111
1833struct files_struct;
1834#line 1111 "include/linux/fs.h"
1835typedef struct files_struct *fl_owner_t;
1836#line 1113 "include/linux/fs.h"
1837struct file_lock_operations {
1838 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1839 void (*fl_release_private)(struct file_lock * ) ;
1840};
1841#line 1118 "include/linux/fs.h"
1842struct lock_manager_operations {
1843 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1844 void (*lm_notify)(struct file_lock * ) ;
1845 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1846 void (*lm_release_private)(struct file_lock * ) ;
1847 void (*lm_break)(struct file_lock * ) ;
1848 int (*lm_change)(struct file_lock ** , int ) ;
1849};
1850#line 4 "include/linux/nfs_fs_i.h"
1851struct nlm_lockowner;
1852#line 4
1853struct nlm_lockowner;
1854#line 9 "include/linux/nfs_fs_i.h"
1855struct nfs_lock_info {
1856 u32 state ;
1857 struct nlm_lockowner *owner ;
1858 struct list_head list ;
1859};
1860#line 15
1861struct nfs4_lock_state;
1862#line 15
1863struct nfs4_lock_state;
1864#line 16 "include/linux/nfs_fs_i.h"
1865struct nfs4_lock_info {
1866 struct nfs4_lock_state *owner ;
1867};
1868#line 1138 "include/linux/fs.h"
1869struct fasync_struct;
1870#line 1138 "include/linux/fs.h"
1871struct __anonstruct_afs_224 {
1872 struct list_head link ;
1873 int state ;
1874};
1875#line 1138 "include/linux/fs.h"
1876union __anonunion_fl_u_223 {
1877 struct nfs_lock_info nfs_fl ;
1878 struct nfs4_lock_info nfs4_fl ;
1879 struct __anonstruct_afs_224 afs ;
1880};
1881#line 1138 "include/linux/fs.h"
1882struct file_lock {
1883 struct file_lock *fl_next ;
1884 struct list_head fl_link ;
1885 struct list_head fl_block ;
1886 fl_owner_t fl_owner ;
1887 unsigned int fl_flags ;
1888 unsigned char fl_type ;
1889 unsigned int fl_pid ;
1890 struct pid *fl_nspid ;
1891 wait_queue_head_t fl_wait ;
1892 struct file *fl_file ;
1893 loff_t fl_start ;
1894 loff_t fl_end ;
1895 struct fasync_struct *fl_fasync ;
1896 unsigned long fl_break_time ;
1897 unsigned long fl_downgrade_time ;
1898 struct file_lock_operations const *fl_ops ;
1899 struct lock_manager_operations const *fl_lmops ;
1900 union __anonunion_fl_u_223 fl_u ;
1901};
1902#line 1378 "include/linux/fs.h"
1903struct fasync_struct {
1904 spinlock_t fa_lock ;
1905 int magic ;
1906 int fa_fd ;
1907 struct fasync_struct *fa_next ;
1908 struct file *fa_file ;
1909 struct rcu_head fa_rcu ;
1910};
1911#line 1418
1912struct file_system_type;
1913#line 1418
1914struct super_operations;
1915#line 1418
1916struct xattr_handler;
1917#line 1418
1918struct mtd_info;
1919#line 1418 "include/linux/fs.h"
1920struct super_block {
1921 struct list_head s_list ;
1922 dev_t s_dev ;
1923 unsigned char s_dirt ;
1924 unsigned char s_blocksize_bits ;
1925 unsigned long s_blocksize ;
1926 loff_t s_maxbytes ;
1927 struct file_system_type *s_type ;
1928 struct super_operations const *s_op ;
1929 struct dquot_operations const *dq_op ;
1930 struct quotactl_ops const *s_qcop ;
1931 struct export_operations const *s_export_op ;
1932 unsigned long s_flags ;
1933 unsigned long s_magic ;
1934 struct dentry *s_root ;
1935 struct rw_semaphore s_umount ;
1936 struct mutex s_lock ;
1937 int s_count ;
1938 atomic_t s_active ;
1939 void *s_security ;
1940 struct xattr_handler const **s_xattr ;
1941 struct list_head s_inodes ;
1942 struct hlist_bl_head s_anon ;
1943 struct list_head *s_files ;
1944 struct list_head s_mounts ;
1945 struct list_head s_dentry_lru ;
1946 int s_nr_dentry_unused ;
1947 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1948 struct list_head s_inode_lru ;
1949 int s_nr_inodes_unused ;
1950 struct block_device *s_bdev ;
1951 struct backing_dev_info *s_bdi ;
1952 struct mtd_info *s_mtd ;
1953 struct hlist_node s_instances ;
1954 struct quota_info s_dquot ;
1955 int s_frozen ;
1956 wait_queue_head_t s_wait_unfrozen ;
1957 char s_id[32] ;
1958 u8 s_uuid[16] ;
1959 void *s_fs_info ;
1960 unsigned int s_max_links ;
1961 fmode_t s_mode ;
1962 u32 s_time_gran ;
1963 struct mutex s_vfs_rename_mutex ;
1964 char *s_subtype ;
1965 char *s_options ;
1966 struct dentry_operations const *s_d_op ;
1967 int cleancache_poolid ;
1968 struct shrinker s_shrink ;
1969 atomic_long_t s_remove_count ;
1970 int s_readonly_remount ;
1971};
1972#line 1567 "include/linux/fs.h"
1973struct fiemap_extent_info {
1974 unsigned int fi_flags ;
1975 unsigned int fi_extents_mapped ;
1976 unsigned int fi_extents_max ;
1977 struct fiemap_extent *fi_extents_start ;
1978};
1979#line 1609 "include/linux/fs.h"
1980struct file_operations {
1981 struct module *owner ;
1982 loff_t (*llseek)(struct file * , loff_t , int ) ;
1983 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1984 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1985 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1986 loff_t ) ;
1987 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1988 loff_t ) ;
1989 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1990 loff_t , u64 , unsigned int ) ) ;
1991 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1992 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1993 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1994 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1995 int (*open)(struct inode * , struct file * ) ;
1996 int (*flush)(struct file * , fl_owner_t id ) ;
1997 int (*release)(struct inode * , struct file * ) ;
1998 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1999 int (*aio_fsync)(struct kiocb * , int datasync ) ;
2000 int (*fasync)(int , struct file * , int ) ;
2001 int (*lock)(struct file * , int , struct file_lock * ) ;
2002 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
2003 int ) ;
2004 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2005 unsigned long , unsigned long ) ;
2006 int (*check_flags)(int ) ;
2007 int (*flock)(struct file * , int , struct file_lock * ) ;
2008 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
2009 unsigned int ) ;
2010 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
2011 unsigned int ) ;
2012 int (*setlease)(struct file * , long , struct file_lock ** ) ;
2013 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
2014};
2015#line 1639 "include/linux/fs.h"
2016struct inode_operations {
2017 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
2018 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2019 int (*permission)(struct inode * , int ) ;
2020 struct posix_acl *(*get_acl)(struct inode * , int ) ;
2021 int (*readlink)(struct dentry * , char * , int ) ;
2022 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2023 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
2024 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2025 int (*unlink)(struct inode * , struct dentry * ) ;
2026 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
2027 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
2028 int (*rmdir)(struct inode * , struct dentry * ) ;
2029 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
2030 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2031 void (*truncate)(struct inode * ) ;
2032 int (*setattr)(struct dentry * , struct iattr * ) ;
2033 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
2034 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2035 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2036 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2037 int (*removexattr)(struct dentry * , char const * ) ;
2038 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2039 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
2040} __attribute__((__aligned__((1) << (6) ))) ;
2041#line 1669
2042struct seq_file;
2043#line 1684 "include/linux/fs.h"
2044struct super_operations {
2045 struct inode *(*alloc_inode)(struct super_block *sb ) ;
2046 void (*destroy_inode)(struct inode * ) ;
2047 void (*dirty_inode)(struct inode * , int flags ) ;
2048 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
2049 int (*drop_inode)(struct inode * ) ;
2050 void (*evict_inode)(struct inode * ) ;
2051 void (*put_super)(struct super_block * ) ;
2052 void (*write_super)(struct super_block * ) ;
2053 int (*sync_fs)(struct super_block *sb , int wait ) ;
2054 int (*freeze_fs)(struct super_block * ) ;
2055 int (*unfreeze_fs)(struct super_block * ) ;
2056 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2057 int (*remount_fs)(struct super_block * , int * , char * ) ;
2058 void (*umount_begin)(struct super_block * ) ;
2059 int (*show_options)(struct seq_file * , struct dentry * ) ;
2060 int (*show_devname)(struct seq_file * , struct dentry * ) ;
2061 int (*show_path)(struct seq_file * , struct dentry * ) ;
2062 int (*show_stats)(struct seq_file * , struct dentry * ) ;
2063 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2064 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2065 loff_t ) ;
2066 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2067 int (*nr_cached_objects)(struct super_block * ) ;
2068 void (*free_cached_objects)(struct super_block * , int ) ;
2069};
2070#line 1835 "include/linux/fs.h"
2071struct file_system_type {
2072 char const *name ;
2073 int fs_flags ;
2074 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2075 void (*kill_sb)(struct super_block * ) ;
2076 struct module *owner ;
2077 struct file_system_type *next ;
2078 struct hlist_head fs_supers ;
2079 struct lock_class_key s_lock_key ;
2080 struct lock_class_key s_umount_key ;
2081 struct lock_class_key s_vfs_rename_key ;
2082 struct lock_class_key i_lock_key ;
2083 struct lock_class_key i_mutex_key ;
2084 struct lock_class_key i_mutex_dir_key ;
2085};
2086#line 28 "include/linux/poll.h"
2087struct poll_table_struct;
2088#line 39 "include/linux/poll.h"
2089struct poll_table_struct {
2090 void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
2091 unsigned long _key ;
2092};
2093#line 143 "include/linux/rtc.h"
2094struct rtc_class_ops {
2095 int (*open)(struct device * ) ;
2096 void (*release)(struct device * ) ;
2097 int (*ioctl)(struct device * , unsigned int , unsigned long ) ;
2098 int (*read_time)(struct device * , struct rtc_time * ) ;
2099 int (*set_time)(struct device * , struct rtc_time * ) ;
2100 int (*read_alarm)(struct device * , struct rtc_wkalrm * ) ;
2101 int (*set_alarm)(struct device * , struct rtc_wkalrm * ) ;
2102 int (*proc)(struct device * , struct seq_file * ) ;
2103 int (*set_mmss)(struct device * , unsigned long secs ) ;
2104 int (*read_callback)(struct device * , int data ) ;
2105 int (*alarm_irq_enable)(struct device * , unsigned int enabled ) ;
2106};
2107#line 158 "include/linux/rtc.h"
2108struct rtc_task {
2109 void (*func)(void *private_data ) ;
2110 void *private_data ;
2111};
2112#line 164 "include/linux/rtc.h"
2113struct rtc_timer {
2114 struct rtc_task task ;
2115 struct timerqueue_node node ;
2116 ktime_t period ;
2117 int enabled ;
2118};
2119#line 175 "include/linux/rtc.h"
2120struct rtc_device {
2121 struct device dev ;
2122 struct module *owner ;
2123 int id ;
2124 char name[20] ;
2125 struct rtc_class_ops const *ops ;
2126 struct mutex ops_lock ;
2127 struct cdev char_dev ;
2128 unsigned long flags ;
2129 unsigned long irq_data ;
2130 spinlock_t irq_lock ;
2131 wait_queue_head_t irq_queue ;
2132 struct fasync_struct *async_queue ;
2133 struct rtc_task *irq_task ;
2134 spinlock_t irq_task_lock ;
2135 int irq_freq ;
2136 int max_user_freq ;
2137 struct timerqueue_head timerqueue ;
2138 struct rtc_timer aie_timer ;
2139 struct rtc_timer uie_rtctimer ;
2140 struct hrtimer pie_timer ;
2141 int pie_enabled ;
2142 struct work_struct irqwork ;
2143 int uie_unsupported ;
2144 struct work_struct uie_task ;
2145 struct timer_list uie_timer ;
2146 unsigned int oldsecs ;
2147 unsigned int uie_irq_active : 1 ;
2148 unsigned int stop_uie_polling : 1 ;
2149 unsigned int uie_task_active : 1 ;
2150 unsigned int uie_timer_active : 1 ;
2151};
2152#line 18 "include/linux/regmap.h"
2153struct module;
2154#line 19
2155struct device;
2156#line 22
2157struct regmap;
2158#line 22
2159struct regmap;
2160#line 24 "include/linux/mfd/core.h"
2161struct mfd_cell {
2162 char const *name ;
2163 int id ;
2164 atomic_t *usage_count ;
2165 int (*enable)(struct platform_device *dev ) ;
2166 int (*disable)(struct platform_device *dev ) ;
2167 int (*suspend)(struct platform_device *dev ) ;
2168 int (*resume)(struct platform_device *dev ) ;
2169 void *platform_data ;
2170 size_t pdata_size ;
2171 int num_resources ;
2172 struct resource const *resources ;
2173 bool ignore_resource_conflicts ;
2174 bool pm_runtime_no_callbacks ;
2175};
2176#line 78 "include/linux/mfd/da9052/da9052.h"
2177struct da9052 {
2178 struct device *dev ;
2179 struct regmap *regmap ;
2180 int irq_base ;
2181 u8 chip_id ;
2182 int chip_irq ;
2183};
2184#line 26 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
2185struct da9052_rtc {
2186 struct rtc_device *rtc ;
2187 struct da9052 *da9052 ;
2188 int irq ;
2189};
2190#line 1 "<compiler builtins>"
2191long __builtin_expect(long val , long res ) ;
2192#line 27 "include/linux/err.h"
2193__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
2194#line 27 "include/linux/err.h"
2195__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr )
2196{
2197
2198 {
2199#line 29
2200 return ((long )ptr);
2201}
2202}
2203#line 32
2204__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
2205#line 32 "include/linux/err.h"
2206__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr )
2207{ long tmp ;
2208 unsigned long __cil_tmp3 ;
2209 int __cil_tmp4 ;
2210 int __cil_tmp5 ;
2211 int __cil_tmp6 ;
2212 long __cil_tmp7 ;
2213
2214 {
2215 {
2216#line 34
2217 __cil_tmp3 = (unsigned long )ptr;
2218#line 34
2219 __cil_tmp4 = __cil_tmp3 >= 0xfffffffffffff001UL;
2220#line 34
2221 __cil_tmp5 = ! __cil_tmp4;
2222#line 34
2223 __cil_tmp6 = ! __cil_tmp5;
2224#line 34
2225 __cil_tmp7 = (long )__cil_tmp6;
2226#line 34
2227 tmp = __builtin_expect(__cil_tmp7, 0L);
2228 }
2229#line 34
2230 return (tmp);
2231}
2232}
2233#line 152 "include/linux/mutex.h"
2234void mutex_lock(struct mutex *lock ) ;
2235#line 153
2236int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2237#line 154
2238int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2239#line 168
2240int mutex_trylock(struct mutex *lock ) ;
2241#line 169
2242void mutex_unlock(struct mutex *lock ) ;
2243#line 170
2244int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2245#line 26 "include/linux/export.h"
2246extern struct module __this_module ;
2247#line 67 "include/linux/module.h"
2248int init_module(void) ;
2249#line 68
2250void cleanup_module(void) ;
2251#line 553 "include/linux/device.h"
2252extern void *devm_kzalloc(struct device *dev , size_t size , gfp_t gfp ) ;
2253#line 554
2254extern void devm_kfree(struct device *dev , void *p ) ;
2255#line 792
2256extern void *dev_get_drvdata(struct device const *dev ) ;
2257#line 793
2258extern int dev_set_drvdata(struct device *dev , void *data ) ;
2259#line 891
2260extern int ( dev_err)(struct device const *dev , char const *fmt
2261 , ...) ;
2262#line 49 "include/linux/platform_device.h"
2263extern int platform_get_irq_byname(struct platform_device * , char const * ) ;
2264#line 174
2265extern int platform_driver_register(struct platform_driver * ) ;
2266#line 175
2267extern void platform_driver_unregister(struct platform_driver * ) ;
2268#line 188
2269__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) __attribute__((__no_instrument_function__)) ;
2270#line 188 "include/linux/platform_device.h"
2271__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
2272{ unsigned long __cil_tmp3 ;
2273 unsigned long __cil_tmp4 ;
2274 struct device *__cil_tmp5 ;
2275
2276 {
2277 {
2278#line 190
2279 __cil_tmp3 = (unsigned long )pdev;
2280#line 190
2281 __cil_tmp4 = __cil_tmp3 + 16;
2282#line 190
2283 __cil_tmp5 = (struct device *)__cil_tmp4;
2284#line 190
2285 dev_set_drvdata(__cil_tmp5, data);
2286 }
2287#line 191
2288 return;
2289}
2290}
2291#line 126 "include/linux/interrupt.h"
2292extern int __attribute__((__warn_unused_result__)) request_threaded_irq(unsigned int irq ,
2293 irqreturn_t (*handler)(int ,
2294 void * ) ,
2295 irqreturn_t (*thread_fn)(int ,
2296 void * ) ,
2297 unsigned long flags ,
2298 char const *name ,
2299 void *dev ) ;
2300#line 184
2301extern void free_irq(unsigned int , void * ) ;
2302#line 110 "include/linux/rtc.h"
2303extern int rtc_valid_tm(struct rtc_time *tm ) ;
2304#line 221
2305extern struct rtc_device *rtc_device_register(char const *name , struct device *dev ,
2306 struct rtc_class_ops const *ops ,
2307 struct module *owner ) ;
2308#line 225
2309extern void rtc_device_unregister(struct rtc_device *rtc ) ;
2310#line 237
2311extern void rtc_update_irq(struct rtc_device *rtc , unsigned long num , unsigned long events ) ;
2312#line 147 "include/linux/regmap.h"
2313extern int regmap_raw_write(struct regmap *map , unsigned int reg , void const *val ,
2314 size_t val_len ) ;
2315#line 151
2316extern int regmap_read(struct regmap *map , unsigned int reg , unsigned int *val ) ;
2317#line 154
2318extern int regmap_bulk_read(struct regmap *map , unsigned int reg , void *val , size_t val_count ) ;
2319#line 156
2320extern int regmap_update_bits(struct regmap *map , unsigned int reg , unsigned int mask ,
2321 unsigned int val ) ;
2322#line 89 "include/linux/mfd/da9052/da9052.h"
2323__inline static int da9052_reg_read(struct da9052 *da9052 , unsigned char reg ) __attribute__((__no_instrument_function__)) ;
2324#line 89 "include/linux/mfd/da9052/da9052.h"
2325__inline static int da9052_reg_read(struct da9052 *da9052 , unsigned char reg )
2326{ int val ;
2327 int ret ;
2328 unsigned long __cil_tmp5 ;
2329 unsigned long __cil_tmp6 ;
2330 struct regmap *__cil_tmp7 ;
2331 unsigned int __cil_tmp8 ;
2332 unsigned int *__cil_tmp9 ;
2333 int *__cil_tmp10 ;
2334
2335 {
2336 {
2337#line 93
2338 __cil_tmp5 = (unsigned long )da9052;
2339#line 93
2340 __cil_tmp6 = __cil_tmp5 + 8;
2341#line 93
2342 __cil_tmp7 = *((struct regmap **)__cil_tmp6);
2343#line 93
2344 __cil_tmp8 = (unsigned int )reg;
2345#line 93
2346 __cil_tmp9 = (unsigned int *)(& val);
2347#line 93
2348 ret = regmap_read(__cil_tmp7, __cil_tmp8, __cil_tmp9);
2349 }
2350#line 94
2351 if (ret < 0) {
2352#line 95
2353 return (ret);
2354 } else {
2355
2356 }
2357 {
2358#line 96
2359 __cil_tmp10 = & val;
2360#line 96
2361 return (*__cil_tmp10);
2362 }
2363}
2364}
2365#line 105
2366__inline static int da9052_group_read(struct da9052 *da9052 , unsigned char reg ,
2367 unsigned int reg_cnt , unsigned char *val ) __attribute__((__no_instrument_function__)) ;
2368#line 105 "include/linux/mfd/da9052/da9052.h"
2369__inline static int da9052_group_read(struct da9052 *da9052 , unsigned char reg ,
2370 unsigned int reg_cnt , unsigned char *val )
2371{ int tmp ;
2372 unsigned long __cil_tmp6 ;
2373 unsigned long __cil_tmp7 ;
2374 struct regmap *__cil_tmp8 ;
2375 unsigned int __cil_tmp9 ;
2376 void *__cil_tmp10 ;
2377 size_t __cil_tmp11 ;
2378
2379 {
2380 {
2381#line 108
2382 __cil_tmp6 = (unsigned long )da9052;
2383#line 108
2384 __cil_tmp7 = __cil_tmp6 + 8;
2385#line 108
2386 __cil_tmp8 = *((struct regmap **)__cil_tmp7);
2387#line 108
2388 __cil_tmp9 = (unsigned int )reg;
2389#line 108
2390 __cil_tmp10 = (void *)val;
2391#line 108
2392 __cil_tmp11 = (size_t )reg_cnt;
2393#line 108
2394 tmp = regmap_bulk_read(__cil_tmp8, __cil_tmp9, __cil_tmp10, __cil_tmp11);
2395 }
2396#line 108
2397 return (tmp);
2398}
2399}
2400#line 111
2401__inline static int da9052_group_write(struct da9052 *da9052 , unsigned char reg ,
2402 unsigned int reg_cnt , unsigned char *val ) __attribute__((__no_instrument_function__)) ;
2403#line 111 "include/linux/mfd/da9052/da9052.h"
2404__inline static int da9052_group_write(struct da9052 *da9052 , unsigned char reg ,
2405 unsigned int reg_cnt , unsigned char *val )
2406{ int tmp ;
2407 unsigned long __cil_tmp6 ;
2408 unsigned long __cil_tmp7 ;
2409 struct regmap *__cil_tmp8 ;
2410 unsigned int __cil_tmp9 ;
2411 void const *__cil_tmp10 ;
2412 size_t __cil_tmp11 ;
2413
2414 {
2415 {
2416#line 114
2417 __cil_tmp6 = (unsigned long )da9052;
2418#line 114
2419 __cil_tmp7 = __cil_tmp6 + 8;
2420#line 114
2421 __cil_tmp8 = *((struct regmap **)__cil_tmp7);
2422#line 114
2423 __cil_tmp9 = (unsigned int )reg;
2424#line 114
2425 __cil_tmp10 = (void const *)val;
2426#line 114
2427 __cil_tmp11 = (size_t )reg_cnt;
2428#line 114
2429 tmp = regmap_raw_write(__cil_tmp8, __cil_tmp9, __cil_tmp10, __cil_tmp11);
2430 }
2431#line 114
2432 return (tmp);
2433}
2434}
2435#line 117
2436__inline static int da9052_reg_update(struct da9052 *da9052 , unsigned char reg ,
2437 unsigned char bit_mask , unsigned char reg_val ) __attribute__((__no_instrument_function__)) ;
2438#line 117 "include/linux/mfd/da9052/da9052.h"
2439__inline static int da9052_reg_update(struct da9052 *da9052 , unsigned char reg ,
2440 unsigned char bit_mask , unsigned char reg_val )
2441{ int tmp ;
2442 unsigned long __cil_tmp6 ;
2443 unsigned long __cil_tmp7 ;
2444 struct regmap *__cil_tmp8 ;
2445 unsigned int __cil_tmp9 ;
2446 unsigned int __cil_tmp10 ;
2447 unsigned int __cil_tmp11 ;
2448
2449 {
2450 {
2451#line 121
2452 __cil_tmp6 = (unsigned long )da9052;
2453#line 121
2454 __cil_tmp7 = __cil_tmp6 + 8;
2455#line 121
2456 __cil_tmp8 = *((struct regmap **)__cil_tmp7);
2457#line 121
2458 __cil_tmp9 = (unsigned int )reg;
2459#line 121
2460 __cil_tmp10 = (unsigned int )bit_mask;
2461#line 121
2462 __cil_tmp11 = (unsigned int )reg_val;
2463#line 121
2464 tmp = regmap_update_bits(__cil_tmp8, __cil_tmp9, __cil_tmp10, __cil_tmp11);
2465 }
2466#line 121
2467 return (tmp);
2468}
2469}
2470#line 32 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
2471static int da9052_rtc_enable_alarm(struct da9052 *da9052 , bool enable )
2472{ int ret ;
2473 struct device *__cil_tmp4 ;
2474 struct device const *__cil_tmp5 ;
2475 struct device *__cil_tmp6 ;
2476 struct device const *__cil_tmp7 ;
2477
2478 {
2479#line 35
2480 if (enable) {
2481 {
2482#line 36
2483 ret = da9052_reg_update(da9052, (unsigned char)121, (unsigned char)64, (unsigned char)64);
2484 }
2485#line 39
2486 if (ret != 0) {
2487 {
2488#line 40
2489 __cil_tmp4 = *((struct device **)da9052);
2490#line 40
2491 __cil_tmp5 = (struct device const *)__cil_tmp4;
2492#line 40
2493 dev_err(__cil_tmp5, "%s: Failed to enable ALM: %d\n", "da9052_rtc_enable_alarm",
2494 ret);
2495 }
2496 } else {
2497
2498 }
2499 } else {
2500 {
2501#line 42
2502 ret = da9052_reg_update(da9052, (unsigned char)121, (unsigned char)64, (unsigned char)0);
2503 }
2504#line 44
2505 if (ret != 0) {
2506 {
2507#line 45
2508 __cil_tmp6 = *((struct device **)da9052);
2509#line 45
2510 __cil_tmp7 = (struct device const *)__cil_tmp6;
2511#line 45
2512 dev_err(__cil_tmp7, "%s: Write error: %d\n", "da9052_rtc_enable_alarm", ret);
2513 }
2514 } else {
2515
2516 }
2517 }
2518#line 47
2519 return (ret);
2520}
2521}
2522#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
2523static irqreturn_t da9052_rtc_irq(int irq , void *data )
2524{ struct da9052_rtc *rtc ;
2525 int ret ;
2526 unsigned long __cil_tmp5 ;
2527 unsigned long __cil_tmp6 ;
2528 struct da9052 *__cil_tmp7 ;
2529 unsigned long __cil_tmp8 ;
2530 unsigned long __cil_tmp9 ;
2531 struct da9052 *__cil_tmp10 ;
2532 struct device *__cil_tmp11 ;
2533 struct device const *__cil_tmp12 ;
2534 unsigned long __cil_tmp13 ;
2535 unsigned long __cil_tmp14 ;
2536 struct da9052 *__cil_tmp15 ;
2537 bool __cil_tmp16 ;
2538 struct rtc_device *__cil_tmp17 ;
2539 struct rtc_device *__cil_tmp18 ;
2540
2541 {
2542 {
2543#line 52
2544 rtc = (struct da9052_rtc *)data;
2545#line 55
2546 __cil_tmp5 = (unsigned long )rtc;
2547#line 55
2548 __cil_tmp6 = __cil_tmp5 + 8;
2549#line 55
2550 __cil_tmp7 = *((struct da9052 **)__cil_tmp6);
2551#line 55
2552 ret = da9052_reg_read(__cil_tmp7, (unsigned char)117);
2553 }
2554#line 56
2555 if (ret < 0) {
2556 {
2557#line 57
2558 __cil_tmp8 = (unsigned long )rtc;
2559#line 57
2560 __cil_tmp9 = __cil_tmp8 + 8;
2561#line 57
2562 __cil_tmp10 = *((struct da9052 **)__cil_tmp9);
2563#line 57
2564 __cil_tmp11 = *((struct device **)__cil_tmp10);
2565#line 57
2566 __cil_tmp12 = (struct device const *)__cil_tmp11;
2567#line 57
2568 dev_err(__cil_tmp12, "%s: Read error: %d\n", "da9052_rtc_irq", ret);
2569 }
2570#line 58
2571 return ((irqreturn_t )0);
2572 } else {
2573
2574 }
2575#line 61
2576 if (ret & 64) {
2577 {
2578#line 62
2579 __cil_tmp13 = (unsigned long )rtc;
2580#line 62
2581 __cil_tmp14 = __cil_tmp13 + 8;
2582#line 62
2583 __cil_tmp15 = *((struct da9052 **)__cil_tmp14);
2584#line 62
2585 __cil_tmp16 = (bool )0;
2586#line 62
2587 da9052_rtc_enable_alarm(__cil_tmp15, __cil_tmp16);
2588#line 63
2589 __cil_tmp17 = *((struct rtc_device **)rtc);
2590#line 63
2591 rtc_update_irq(__cil_tmp17, 1UL, 160UL);
2592 }
2593 } else {
2594 {
2595#line 65
2596 __cil_tmp18 = *((struct rtc_device **)rtc);
2597#line 65
2598 rtc_update_irq(__cil_tmp18, 1UL, 192UL);
2599 }
2600 }
2601#line 67
2602 return ((irqreturn_t )1);
2603}
2604}
2605#line 70 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
2606static int da9052_read_alarm(struct da9052 *da9052 , struct rtc_time *rtc_tm )
2607{ int ret ;
2608 uint8_t v[5] ;
2609 unsigned long __cil_tmp5 ;
2610 unsigned long __cil_tmp6 ;
2611 uint8_t *__cil_tmp7 ;
2612 struct device *__cil_tmp8 ;
2613 struct device const *__cil_tmp9 ;
2614 unsigned long __cil_tmp10 ;
2615 unsigned long __cil_tmp11 ;
2616 unsigned long __cil_tmp12 ;
2617 unsigned long __cil_tmp13 ;
2618 uint8_t __cil_tmp14 ;
2619 int __cil_tmp15 ;
2620 int __cil_tmp16 ;
2621 unsigned long __cil_tmp17 ;
2622 unsigned long __cil_tmp18 ;
2623 unsigned long __cil_tmp19 ;
2624 unsigned long __cil_tmp20 ;
2625 uint8_t __cil_tmp21 ;
2626 int __cil_tmp22 ;
2627 int __cil_tmp23 ;
2628 unsigned long __cil_tmp24 ;
2629 unsigned long __cil_tmp25 ;
2630 unsigned long __cil_tmp26 ;
2631 unsigned long __cil_tmp27 ;
2632 uint8_t __cil_tmp28 ;
2633 int __cil_tmp29 ;
2634 unsigned long __cil_tmp30 ;
2635 unsigned long __cil_tmp31 ;
2636 unsigned long __cil_tmp32 ;
2637 unsigned long __cil_tmp33 ;
2638 uint8_t __cil_tmp34 ;
2639 int __cil_tmp35 ;
2640 unsigned long __cil_tmp36 ;
2641 unsigned long __cil_tmp37 ;
2642 unsigned long __cil_tmp38 ;
2643 unsigned long __cil_tmp39 ;
2644 uint8_t __cil_tmp40 ;
2645 int __cil_tmp41 ;
2646
2647 {
2648 {
2649#line 75
2650 __cil_tmp5 = 0 * 1UL;
2651#line 75
2652 __cil_tmp6 = (unsigned long )(v) + __cil_tmp5;
2653#line 75
2654 __cil_tmp7 = (uint8_t *)__cil_tmp6;
2655#line 75
2656 ret = da9052_group_read(da9052, (unsigned char)117, 5U, __cil_tmp7);
2657 }
2658#line 76
2659 if (ret != 0) {
2660 {
2661#line 77
2662 __cil_tmp8 = *((struct device **)da9052);
2663#line 77
2664 __cil_tmp9 = (struct device const *)__cil_tmp8;
2665#line 77
2666 dev_err(__cil_tmp9, "%s: Failed to group read ALM: %d\n", "da9052_read_alarm",
2667 ret);
2668 }
2669#line 78
2670 return (ret);
2671 } else {
2672
2673 }
2674 {
2675#line 81
2676 __cil_tmp10 = (unsigned long )rtc_tm;
2677#line 81
2678 __cil_tmp11 = __cil_tmp10 + 20;
2679#line 81
2680 __cil_tmp12 = 4 * 1UL;
2681#line 81
2682 __cil_tmp13 = (unsigned long )(v) + __cil_tmp12;
2683#line 81
2684 __cil_tmp14 = *((uint8_t *)__cil_tmp13);
2685#line 81
2686 __cil_tmp15 = (int )__cil_tmp14;
2687#line 81
2688 __cil_tmp16 = __cil_tmp15 & 63;
2689#line 81
2690 *((int *)__cil_tmp11) = __cil_tmp16 + 100;
2691#line 82
2692 __cil_tmp17 = (unsigned long )rtc_tm;
2693#line 82
2694 __cil_tmp18 = __cil_tmp17 + 16;
2695#line 82
2696 __cil_tmp19 = 3 * 1UL;
2697#line 82
2698 __cil_tmp20 = (unsigned long )(v) + __cil_tmp19;
2699#line 82
2700 __cil_tmp21 = *((uint8_t *)__cil_tmp20);
2701#line 82
2702 __cil_tmp22 = (int )__cil_tmp21;
2703#line 82
2704 __cil_tmp23 = __cil_tmp22 & 15;
2705#line 82
2706 *((int *)__cil_tmp18) = __cil_tmp23 - 1;
2707#line 83
2708 __cil_tmp24 = (unsigned long )rtc_tm;
2709#line 83
2710 __cil_tmp25 = __cil_tmp24 + 12;
2711#line 83
2712 __cil_tmp26 = 2 * 1UL;
2713#line 83
2714 __cil_tmp27 = (unsigned long )(v) + __cil_tmp26;
2715#line 83
2716 __cil_tmp28 = *((uint8_t *)__cil_tmp27);
2717#line 83
2718 __cil_tmp29 = (int )__cil_tmp28;
2719#line 83
2720 *((int *)__cil_tmp25) = __cil_tmp29 & 31;
2721#line 84
2722 __cil_tmp30 = (unsigned long )rtc_tm;
2723#line 84
2724 __cil_tmp31 = __cil_tmp30 + 8;
2725#line 84
2726 __cil_tmp32 = 1 * 1UL;
2727#line 84
2728 __cil_tmp33 = (unsigned long )(v) + __cil_tmp32;
2729#line 84
2730 __cil_tmp34 = *((uint8_t *)__cil_tmp33);
2731#line 84
2732 __cil_tmp35 = (int )__cil_tmp34;
2733#line 84
2734 *((int *)__cil_tmp31) = __cil_tmp35 & 31;
2735#line 85
2736 __cil_tmp36 = (unsigned long )rtc_tm;
2737#line 85
2738 __cil_tmp37 = __cil_tmp36 + 4;
2739#line 85
2740 __cil_tmp38 = 0 * 1UL;
2741#line 85
2742 __cil_tmp39 = (unsigned long )(v) + __cil_tmp38;
2743#line 85
2744 __cil_tmp40 = *((uint8_t *)__cil_tmp39);
2745#line 85
2746 __cil_tmp41 = (int )__cil_tmp40;
2747#line 85
2748 *((int *)__cil_tmp37) = __cil_tmp41 & 63;
2749#line 87
2750 ret = rtc_valid_tm(rtc_tm);
2751 }
2752#line 88
2753 if (ret != 0) {
2754#line 89
2755 return (ret);
2756 } else {
2757
2758 }
2759#line 90
2760 return (ret);
2761}
2762}
2763#line 93 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
2764static int da9052_set_alarm(struct da9052 *da9052 , struct rtc_time *rtc_tm )
2765{ int ret ;
2766 uint8_t v[3] ;
2767 unsigned long __cil_tmp5 ;
2768 unsigned long __cil_tmp6 ;
2769 unsigned long __cil_tmp7 ;
2770 unsigned long __cil_tmp8 ;
2771 int __cil_tmp9 ;
2772 unsigned long __cil_tmp10 ;
2773 unsigned long __cil_tmp11 ;
2774 unsigned long __cil_tmp12 ;
2775 unsigned long __cil_tmp13 ;
2776 int __cil_tmp14 ;
2777 unsigned long __cil_tmp15 ;
2778 unsigned long __cil_tmp16 ;
2779 int __cil_tmp17 ;
2780 unsigned char __cil_tmp18 ;
2781 struct device *__cil_tmp19 ;
2782 struct device const *__cil_tmp20 ;
2783 unsigned long __cil_tmp21 ;
2784 unsigned long __cil_tmp22 ;
2785 unsigned long __cil_tmp23 ;
2786 unsigned long __cil_tmp24 ;
2787 int __cil_tmp25 ;
2788 unsigned long __cil_tmp26 ;
2789 unsigned long __cil_tmp27 ;
2790 unsigned long __cil_tmp28 ;
2791 unsigned long __cil_tmp29 ;
2792 int __cil_tmp30 ;
2793 unsigned long __cil_tmp31 ;
2794 unsigned long __cil_tmp32 ;
2795 unsigned long __cil_tmp33 ;
2796 unsigned long __cil_tmp34 ;
2797 int __cil_tmp35 ;
2798 unsigned long __cil_tmp36 ;
2799 unsigned long __cil_tmp37 ;
2800 uint8_t *__cil_tmp38 ;
2801 unsigned long __cil_tmp39 ;
2802 unsigned long __cil_tmp40 ;
2803 int __cil_tmp41 ;
2804 unsigned char __cil_tmp42 ;
2805 struct device *__cil_tmp43 ;
2806 struct device const *__cil_tmp44 ;
2807
2808 {
2809 {
2810#line 98
2811 __cil_tmp5 = (unsigned long )rtc_tm;
2812#line 98
2813 __cil_tmp6 = __cil_tmp5 + 20;
2814#line 98
2815 __cil_tmp7 = (unsigned long )rtc_tm;
2816#line 98
2817 __cil_tmp8 = __cil_tmp7 + 20;
2818#line 98
2819 __cil_tmp9 = *((int *)__cil_tmp8);
2820#line 98
2821 *((int *)__cil_tmp6) = __cil_tmp9 - 100;
2822#line 99
2823 __cil_tmp10 = (unsigned long )rtc_tm;
2824#line 99
2825 __cil_tmp11 = __cil_tmp10 + 16;
2826#line 99
2827 __cil_tmp12 = (unsigned long )rtc_tm;
2828#line 99
2829 __cil_tmp13 = __cil_tmp12 + 16;
2830#line 99
2831 __cil_tmp14 = *((int *)__cil_tmp13);
2832#line 99
2833 *((int *)__cil_tmp11) = __cil_tmp14 + 1;
2834#line 101
2835 __cil_tmp15 = (unsigned long )rtc_tm;
2836#line 101
2837 __cil_tmp16 = __cil_tmp15 + 4;
2838#line 101
2839 __cil_tmp17 = *((int *)__cil_tmp16);
2840#line 101
2841 __cil_tmp18 = (unsigned char )__cil_tmp17;
2842#line 101
2843 ret = da9052_reg_update(da9052, (unsigned char)117, (unsigned char)63, __cil_tmp18);
2844 }
2845#line 103
2846 if (ret != 0) {
2847 {
2848#line 104
2849 __cil_tmp19 = *((struct device **)da9052);
2850#line 104
2851 __cil_tmp20 = (struct device const *)__cil_tmp19;
2852#line 104
2853 dev_err(__cil_tmp20, "%s: Failed to write ALRM MIN: %d\n", "da9052_set_alarm",
2854 ret);
2855 }
2856#line 105
2857 return (ret);
2858 } else {
2859
2860 }
2861 {
2862#line 108
2863 __cil_tmp21 = 0 * 1UL;
2864#line 108
2865 __cil_tmp22 = (unsigned long )(v) + __cil_tmp21;
2866#line 108
2867 __cil_tmp23 = (unsigned long )rtc_tm;
2868#line 108
2869 __cil_tmp24 = __cil_tmp23 + 8;
2870#line 108
2871 __cil_tmp25 = *((int *)__cil_tmp24);
2872#line 108
2873 *((uint8_t *)__cil_tmp22) = (uint8_t )__cil_tmp25;
2874#line 109
2875 __cil_tmp26 = 1 * 1UL;
2876#line 109
2877 __cil_tmp27 = (unsigned long )(v) + __cil_tmp26;
2878#line 109
2879 __cil_tmp28 = (unsigned long )rtc_tm;
2880#line 109
2881 __cil_tmp29 = __cil_tmp28 + 12;
2882#line 109
2883 __cil_tmp30 = *((int *)__cil_tmp29);
2884#line 109
2885 *((uint8_t *)__cil_tmp27) = (uint8_t )__cil_tmp30;
2886#line 110
2887 __cil_tmp31 = 2 * 1UL;
2888#line 110
2889 __cil_tmp32 = (unsigned long )(v) + __cil_tmp31;
2890#line 110
2891 __cil_tmp33 = (unsigned long )rtc_tm;
2892#line 110
2893 __cil_tmp34 = __cil_tmp33 + 16;
2894#line 110
2895 __cil_tmp35 = *((int *)__cil_tmp34);
2896#line 110
2897 *((uint8_t *)__cil_tmp32) = (uint8_t )__cil_tmp35;
2898#line 112
2899 __cil_tmp36 = 0 * 1UL;
2900#line 112
2901 __cil_tmp37 = (unsigned long )(v) + __cil_tmp36;
2902#line 112
2903 __cil_tmp38 = (uint8_t *)__cil_tmp37;
2904#line 112
2905 ret = da9052_group_write(da9052, (unsigned char)118, 3U, __cil_tmp38);
2906 }
2907#line 113
2908 if (ret < 0) {
2909#line 114
2910 return (ret);
2911 } else {
2912
2913 }
2914 {
2915#line 116
2916 __cil_tmp39 = (unsigned long )rtc_tm;
2917#line 116
2918 __cil_tmp40 = __cil_tmp39 + 20;
2919#line 116
2920 __cil_tmp41 = *((int *)__cil_tmp40);
2921#line 116
2922 __cil_tmp42 = (unsigned char )__cil_tmp41;
2923#line 116
2924 ret = da9052_reg_update(da9052, (unsigned char)121, (unsigned char)63, __cil_tmp42);
2925 }
2926#line 118
2927 if (ret != 0) {
2928 {
2929#line 119
2930 __cil_tmp43 = *((struct device **)da9052);
2931#line 119
2932 __cil_tmp44 = (struct device const *)__cil_tmp43;
2933#line 119
2934 dev_err(__cil_tmp44, "%s: Failed to write ALRM YEAR: %d\n", "da9052_set_alarm",
2935 ret);
2936 }
2937 } else {
2938
2939 }
2940#line 121
2941 return (ret);
2942}
2943}
2944#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
2945static int da9052_rtc_get_alarm_status(struct da9052 *da9052 )
2946{ int ret ;
2947 int tmp ;
2948 struct device *__cil_tmp4 ;
2949 struct device const *__cil_tmp5 ;
2950
2951 {
2952 {
2953#line 128
2954 ret = da9052_reg_read(da9052, (unsigned char)121);
2955 }
2956#line 129
2957 if (ret < 0) {
2958 {
2959#line 130
2960 __cil_tmp4 = *((struct device **)da9052);
2961#line 130
2962 __cil_tmp5 = (struct device const *)__cil_tmp4;
2963#line 130
2964 dev_err(__cil_tmp5, "%s: Failed to read ALM: %d\n", "da9052_rtc_get_alarm_status",
2965 ret);
2966 }
2967#line 131
2968 return (ret);
2969 } else {
2970
2971 }
2972#line 133
2973 ret = ret & 64;
2974#line 134
2975 if (ret > 0) {
2976#line 134
2977 tmp = 1;
2978 } else {
2979#line 134
2980 tmp = 0;
2981 }
2982#line 134
2983 return (tmp);
2984}
2985}
2986#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
2987static int da9052_rtc_read_time(struct device *dev , struct rtc_time *rtc_tm )
2988{ struct da9052_rtc *rtc ;
2989 void *tmp ;
2990 uint8_t v[6] ;
2991 int ret ;
2992 struct device const *__cil_tmp7 ;
2993 unsigned long __cil_tmp8 ;
2994 unsigned long __cil_tmp9 ;
2995 struct da9052 *__cil_tmp10 ;
2996 unsigned long __cil_tmp11 ;
2997 unsigned long __cil_tmp12 ;
2998 uint8_t *__cil_tmp13 ;
2999 unsigned long __cil_tmp14 ;
3000 unsigned long __cil_tmp15 ;
3001 struct da9052 *__cil_tmp16 ;
3002 struct device *__cil_tmp17 ;
3003 struct device const *__cil_tmp18 ;
3004 unsigned long __cil_tmp19 ;
3005 unsigned long __cil_tmp20 ;
3006 unsigned long __cil_tmp21 ;
3007 unsigned long __cil_tmp22 ;
3008 uint8_t __cil_tmp23 ;
3009 int __cil_tmp24 ;
3010 int __cil_tmp25 ;
3011 unsigned long __cil_tmp26 ;
3012 unsigned long __cil_tmp27 ;
3013 unsigned long __cil_tmp28 ;
3014 unsigned long __cil_tmp29 ;
3015 uint8_t __cil_tmp30 ;
3016 int __cil_tmp31 ;
3017 int __cil_tmp32 ;
3018 unsigned long __cil_tmp33 ;
3019 unsigned long __cil_tmp34 ;
3020 unsigned long __cil_tmp35 ;
3021 unsigned long __cil_tmp36 ;
3022 uint8_t __cil_tmp37 ;
3023 int __cil_tmp38 ;
3024 unsigned long __cil_tmp39 ;
3025 unsigned long __cil_tmp40 ;
3026 unsigned long __cil_tmp41 ;
3027 unsigned long __cil_tmp42 ;
3028 uint8_t __cil_tmp43 ;
3029 int __cil_tmp44 ;
3030 unsigned long __cil_tmp45 ;
3031 unsigned long __cil_tmp46 ;
3032 unsigned long __cil_tmp47 ;
3033 unsigned long __cil_tmp48 ;
3034 uint8_t __cil_tmp49 ;
3035 int __cil_tmp50 ;
3036 unsigned long __cil_tmp51 ;
3037 unsigned long __cil_tmp52 ;
3038 uint8_t __cil_tmp53 ;
3039 int __cil_tmp54 ;
3040 unsigned long __cil_tmp55 ;
3041 unsigned long __cil_tmp56 ;
3042 struct da9052 *__cil_tmp57 ;
3043 struct device *__cil_tmp58 ;
3044 struct device const *__cil_tmp59 ;
3045
3046 {
3047 {
3048#line 139
3049 __cil_tmp7 = (struct device const *)dev;
3050#line 139
3051 tmp = dev_get_drvdata(__cil_tmp7);
3052#line 139
3053 rtc = (struct da9052_rtc *)tmp;
3054#line 143
3055 __cil_tmp8 = (unsigned long )rtc;
3056#line 143
3057 __cil_tmp9 = __cil_tmp8 + 8;
3058#line 143
3059 __cil_tmp10 = *((struct da9052 **)__cil_tmp9);
3060#line 143
3061 __cil_tmp11 = 0 * 1UL;
3062#line 143
3063 __cil_tmp12 = (unsigned long )(v) + __cil_tmp11;
3064#line 143
3065 __cil_tmp13 = (uint8_t *)__cil_tmp12;
3066#line 143
3067 ret = da9052_group_read(__cil_tmp10, (unsigned char)111, 6U, __cil_tmp13);
3068 }
3069#line 144
3070 if (ret < 0) {
3071 {
3072#line 145
3073 __cil_tmp14 = (unsigned long )rtc;
3074#line 145
3075 __cil_tmp15 = __cil_tmp14 + 8;
3076#line 145
3077 __cil_tmp16 = *((struct da9052 **)__cil_tmp15);
3078#line 145
3079 __cil_tmp17 = *((struct device **)__cil_tmp16);
3080#line 145
3081 __cil_tmp18 = (struct device const *)__cil_tmp17;
3082#line 145
3083 dev_err(__cil_tmp18, "%s: Failed to read RTC time : %d\n", "da9052_rtc_read_time",
3084 ret);
3085 }
3086#line 146
3087 return (ret);
3088 } else {
3089
3090 }
3091 {
3092#line 149
3093 __cil_tmp19 = (unsigned long )rtc_tm;
3094#line 149
3095 __cil_tmp20 = __cil_tmp19 + 20;
3096#line 149
3097 __cil_tmp21 = 5 * 1UL;
3098#line 149
3099 __cil_tmp22 = (unsigned long )(v) + __cil_tmp21;
3100#line 149
3101 __cil_tmp23 = *((uint8_t *)__cil_tmp22);
3102#line 149
3103 __cil_tmp24 = (int )__cil_tmp23;
3104#line 149
3105 __cil_tmp25 = __cil_tmp24 & 63;
3106#line 149
3107 *((int *)__cil_tmp20) = __cil_tmp25 + 100;
3108#line 150
3109 __cil_tmp26 = (unsigned long )rtc_tm;
3110#line 150
3111 __cil_tmp27 = __cil_tmp26 + 16;
3112#line 150
3113 __cil_tmp28 = 4 * 1UL;
3114#line 150
3115 __cil_tmp29 = (unsigned long )(v) + __cil_tmp28;
3116#line 150
3117 __cil_tmp30 = *((uint8_t *)__cil_tmp29);
3118#line 150
3119 __cil_tmp31 = (int )__cil_tmp30;
3120#line 150
3121 __cil_tmp32 = __cil_tmp31 & 15;
3122#line 150
3123 *((int *)__cil_tmp27) = __cil_tmp32 - 1;
3124#line 151
3125 __cil_tmp33 = (unsigned long )rtc_tm;
3126#line 151
3127 __cil_tmp34 = __cil_tmp33 + 12;
3128#line 151
3129 __cil_tmp35 = 3 * 1UL;
3130#line 151
3131 __cil_tmp36 = (unsigned long )(v) + __cil_tmp35;
3132#line 151
3133 __cil_tmp37 = *((uint8_t *)__cil_tmp36);
3134#line 151
3135 __cil_tmp38 = (int )__cil_tmp37;
3136#line 151
3137 *((int *)__cil_tmp34) = __cil_tmp38 & 31;
3138#line 152
3139 __cil_tmp39 = (unsigned long )rtc_tm;
3140#line 152
3141 __cil_tmp40 = __cil_tmp39 + 8;
3142#line 152
3143 __cil_tmp41 = 2 * 1UL;
3144#line 152
3145 __cil_tmp42 = (unsigned long )(v) + __cil_tmp41;
3146#line 152
3147 __cil_tmp43 = *((uint8_t *)__cil_tmp42);
3148#line 152
3149 __cil_tmp44 = (int )__cil_tmp43;
3150#line 152
3151 *((int *)__cil_tmp40) = __cil_tmp44 & 31;
3152#line 153
3153 __cil_tmp45 = (unsigned long )rtc_tm;
3154#line 153
3155 __cil_tmp46 = __cil_tmp45 + 4;
3156#line 153
3157 __cil_tmp47 = 1 * 1UL;
3158#line 153
3159 __cil_tmp48 = (unsigned long )(v) + __cil_tmp47;
3160#line 153
3161 __cil_tmp49 = *((uint8_t *)__cil_tmp48);
3162#line 153
3163 __cil_tmp50 = (int )__cil_tmp49;
3164#line 153
3165 *((int *)__cil_tmp46) = __cil_tmp50 & 63;
3166#line 154
3167 __cil_tmp51 = 0 * 1UL;
3168#line 154
3169 __cil_tmp52 = (unsigned long )(v) + __cil_tmp51;
3170#line 154
3171 __cil_tmp53 = *((uint8_t *)__cil_tmp52);
3172#line 154
3173 __cil_tmp54 = (int )__cil_tmp53;
3174#line 154
3175 *((int *)rtc_tm) = __cil_tmp54 & 63;
3176#line 156
3177 ret = rtc_valid_tm(rtc_tm);
3178 }
3179#line 157
3180 if (ret != 0) {
3181 {
3182#line 158
3183 __cil_tmp55 = (unsigned long )rtc;
3184#line 158
3185 __cil_tmp56 = __cil_tmp55 + 8;
3186#line 158
3187 __cil_tmp57 = *((struct da9052 **)__cil_tmp56);
3188#line 158
3189 __cil_tmp58 = *((struct device **)__cil_tmp57);
3190#line 158
3191 __cil_tmp59 = (struct device const *)__cil_tmp58;
3192#line 158
3193 dev_err(__cil_tmp59, "%s: rtc_valid_tm failed: %d\n", "da9052_rtc_read_time",
3194 ret);
3195 }
3196#line 159
3197 return (ret);
3198 } else {
3199
3200 }
3201#line 162
3202 return (0);
3203}
3204}
3205#line 165 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3206static int da9052_rtc_set_time(struct device *dev , struct rtc_time *tm )
3207{ struct da9052_rtc *rtc ;
3208 uint8_t v[6] ;
3209 void *tmp ;
3210 int tmp___0 ;
3211 struct device const *__cil_tmp7 ;
3212 unsigned long __cil_tmp8 ;
3213 unsigned long __cil_tmp9 ;
3214 int __cil_tmp10 ;
3215 unsigned long __cil_tmp11 ;
3216 unsigned long __cil_tmp12 ;
3217 unsigned long __cil_tmp13 ;
3218 unsigned long __cil_tmp14 ;
3219 int __cil_tmp15 ;
3220 unsigned long __cil_tmp16 ;
3221 unsigned long __cil_tmp17 ;
3222 unsigned long __cil_tmp18 ;
3223 unsigned long __cil_tmp19 ;
3224 int __cil_tmp20 ;
3225 unsigned long __cil_tmp21 ;
3226 unsigned long __cil_tmp22 ;
3227 unsigned long __cil_tmp23 ;
3228 unsigned long __cil_tmp24 ;
3229 int __cil_tmp25 ;
3230 unsigned long __cil_tmp26 ;
3231 unsigned long __cil_tmp27 ;
3232 unsigned long __cil_tmp28 ;
3233 unsigned long __cil_tmp29 ;
3234 int __cil_tmp30 ;
3235 int __cil_tmp31 ;
3236 unsigned long __cil_tmp32 ;
3237 unsigned long __cil_tmp33 ;
3238 unsigned long __cil_tmp34 ;
3239 unsigned long __cil_tmp35 ;
3240 int __cil_tmp36 ;
3241 int __cil_tmp37 ;
3242 unsigned long __cil_tmp38 ;
3243 unsigned long __cil_tmp39 ;
3244 struct da9052 *__cil_tmp40 ;
3245 unsigned long __cil_tmp41 ;
3246 unsigned long __cil_tmp42 ;
3247 uint8_t *__cil_tmp43 ;
3248
3249 {
3250 {
3251#line 170
3252 __cil_tmp7 = (struct device const *)dev;
3253#line 170
3254 tmp = dev_get_drvdata(__cil_tmp7);
3255#line 170
3256 rtc = (struct da9052_rtc *)tmp;
3257#line 172
3258 __cil_tmp8 = 0 * 1UL;
3259#line 172
3260 __cil_tmp9 = (unsigned long )(v) + __cil_tmp8;
3261#line 172
3262 __cil_tmp10 = *((int *)tm);
3263#line 172
3264 *((uint8_t *)__cil_tmp9) = (uint8_t )__cil_tmp10;
3265#line 173
3266 __cil_tmp11 = 1 * 1UL;
3267#line 173
3268 __cil_tmp12 = (unsigned long )(v) + __cil_tmp11;
3269#line 173
3270 __cil_tmp13 = (unsigned long )tm;
3271#line 173
3272 __cil_tmp14 = __cil_tmp13 + 4;
3273#line 173
3274 __cil_tmp15 = *((int *)__cil_tmp14);
3275#line 173
3276 *((uint8_t *)__cil_tmp12) = (uint8_t )__cil_tmp15;
3277#line 174
3278 __cil_tmp16 = 2 * 1UL;
3279#line 174
3280 __cil_tmp17 = (unsigned long )(v) + __cil_tmp16;
3281#line 174
3282 __cil_tmp18 = (unsigned long )tm;
3283#line 174
3284 __cil_tmp19 = __cil_tmp18 + 8;
3285#line 174
3286 __cil_tmp20 = *((int *)__cil_tmp19);
3287#line 174
3288 *((uint8_t *)__cil_tmp17) = (uint8_t )__cil_tmp20;
3289#line 175
3290 __cil_tmp21 = 3 * 1UL;
3291#line 175
3292 __cil_tmp22 = (unsigned long )(v) + __cil_tmp21;
3293#line 175
3294 __cil_tmp23 = (unsigned long )tm;
3295#line 175
3296 __cil_tmp24 = __cil_tmp23 + 12;
3297#line 175
3298 __cil_tmp25 = *((int *)__cil_tmp24);
3299#line 175
3300 *((uint8_t *)__cil_tmp22) = (uint8_t )__cil_tmp25;
3301#line 176
3302 __cil_tmp26 = 4 * 1UL;
3303#line 176
3304 __cil_tmp27 = (unsigned long )(v) + __cil_tmp26;
3305#line 176
3306 __cil_tmp28 = (unsigned long )tm;
3307#line 176
3308 __cil_tmp29 = __cil_tmp28 + 16;
3309#line 176
3310 __cil_tmp30 = *((int *)__cil_tmp29);
3311#line 176
3312 __cil_tmp31 = __cil_tmp30 + 1;
3313#line 176
3314 *((uint8_t *)__cil_tmp27) = (uint8_t )__cil_tmp31;
3315#line 177
3316 __cil_tmp32 = 5 * 1UL;
3317#line 177
3318 __cil_tmp33 = (unsigned long )(v) + __cil_tmp32;
3319#line 177
3320 __cil_tmp34 = (unsigned long )tm;
3321#line 177
3322 __cil_tmp35 = __cil_tmp34 + 20;
3323#line 177
3324 __cil_tmp36 = *((int *)__cil_tmp35);
3325#line 177
3326 __cil_tmp37 = __cil_tmp36 - 100;
3327#line 177
3328 *((uint8_t *)__cil_tmp33) = (uint8_t )__cil_tmp37;
3329#line 179
3330 __cil_tmp38 = (unsigned long )rtc;
3331#line 179
3332 __cil_tmp39 = __cil_tmp38 + 8;
3333#line 179
3334 __cil_tmp40 = *((struct da9052 **)__cil_tmp39);
3335#line 179
3336 __cil_tmp41 = 0 * 1UL;
3337#line 179
3338 __cil_tmp42 = (unsigned long )(v) + __cil_tmp41;
3339#line 179
3340 __cil_tmp43 = (uint8_t *)__cil_tmp42;
3341#line 179
3342 tmp___0 = da9052_group_write(__cil_tmp40, (unsigned char)111, 6U, __cil_tmp43);
3343 }
3344#line 179
3345 return (tmp___0);
3346}
3347}
3348#line 182 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3349static int da9052_rtc_read_alarm(struct device *dev , struct rtc_wkalrm *alrm )
3350{ int ret ;
3351 struct rtc_time *tm ;
3352 struct da9052_rtc *rtc ;
3353 void *tmp ;
3354 int tmp___0 ;
3355 unsigned long __cil_tmp8 ;
3356 unsigned long __cil_tmp9 ;
3357 struct device const *__cil_tmp10 ;
3358 unsigned long __cil_tmp11 ;
3359 unsigned long __cil_tmp12 ;
3360 struct da9052 *__cil_tmp13 ;
3361 unsigned long __cil_tmp14 ;
3362 unsigned long __cil_tmp15 ;
3363 struct da9052 *__cil_tmp16 ;
3364
3365 {
3366 {
3367#line 185
3368 __cil_tmp8 = (unsigned long )alrm;
3369#line 185
3370 __cil_tmp9 = __cil_tmp8 + 4;
3371#line 185
3372 tm = (struct rtc_time *)__cil_tmp9;
3373#line 186
3374 __cil_tmp10 = (struct device const *)dev;
3375#line 186
3376 tmp = dev_get_drvdata(__cil_tmp10);
3377#line 186
3378 rtc = (struct da9052_rtc *)tmp;
3379#line 188
3380 __cil_tmp11 = (unsigned long )rtc;
3381#line 188
3382 __cil_tmp12 = __cil_tmp11 + 8;
3383#line 188
3384 __cil_tmp13 = *((struct da9052 **)__cil_tmp12);
3385#line 188
3386 ret = da9052_read_alarm(__cil_tmp13, tm);
3387 }
3388#line 190
3389 if (ret) {
3390#line 191
3391 return (ret);
3392 } else {
3393
3394 }
3395 {
3396#line 193
3397 __cil_tmp14 = (unsigned long )rtc;
3398#line 193
3399 __cil_tmp15 = __cil_tmp14 + 8;
3400#line 193
3401 __cil_tmp16 = *((struct da9052 **)__cil_tmp15);
3402#line 193
3403 tmp___0 = da9052_rtc_get_alarm_status(__cil_tmp16);
3404#line 193
3405 *((unsigned char *)alrm) = (unsigned char )tmp___0;
3406 }
3407#line 195
3408 return (0);
3409}
3410}
3411#line 198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3412static int da9052_rtc_set_alarm(struct device *dev , struct rtc_wkalrm *alrm )
3413{ int ret ;
3414 struct rtc_time *tm ;
3415 struct da9052_rtc *rtc ;
3416 void *tmp ;
3417 unsigned long __cil_tmp7 ;
3418 unsigned long __cil_tmp8 ;
3419 struct device const *__cil_tmp9 ;
3420 unsigned long __cil_tmp10 ;
3421 unsigned long __cil_tmp11 ;
3422 struct da9052 *__cil_tmp12 ;
3423 bool __cil_tmp13 ;
3424 unsigned long __cil_tmp14 ;
3425 unsigned long __cil_tmp15 ;
3426 struct da9052 *__cil_tmp16 ;
3427 unsigned long __cil_tmp17 ;
3428 unsigned long __cil_tmp18 ;
3429 struct da9052 *__cil_tmp19 ;
3430 bool __cil_tmp20 ;
3431
3432 {
3433 {
3434#line 201
3435 __cil_tmp7 = (unsigned long )alrm;
3436#line 201
3437 __cil_tmp8 = __cil_tmp7 + 4;
3438#line 201
3439 tm = (struct rtc_time *)__cil_tmp8;
3440#line 202
3441 __cil_tmp9 = (struct device const *)dev;
3442#line 202
3443 tmp = dev_get_drvdata(__cil_tmp9);
3444#line 202
3445 rtc = (struct da9052_rtc *)tmp;
3446#line 204
3447 __cil_tmp10 = (unsigned long )rtc;
3448#line 204
3449 __cil_tmp11 = __cil_tmp10 + 8;
3450#line 204
3451 __cil_tmp12 = *((struct da9052 **)__cil_tmp11);
3452#line 204
3453 __cil_tmp13 = (bool )0;
3454#line 204
3455 ret = da9052_rtc_enable_alarm(__cil_tmp12, __cil_tmp13);
3456 }
3457#line 205
3458 if (ret < 0) {
3459#line 206
3460 return (ret);
3461 } else {
3462
3463 }
3464 {
3465#line 208
3466 __cil_tmp14 = (unsigned long )rtc;
3467#line 208
3468 __cil_tmp15 = __cil_tmp14 + 8;
3469#line 208
3470 __cil_tmp16 = *((struct da9052 **)__cil_tmp15);
3471#line 208
3472 ret = da9052_set_alarm(__cil_tmp16, tm);
3473 }
3474#line 209
3475 if (ret) {
3476#line 210
3477 return (ret);
3478 } else {
3479
3480 }
3481 {
3482#line 212
3483 __cil_tmp17 = (unsigned long )rtc;
3484#line 212
3485 __cil_tmp18 = __cil_tmp17 + 8;
3486#line 212
3487 __cil_tmp19 = *((struct da9052 **)__cil_tmp18);
3488#line 212
3489 __cil_tmp20 = (bool )1;
3490#line 212
3491 ret = da9052_rtc_enable_alarm(__cil_tmp19, __cil_tmp20);
3492 }
3493#line 214
3494 return (ret);
3495}
3496}
3497#line 217 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3498static int da9052_rtc_alarm_irq_enable(struct device *dev , unsigned int enabled )
3499{ struct da9052_rtc *rtc ;
3500 void *tmp ;
3501 int tmp___0 ;
3502 struct device const *__cil_tmp6 ;
3503 unsigned long __cil_tmp7 ;
3504 unsigned long __cil_tmp8 ;
3505 struct da9052 *__cil_tmp9 ;
3506 bool __cil_tmp10 ;
3507
3508 {
3509 {
3510#line 219
3511 __cil_tmp6 = (struct device const *)dev;
3512#line 219
3513 tmp = dev_get_drvdata(__cil_tmp6);
3514#line 219
3515 rtc = (struct da9052_rtc *)tmp;
3516#line 221
3517 __cil_tmp7 = (unsigned long )rtc;
3518#line 221
3519 __cil_tmp8 = __cil_tmp7 + 8;
3520#line 221
3521 __cil_tmp9 = *((struct da9052 **)__cil_tmp8);
3522#line 221
3523 __cil_tmp10 = (bool )enabled;
3524#line 221
3525 tmp___0 = da9052_rtc_enable_alarm(__cil_tmp9, __cil_tmp10);
3526 }
3527#line 221
3528 return (tmp___0);
3529}
3530}
3531#line 224 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3532static struct rtc_class_ops const da9052_rtc_ops =
3533#line 224
3534 {(int (*)(struct device * ))0, (void (*)(struct device * ))0, (int (*)(struct device * ,
3535 unsigned int ,
3536 unsigned long ))0,
3537 & da9052_rtc_read_time, & da9052_rtc_set_time, & da9052_rtc_read_alarm, & da9052_rtc_set_alarm,
3538 (int (*)(struct device * , struct seq_file * ))0, (int (*)(struct device * , unsigned long secs ))0,
3539 (int (*)(struct device * , int data ))0, & da9052_rtc_alarm_irq_enable};
3540#line 232
3541static int da9052_rtc_probe(struct platform_device *pdev ) __attribute__((__section__(".devinit.text"),
3542__no_instrument_function__)) ;
3543#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3544static int da9052_rtc_probe(struct platform_device *pdev )
3545{ struct da9052_rtc *rtc ;
3546 int ret ;
3547 void *tmp ;
3548 void *tmp___0 ;
3549 long tmp___1 ;
3550 long tmp___2 ;
3551 unsigned long __cil_tmp8 ;
3552 unsigned long __cil_tmp9 ;
3553 struct device *__cil_tmp10 ;
3554 unsigned long __cil_tmp11 ;
3555 unsigned long __cil_tmp12 ;
3556 struct device *__cil_tmp13 ;
3557 struct device const *__cil_tmp14 ;
3558 unsigned long __cil_tmp15 ;
3559 unsigned long __cil_tmp16 ;
3560 void *__cil_tmp17 ;
3561 unsigned long __cil_tmp18 ;
3562 unsigned long __cil_tmp19 ;
3563 unsigned long __cil_tmp20 ;
3564 unsigned long __cil_tmp21 ;
3565 int __cil_tmp22 ;
3566 unsigned int __cil_tmp23 ;
3567 void *__cil_tmp24 ;
3568 irqreturn_t (*__cil_tmp25)(int , void * ) ;
3569 void *__cil_tmp26 ;
3570 unsigned long __cil_tmp27 ;
3571 unsigned long __cil_tmp28 ;
3572 struct da9052 *__cil_tmp29 ;
3573 struct device *__cil_tmp30 ;
3574 struct device const *__cil_tmp31 ;
3575 char const *__cil_tmp32 ;
3576 unsigned long __cil_tmp33 ;
3577 unsigned long __cil_tmp34 ;
3578 struct device *__cil_tmp35 ;
3579 struct rtc_device *__cil_tmp36 ;
3580 void const *__cil_tmp37 ;
3581 struct rtc_device *__cil_tmp38 ;
3582 void const *__cil_tmp39 ;
3583 unsigned long __cil_tmp40 ;
3584 unsigned long __cil_tmp41 ;
3585 int __cil_tmp42 ;
3586 unsigned int __cil_tmp43 ;
3587 void *__cil_tmp44 ;
3588 unsigned long __cil_tmp45 ;
3589 unsigned long __cil_tmp46 ;
3590 struct device *__cil_tmp47 ;
3591 void *__cil_tmp48 ;
3592
3593 {
3594 {
3595#line 237
3596 __cil_tmp8 = (unsigned long )pdev;
3597#line 237
3598 __cil_tmp9 = __cil_tmp8 + 16;
3599#line 237
3600 __cil_tmp10 = (struct device *)__cil_tmp9;
3601#line 237
3602 tmp = devm_kzalloc(__cil_tmp10, 24UL, 208U);
3603#line 237
3604 rtc = (struct da9052_rtc *)tmp;
3605 }
3606#line 238
3607 if (! rtc) {
3608#line 239
3609 return (-12);
3610 } else {
3611
3612 }
3613 {
3614#line 241
3615 __cil_tmp11 = (unsigned long )pdev;
3616#line 241
3617 __cil_tmp12 = __cil_tmp11 + 16;
3618#line 241
3619 __cil_tmp13 = *((struct device **)__cil_tmp12);
3620#line 241
3621 __cil_tmp14 = (struct device const *)__cil_tmp13;
3622#line 241
3623 tmp___0 = dev_get_drvdata(__cil_tmp14);
3624#line 241
3625 __cil_tmp15 = (unsigned long )rtc;
3626#line 241
3627 __cil_tmp16 = __cil_tmp15 + 8;
3628#line 241
3629 *((struct da9052 **)__cil_tmp16) = (struct da9052 *)tmp___0;
3630#line 242
3631 __cil_tmp17 = (void *)rtc;
3632#line 242
3633 platform_set_drvdata(pdev, __cil_tmp17);
3634#line 243
3635 __cil_tmp18 = (unsigned long )rtc;
3636#line 243
3637 __cil_tmp19 = __cil_tmp18 + 16;
3638#line 243
3639 *((int *)__cil_tmp19) = platform_get_irq_byname(pdev, "ALM");
3640#line 244
3641 __cil_tmp20 = (unsigned long )rtc;
3642#line 244
3643 __cil_tmp21 = __cil_tmp20 + 16;
3644#line 244
3645 __cil_tmp22 = *((int *)__cil_tmp21);
3646#line 244
3647 __cil_tmp23 = (unsigned int )__cil_tmp22;
3648#line 244
3649 __cil_tmp24 = (void *)0;
3650#line 244
3651 __cil_tmp25 = (irqreturn_t (*)(int , void * ))__cil_tmp24;
3652#line 244
3653 __cil_tmp26 = (void *)rtc;
3654#line 244
3655 ret = (int )request_threaded_irq(__cil_tmp23, __cil_tmp25, & da9052_rtc_irq, 8200UL,
3656 "ALM", __cil_tmp26);
3657 }
3658#line 247
3659 if (ret != 0) {
3660 {
3661#line 248
3662 __cil_tmp27 = (unsigned long )rtc;
3663#line 248
3664 __cil_tmp28 = __cil_tmp27 + 8;
3665#line 248
3666 __cil_tmp29 = *((struct da9052 **)__cil_tmp28);
3667#line 248
3668 __cil_tmp30 = *((struct device **)__cil_tmp29);
3669#line 248
3670 __cil_tmp31 = (struct device const *)__cil_tmp30;
3671#line 248
3672 dev_err(__cil_tmp31, "%s: irq registration failed: %d\n", "da9052_rtc_probe",
3673 ret);
3674 }
3675#line 249
3676 goto err_mem;
3677 } else {
3678
3679 }
3680 {
3681#line 252
3682 __cil_tmp32 = *((char const **)pdev);
3683#line 252
3684 __cil_tmp33 = (unsigned long )pdev;
3685#line 252
3686 __cil_tmp34 = __cil_tmp33 + 16;
3687#line 252
3688 __cil_tmp35 = (struct device *)__cil_tmp34;
3689#line 252
3690 *((struct rtc_device **)rtc) = rtc_device_register(__cil_tmp32, __cil_tmp35, & da9052_rtc_ops,
3691 & __this_module);
3692#line 254
3693 __cil_tmp36 = *((struct rtc_device **)rtc);
3694#line 254
3695 __cil_tmp37 = (void const *)__cil_tmp36;
3696#line 254
3697 tmp___2 = (long )IS_ERR(__cil_tmp37);
3698 }
3699#line 254
3700 if (tmp___2) {
3701 {
3702#line 255
3703 __cil_tmp38 = *((struct rtc_device **)rtc);
3704#line 255
3705 __cil_tmp39 = (void const *)__cil_tmp38;
3706#line 255
3707 tmp___1 = (long )PTR_ERR(__cil_tmp39);
3708#line 255
3709 ret = (int )tmp___1;
3710 }
3711#line 256
3712 goto err_free_irq;
3713 } else {
3714
3715 }
3716#line 259
3717 return (0);
3718 err_free_irq:
3719 {
3720#line 262
3721 __cil_tmp40 = (unsigned long )rtc;
3722#line 262
3723 __cil_tmp41 = __cil_tmp40 + 16;
3724#line 262
3725 __cil_tmp42 = *((int *)__cil_tmp41);
3726#line 262
3727 __cil_tmp43 = (unsigned int )__cil_tmp42;
3728#line 262
3729 __cil_tmp44 = (void *)rtc;
3730#line 262
3731 free_irq(__cil_tmp43, __cil_tmp44);
3732 }
3733 err_mem:
3734 {
3735#line 264
3736 __cil_tmp45 = (unsigned long )pdev;
3737#line 264
3738 __cil_tmp46 = __cil_tmp45 + 16;
3739#line 264
3740 __cil_tmp47 = (struct device *)__cil_tmp46;
3741#line 264
3742 __cil_tmp48 = (void *)rtc;
3743#line 264
3744 devm_kfree(__cil_tmp47, __cil_tmp48);
3745 }
3746#line 265
3747 return (ret);
3748}
3749}
3750#line 268
3751static int da9052_rtc_remove(struct platform_device *pdev ) __attribute__((__section__(".devexit.text"),
3752__no_instrument_function__)) ;
3753#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3754static int da9052_rtc_remove(struct platform_device *pdev )
3755{ struct da9052_rtc *rtc ;
3756 unsigned long __cil_tmp3 ;
3757 unsigned long __cil_tmp4 ;
3758 unsigned long __cil_tmp5 ;
3759 void *__cil_tmp6 ;
3760 struct rtc_device *__cil_tmp7 ;
3761 unsigned long __cil_tmp8 ;
3762 unsigned long __cil_tmp9 ;
3763 int __cil_tmp10 ;
3764 unsigned int __cil_tmp11 ;
3765 void *__cil_tmp12 ;
3766 void *__cil_tmp13 ;
3767 unsigned long __cil_tmp14 ;
3768 unsigned long __cil_tmp15 ;
3769 struct device *__cil_tmp16 ;
3770 void *__cil_tmp17 ;
3771
3772 {
3773 {
3774#line 270
3775 __cil_tmp3 = 16 + 184;
3776#line 270
3777 __cil_tmp4 = (unsigned long )pdev;
3778#line 270
3779 __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
3780#line 270
3781 __cil_tmp6 = *((void **)__cil_tmp5);
3782#line 270
3783 rtc = (struct da9052_rtc *)__cil_tmp6;
3784#line 272
3785 __cil_tmp7 = *((struct rtc_device **)rtc);
3786#line 272
3787 rtc_device_unregister(__cil_tmp7);
3788#line 273
3789 __cil_tmp8 = (unsigned long )rtc;
3790#line 273
3791 __cil_tmp9 = __cil_tmp8 + 16;
3792#line 273
3793 __cil_tmp10 = *((int *)__cil_tmp9);
3794#line 273
3795 __cil_tmp11 = (unsigned int )__cil_tmp10;
3796#line 273
3797 __cil_tmp12 = (void *)rtc;
3798#line 273
3799 free_irq(__cil_tmp11, __cil_tmp12);
3800#line 274
3801 __cil_tmp13 = (void *)0;
3802#line 274
3803 platform_set_drvdata(pdev, __cil_tmp13);
3804#line 275
3805 __cil_tmp14 = (unsigned long )pdev;
3806#line 275
3807 __cil_tmp15 = __cil_tmp14 + 16;
3808#line 275
3809 __cil_tmp16 = (struct device *)__cil_tmp15;
3810#line 275
3811 __cil_tmp17 = (void *)rtc;
3812#line 275
3813 devm_kfree(__cil_tmp16, __cil_tmp17);
3814 }
3815#line 277
3816 return (0);
3817}
3818}
3819#line 280 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3820static struct platform_driver da9052_rtc_driver = {& da9052_rtc_probe, & da9052_rtc_remove, (void (*)(struct platform_device * ))0,
3821 (int (*)(struct platform_device * , pm_message_t state ))0, (int (*)(struct platform_device * ))0,
3822 {"da9052-rtc", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
3823 (struct of_device_id const *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
3824 (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
3825 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
3826 (struct driver_private *)0}, (struct platform_device_id const *)0};
3827#line 289
3828static int da9052_rtc_driver_init(void) __attribute__((__section__(".init.text"),
3829__no_instrument_function__)) ;
3830#line 289 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3831static int da9052_rtc_driver_init(void)
3832{ int tmp ;
3833
3834 {
3835 {
3836#line 289
3837 tmp = platform_driver_register(& da9052_rtc_driver);
3838 }
3839#line 289
3840 return (tmp);
3841}
3842}
3843#line 289 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3844int init_module(void)
3845{ int tmp ;
3846
3847 {
3848 {
3849#line 289
3850 tmp = da9052_rtc_driver_init();
3851 }
3852#line 289
3853 return (tmp);
3854}
3855}
3856#line 289
3857static void da9052_rtc_driver_exit(void) __attribute__((__section__(".exit.text"),
3858__no_instrument_function__)) ;
3859#line 289 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3860static void da9052_rtc_driver_exit(void)
3861{
3862
3863 {
3864 {
3865#line 289
3866 platform_driver_unregister(& da9052_rtc_driver);
3867 }
3868#line 289
3869 return;
3870}
3871}
3872#line 289 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3873void cleanup_module(void)
3874{
3875
3876 {
3877 {
3878#line 289
3879 da9052_rtc_driver_exit();
3880 }
3881#line 289
3882 return;
3883}
3884}
3885#line 291 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3886static char const __mod_author291[44] __attribute__((__used__, __unused__, __section__(".modinfo"),
3887__aligned__(1))) =
3888#line 291
3889 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
3890 (char const )'o', (char const )'r', (char const )'=', (char const )'D',
3891 (char const )'a', (char const )'v', (char const )'i', (char const )'d',
3892 (char const )' ', (char const )'D', (char const )'a', (char const )'j',
3893 (char const )'u', (char const )'n', (char const )' ', (char const )'C',
3894 (char const )'h', (char const )'e', (char const )'n', (char const )' ',
3895 (char const )'<', (char const )'d', (char const )'c', (char const )'h',
3896 (char const )'e', (char const )'n', (char const )'@', (char const )'d',
3897 (char const )'i', (char const )'a', (char const )'s', (char const )'e',
3898 (char const )'m', (char const )'i', (char const )'.', (char const )'c',
3899 (char const )'o', (char const )'m', (char const )'>', (char const )'\000'};
3900#line 292 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3901static char const __mod_description292[46] __attribute__((__used__, __unused__,
3902__section__(".modinfo"), __aligned__(1))) =
3903#line 292
3904 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
3905 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
3906 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
3907 (char const )'R', (char const )'T', (char const )'C', (char const )' ',
3908 (char const )'d', (char const )'r', (char const )'i', (char const )'v',
3909 (char const )'e', (char const )'r', (char const )' ', (char const )'f',
3910 (char const )'o', (char const )'r', (char const )' ', (char const )'D',
3911 (char const )'i', (char const )'a', (char const )'l', (char const )'o',
3912 (char const )'g', (char const )' ', (char const )'D', (char const )'A',
3913 (char const )'9', (char const )'0', (char const )'5', (char const )'2',
3914 (char const )' ', (char const )'P', (char const )'M', (char const )'I',
3915 (char const )'C', (char const )'\000'};
3916#line 293 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3917static char const __mod_license293[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
3918__aligned__(1))) =
3919#line 293
3920 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
3921 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
3922 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
3923#line 294 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3924static char const __mod_alias294[26] __attribute__((__used__, __unused__, __section__(".modinfo"),
3925__aligned__(1))) =
3926#line 294
3927 { (char const )'a', (char const )'l', (char const )'i', (char const )'a',
3928 (char const )'s', (char const )'=', (char const )'p', (char const )'l',
3929 (char const )'a', (char const )'t', (char const )'f', (char const )'o',
3930 (char const )'r', (char const )'m', (char const )':', (char const )'d',
3931 (char const )'a', (char const )'9', (char const )'0', (char const )'5',
3932 (char const )'2', (char const )'-', (char const )'r', (char const )'t',
3933 (char const )'c', (char const )'\000'};
3934#line 312
3935void ldv_check_final_state(void) ;
3936#line 315
3937extern void ldv_check_return_value(int res ) ;
3938#line 318
3939extern void ldv_initialize(void) ;
3940#line 321
3941extern int __VERIFIER_nondet_int(void) ;
3942#line 324 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3943int LDV_IN_INTERRUPT ;
3944#line 377 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3945static int res_da9052_rtc_probe_10 ;
3946#line 327 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
3947void main(void)
3948{ struct device *var_group1 ;
3949 struct rtc_time *var_group2 ;
3950 struct rtc_wkalrm *var_group3 ;
3951 unsigned int var_da9052_rtc_alarm_irq_enable_9_p1 ;
3952 struct platform_device *var_group4 ;
3953 int var_da9052_rtc_irq_1_p0 ;
3954 void *var_da9052_rtc_irq_1_p1 ;
3955 int ldv_s_da9052_rtc_driver_platform_driver ;
3956 int tmp ;
3957 int tmp___0 ;
3958 int __cil_tmp11 ;
3959
3960 {
3961 {
3962#line 396
3963 LDV_IN_INTERRUPT = 1;
3964#line 405
3965 ldv_initialize();
3966#line 408
3967 ldv_s_da9052_rtc_driver_platform_driver = 0;
3968 }
3969 {
3970#line 413
3971 while (1) {
3972 while_continue: ;
3973 {
3974#line 413
3975 tmp___0 = __VERIFIER_nondet_int();
3976 }
3977#line 413
3978 if (tmp___0) {
3979
3980 } else {
3981 {
3982#line 413
3983 __cil_tmp11 = ldv_s_da9052_rtc_driver_platform_driver == 0;
3984#line 413
3985 if (! __cil_tmp11) {
3986
3987 } else {
3988#line 413
3989 goto while_break;
3990 }
3991 }
3992 }
3993 {
3994#line 417
3995 tmp = __VERIFIER_nondet_int();
3996 }
3997#line 419
3998 if (tmp == 0) {
3999#line 419
4000 goto case_0;
4001 } else
4002#line 438
4003 if (tmp == 1) {
4004#line 438
4005 goto case_1;
4006 } else
4007#line 457
4008 if (tmp == 2) {
4009#line 457
4010 goto case_2;
4011 } else
4012#line 476
4013 if (tmp == 3) {
4014#line 476
4015 goto case_3;
4016 } else
4017#line 495
4018 if (tmp == 4) {
4019#line 495
4020 goto case_4;
4021 } else
4022#line 514
4023 if (tmp == 5) {
4024#line 514
4025 goto case_5;
4026 } else
4027#line 536
4028 if (tmp == 6) {
4029#line 536
4030 goto case_6;
4031 } else {
4032 {
4033#line 555
4034 goto switch_default;
4035#line 417
4036 if (0) {
4037 case_0:
4038 {
4039#line 430
4040 da9052_rtc_read_time(var_group1, var_group2);
4041 }
4042#line 437
4043 goto switch_break;
4044 case_1:
4045 {
4046#line 449
4047 da9052_rtc_set_time(var_group1, var_group2);
4048 }
4049#line 456
4050 goto switch_break;
4051 case_2:
4052 {
4053#line 468
4054 da9052_rtc_read_alarm(var_group1, var_group3);
4055 }
4056#line 475
4057 goto switch_break;
4058 case_3:
4059 {
4060#line 487
4061 da9052_rtc_set_alarm(var_group1, var_group3);
4062 }
4063#line 494
4064 goto switch_break;
4065 case_4:
4066 {
4067#line 506
4068 da9052_rtc_alarm_irq_enable(var_group1, var_da9052_rtc_alarm_irq_enable_9_p1);
4069 }
4070#line 513
4071 goto switch_break;
4072 case_5:
4073#line 517
4074 if (ldv_s_da9052_rtc_driver_platform_driver == 0) {
4075 {
4076#line 525
4077 res_da9052_rtc_probe_10 = da9052_rtc_probe(var_group4);
4078#line 526
4079 ldv_check_return_value(res_da9052_rtc_probe_10);
4080 }
4081#line 527
4082 if (res_da9052_rtc_probe_10) {
4083#line 528
4084 goto ldv_module_exit;
4085 } else {
4086
4087 }
4088#line 529
4089 ldv_s_da9052_rtc_driver_platform_driver = 0;
4090 } else {
4091
4092 }
4093#line 535
4094 goto switch_break;
4095 case_6:
4096 {
4097#line 539
4098 LDV_IN_INTERRUPT = 2;
4099#line 547
4100 da9052_rtc_irq(var_da9052_rtc_irq_1_p0, var_da9052_rtc_irq_1_p1);
4101#line 548
4102 LDV_IN_INTERRUPT = 1;
4103 }
4104#line 554
4105 goto switch_break;
4106 switch_default:
4107#line 555
4108 goto switch_break;
4109 } else {
4110 switch_break: ;
4111 }
4112 }
4113 }
4114 }
4115 while_break: ;
4116 }
4117 ldv_module_exit:
4118 {
4119#line 564
4120 ldv_check_final_state();
4121 }
4122#line 567
4123 return;
4124}
4125}
4126#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
4127void ldv_blast_assert(void)
4128{
4129
4130 {
4131 ERROR:
4132#line 6
4133 goto ERROR;
4134}
4135}
4136#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
4137extern int __VERIFIER_nondet_int(void) ;
4138#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4139int ldv_mutex = 1;
4140#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4141int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
4142{ int nondetermined ;
4143
4144 {
4145#line 29
4146 if (ldv_mutex == 1) {
4147
4148 } else {
4149 {
4150#line 29
4151 ldv_blast_assert();
4152 }
4153 }
4154 {
4155#line 32
4156 nondetermined = __VERIFIER_nondet_int();
4157 }
4158#line 35
4159 if (nondetermined) {
4160#line 38
4161 ldv_mutex = 2;
4162#line 40
4163 return (0);
4164 } else {
4165#line 45
4166 return (-4);
4167 }
4168}
4169}
4170#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4171int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
4172{ int nondetermined ;
4173
4174 {
4175#line 57
4176 if (ldv_mutex == 1) {
4177
4178 } else {
4179 {
4180#line 57
4181 ldv_blast_assert();
4182 }
4183 }
4184 {
4185#line 60
4186 nondetermined = __VERIFIER_nondet_int();
4187 }
4188#line 63
4189 if (nondetermined) {
4190#line 66
4191 ldv_mutex = 2;
4192#line 68
4193 return (0);
4194 } else {
4195#line 73
4196 return (-4);
4197 }
4198}
4199}
4200#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4201int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
4202{ int atomic_value_after_dec ;
4203
4204 {
4205#line 83
4206 if (ldv_mutex == 1) {
4207
4208 } else {
4209 {
4210#line 83
4211 ldv_blast_assert();
4212 }
4213 }
4214 {
4215#line 86
4216 atomic_value_after_dec = __VERIFIER_nondet_int();
4217 }
4218#line 89
4219 if (atomic_value_after_dec == 0) {
4220#line 92
4221 ldv_mutex = 2;
4222#line 94
4223 return (1);
4224 } else {
4225
4226 }
4227#line 98
4228 return (0);
4229}
4230}
4231#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4232void mutex_lock(struct mutex *lock )
4233{
4234
4235 {
4236#line 108
4237 if (ldv_mutex == 1) {
4238
4239 } else {
4240 {
4241#line 108
4242 ldv_blast_assert();
4243 }
4244 }
4245#line 110
4246 ldv_mutex = 2;
4247#line 111
4248 return;
4249}
4250}
4251#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4252int mutex_trylock(struct mutex *lock )
4253{ int nondetermined ;
4254
4255 {
4256#line 121
4257 if (ldv_mutex == 1) {
4258
4259 } else {
4260 {
4261#line 121
4262 ldv_blast_assert();
4263 }
4264 }
4265 {
4266#line 124
4267 nondetermined = __VERIFIER_nondet_int();
4268 }
4269#line 127
4270 if (nondetermined) {
4271#line 130
4272 ldv_mutex = 2;
4273#line 132
4274 return (1);
4275 } else {
4276#line 137
4277 return (0);
4278 }
4279}
4280}
4281#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4282void mutex_unlock(struct mutex *lock )
4283{
4284
4285 {
4286#line 147
4287 if (ldv_mutex == 2) {
4288
4289 } else {
4290 {
4291#line 147
4292 ldv_blast_assert();
4293 }
4294 }
4295#line 149
4296 ldv_mutex = 1;
4297#line 150
4298 return;
4299}
4300}
4301#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4302void ldv_check_final_state(void)
4303{
4304
4305 {
4306#line 156
4307 if (ldv_mutex == 1) {
4308
4309 } else {
4310 {
4311#line 156
4312 ldv_blast_assert();
4313 }
4314 }
4315#line 157
4316 return;
4317}
4318}
4319#line 576 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6222/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-da9052.c.common.c"
4320long s__builtin_expect(long val , long res )
4321{
4322
4323 {
4324#line 577
4325 return (val);
4326}
4327}