1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 22 "include/asm-generic/int-ll64.h"
7typedef short __s16;
8#line 23 "include/asm-generic/int-ll64.h"
9typedef unsigned short __u16;
10#line 25 "include/asm-generic/int-ll64.h"
11typedef int __s32;
12#line 26 "include/asm-generic/int-ll64.h"
13typedef unsigned int __u32;
14#line 30 "include/asm-generic/int-ll64.h"
15typedef unsigned long long __u64;
16#line 43 "include/asm-generic/int-ll64.h"
17typedef unsigned char u8;
18#line 45 "include/asm-generic/int-ll64.h"
19typedef short s16;
20#line 46 "include/asm-generic/int-ll64.h"
21typedef unsigned short u16;
22#line 48 "include/asm-generic/int-ll64.h"
23typedef int s32;
24#line 49 "include/asm-generic/int-ll64.h"
25typedef unsigned int u32;
26#line 51 "include/asm-generic/int-ll64.h"
27typedef long long s64;
28#line 52 "include/asm-generic/int-ll64.h"
29typedef unsigned long long u64;
30#line 14 "include/asm-generic/posix_types.h"
31typedef long __kernel_long_t;
32#line 15 "include/asm-generic/posix_types.h"
33typedef unsigned long __kernel_ulong_t;
34#line 52 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_uid32_t;
36#line 53 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_gid32_t;
38#line 75 "include/asm-generic/posix_types.h"
39typedef __kernel_ulong_t __kernel_size_t;
40#line 76 "include/asm-generic/posix_types.h"
41typedef __kernel_long_t __kernel_ssize_t;
42#line 91 "include/asm-generic/posix_types.h"
43typedef long long __kernel_loff_t;
44#line 92 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_time_t;
46#line 95 "include/asm-generic/posix_types.h"
47typedef int __kernel_clockid_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 35 "include/linux/types.h"
55typedef __kernel_clockid_t clockid_t;
56#line 38 "include/linux/types.h"
57typedef _Bool bool;
58#line 40 "include/linux/types.h"
59typedef __kernel_uid32_t uid_t;
60#line 41 "include/linux/types.h"
61typedef __kernel_gid32_t gid_t;
62#line 54 "include/linux/types.h"
63typedef __kernel_loff_t loff_t;
64#line 63 "include/linux/types.h"
65typedef __kernel_size_t size_t;
66#line 68 "include/linux/types.h"
67typedef __kernel_ssize_t ssize_t;
68#line 78 "include/linux/types.h"
69typedef __kernel_time_t time_t;
70#line 142 "include/linux/types.h"
71typedef unsigned long sector_t;
72#line 143 "include/linux/types.h"
73typedef unsigned long blkcnt_t;
74#line 202 "include/linux/types.h"
75typedef unsigned int gfp_t;
76#line 203 "include/linux/types.h"
77typedef unsigned int fmode_t;
78#line 206 "include/linux/types.h"
79typedef u64 phys_addr_t;
80#line 211 "include/linux/types.h"
81typedef phys_addr_t resource_size_t;
82#line 219 "include/linux/types.h"
83struct __anonstruct_atomic_t_7 {
84 int counter ;
85};
86#line 219 "include/linux/types.h"
87typedef struct __anonstruct_atomic_t_7 atomic_t;
88#line 224 "include/linux/types.h"
89struct __anonstruct_atomic64_t_8 {
90 long counter ;
91};
92#line 224 "include/linux/types.h"
93typedef struct __anonstruct_atomic64_t_8 atomic64_t;
94#line 229 "include/linux/types.h"
95struct list_head {
96 struct list_head *next ;
97 struct list_head *prev ;
98};
99#line 233
100struct hlist_node;
101#line 233 "include/linux/types.h"
102struct hlist_head {
103 struct hlist_node *first ;
104};
105#line 237 "include/linux/types.h"
106struct hlist_node {
107 struct hlist_node *next ;
108 struct hlist_node **pprev ;
109};
110#line 253 "include/linux/types.h"
111struct rcu_head {
112 struct rcu_head *next ;
113 void (*func)(struct rcu_head *head ) ;
114};
115#line 146 "include/linux/init.h"
116typedef void (*ctor_fn_t)(void);
117#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
118struct module;
119#line 56
120struct module;
121#line 47 "include/linux/dynamic_debug.h"
122struct device;
123#line 47
124struct device;
125#line 135 "include/linux/kernel.h"
126struct completion;
127#line 135
128struct completion;
129#line 349
130struct pid;
131#line 349
132struct pid;
133#line 12 "include/linux/thread_info.h"
134struct timespec;
135#line 12
136struct timespec;
137#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
138struct page;
139#line 18
140struct page;
141#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
142struct task_struct;
143#line 20
144struct task_struct;
145#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
146struct task_struct;
147#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
148struct file;
149#line 295
150struct file;
151#line 313
152struct seq_file;
153#line 313
154struct seq_file;
155#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
156struct page;
157#line 52
158struct task_struct;
159#line 329
160struct arch_spinlock;
161#line 329
162struct arch_spinlock;
163#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
164struct task_struct;
165#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
166struct task_struct;
167#line 10 "include/asm-generic/bug.h"
168struct bug_entry {
169 int bug_addr_disp ;
170 int file_disp ;
171 unsigned short line ;
172 unsigned short flags ;
173};
174#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
175struct static_key;
176#line 234
177struct static_key;
178#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
179struct seq_operations;
180#line 23 "include/asm-generic/atomic-long.h"
181typedef atomic64_t atomic_long_t;
182#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
183typedef u16 __ticket_t;
184#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
185typedef u32 __ticketpair_t;
186#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
187struct __raw_tickets {
188 __ticket_t head ;
189 __ticket_t tail ;
190};
191#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
192union __anonunion____missing_field_name_36 {
193 __ticketpair_t head_tail ;
194 struct __raw_tickets tickets ;
195};
196#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
197struct arch_spinlock {
198 union __anonunion____missing_field_name_36 __annonCompField17 ;
199};
200#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
201typedef struct arch_spinlock arch_spinlock_t;
202#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
203struct __anonstruct____missing_field_name_38 {
204 u32 read ;
205 s32 write ;
206};
207#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
208union __anonunion_arch_rwlock_t_37 {
209 s64 lock ;
210 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
211};
212#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
213typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
214#line 12 "include/linux/lockdep.h"
215struct task_struct;
216#line 391 "include/linux/lockdep.h"
217struct lock_class_key {
218
219};
220#line 20 "include/linux/spinlock_types.h"
221struct raw_spinlock {
222 arch_spinlock_t raw_lock ;
223 unsigned int magic ;
224 unsigned int owner_cpu ;
225 void *owner ;
226};
227#line 20 "include/linux/spinlock_types.h"
228typedef struct raw_spinlock raw_spinlock_t;
229#line 64 "include/linux/spinlock_types.h"
230union __anonunion____missing_field_name_39 {
231 struct raw_spinlock rlock ;
232};
233#line 64 "include/linux/spinlock_types.h"
234struct spinlock {
235 union __anonunion____missing_field_name_39 __annonCompField19 ;
236};
237#line 64 "include/linux/spinlock_types.h"
238typedef struct spinlock spinlock_t;
239#line 11 "include/linux/rwlock_types.h"
240struct __anonstruct_rwlock_t_40 {
241 arch_rwlock_t raw_lock ;
242 unsigned int magic ;
243 unsigned int owner_cpu ;
244 void *owner ;
245};
246#line 11 "include/linux/rwlock_types.h"
247typedef struct __anonstruct_rwlock_t_40 rwlock_t;
248#line 49 "include/linux/wait.h"
249struct __wait_queue_head {
250 spinlock_t lock ;
251 struct list_head task_list ;
252};
253#line 53 "include/linux/wait.h"
254typedef struct __wait_queue_head wait_queue_head_t;
255#line 55
256struct task_struct;
257#line 119 "include/linux/seqlock.h"
258struct seqcount {
259 unsigned int sequence ;
260};
261#line 119 "include/linux/seqlock.h"
262typedef struct seqcount seqcount_t;
263#line 60 "include/linux/pageblock-flags.h"
264struct page;
265#line 48 "include/linux/mutex.h"
266struct mutex {
267 atomic_t count ;
268 spinlock_t wait_lock ;
269 struct list_head wait_list ;
270 struct task_struct *owner ;
271 char const *name ;
272 void *magic ;
273};
274#line 19 "include/linux/rwsem.h"
275struct rw_semaphore;
276#line 19
277struct rw_semaphore;
278#line 25 "include/linux/rwsem.h"
279struct rw_semaphore {
280 long count ;
281 raw_spinlock_t wait_lock ;
282 struct list_head wait_list ;
283};
284#line 25 "include/linux/completion.h"
285struct completion {
286 unsigned int done ;
287 wait_queue_head_t wait ;
288};
289#line 9 "include/linux/memory_hotplug.h"
290struct page;
291#line 18 "include/linux/ioport.h"
292struct resource {
293 resource_size_t start ;
294 resource_size_t end ;
295 char const *name ;
296 unsigned long flags ;
297 struct resource *parent ;
298 struct resource *sibling ;
299 struct resource *child ;
300};
301#line 202
302struct device;
303#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
304struct device;
305#line 14 "include/linux/time.h"
306struct timespec {
307 __kernel_time_t tv_sec ;
308 long tv_nsec ;
309};
310#line 46 "include/linux/ktime.h"
311union ktime {
312 s64 tv64 ;
313};
314#line 59 "include/linux/ktime.h"
315typedef union ktime ktime_t;
316#line 10 "include/linux/timer.h"
317struct tvec_base;
318#line 10
319struct tvec_base;
320#line 12 "include/linux/timer.h"
321struct timer_list {
322 struct list_head entry ;
323 unsigned long expires ;
324 struct tvec_base *base ;
325 void (*function)(unsigned long ) ;
326 unsigned long data ;
327 int slack ;
328 int start_pid ;
329 void *start_site ;
330 char start_comm[16] ;
331};
332#line 289
333struct hrtimer;
334#line 289
335struct hrtimer;
336#line 290
337enum hrtimer_restart;
338#line 17 "include/linux/workqueue.h"
339struct work_struct;
340#line 17
341struct work_struct;
342#line 79 "include/linux/workqueue.h"
343struct work_struct {
344 atomic_long_t data ;
345 struct list_head entry ;
346 void (*func)(struct work_struct *work ) ;
347};
348#line 42 "include/linux/pm.h"
349struct device;
350#line 50 "include/linux/pm.h"
351struct pm_message {
352 int event ;
353};
354#line 50 "include/linux/pm.h"
355typedef struct pm_message pm_message_t;
356#line 264 "include/linux/pm.h"
357struct dev_pm_ops {
358 int (*prepare)(struct device *dev ) ;
359 void (*complete)(struct device *dev ) ;
360 int (*suspend)(struct device *dev ) ;
361 int (*resume)(struct device *dev ) ;
362 int (*freeze)(struct device *dev ) ;
363 int (*thaw)(struct device *dev ) ;
364 int (*poweroff)(struct device *dev ) ;
365 int (*restore)(struct device *dev ) ;
366 int (*suspend_late)(struct device *dev ) ;
367 int (*resume_early)(struct device *dev ) ;
368 int (*freeze_late)(struct device *dev ) ;
369 int (*thaw_early)(struct device *dev ) ;
370 int (*poweroff_late)(struct device *dev ) ;
371 int (*restore_early)(struct device *dev ) ;
372 int (*suspend_noirq)(struct device *dev ) ;
373 int (*resume_noirq)(struct device *dev ) ;
374 int (*freeze_noirq)(struct device *dev ) ;
375 int (*thaw_noirq)(struct device *dev ) ;
376 int (*poweroff_noirq)(struct device *dev ) ;
377 int (*restore_noirq)(struct device *dev ) ;
378 int (*runtime_suspend)(struct device *dev ) ;
379 int (*runtime_resume)(struct device *dev ) ;
380 int (*runtime_idle)(struct device *dev ) ;
381};
382#line 458
383enum rpm_status {
384 RPM_ACTIVE = 0,
385 RPM_RESUMING = 1,
386 RPM_SUSPENDED = 2,
387 RPM_SUSPENDING = 3
388} ;
389#line 480
390enum rpm_request {
391 RPM_REQ_NONE = 0,
392 RPM_REQ_IDLE = 1,
393 RPM_REQ_SUSPEND = 2,
394 RPM_REQ_AUTOSUSPEND = 3,
395 RPM_REQ_RESUME = 4
396} ;
397#line 488
398struct wakeup_source;
399#line 488
400struct wakeup_source;
401#line 495 "include/linux/pm.h"
402struct pm_subsys_data {
403 spinlock_t lock ;
404 unsigned int refcount ;
405};
406#line 506
407struct dev_pm_qos_request;
408#line 506
409struct pm_qos_constraints;
410#line 506 "include/linux/pm.h"
411struct dev_pm_info {
412 pm_message_t power_state ;
413 unsigned int can_wakeup : 1 ;
414 unsigned int async_suspend : 1 ;
415 bool is_prepared : 1 ;
416 bool is_suspended : 1 ;
417 bool ignore_children : 1 ;
418 spinlock_t lock ;
419 struct list_head entry ;
420 struct completion completion ;
421 struct wakeup_source *wakeup ;
422 bool wakeup_path : 1 ;
423 struct timer_list suspend_timer ;
424 unsigned long timer_expires ;
425 struct work_struct work ;
426 wait_queue_head_t wait_queue ;
427 atomic_t usage_count ;
428 atomic_t child_count ;
429 unsigned int disable_depth : 3 ;
430 unsigned int idle_notification : 1 ;
431 unsigned int request_pending : 1 ;
432 unsigned int deferred_resume : 1 ;
433 unsigned int run_wake : 1 ;
434 unsigned int runtime_auto : 1 ;
435 unsigned int no_callbacks : 1 ;
436 unsigned int irq_safe : 1 ;
437 unsigned int use_autosuspend : 1 ;
438 unsigned int timer_autosuspends : 1 ;
439 enum rpm_request request ;
440 enum rpm_status runtime_status ;
441 int runtime_error ;
442 int autosuspend_delay ;
443 unsigned long last_busy ;
444 unsigned long active_jiffies ;
445 unsigned long suspended_jiffies ;
446 unsigned long accounting_timestamp ;
447 ktime_t suspend_time ;
448 s64 max_time_suspended_ns ;
449 struct dev_pm_qos_request *pq_req ;
450 struct pm_subsys_data *subsys_data ;
451 struct pm_qos_constraints *constraints ;
452};
453#line 564 "include/linux/pm.h"
454struct dev_pm_domain {
455 struct dev_pm_ops ops ;
456};
457#line 8 "include/linux/vmalloc.h"
458struct vm_area_struct;
459#line 8
460struct vm_area_struct;
461#line 994 "include/linux/mmzone.h"
462struct page;
463#line 10 "include/linux/gfp.h"
464struct vm_area_struct;
465#line 10 "include/linux/irqreturn.h"
466enum irqreturn {
467 IRQ_NONE = 0,
468 IRQ_HANDLED = 1,
469 IRQ_WAKE_THREAD = 2
470} ;
471#line 16 "include/linux/irqreturn.h"
472typedef enum irqreturn irqreturn_t;
473#line 31 "include/linux/irq.h"
474struct seq_file;
475#line 32
476struct module;
477#line 14 "include/linux/irqdesc.h"
478struct module;
479#line 65 "include/linux/profile.h"
480struct task_struct;
481#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
482struct exception_table_entry {
483 unsigned long insn ;
484 unsigned long fixup ;
485};
486#line 132 "include/linux/hardirq.h"
487struct task_struct;
488#line 100 "include/linux/rbtree.h"
489struct rb_node {
490 unsigned long rb_parent_color ;
491 struct rb_node *rb_right ;
492 struct rb_node *rb_left ;
493} __attribute__((__aligned__(sizeof(long )))) ;
494#line 110 "include/linux/rbtree.h"
495struct rb_root {
496 struct rb_node *rb_node ;
497};
498#line 8 "include/linux/timerqueue.h"
499struct timerqueue_node {
500 struct rb_node node ;
501 ktime_t expires ;
502};
503#line 13 "include/linux/timerqueue.h"
504struct timerqueue_head {
505 struct rb_root head ;
506 struct timerqueue_node *next ;
507};
508#line 27 "include/linux/hrtimer.h"
509struct hrtimer_clock_base;
510#line 27
511struct hrtimer_clock_base;
512#line 28
513struct hrtimer_cpu_base;
514#line 28
515struct hrtimer_cpu_base;
516#line 44
517enum hrtimer_restart {
518 HRTIMER_NORESTART = 0,
519 HRTIMER_RESTART = 1
520} ;
521#line 108 "include/linux/hrtimer.h"
522struct hrtimer {
523 struct timerqueue_node node ;
524 ktime_t _softexpires ;
525 enum hrtimer_restart (*function)(struct hrtimer * ) ;
526 struct hrtimer_clock_base *base ;
527 unsigned long state ;
528 int start_pid ;
529 void *start_site ;
530 char start_comm[16] ;
531};
532#line 145 "include/linux/hrtimer.h"
533struct hrtimer_clock_base {
534 struct hrtimer_cpu_base *cpu_base ;
535 int index ;
536 clockid_t clockid ;
537 struct timerqueue_head active ;
538 ktime_t resolution ;
539 ktime_t (*get_time)(void) ;
540 ktime_t softirq_time ;
541 ktime_t offset ;
542};
543#line 178 "include/linux/hrtimer.h"
544struct hrtimer_cpu_base {
545 raw_spinlock_t lock ;
546 unsigned long active_bases ;
547 ktime_t expires_next ;
548 int hres_active ;
549 int hang_detected ;
550 unsigned long nr_events ;
551 unsigned long nr_retries ;
552 unsigned long nr_hangs ;
553 ktime_t max_hang_time ;
554 struct hrtimer_clock_base clock_base[3] ;
555};
556#line 22 "include/linux/kref.h"
557struct kref {
558 atomic_t refcount ;
559};
560#line 187 "include/linux/interrupt.h"
561struct device;
562#line 695
563struct seq_file;
564#line 20 "include/linux/rtc.h"
565struct rtc_time {
566 int tm_sec ;
567 int tm_min ;
568 int tm_hour ;
569 int tm_mday ;
570 int tm_mon ;
571 int tm_year ;
572 int tm_wday ;
573 int tm_yday ;
574 int tm_isdst ;
575};
576#line 36 "include/linux/rtc.h"
577struct rtc_wkalrm {
578 unsigned char enabled ;
579 unsigned char pending ;
580 struct rtc_time time ;
581};
582#line 20 "include/linux/kobject_ns.h"
583struct sock;
584#line 20
585struct sock;
586#line 21
587struct kobject;
588#line 21
589struct kobject;
590#line 27
591enum kobj_ns_type {
592 KOBJ_NS_TYPE_NONE = 0,
593 KOBJ_NS_TYPE_NET = 1,
594 KOBJ_NS_TYPES = 2
595} ;
596#line 40 "include/linux/kobject_ns.h"
597struct kobj_ns_type_operations {
598 enum kobj_ns_type type ;
599 void *(*grab_current_ns)(void) ;
600 void const *(*netlink_ns)(struct sock *sk ) ;
601 void const *(*initial_ns)(void) ;
602 void (*drop_ns)(void * ) ;
603};
604#line 22 "include/linux/sysfs.h"
605struct kobject;
606#line 23
607struct module;
608#line 24
609enum kobj_ns_type;
610#line 26 "include/linux/sysfs.h"
611struct attribute {
612 char const *name ;
613 umode_t mode ;
614};
615#line 56 "include/linux/sysfs.h"
616struct attribute_group {
617 char const *name ;
618 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
619 struct attribute **attrs ;
620};
621#line 85
622struct file;
623#line 86
624struct vm_area_struct;
625#line 88 "include/linux/sysfs.h"
626struct bin_attribute {
627 struct attribute attr ;
628 size_t size ;
629 void *private ;
630 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
631 loff_t , size_t ) ;
632 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
633 loff_t , size_t ) ;
634 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
635};
636#line 112 "include/linux/sysfs.h"
637struct sysfs_ops {
638 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
639 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
640 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
641};
642#line 118
643struct sysfs_dirent;
644#line 118
645struct sysfs_dirent;
646#line 60 "include/linux/kobject.h"
647struct kset;
648#line 60
649struct kobj_type;
650#line 60 "include/linux/kobject.h"
651struct kobject {
652 char const *name ;
653 struct list_head entry ;
654 struct kobject *parent ;
655 struct kset *kset ;
656 struct kobj_type *ktype ;
657 struct sysfs_dirent *sd ;
658 struct kref kref ;
659 unsigned int state_initialized : 1 ;
660 unsigned int state_in_sysfs : 1 ;
661 unsigned int state_add_uevent_sent : 1 ;
662 unsigned int state_remove_uevent_sent : 1 ;
663 unsigned int uevent_suppress : 1 ;
664};
665#line 108 "include/linux/kobject.h"
666struct kobj_type {
667 void (*release)(struct kobject *kobj ) ;
668 struct sysfs_ops const *sysfs_ops ;
669 struct attribute **default_attrs ;
670 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
671 void const *(*namespace)(struct kobject *kobj ) ;
672};
673#line 116 "include/linux/kobject.h"
674struct kobj_uevent_env {
675 char *envp[32] ;
676 int envp_idx ;
677 char buf[2048] ;
678 int buflen ;
679};
680#line 123 "include/linux/kobject.h"
681struct kset_uevent_ops {
682 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
683 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
684 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
685};
686#line 140
687struct sock;
688#line 159 "include/linux/kobject.h"
689struct kset {
690 struct list_head list ;
691 spinlock_t list_lock ;
692 struct kobject kobj ;
693 struct kset_uevent_ops const *uevent_ops ;
694};
695#line 19 "include/linux/klist.h"
696struct klist_node;
697#line 19
698struct klist_node;
699#line 39 "include/linux/klist.h"
700struct klist_node {
701 void *n_klist ;
702 struct list_head n_node ;
703 struct kref n_ref ;
704};
705#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
706struct dma_map_ops;
707#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
708struct dev_archdata {
709 void *acpi_handle ;
710 struct dma_map_ops *dma_ops ;
711 void *iommu ;
712};
713#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
714struct pdev_archdata {
715
716};
717#line 28 "include/linux/device.h"
718struct device;
719#line 29
720struct device_private;
721#line 29
722struct device_private;
723#line 30
724struct device_driver;
725#line 30
726struct device_driver;
727#line 31
728struct driver_private;
729#line 31
730struct driver_private;
731#line 32
732struct module;
733#line 33
734struct class;
735#line 33
736struct class;
737#line 34
738struct subsys_private;
739#line 34
740struct subsys_private;
741#line 35
742struct bus_type;
743#line 35
744struct bus_type;
745#line 36
746struct device_node;
747#line 36
748struct device_node;
749#line 37
750struct iommu_ops;
751#line 37
752struct iommu_ops;
753#line 39 "include/linux/device.h"
754struct bus_attribute {
755 struct attribute attr ;
756 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
757 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
758};
759#line 89
760struct device_attribute;
761#line 89
762struct driver_attribute;
763#line 89 "include/linux/device.h"
764struct bus_type {
765 char const *name ;
766 char const *dev_name ;
767 struct device *dev_root ;
768 struct bus_attribute *bus_attrs ;
769 struct device_attribute *dev_attrs ;
770 struct driver_attribute *drv_attrs ;
771 int (*match)(struct device *dev , struct device_driver *drv ) ;
772 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
773 int (*probe)(struct device *dev ) ;
774 int (*remove)(struct device *dev ) ;
775 void (*shutdown)(struct device *dev ) ;
776 int (*suspend)(struct device *dev , pm_message_t state ) ;
777 int (*resume)(struct device *dev ) ;
778 struct dev_pm_ops const *pm ;
779 struct iommu_ops *iommu_ops ;
780 struct subsys_private *p ;
781};
782#line 127
783struct device_type;
784#line 214
785struct of_device_id;
786#line 214 "include/linux/device.h"
787struct device_driver {
788 char const *name ;
789 struct bus_type *bus ;
790 struct module *owner ;
791 char const *mod_name ;
792 bool suppress_bind_attrs ;
793 struct of_device_id const *of_match_table ;
794 int (*probe)(struct device *dev ) ;
795 int (*remove)(struct device *dev ) ;
796 void (*shutdown)(struct device *dev ) ;
797 int (*suspend)(struct device *dev , pm_message_t state ) ;
798 int (*resume)(struct device *dev ) ;
799 struct attribute_group const **groups ;
800 struct dev_pm_ops const *pm ;
801 struct driver_private *p ;
802};
803#line 249 "include/linux/device.h"
804struct driver_attribute {
805 struct attribute attr ;
806 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
807 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
808};
809#line 330
810struct class_attribute;
811#line 330 "include/linux/device.h"
812struct class {
813 char const *name ;
814 struct module *owner ;
815 struct class_attribute *class_attrs ;
816 struct device_attribute *dev_attrs ;
817 struct bin_attribute *dev_bin_attrs ;
818 struct kobject *dev_kobj ;
819 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
820 char *(*devnode)(struct device *dev , umode_t *mode ) ;
821 void (*class_release)(struct class *class ) ;
822 void (*dev_release)(struct device *dev ) ;
823 int (*suspend)(struct device *dev , pm_message_t state ) ;
824 int (*resume)(struct device *dev ) ;
825 struct kobj_ns_type_operations const *ns_type ;
826 void const *(*namespace)(struct device *dev ) ;
827 struct dev_pm_ops const *pm ;
828 struct subsys_private *p ;
829};
830#line 397 "include/linux/device.h"
831struct class_attribute {
832 struct attribute attr ;
833 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
834 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
835 size_t count ) ;
836 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
837};
838#line 465 "include/linux/device.h"
839struct device_type {
840 char const *name ;
841 struct attribute_group const **groups ;
842 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
843 char *(*devnode)(struct device *dev , umode_t *mode ) ;
844 void (*release)(struct device *dev ) ;
845 struct dev_pm_ops const *pm ;
846};
847#line 476 "include/linux/device.h"
848struct device_attribute {
849 struct attribute attr ;
850 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
851 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
852 size_t count ) ;
853};
854#line 559 "include/linux/device.h"
855struct device_dma_parameters {
856 unsigned int max_segment_size ;
857 unsigned long segment_boundary_mask ;
858};
859#line 627
860struct dma_coherent_mem;
861#line 627 "include/linux/device.h"
862struct device {
863 struct device *parent ;
864 struct device_private *p ;
865 struct kobject kobj ;
866 char const *init_name ;
867 struct device_type const *type ;
868 struct mutex mutex ;
869 struct bus_type *bus ;
870 struct device_driver *driver ;
871 void *platform_data ;
872 struct dev_pm_info power ;
873 struct dev_pm_domain *pm_domain ;
874 int numa_node ;
875 u64 *dma_mask ;
876 u64 coherent_dma_mask ;
877 struct device_dma_parameters *dma_parms ;
878 struct list_head dma_pools ;
879 struct dma_coherent_mem *dma_mem ;
880 struct dev_archdata archdata ;
881 struct device_node *of_node ;
882 dev_t devt ;
883 u32 id ;
884 spinlock_t devres_lock ;
885 struct list_head devres_head ;
886 struct klist_node knode_class ;
887 struct class *class ;
888 struct attribute_group const **groups ;
889 void (*release)(struct device *dev ) ;
890};
891#line 43 "include/linux/pm_wakeup.h"
892struct wakeup_source {
893 char const *name ;
894 struct list_head entry ;
895 spinlock_t lock ;
896 struct timer_list timer ;
897 unsigned long timer_expires ;
898 ktime_t total_time ;
899 ktime_t max_time ;
900 ktime_t last_time ;
901 unsigned long event_count ;
902 unsigned long active_count ;
903 unsigned long relax_count ;
904 unsigned long hit_count ;
905 unsigned int active : 1 ;
906};
907#line 11 "include/linux/seq_file.h"
908struct seq_operations;
909#line 12
910struct file;
911#line 13
912struct path;
913#line 13
914struct path;
915#line 14
916struct inode;
917#line 14
918struct inode;
919#line 15
920struct dentry;
921#line 15
922struct dentry;
923#line 17 "include/linux/seq_file.h"
924struct seq_file {
925 char *buf ;
926 size_t size ;
927 size_t from ;
928 size_t count ;
929 loff_t index ;
930 loff_t read_pos ;
931 u64 version ;
932 struct mutex lock ;
933 struct seq_operations const *op ;
934 int poll_event ;
935 void *private ;
936};
937#line 31 "include/linux/seq_file.h"
938struct seq_operations {
939 void *(*start)(struct seq_file *m , loff_t *pos ) ;
940 void (*stop)(struct seq_file *m , void *v ) ;
941 void *(*next)(struct seq_file *m , void *v , loff_t *pos ) ;
942 int (*show)(struct seq_file *m , void *v ) ;
943};
944#line 8 "include/linux/cdev.h"
945struct file_operations;
946#line 8
947struct file_operations;
948#line 9
949struct inode;
950#line 10
951struct module;
952#line 12 "include/linux/cdev.h"
953struct cdev {
954 struct kobject kobj ;
955 struct module *owner ;
956 struct file_operations const *ops ;
957 struct list_head list ;
958 dev_t dev ;
959 unsigned int count ;
960};
961#line 33
962struct backing_dev_info;
963#line 15 "include/linux/blk_types.h"
964struct page;
965#line 16
966struct block_device;
967#line 16
968struct block_device;
969#line 33 "include/linux/list_bl.h"
970struct hlist_bl_node;
971#line 33 "include/linux/list_bl.h"
972struct hlist_bl_head {
973 struct hlist_bl_node *first ;
974};
975#line 37 "include/linux/list_bl.h"
976struct hlist_bl_node {
977 struct hlist_bl_node *next ;
978 struct hlist_bl_node **pprev ;
979};
980#line 13 "include/linux/dcache.h"
981struct nameidata;
982#line 13
983struct nameidata;
984#line 14
985struct path;
986#line 15
987struct vfsmount;
988#line 15
989struct vfsmount;
990#line 35 "include/linux/dcache.h"
991struct qstr {
992 unsigned int hash ;
993 unsigned int len ;
994 unsigned char const *name ;
995};
996#line 88
997struct dentry_operations;
998#line 88
999struct super_block;
1000#line 88 "include/linux/dcache.h"
1001union __anonunion_d_u_147 {
1002 struct list_head d_child ;
1003 struct rcu_head d_rcu ;
1004};
1005#line 88 "include/linux/dcache.h"
1006struct dentry {
1007 unsigned int d_flags ;
1008 seqcount_t d_seq ;
1009 struct hlist_bl_node d_hash ;
1010 struct dentry *d_parent ;
1011 struct qstr d_name ;
1012 struct inode *d_inode ;
1013 unsigned char d_iname[32] ;
1014 unsigned int d_count ;
1015 spinlock_t d_lock ;
1016 struct dentry_operations const *d_op ;
1017 struct super_block *d_sb ;
1018 unsigned long d_time ;
1019 void *d_fsdata ;
1020 struct list_head d_lru ;
1021 union __anonunion_d_u_147 d_u ;
1022 struct list_head d_subdirs ;
1023 struct list_head d_alias ;
1024};
1025#line 131 "include/linux/dcache.h"
1026struct dentry_operations {
1027 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1028 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1029 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1030 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1031 int (*d_delete)(struct dentry const * ) ;
1032 void (*d_release)(struct dentry * ) ;
1033 void (*d_prune)(struct dentry * ) ;
1034 void (*d_iput)(struct dentry * , struct inode * ) ;
1035 char *(*d_dname)(struct dentry * , char * , int ) ;
1036 struct vfsmount *(*d_automount)(struct path * ) ;
1037 int (*d_manage)(struct dentry * , bool ) ;
1038} __attribute__((__aligned__((1) << (6) ))) ;
1039#line 4 "include/linux/path.h"
1040struct dentry;
1041#line 5
1042struct vfsmount;
1043#line 7 "include/linux/path.h"
1044struct path {
1045 struct vfsmount *mnt ;
1046 struct dentry *dentry ;
1047};
1048#line 62 "include/linux/stat.h"
1049struct kstat {
1050 u64 ino ;
1051 dev_t dev ;
1052 umode_t mode ;
1053 unsigned int nlink ;
1054 uid_t uid ;
1055 gid_t gid ;
1056 dev_t rdev ;
1057 loff_t size ;
1058 struct timespec atime ;
1059 struct timespec mtime ;
1060 struct timespec ctime ;
1061 unsigned long blksize ;
1062 unsigned long long blocks ;
1063};
1064#line 64 "include/linux/radix-tree.h"
1065struct radix_tree_node;
1066#line 64 "include/linux/radix-tree.h"
1067struct radix_tree_root {
1068 unsigned int height ;
1069 gfp_t gfp_mask ;
1070 struct radix_tree_node *rnode ;
1071};
1072#line 14 "include/linux/prio_tree.h"
1073struct prio_tree_node;
1074#line 20 "include/linux/prio_tree.h"
1075struct prio_tree_node {
1076 struct prio_tree_node *left ;
1077 struct prio_tree_node *right ;
1078 struct prio_tree_node *parent ;
1079 unsigned long start ;
1080 unsigned long last ;
1081};
1082#line 28 "include/linux/prio_tree.h"
1083struct prio_tree_root {
1084 struct prio_tree_node *prio_tree_node ;
1085 unsigned short index_bits ;
1086 unsigned short raw ;
1087};
1088#line 6 "include/linux/pid.h"
1089enum pid_type {
1090 PIDTYPE_PID = 0,
1091 PIDTYPE_PGID = 1,
1092 PIDTYPE_SID = 2,
1093 PIDTYPE_MAX = 3
1094} ;
1095#line 50
1096struct pid_namespace;
1097#line 50 "include/linux/pid.h"
1098struct upid {
1099 int nr ;
1100 struct pid_namespace *ns ;
1101 struct hlist_node pid_chain ;
1102};
1103#line 57 "include/linux/pid.h"
1104struct pid {
1105 atomic_t count ;
1106 unsigned int level ;
1107 struct hlist_head tasks[3] ;
1108 struct rcu_head rcu ;
1109 struct upid numbers[1] ;
1110};
1111#line 100
1112struct pid_namespace;
1113#line 18 "include/linux/capability.h"
1114struct task_struct;
1115#line 377
1116struct dentry;
1117#line 16 "include/linux/fiemap.h"
1118struct fiemap_extent {
1119 __u64 fe_logical ;
1120 __u64 fe_physical ;
1121 __u64 fe_length ;
1122 __u64 fe_reserved64[2] ;
1123 __u32 fe_flags ;
1124 __u32 fe_reserved[3] ;
1125};
1126#line 8 "include/linux/shrinker.h"
1127struct shrink_control {
1128 gfp_t gfp_mask ;
1129 unsigned long nr_to_scan ;
1130};
1131#line 31 "include/linux/shrinker.h"
1132struct shrinker {
1133 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1134 int seeks ;
1135 long batch ;
1136 struct list_head list ;
1137 atomic_long_t nr_in_batch ;
1138};
1139#line 10 "include/linux/migrate_mode.h"
1140enum migrate_mode {
1141 MIGRATE_ASYNC = 0,
1142 MIGRATE_SYNC_LIGHT = 1,
1143 MIGRATE_SYNC = 2
1144} ;
1145#line 408 "include/linux/fs.h"
1146struct export_operations;
1147#line 408
1148struct export_operations;
1149#line 410
1150struct iovec;
1151#line 410
1152struct iovec;
1153#line 411
1154struct nameidata;
1155#line 412
1156struct kiocb;
1157#line 412
1158struct kiocb;
1159#line 413
1160struct kobject;
1161#line 414
1162struct pipe_inode_info;
1163#line 414
1164struct pipe_inode_info;
1165#line 415
1166struct poll_table_struct;
1167#line 415
1168struct poll_table_struct;
1169#line 416
1170struct kstatfs;
1171#line 416
1172struct kstatfs;
1173#line 417
1174struct vm_area_struct;
1175#line 418
1176struct vfsmount;
1177#line 419
1178struct cred;
1179#line 419
1180struct cred;
1181#line 469 "include/linux/fs.h"
1182struct iattr {
1183 unsigned int ia_valid ;
1184 umode_t ia_mode ;
1185 uid_t ia_uid ;
1186 gid_t ia_gid ;
1187 loff_t ia_size ;
1188 struct timespec ia_atime ;
1189 struct timespec ia_mtime ;
1190 struct timespec ia_ctime ;
1191 struct file *ia_file ;
1192};
1193#line 129 "include/linux/quota.h"
1194struct if_dqinfo {
1195 __u64 dqi_bgrace ;
1196 __u64 dqi_igrace ;
1197 __u32 dqi_flags ;
1198 __u32 dqi_valid ;
1199};
1200#line 50 "include/linux/dqblk_xfs.h"
1201struct fs_disk_quota {
1202 __s8 d_version ;
1203 __s8 d_flags ;
1204 __u16 d_fieldmask ;
1205 __u32 d_id ;
1206 __u64 d_blk_hardlimit ;
1207 __u64 d_blk_softlimit ;
1208 __u64 d_ino_hardlimit ;
1209 __u64 d_ino_softlimit ;
1210 __u64 d_bcount ;
1211 __u64 d_icount ;
1212 __s32 d_itimer ;
1213 __s32 d_btimer ;
1214 __u16 d_iwarns ;
1215 __u16 d_bwarns ;
1216 __s32 d_padding2 ;
1217 __u64 d_rtb_hardlimit ;
1218 __u64 d_rtb_softlimit ;
1219 __u64 d_rtbcount ;
1220 __s32 d_rtbtimer ;
1221 __u16 d_rtbwarns ;
1222 __s16 d_padding3 ;
1223 char d_padding4[8] ;
1224};
1225#line 146 "include/linux/dqblk_xfs.h"
1226struct fs_qfilestat {
1227 __u64 qfs_ino ;
1228 __u64 qfs_nblks ;
1229 __u32 qfs_nextents ;
1230};
1231#line 146 "include/linux/dqblk_xfs.h"
1232typedef struct fs_qfilestat fs_qfilestat_t;
1233#line 152 "include/linux/dqblk_xfs.h"
1234struct fs_quota_stat {
1235 __s8 qs_version ;
1236 __u16 qs_flags ;
1237 __s8 qs_pad ;
1238 fs_qfilestat_t qs_uquota ;
1239 fs_qfilestat_t qs_gquota ;
1240 __u32 qs_incoredqs ;
1241 __s32 qs_btimelimit ;
1242 __s32 qs_itimelimit ;
1243 __s32 qs_rtbtimelimit ;
1244 __u16 qs_bwarnlimit ;
1245 __u16 qs_iwarnlimit ;
1246};
1247#line 17 "include/linux/dqblk_qtree.h"
1248struct dquot;
1249#line 17
1250struct dquot;
1251#line 185 "include/linux/quota.h"
1252typedef __kernel_uid32_t qid_t;
1253#line 186 "include/linux/quota.h"
1254typedef long long qsize_t;
1255#line 200 "include/linux/quota.h"
1256struct mem_dqblk {
1257 qsize_t dqb_bhardlimit ;
1258 qsize_t dqb_bsoftlimit ;
1259 qsize_t dqb_curspace ;
1260 qsize_t dqb_rsvspace ;
1261 qsize_t dqb_ihardlimit ;
1262 qsize_t dqb_isoftlimit ;
1263 qsize_t dqb_curinodes ;
1264 time_t dqb_btime ;
1265 time_t dqb_itime ;
1266};
1267#line 215
1268struct quota_format_type;
1269#line 215
1270struct quota_format_type;
1271#line 217 "include/linux/quota.h"
1272struct mem_dqinfo {
1273 struct quota_format_type *dqi_format ;
1274 int dqi_fmt_id ;
1275 struct list_head dqi_dirty_list ;
1276 unsigned long dqi_flags ;
1277 unsigned int dqi_bgrace ;
1278 unsigned int dqi_igrace ;
1279 qsize_t dqi_maxblimit ;
1280 qsize_t dqi_maxilimit ;
1281 void *dqi_priv ;
1282};
1283#line 230
1284struct super_block;
1285#line 288 "include/linux/quota.h"
1286struct dquot {
1287 struct hlist_node dq_hash ;
1288 struct list_head dq_inuse ;
1289 struct list_head dq_free ;
1290 struct list_head dq_dirty ;
1291 struct mutex dq_lock ;
1292 atomic_t dq_count ;
1293 wait_queue_head_t dq_wait_unused ;
1294 struct super_block *dq_sb ;
1295 unsigned int dq_id ;
1296 loff_t dq_off ;
1297 unsigned long dq_flags ;
1298 short dq_type ;
1299 struct mem_dqblk dq_dqb ;
1300};
1301#line 305 "include/linux/quota.h"
1302struct quota_format_ops {
1303 int (*check_quota_file)(struct super_block *sb , int type ) ;
1304 int (*read_file_info)(struct super_block *sb , int type ) ;
1305 int (*write_file_info)(struct super_block *sb , int type ) ;
1306 int (*free_file_info)(struct super_block *sb , int type ) ;
1307 int (*read_dqblk)(struct dquot *dquot ) ;
1308 int (*commit_dqblk)(struct dquot *dquot ) ;
1309 int (*release_dqblk)(struct dquot *dquot ) ;
1310};
1311#line 316 "include/linux/quota.h"
1312struct dquot_operations {
1313 int (*write_dquot)(struct dquot * ) ;
1314 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1315 void (*destroy_dquot)(struct dquot * ) ;
1316 int (*acquire_dquot)(struct dquot * ) ;
1317 int (*release_dquot)(struct dquot * ) ;
1318 int (*mark_dirty)(struct dquot * ) ;
1319 int (*write_info)(struct super_block * , int ) ;
1320 qsize_t *(*get_reserved_space)(struct inode * ) ;
1321};
1322#line 329
1323struct path;
1324#line 332 "include/linux/quota.h"
1325struct quotactl_ops {
1326 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1327 int (*quota_on_meta)(struct super_block * , int , int ) ;
1328 int (*quota_off)(struct super_block * , int ) ;
1329 int (*quota_sync)(struct super_block * , int , int ) ;
1330 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1331 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1332 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1333 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1334 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1335 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1336};
1337#line 345 "include/linux/quota.h"
1338struct quota_format_type {
1339 int qf_fmt_id ;
1340 struct quota_format_ops const *qf_ops ;
1341 struct module *qf_owner ;
1342 struct quota_format_type *qf_next ;
1343};
1344#line 399 "include/linux/quota.h"
1345struct quota_info {
1346 unsigned int flags ;
1347 struct mutex dqio_mutex ;
1348 struct mutex dqonoff_mutex ;
1349 struct rw_semaphore dqptr_sem ;
1350 struct inode *files[2] ;
1351 struct mem_dqinfo info[2] ;
1352 struct quota_format_ops const *ops[2] ;
1353};
1354#line 532 "include/linux/fs.h"
1355struct page;
1356#line 533
1357struct address_space;
1358#line 533
1359struct address_space;
1360#line 534
1361struct writeback_control;
1362#line 534
1363struct writeback_control;
1364#line 577 "include/linux/fs.h"
1365union __anonunion_arg_155 {
1366 char *buf ;
1367 void *data ;
1368};
1369#line 577 "include/linux/fs.h"
1370struct __anonstruct_read_descriptor_t_154 {
1371 size_t written ;
1372 size_t count ;
1373 union __anonunion_arg_155 arg ;
1374 int error ;
1375};
1376#line 577 "include/linux/fs.h"
1377typedef struct __anonstruct_read_descriptor_t_154 read_descriptor_t;
1378#line 590 "include/linux/fs.h"
1379struct address_space_operations {
1380 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1381 int (*readpage)(struct file * , struct page * ) ;
1382 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1383 int (*set_page_dirty)(struct page *page ) ;
1384 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1385 unsigned int nr_pages ) ;
1386 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1387 unsigned int len , unsigned int flags , struct page **pagep ,
1388 void **fsdata ) ;
1389 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1390 unsigned int copied , struct page *page , void *fsdata ) ;
1391 sector_t (*bmap)(struct address_space * , sector_t ) ;
1392 void (*invalidatepage)(struct page * , unsigned long ) ;
1393 int (*releasepage)(struct page * , gfp_t ) ;
1394 void (*freepage)(struct page * ) ;
1395 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1396 unsigned long nr_segs ) ;
1397 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1398 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1399 int (*launder_page)(struct page * ) ;
1400 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1401 int (*error_remove_page)(struct address_space * , struct page * ) ;
1402};
1403#line 645
1404struct backing_dev_info;
1405#line 646 "include/linux/fs.h"
1406struct address_space {
1407 struct inode *host ;
1408 struct radix_tree_root page_tree ;
1409 spinlock_t tree_lock ;
1410 unsigned int i_mmap_writable ;
1411 struct prio_tree_root i_mmap ;
1412 struct list_head i_mmap_nonlinear ;
1413 struct mutex i_mmap_mutex ;
1414 unsigned long nrpages ;
1415 unsigned long writeback_index ;
1416 struct address_space_operations const *a_ops ;
1417 unsigned long flags ;
1418 struct backing_dev_info *backing_dev_info ;
1419 spinlock_t private_lock ;
1420 struct list_head private_list ;
1421 struct address_space *assoc_mapping ;
1422} __attribute__((__aligned__(sizeof(long )))) ;
1423#line 669
1424struct request_queue;
1425#line 669
1426struct request_queue;
1427#line 671
1428struct hd_struct;
1429#line 671
1430struct gendisk;
1431#line 671 "include/linux/fs.h"
1432struct block_device {
1433 dev_t bd_dev ;
1434 int bd_openers ;
1435 struct inode *bd_inode ;
1436 struct super_block *bd_super ;
1437 struct mutex bd_mutex ;
1438 struct list_head bd_inodes ;
1439 void *bd_claiming ;
1440 void *bd_holder ;
1441 int bd_holders ;
1442 bool bd_write_holder ;
1443 struct list_head bd_holder_disks ;
1444 struct block_device *bd_contains ;
1445 unsigned int bd_block_size ;
1446 struct hd_struct *bd_part ;
1447 unsigned int bd_part_count ;
1448 int bd_invalidated ;
1449 struct gendisk *bd_disk ;
1450 struct request_queue *bd_queue ;
1451 struct list_head bd_list ;
1452 unsigned long bd_private ;
1453 int bd_fsfreeze_count ;
1454 struct mutex bd_fsfreeze_mutex ;
1455};
1456#line 749
1457struct posix_acl;
1458#line 749
1459struct posix_acl;
1460#line 761
1461struct inode_operations;
1462#line 761 "include/linux/fs.h"
1463union __anonunion____missing_field_name_156 {
1464 unsigned int const i_nlink ;
1465 unsigned int __i_nlink ;
1466};
1467#line 761 "include/linux/fs.h"
1468union __anonunion____missing_field_name_157 {
1469 struct list_head i_dentry ;
1470 struct rcu_head i_rcu ;
1471};
1472#line 761
1473struct file_lock;
1474#line 761 "include/linux/fs.h"
1475union __anonunion____missing_field_name_158 {
1476 struct pipe_inode_info *i_pipe ;
1477 struct block_device *i_bdev ;
1478 struct cdev *i_cdev ;
1479};
1480#line 761 "include/linux/fs.h"
1481struct inode {
1482 umode_t i_mode ;
1483 unsigned short i_opflags ;
1484 uid_t i_uid ;
1485 gid_t i_gid ;
1486 unsigned int i_flags ;
1487 struct posix_acl *i_acl ;
1488 struct posix_acl *i_default_acl ;
1489 struct inode_operations const *i_op ;
1490 struct super_block *i_sb ;
1491 struct address_space *i_mapping ;
1492 void *i_security ;
1493 unsigned long i_ino ;
1494 union __anonunion____missing_field_name_156 __annonCompField30 ;
1495 dev_t i_rdev ;
1496 struct timespec i_atime ;
1497 struct timespec i_mtime ;
1498 struct timespec i_ctime ;
1499 spinlock_t i_lock ;
1500 unsigned short i_bytes ;
1501 blkcnt_t i_blocks ;
1502 loff_t i_size ;
1503 unsigned long i_state ;
1504 struct mutex i_mutex ;
1505 unsigned long dirtied_when ;
1506 struct hlist_node i_hash ;
1507 struct list_head i_wb_list ;
1508 struct list_head i_lru ;
1509 struct list_head i_sb_list ;
1510 union __anonunion____missing_field_name_157 __annonCompField31 ;
1511 atomic_t i_count ;
1512 unsigned int i_blkbits ;
1513 u64 i_version ;
1514 atomic_t i_dio_count ;
1515 atomic_t i_writecount ;
1516 struct file_operations const *i_fop ;
1517 struct file_lock *i_flock ;
1518 struct address_space i_data ;
1519 struct dquot *i_dquot[2] ;
1520 struct list_head i_devices ;
1521 union __anonunion____missing_field_name_158 __annonCompField32 ;
1522 __u32 i_generation ;
1523 __u32 i_fsnotify_mask ;
1524 struct hlist_head i_fsnotify_marks ;
1525 atomic_t i_readcount ;
1526 void *i_private ;
1527};
1528#line 942 "include/linux/fs.h"
1529struct fown_struct {
1530 rwlock_t lock ;
1531 struct pid *pid ;
1532 enum pid_type pid_type ;
1533 uid_t uid ;
1534 uid_t euid ;
1535 int signum ;
1536};
1537#line 953 "include/linux/fs.h"
1538struct file_ra_state {
1539 unsigned long start ;
1540 unsigned int size ;
1541 unsigned int async_size ;
1542 unsigned int ra_pages ;
1543 unsigned int mmap_miss ;
1544 loff_t prev_pos ;
1545};
1546#line 976 "include/linux/fs.h"
1547union __anonunion_f_u_159 {
1548 struct list_head fu_list ;
1549 struct rcu_head fu_rcuhead ;
1550};
1551#line 976 "include/linux/fs.h"
1552struct file {
1553 union __anonunion_f_u_159 f_u ;
1554 struct path f_path ;
1555 struct file_operations const *f_op ;
1556 spinlock_t f_lock ;
1557 int f_sb_list_cpu ;
1558 atomic_long_t f_count ;
1559 unsigned int f_flags ;
1560 fmode_t f_mode ;
1561 loff_t f_pos ;
1562 struct fown_struct f_owner ;
1563 struct cred const *f_cred ;
1564 struct file_ra_state f_ra ;
1565 u64 f_version ;
1566 void *f_security ;
1567 void *private_data ;
1568 struct list_head f_ep_links ;
1569 struct list_head f_tfile_llink ;
1570 struct address_space *f_mapping ;
1571 unsigned long f_mnt_write_state ;
1572};
1573#line 1111
1574struct files_struct;
1575#line 1111 "include/linux/fs.h"
1576typedef struct files_struct *fl_owner_t;
1577#line 1113 "include/linux/fs.h"
1578struct file_lock_operations {
1579 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1580 void (*fl_release_private)(struct file_lock * ) ;
1581};
1582#line 1118 "include/linux/fs.h"
1583struct lock_manager_operations {
1584 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1585 void (*lm_notify)(struct file_lock * ) ;
1586 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1587 void (*lm_release_private)(struct file_lock * ) ;
1588 void (*lm_break)(struct file_lock * ) ;
1589 int (*lm_change)(struct file_lock ** , int ) ;
1590};
1591#line 4 "include/linux/nfs_fs_i.h"
1592struct nlm_lockowner;
1593#line 4
1594struct nlm_lockowner;
1595#line 9 "include/linux/nfs_fs_i.h"
1596struct nfs_lock_info {
1597 u32 state ;
1598 struct nlm_lockowner *owner ;
1599 struct list_head list ;
1600};
1601#line 15
1602struct nfs4_lock_state;
1603#line 15
1604struct nfs4_lock_state;
1605#line 16 "include/linux/nfs_fs_i.h"
1606struct nfs4_lock_info {
1607 struct nfs4_lock_state *owner ;
1608};
1609#line 1138 "include/linux/fs.h"
1610struct fasync_struct;
1611#line 1138 "include/linux/fs.h"
1612struct __anonstruct_afs_161 {
1613 struct list_head link ;
1614 int state ;
1615};
1616#line 1138 "include/linux/fs.h"
1617union __anonunion_fl_u_160 {
1618 struct nfs_lock_info nfs_fl ;
1619 struct nfs4_lock_info nfs4_fl ;
1620 struct __anonstruct_afs_161 afs ;
1621};
1622#line 1138 "include/linux/fs.h"
1623struct file_lock {
1624 struct file_lock *fl_next ;
1625 struct list_head fl_link ;
1626 struct list_head fl_block ;
1627 fl_owner_t fl_owner ;
1628 unsigned int fl_flags ;
1629 unsigned char fl_type ;
1630 unsigned int fl_pid ;
1631 struct pid *fl_nspid ;
1632 wait_queue_head_t fl_wait ;
1633 struct file *fl_file ;
1634 loff_t fl_start ;
1635 loff_t fl_end ;
1636 struct fasync_struct *fl_fasync ;
1637 unsigned long fl_break_time ;
1638 unsigned long fl_downgrade_time ;
1639 struct file_lock_operations const *fl_ops ;
1640 struct lock_manager_operations const *fl_lmops ;
1641 union __anonunion_fl_u_160 fl_u ;
1642};
1643#line 1378 "include/linux/fs.h"
1644struct fasync_struct {
1645 spinlock_t fa_lock ;
1646 int magic ;
1647 int fa_fd ;
1648 struct fasync_struct *fa_next ;
1649 struct file *fa_file ;
1650 struct rcu_head fa_rcu ;
1651};
1652#line 1418
1653struct file_system_type;
1654#line 1418
1655struct super_operations;
1656#line 1418
1657struct xattr_handler;
1658#line 1418
1659struct mtd_info;
1660#line 1418 "include/linux/fs.h"
1661struct super_block {
1662 struct list_head s_list ;
1663 dev_t s_dev ;
1664 unsigned char s_dirt ;
1665 unsigned char s_blocksize_bits ;
1666 unsigned long s_blocksize ;
1667 loff_t s_maxbytes ;
1668 struct file_system_type *s_type ;
1669 struct super_operations const *s_op ;
1670 struct dquot_operations const *dq_op ;
1671 struct quotactl_ops const *s_qcop ;
1672 struct export_operations const *s_export_op ;
1673 unsigned long s_flags ;
1674 unsigned long s_magic ;
1675 struct dentry *s_root ;
1676 struct rw_semaphore s_umount ;
1677 struct mutex s_lock ;
1678 int s_count ;
1679 atomic_t s_active ;
1680 void *s_security ;
1681 struct xattr_handler const **s_xattr ;
1682 struct list_head s_inodes ;
1683 struct hlist_bl_head s_anon ;
1684 struct list_head *s_files ;
1685 struct list_head s_mounts ;
1686 struct list_head s_dentry_lru ;
1687 int s_nr_dentry_unused ;
1688 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1689 struct list_head s_inode_lru ;
1690 int s_nr_inodes_unused ;
1691 struct block_device *s_bdev ;
1692 struct backing_dev_info *s_bdi ;
1693 struct mtd_info *s_mtd ;
1694 struct hlist_node s_instances ;
1695 struct quota_info s_dquot ;
1696 int s_frozen ;
1697 wait_queue_head_t s_wait_unfrozen ;
1698 char s_id[32] ;
1699 u8 s_uuid[16] ;
1700 void *s_fs_info ;
1701 unsigned int s_max_links ;
1702 fmode_t s_mode ;
1703 u32 s_time_gran ;
1704 struct mutex s_vfs_rename_mutex ;
1705 char *s_subtype ;
1706 char *s_options ;
1707 struct dentry_operations const *s_d_op ;
1708 int cleancache_poolid ;
1709 struct shrinker s_shrink ;
1710 atomic_long_t s_remove_count ;
1711 int s_readonly_remount ;
1712};
1713#line 1567 "include/linux/fs.h"
1714struct fiemap_extent_info {
1715 unsigned int fi_flags ;
1716 unsigned int fi_extents_mapped ;
1717 unsigned int fi_extents_max ;
1718 struct fiemap_extent *fi_extents_start ;
1719};
1720#line 1609 "include/linux/fs.h"
1721struct file_operations {
1722 struct module *owner ;
1723 loff_t (*llseek)(struct file * , loff_t , int ) ;
1724 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1725 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1726 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1727 loff_t ) ;
1728 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1729 loff_t ) ;
1730 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1731 loff_t , u64 , unsigned int ) ) ;
1732 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1733 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1734 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1735 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1736 int (*open)(struct inode * , struct file * ) ;
1737 int (*flush)(struct file * , fl_owner_t id ) ;
1738 int (*release)(struct inode * , struct file * ) ;
1739 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1740 int (*aio_fsync)(struct kiocb * , int datasync ) ;
1741 int (*fasync)(int , struct file * , int ) ;
1742 int (*lock)(struct file * , int , struct file_lock * ) ;
1743 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1744 int ) ;
1745 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1746 unsigned long , unsigned long ) ;
1747 int (*check_flags)(int ) ;
1748 int (*flock)(struct file * , int , struct file_lock * ) ;
1749 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1750 unsigned int ) ;
1751 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1752 unsigned int ) ;
1753 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1754 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1755};
1756#line 1639 "include/linux/fs.h"
1757struct inode_operations {
1758 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1759 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1760 int (*permission)(struct inode * , int ) ;
1761 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1762 int (*readlink)(struct dentry * , char * , int ) ;
1763 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1764 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1765 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1766 int (*unlink)(struct inode * , struct dentry * ) ;
1767 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1768 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1769 int (*rmdir)(struct inode * , struct dentry * ) ;
1770 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1771 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1772 void (*truncate)(struct inode * ) ;
1773 int (*setattr)(struct dentry * , struct iattr * ) ;
1774 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1775 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1776 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1777 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1778 int (*removexattr)(struct dentry * , char const * ) ;
1779 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1780 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1781} __attribute__((__aligned__((1) << (6) ))) ;
1782#line 1669
1783struct seq_file;
1784#line 1684 "include/linux/fs.h"
1785struct super_operations {
1786 struct inode *(*alloc_inode)(struct super_block *sb ) ;
1787 void (*destroy_inode)(struct inode * ) ;
1788 void (*dirty_inode)(struct inode * , int flags ) ;
1789 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1790 int (*drop_inode)(struct inode * ) ;
1791 void (*evict_inode)(struct inode * ) ;
1792 void (*put_super)(struct super_block * ) ;
1793 void (*write_super)(struct super_block * ) ;
1794 int (*sync_fs)(struct super_block *sb , int wait ) ;
1795 int (*freeze_fs)(struct super_block * ) ;
1796 int (*unfreeze_fs)(struct super_block * ) ;
1797 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1798 int (*remount_fs)(struct super_block * , int * , char * ) ;
1799 void (*umount_begin)(struct super_block * ) ;
1800 int (*show_options)(struct seq_file * , struct dentry * ) ;
1801 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1802 int (*show_path)(struct seq_file * , struct dentry * ) ;
1803 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1804 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1805 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1806 loff_t ) ;
1807 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1808 int (*nr_cached_objects)(struct super_block * ) ;
1809 void (*free_cached_objects)(struct super_block * , int ) ;
1810};
1811#line 1835 "include/linux/fs.h"
1812struct file_system_type {
1813 char const *name ;
1814 int fs_flags ;
1815 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1816 void (*kill_sb)(struct super_block * ) ;
1817 struct module *owner ;
1818 struct file_system_type *next ;
1819 struct hlist_head fs_supers ;
1820 struct lock_class_key s_lock_key ;
1821 struct lock_class_key s_umount_key ;
1822 struct lock_class_key s_vfs_rename_key ;
1823 struct lock_class_key i_lock_key ;
1824 struct lock_class_key i_mutex_key ;
1825 struct lock_class_key i_mutex_dir_key ;
1826};
1827#line 29 "include/linux/sysctl.h"
1828struct completion;
1829#line 28 "include/linux/poll.h"
1830struct poll_table_struct;
1831#line 39 "include/linux/poll.h"
1832struct poll_table_struct {
1833 void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
1834 unsigned long _key ;
1835};
1836#line 143 "include/linux/rtc.h"
1837struct rtc_class_ops {
1838 int (*open)(struct device * ) ;
1839 void (*release)(struct device * ) ;
1840 int (*ioctl)(struct device * , unsigned int , unsigned long ) ;
1841 int (*read_time)(struct device * , struct rtc_time * ) ;
1842 int (*set_time)(struct device * , struct rtc_time * ) ;
1843 int (*read_alarm)(struct device * , struct rtc_wkalrm * ) ;
1844 int (*set_alarm)(struct device * , struct rtc_wkalrm * ) ;
1845 int (*proc)(struct device * , struct seq_file * ) ;
1846 int (*set_mmss)(struct device * , unsigned long secs ) ;
1847 int (*read_callback)(struct device * , int data ) ;
1848 int (*alarm_irq_enable)(struct device * , unsigned int enabled ) ;
1849};
1850#line 158 "include/linux/rtc.h"
1851struct rtc_task {
1852 void (*func)(void *private_data ) ;
1853 void *private_data ;
1854};
1855#line 164 "include/linux/rtc.h"
1856struct rtc_timer {
1857 struct rtc_task task ;
1858 struct timerqueue_node node ;
1859 ktime_t period ;
1860 int enabled ;
1861};
1862#line 175 "include/linux/rtc.h"
1863struct rtc_device {
1864 struct device dev ;
1865 struct module *owner ;
1866 int id ;
1867 char name[20] ;
1868 struct rtc_class_ops const *ops ;
1869 struct mutex ops_lock ;
1870 struct cdev char_dev ;
1871 unsigned long flags ;
1872 unsigned long irq_data ;
1873 spinlock_t irq_lock ;
1874 wait_queue_head_t irq_queue ;
1875 struct fasync_struct *async_queue ;
1876 struct rtc_task *irq_task ;
1877 spinlock_t irq_task_lock ;
1878 int irq_freq ;
1879 int max_user_freq ;
1880 struct timerqueue_head timerqueue ;
1881 struct rtc_timer aie_timer ;
1882 struct rtc_timer uie_rtctimer ;
1883 struct hrtimer pie_timer ;
1884 int pie_enabled ;
1885 struct work_struct irqwork ;
1886 int uie_unsupported ;
1887 struct work_struct uie_task ;
1888 struct timer_list uie_timer ;
1889 unsigned int oldsecs ;
1890 unsigned int uie_irq_active : 1 ;
1891 unsigned int stop_uie_polling : 1 ;
1892 unsigned int uie_task_active : 1 ;
1893 unsigned int uie_timer_active : 1 ;
1894};
1895#line 12 "include/linux/mod_devicetable.h"
1896typedef unsigned long kernel_ulong_t;
1897#line 219 "include/linux/mod_devicetable.h"
1898struct of_device_id {
1899 char name[32] ;
1900 char type[32] ;
1901 char compatible[128] ;
1902 void *data ;
1903};
1904#line 506 "include/linux/mod_devicetable.h"
1905struct platform_device_id {
1906 char name[20] ;
1907 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
1908};
1909#line 17 "include/linux/platform_device.h"
1910struct mfd_cell;
1911#line 17
1912struct mfd_cell;
1913#line 19 "include/linux/platform_device.h"
1914struct platform_device {
1915 char const *name ;
1916 int id ;
1917 struct device dev ;
1918 u32 num_resources ;
1919 struct resource *resource ;
1920 struct platform_device_id const *id_entry ;
1921 struct mfd_cell *mfd_cell ;
1922 struct pdev_archdata archdata ;
1923};
1924#line 164 "include/linux/platform_device.h"
1925struct platform_driver {
1926 int (*probe)(struct platform_device * ) ;
1927 int (*remove)(struct platform_device * ) ;
1928 void (*shutdown)(struct platform_device * ) ;
1929 int (*suspend)(struct platform_device * , pm_message_t state ) ;
1930 int (*resume)(struct platform_device * ) ;
1931 struct device_driver driver ;
1932 struct platform_device_id const *id_table ;
1933};
1934#line 25 "include/linux/io.h"
1935struct device;
1936#line 48 "include/linux/kmod.h"
1937struct cred;
1938#line 49
1939struct file;
1940#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
1941struct task_struct;
1942#line 18 "include/linux/elf.h"
1943typedef __u64 Elf64_Addr;
1944#line 19 "include/linux/elf.h"
1945typedef __u16 Elf64_Half;
1946#line 23 "include/linux/elf.h"
1947typedef __u32 Elf64_Word;
1948#line 24 "include/linux/elf.h"
1949typedef __u64 Elf64_Xword;
1950#line 194 "include/linux/elf.h"
1951struct elf64_sym {
1952 Elf64_Word st_name ;
1953 unsigned char st_info ;
1954 unsigned char st_other ;
1955 Elf64_Half st_shndx ;
1956 Elf64_Addr st_value ;
1957 Elf64_Xword st_size ;
1958};
1959#line 194 "include/linux/elf.h"
1960typedef struct elf64_sym Elf64_Sym;
1961#line 438
1962struct file;
1963#line 39 "include/linux/moduleparam.h"
1964struct kernel_param;
1965#line 39
1966struct kernel_param;
1967#line 41 "include/linux/moduleparam.h"
1968struct kernel_param_ops {
1969 int (*set)(char const *val , struct kernel_param const *kp ) ;
1970 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1971 void (*free)(void *arg ) ;
1972};
1973#line 50
1974struct kparam_string;
1975#line 50
1976struct kparam_array;
1977#line 50 "include/linux/moduleparam.h"
1978union __anonunion____missing_field_name_226 {
1979 void *arg ;
1980 struct kparam_string const *str ;
1981 struct kparam_array const *arr ;
1982};
1983#line 50 "include/linux/moduleparam.h"
1984struct kernel_param {
1985 char const *name ;
1986 struct kernel_param_ops const *ops ;
1987 u16 perm ;
1988 s16 level ;
1989 union __anonunion____missing_field_name_226 __annonCompField35 ;
1990};
1991#line 63 "include/linux/moduleparam.h"
1992struct kparam_string {
1993 unsigned int maxlen ;
1994 char *string ;
1995};
1996#line 69 "include/linux/moduleparam.h"
1997struct kparam_array {
1998 unsigned int max ;
1999 unsigned int elemsize ;
2000 unsigned int *num ;
2001 struct kernel_param_ops const *ops ;
2002 void *elem ;
2003};
2004#line 445
2005struct module;
2006#line 80 "include/linux/jump_label.h"
2007struct module;
2008#line 143 "include/linux/jump_label.h"
2009struct static_key {
2010 atomic_t enabled ;
2011};
2012#line 22 "include/linux/tracepoint.h"
2013struct module;
2014#line 23
2015struct tracepoint;
2016#line 23
2017struct tracepoint;
2018#line 25 "include/linux/tracepoint.h"
2019struct tracepoint_func {
2020 void *func ;
2021 void *data ;
2022};
2023#line 30 "include/linux/tracepoint.h"
2024struct tracepoint {
2025 char const *name ;
2026 struct static_key key ;
2027 void (*regfunc)(void) ;
2028 void (*unregfunc)(void) ;
2029 struct tracepoint_func *funcs ;
2030};
2031#line 19 "include/linux/export.h"
2032struct kernel_symbol {
2033 unsigned long value ;
2034 char const *name ;
2035};
2036#line 8 "include/asm-generic/module.h"
2037struct mod_arch_specific {
2038
2039};
2040#line 35 "include/linux/module.h"
2041struct module;
2042#line 37
2043struct module_param_attrs;
2044#line 37 "include/linux/module.h"
2045struct module_kobject {
2046 struct kobject kobj ;
2047 struct module *mod ;
2048 struct kobject *drivers_dir ;
2049 struct module_param_attrs *mp ;
2050};
2051#line 44 "include/linux/module.h"
2052struct module_attribute {
2053 struct attribute attr ;
2054 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
2055 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
2056 size_t count ) ;
2057 void (*setup)(struct module * , char const * ) ;
2058 int (*test)(struct module * ) ;
2059 void (*free)(struct module * ) ;
2060};
2061#line 71
2062struct exception_table_entry;
2063#line 199
2064enum module_state {
2065 MODULE_STATE_LIVE = 0,
2066 MODULE_STATE_COMING = 1,
2067 MODULE_STATE_GOING = 2
2068} ;
2069#line 215 "include/linux/module.h"
2070struct module_ref {
2071 unsigned long incs ;
2072 unsigned long decs ;
2073} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
2074#line 220
2075struct module_sect_attrs;
2076#line 220
2077struct module_notes_attrs;
2078#line 220
2079struct ftrace_event_call;
2080#line 220 "include/linux/module.h"
2081struct module {
2082 enum module_state state ;
2083 struct list_head list ;
2084 char name[64UL - sizeof(unsigned long )] ;
2085 struct module_kobject mkobj ;
2086 struct module_attribute *modinfo_attrs ;
2087 char const *version ;
2088 char const *srcversion ;
2089 struct kobject *holders_dir ;
2090 struct kernel_symbol const *syms ;
2091 unsigned long const *crcs ;
2092 unsigned int num_syms ;
2093 struct kernel_param *kp ;
2094 unsigned int num_kp ;
2095 unsigned int num_gpl_syms ;
2096 struct kernel_symbol const *gpl_syms ;
2097 unsigned long const *gpl_crcs ;
2098 struct kernel_symbol const *unused_syms ;
2099 unsigned long const *unused_crcs ;
2100 unsigned int num_unused_syms ;
2101 unsigned int num_unused_gpl_syms ;
2102 struct kernel_symbol const *unused_gpl_syms ;
2103 unsigned long const *unused_gpl_crcs ;
2104 struct kernel_symbol const *gpl_future_syms ;
2105 unsigned long const *gpl_future_crcs ;
2106 unsigned int num_gpl_future_syms ;
2107 unsigned int num_exentries ;
2108 struct exception_table_entry *extable ;
2109 int (*init)(void) ;
2110 void *module_init ;
2111 void *module_core ;
2112 unsigned int init_size ;
2113 unsigned int core_size ;
2114 unsigned int init_text_size ;
2115 unsigned int core_text_size ;
2116 unsigned int init_ro_size ;
2117 unsigned int core_ro_size ;
2118 struct mod_arch_specific arch ;
2119 unsigned int taints ;
2120 unsigned int num_bugs ;
2121 struct list_head bug_list ;
2122 struct bug_entry *bug_table ;
2123 Elf64_Sym *symtab ;
2124 Elf64_Sym *core_symtab ;
2125 unsigned int num_symtab ;
2126 unsigned int core_num_syms ;
2127 char *strtab ;
2128 char *core_strtab ;
2129 struct module_sect_attrs *sect_attrs ;
2130 struct module_notes_attrs *notes_attrs ;
2131 char *args ;
2132 void *percpu ;
2133 unsigned int percpu_size ;
2134 unsigned int num_tracepoints ;
2135 struct tracepoint * const *tracepoints_ptrs ;
2136 unsigned int num_trace_bprintk_fmt ;
2137 char const **trace_bprintk_fmt_start ;
2138 struct ftrace_event_call **trace_events ;
2139 unsigned int num_trace_events ;
2140 struct list_head source_list ;
2141 struct list_head target_list ;
2142 struct task_struct *waiter ;
2143 void (*exit)(void) ;
2144 struct module_ref *refptr ;
2145 ctor_fn_t *ctors ;
2146 unsigned int num_ctors ;
2147};
2148#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
2149struct rtc_plat_data {
2150 struct rtc_device *rtc ;
2151 void *ioaddr ;
2152 unsigned long last_jiffies ;
2153 int irq ;
2154 unsigned int irqen ;
2155 int alrm_sec ;
2156 int alrm_min ;
2157 int alrm_hour ;
2158 int alrm_mday ;
2159 spinlock_t lock ;
2160};
2161#line 1 "<compiler builtins>"
2162long __builtin_expect(long val , long res ) ;
2163#line 6 "include/linux/bcd.h"
2164extern unsigned int bcd2bin(unsigned char val ) __attribute__((__const__)) ;
2165#line 7
2166extern unsigned char bin2bcd(unsigned int val ) __attribute__((__const__)) ;
2167#line 27 "include/linux/err.h"
2168__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
2169#line 27 "include/linux/err.h"
2170__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr )
2171{
2172
2173 {
2174#line 29
2175 return ((long )ptr);
2176}
2177}
2178#line 32
2179__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
2180#line 32 "include/linux/err.h"
2181__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr )
2182{ long tmp ;
2183 unsigned long __cil_tmp3 ;
2184 int __cil_tmp4 ;
2185 int __cil_tmp5 ;
2186 int __cil_tmp6 ;
2187 long __cil_tmp7 ;
2188
2189 {
2190 {
2191#line 34
2192 __cil_tmp3 = (unsigned long )ptr;
2193#line 34
2194 __cil_tmp4 = __cil_tmp3 >= 0xfffffffffffff001UL;
2195#line 34
2196 __cil_tmp5 = ! __cil_tmp4;
2197#line 34
2198 __cil_tmp6 = ! __cil_tmp5;
2199#line 34
2200 __cil_tmp7 = (long )__cil_tmp6;
2201#line 34
2202 tmp = __builtin_expect(__cil_tmp7, 0L);
2203 }
2204#line 34
2205 return (tmp);
2206}
2207}
2208#line 93 "include/linux/spinlock.h"
2209extern void __raw_spin_lock_init(raw_spinlock_t *lock , char const *name , struct lock_class_key *key ) ;
2210#line 22 "include/linux/spinlock_api_smp.h"
2211extern void _raw_spin_lock(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
2212#line 32
2213extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
2214#line 39
2215extern void _raw_spin_unlock(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
2216#line 42
2217extern void _raw_spin_unlock_irqrestore(raw_spinlock_t *lock , unsigned long flags ) __attribute__((__section__(".spinlock.text"))) ;
2218#line 272 "include/linux/spinlock.h"
2219__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) __attribute__((__no_instrument_function__)) ;
2220#line 272 "include/linux/spinlock.h"
2221__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
2222{
2223
2224 {
2225#line 274
2226 return ((struct raw_spinlock *)lock);
2227}
2228}
2229#line 283
2230__inline static void spin_lock(spinlock_t *lock ) __attribute__((__no_instrument_function__)) ;
2231#line 283 "include/linux/spinlock.h"
2232__inline static void spin_lock(spinlock_t *lock )
2233{ struct raw_spinlock *__cil_tmp2 ;
2234
2235 {
2236 {
2237#line 285
2238 __cil_tmp2 = (struct raw_spinlock *)lock;
2239#line 285
2240 _raw_spin_lock(__cil_tmp2);
2241 }
2242#line 286
2243 return;
2244}
2245}
2246#line 323
2247__inline static void spin_unlock(spinlock_t *lock ) __attribute__((__no_instrument_function__)) ;
2248#line 323 "include/linux/spinlock.h"
2249__inline static void spin_unlock(spinlock_t *lock )
2250{ struct raw_spinlock *__cil_tmp2 ;
2251
2252 {
2253 {
2254#line 325
2255 __cil_tmp2 = (struct raw_spinlock *)lock;
2256#line 325
2257 _raw_spin_unlock(__cil_tmp2);
2258 }
2259#line 326
2260 return;
2261}
2262}
2263#line 338
2264__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) __attribute__((__no_instrument_function__)) ;
2265#line 338 "include/linux/spinlock.h"
2266__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
2267{ struct raw_spinlock *__cil_tmp5 ;
2268
2269 {
2270 {
2271#line 340
2272 while (1) {
2273 while_continue: ;
2274 {
2275#line 340
2276 __cil_tmp5 = (struct raw_spinlock *)lock;
2277#line 340
2278 _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
2279 }
2280#line 340
2281 goto while_break;
2282 }
2283 while_break: ;
2284 }
2285#line 341
2286 return;
2287}
2288}
2289#line 152 "include/linux/mutex.h"
2290void mutex_lock(struct mutex *lock ) ;
2291#line 153
2292int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2293#line 154
2294int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2295#line 168
2296int mutex_trylock(struct mutex *lock ) ;
2297#line 169
2298void mutex_unlock(struct mutex *lock ) ;
2299#line 170
2300int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2301#line 138 "include/linux/ioport.h"
2302extern struct resource iomem_resource ;
2303#line 208
2304extern struct resource *__devm_request_region(struct device *dev , struct resource *parent ,
2305 resource_size_t start , resource_size_t n ,
2306 char const *name ) ;
2307#line 82 "include/linux/jiffies.h"
2308extern unsigned long volatile jiffies __attribute__((__section__(".data"))) ;
2309#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2310__inline static unsigned char readb(void const volatile *addr ) __attribute__((__no_instrument_function__)) ;
2311#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2312__inline static unsigned char readb(void const volatile *addr )
2313{ unsigned char ret ;
2314 unsigned char volatile *__cil_tmp3 ;
2315
2316 {
2317#line 53
2318 __cil_tmp3 = (unsigned char volatile *)addr;
2319#line 53
2320 __asm__ volatile ("mov"
2321 "b"
2322 " %1,%0": "=q" (ret): "m" (*__cil_tmp3): "memory");
2323#line 53
2324 return (ret);
2325}
2326}
2327#line 61
2328__inline static void writeb(unsigned char val , void volatile *addr ) __attribute__((__no_instrument_function__)) ;
2329#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2330__inline static void writeb(unsigned char val , void volatile *addr )
2331{ unsigned char volatile *__cil_tmp3 ;
2332
2333 {
2334#line 61
2335 __cil_tmp3 = (unsigned char volatile *)addr;
2336#line 61
2337 __asm__ volatile ("mov"
2338 "b"
2339 " %0,%1": : "q" (val), "m" (*__cil_tmp3): "memory");
2340#line 61
2341 return;
2342}
2343}
2344#line 46 "include/linux/delay.h"
2345extern void msleep(unsigned int msecs ) ;
2346#line 189 "include/linux/interrupt.h"
2347extern int __attribute__((__warn_unused_result__)) devm_request_threaded_irq(struct device *dev ,
2348 unsigned int irq ,
2349 irqreturn_t (*handler)(int ,
2350 void * ) ,
2351 irqreturn_t (*thread_fn)(int ,
2352 void * ) ,
2353 unsigned long irqflags ,
2354 char const *devname ,
2355 void *dev_id ) ;
2356#line 195
2357__inline static int __attribute__((__warn_unused_result__)) devm_request_irq(struct device *dev ,
2358 unsigned int irq ,
2359 irqreturn_t (*handler)(int ,
2360 void * ) ,
2361 unsigned long irqflags ,
2362 char const *devname ,
2363 void *dev_id ) __attribute__((__no_instrument_function__)) ;
2364#line 195 "include/linux/interrupt.h"
2365__inline static int __attribute__((__warn_unused_result__)) devm_request_irq(struct device *dev ,
2366 unsigned int irq ,
2367 irqreturn_t (*handler)(int ,
2368 void * ) ,
2369 unsigned long irqflags ,
2370 char const *devname ,
2371 void *dev_id )
2372{ int tmp ;
2373 void *__cil_tmp8 ;
2374 irqreturn_t (*__cil_tmp9)(int , void * ) ;
2375
2376 {
2377 {
2378#line 199
2379 __cil_tmp8 = (void *)0;
2380#line 199
2381 __cil_tmp9 = (irqreturn_t (*)(int , void * ))__cil_tmp8;
2382#line 199
2383 tmp = (int )devm_request_threaded_irq(dev, irq, handler, __cil_tmp9, irqflags, devname,
2384 dev_id);
2385 }
2386#line 199
2387 return (tmp);
2388}
2389}
2390#line 110 "include/linux/rtc.h"
2391extern int rtc_valid_tm(struct rtc_time *tm ) ;
2392#line 112
2393extern void rtc_time_to_tm(unsigned long time , struct rtc_time *tm ) ;
2394#line 140 "include/linux/sysfs.h"
2395extern int __attribute__((__warn_unused_result__)) sysfs_create_bin_file(struct kobject *kobj ,
2396 struct bin_attribute const *attr ) ;
2397#line 142
2398extern void sysfs_remove_bin_file(struct kobject *kobj , struct bin_attribute const *attr ) ;
2399#line 553 "include/linux/device.h"
2400extern void *devm_kzalloc(struct device *dev , size_t size , gfp_t gfp ) ;
2401#line 792
2402extern void *dev_get_drvdata(struct device const *dev ) ;
2403#line 793
2404extern int dev_set_drvdata(struct device *dev , void *data ) ;
2405#line 891
2406extern int ( dev_err)(struct device const *dev , char const *fmt
2407 , ...) ;
2408#line 893
2409extern int ( dev_warn)(struct device const *dev , char const *fmt
2410 , ...) ;
2411#line 221 "include/linux/rtc.h"
2412extern struct rtc_device *rtc_device_register(char const *name , struct device *dev ,
2413 struct rtc_class_ops const *ops ,
2414 struct module *owner ) ;
2415#line 225
2416extern void rtc_device_unregister(struct rtc_device *rtc ) ;
2417#line 237
2418extern void rtc_update_irq(struct rtc_device *rtc , unsigned long num , unsigned long events ) ;
2419#line 46 "include/linux/platform_device.h"
2420extern struct resource *platform_get_resource(struct platform_device * , unsigned int ,
2421 unsigned int ) ;
2422#line 47
2423extern int platform_get_irq(struct platform_device * , unsigned int ) ;
2424#line 174
2425extern int platform_driver_register(struct platform_driver * ) ;
2426#line 175
2427extern void platform_driver_unregister(struct platform_driver * ) ;
2428#line 183
2429__inline static void *platform_get_drvdata(struct platform_device const *pdev ) __attribute__((__no_instrument_function__)) ;
2430#line 183 "include/linux/platform_device.h"
2431__inline static void *platform_get_drvdata(struct platform_device const *pdev )
2432{ void *tmp ;
2433 unsigned long __cil_tmp3 ;
2434 unsigned long __cil_tmp4 ;
2435 struct device const *__cil_tmp5 ;
2436
2437 {
2438 {
2439#line 185
2440 __cil_tmp3 = (unsigned long )pdev;
2441#line 185
2442 __cil_tmp4 = __cil_tmp3 + 16;
2443#line 185
2444 __cil_tmp5 = (struct device const *)__cil_tmp4;
2445#line 185
2446 tmp = dev_get_drvdata(__cil_tmp5);
2447 }
2448#line 185
2449 return (tmp);
2450}
2451}
2452#line 188
2453__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) __attribute__((__no_instrument_function__)) ;
2454#line 188 "include/linux/platform_device.h"
2455__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
2456{ unsigned long __cil_tmp3 ;
2457 unsigned long __cil_tmp4 ;
2458 struct device *__cil_tmp5 ;
2459
2460 {
2461 {
2462#line 190
2463 __cil_tmp3 = (unsigned long )pdev;
2464#line 190
2465 __cil_tmp4 = __cil_tmp3 + 16;
2466#line 190
2467 __cil_tmp5 = (struct device *)__cil_tmp4;
2468#line 190
2469 dev_set_drvdata(__cil_tmp5, data);
2470 }
2471#line 191
2472 return;
2473}
2474}
2475#line 61 "include/linux/io.h"
2476extern void *devm_ioremap(struct device *dev , resource_size_t offset , unsigned long size ) ;
2477#line 26 "include/linux/export.h"
2478extern struct module __this_module ;
2479#line 67 "include/linux/module.h"
2480int init_module(void) ;
2481#line 68
2482void cleanup_module(void) ;
2483#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
2484static int ds1553_rtc_set_time(struct device *dev , struct rtc_time *tm )
2485{ struct platform_device *pdev ;
2486 struct device const *__mptr ;
2487 struct rtc_plat_data *pdata ;
2488 void *tmp ;
2489 void *ioaddr ;
2490 u8 century ;
2491 unsigned char tmp___0 ;
2492 unsigned char tmp___1 ;
2493 unsigned char tmp___2 ;
2494 unsigned char tmp___3 ;
2495 unsigned char tmp___4 ;
2496 unsigned char tmp___5 ;
2497 unsigned char tmp___6 ;
2498 struct platform_device *__cil_tmp16 ;
2499 unsigned long __cil_tmp17 ;
2500 unsigned long __cil_tmp18 ;
2501 struct device *__cil_tmp19 ;
2502 unsigned int __cil_tmp20 ;
2503 char *__cil_tmp21 ;
2504 char *__cil_tmp22 ;
2505 struct platform_device const *__cil_tmp23 ;
2506 unsigned long __cil_tmp24 ;
2507 unsigned long __cil_tmp25 ;
2508 unsigned long __cil_tmp26 ;
2509 unsigned long __cil_tmp27 ;
2510 int __cil_tmp28 ;
2511 int __cil_tmp29 ;
2512 int __cil_tmp30 ;
2513 unsigned int __cil_tmp31 ;
2514 unsigned long __cil_tmp32 ;
2515 unsigned long __cil_tmp33 ;
2516 void *__cil_tmp34 ;
2517 void *__cil_tmp35 ;
2518 void volatile *__cil_tmp36 ;
2519 unsigned long __cil_tmp37 ;
2520 unsigned long __cil_tmp38 ;
2521 int __cil_tmp39 ;
2522 int __cil_tmp40 ;
2523 unsigned int __cil_tmp41 ;
2524 void *__cil_tmp42 ;
2525 void volatile *__cil_tmp43 ;
2526 unsigned long __cil_tmp44 ;
2527 unsigned long __cil_tmp45 ;
2528 int __cil_tmp46 ;
2529 int __cil_tmp47 ;
2530 unsigned int __cil_tmp48 ;
2531 void *__cil_tmp49 ;
2532 void volatile *__cil_tmp50 ;
2533 unsigned long __cil_tmp51 ;
2534 unsigned long __cil_tmp52 ;
2535 int __cil_tmp53 ;
2536 unsigned int __cil_tmp54 ;
2537 int __cil_tmp55 ;
2538 int __cil_tmp56 ;
2539 unsigned char __cil_tmp57 ;
2540 void *__cil_tmp58 ;
2541 void volatile *__cil_tmp59 ;
2542 unsigned long __cil_tmp60 ;
2543 unsigned long __cil_tmp61 ;
2544 int __cil_tmp62 ;
2545 unsigned int __cil_tmp63 ;
2546 void *__cil_tmp64 ;
2547 void volatile *__cil_tmp65 ;
2548 unsigned long __cil_tmp66 ;
2549 unsigned long __cil_tmp67 ;
2550 int __cil_tmp68 ;
2551 unsigned int __cil_tmp69 ;
2552 void *__cil_tmp70 ;
2553 void volatile *__cil_tmp71 ;
2554 unsigned long __cil_tmp72 ;
2555 unsigned long __cil_tmp73 ;
2556 int __cil_tmp74 ;
2557 unsigned int __cil_tmp75 ;
2558 void *__cil_tmp76 ;
2559 void volatile *__cil_tmp77 ;
2560 int __cil_tmp78 ;
2561 unsigned int __cil_tmp79 ;
2562 int __cil_tmp80 ;
2563 int __cil_tmp81 ;
2564 unsigned char __cil_tmp82 ;
2565 void *__cil_tmp83 ;
2566 void volatile *__cil_tmp84 ;
2567 int __cil_tmp85 ;
2568 int __cil_tmp86 ;
2569 int __cil_tmp87 ;
2570 unsigned char __cil_tmp88 ;
2571 void *__cil_tmp89 ;
2572 void volatile *__cil_tmp90 ;
2573 int __cil_tmp91 ;
2574 int __cil_tmp92 ;
2575 unsigned char __cil_tmp93 ;
2576 void *__cil_tmp94 ;
2577 void volatile *__cil_tmp95 ;
2578
2579 {
2580 {
2581#line 79
2582 __mptr = (struct device const *)dev;
2583#line 79
2584 __cil_tmp16 = (struct platform_device *)0;
2585#line 79
2586 __cil_tmp17 = (unsigned long )__cil_tmp16;
2587#line 79
2588 __cil_tmp18 = __cil_tmp17 + 16;
2589#line 79
2590 __cil_tmp19 = (struct device *)__cil_tmp18;
2591#line 79
2592 __cil_tmp20 = (unsigned int )__cil_tmp19;
2593#line 79
2594 __cil_tmp21 = (char *)__mptr;
2595#line 79
2596 __cil_tmp22 = __cil_tmp21 - __cil_tmp20;
2597#line 79
2598 pdev = (struct platform_device *)__cil_tmp22;
2599#line 80
2600 __cil_tmp23 = (struct platform_device const *)pdev;
2601#line 80
2602 tmp = platform_get_drvdata(__cil_tmp23);
2603#line 80
2604 pdata = (struct rtc_plat_data *)tmp;
2605#line 81
2606 __cil_tmp24 = (unsigned long )pdata;
2607#line 81
2608 __cil_tmp25 = __cil_tmp24 + 8;
2609#line 81
2610 ioaddr = *((void **)__cil_tmp25);
2611#line 84
2612 __cil_tmp26 = (unsigned long )tm;
2613#line 84
2614 __cil_tmp27 = __cil_tmp26 + 20;
2615#line 84
2616 __cil_tmp28 = *((int *)__cil_tmp27);
2617#line 84
2618 __cil_tmp29 = __cil_tmp28 + 1900;
2619#line 84
2620 __cil_tmp30 = __cil_tmp29 / 100;
2621#line 84
2622 __cil_tmp31 = (unsigned int )__cil_tmp30;
2623#line 84
2624 century = bin2bcd(__cil_tmp31);
2625#line 86
2626 __cil_tmp32 = (unsigned long )pdata;
2627#line 86
2628 __cil_tmp33 = __cil_tmp32 + 8;
2629#line 86
2630 __cil_tmp34 = *((void **)__cil_tmp33);
2631#line 86
2632 __cil_tmp35 = __cil_tmp34 + 8184;
2633#line 86
2634 __cil_tmp36 = (void volatile *)__cil_tmp35;
2635#line 86
2636 writeb((unsigned char)128, __cil_tmp36);
2637#line 88
2638 __cil_tmp37 = (unsigned long )tm;
2639#line 88
2640 __cil_tmp38 = __cil_tmp37 + 20;
2641#line 88
2642 __cil_tmp39 = *((int *)__cil_tmp38);
2643#line 88
2644 __cil_tmp40 = __cil_tmp39 % 100;
2645#line 88
2646 __cil_tmp41 = (unsigned int )__cil_tmp40;
2647#line 88
2648 tmp___0 = bin2bcd(__cil_tmp41);
2649#line 88
2650 __cil_tmp42 = ioaddr + 8191;
2651#line 88
2652 __cil_tmp43 = (void volatile *)__cil_tmp42;
2653#line 88
2654 writeb(tmp___0, __cil_tmp43);
2655#line 89
2656 __cil_tmp44 = (unsigned long )tm;
2657#line 89
2658 __cil_tmp45 = __cil_tmp44 + 16;
2659#line 89
2660 __cil_tmp46 = *((int *)__cil_tmp45);
2661#line 89
2662 __cil_tmp47 = __cil_tmp46 + 1;
2663#line 89
2664 __cil_tmp48 = (unsigned int )__cil_tmp47;
2665#line 89
2666 tmp___1 = bin2bcd(__cil_tmp48);
2667#line 89
2668 __cil_tmp49 = ioaddr + 8190;
2669#line 89
2670 __cil_tmp50 = (void volatile *)__cil_tmp49;
2671#line 89
2672 writeb(tmp___1, __cil_tmp50);
2673#line 90
2674 __cil_tmp51 = (unsigned long )tm;
2675#line 90
2676 __cil_tmp52 = __cil_tmp51 + 24;
2677#line 90
2678 __cil_tmp53 = *((int *)__cil_tmp52);
2679#line 90
2680 __cil_tmp54 = (unsigned int )__cil_tmp53;
2681#line 90
2682 tmp___2 = bin2bcd(__cil_tmp54);
2683#line 90
2684 __cil_tmp55 = (int )tmp___2;
2685#line 90
2686 __cil_tmp56 = __cil_tmp55 & 7;
2687#line 90
2688 __cil_tmp57 = (unsigned char )__cil_tmp56;
2689#line 90
2690 __cil_tmp58 = ioaddr + 8188;
2691#line 90
2692 __cil_tmp59 = (void volatile *)__cil_tmp58;
2693#line 90
2694 writeb(__cil_tmp57, __cil_tmp59);
2695#line 91
2696 __cil_tmp60 = (unsigned long )tm;
2697#line 91
2698 __cil_tmp61 = __cil_tmp60 + 12;
2699#line 91
2700 __cil_tmp62 = *((int *)__cil_tmp61);
2701#line 91
2702 __cil_tmp63 = (unsigned int )__cil_tmp62;
2703#line 91
2704 tmp___3 = bin2bcd(__cil_tmp63);
2705#line 91
2706 __cil_tmp64 = ioaddr + 8189;
2707#line 91
2708 __cil_tmp65 = (void volatile *)__cil_tmp64;
2709#line 91
2710 writeb(tmp___3, __cil_tmp65);
2711#line 92
2712 __cil_tmp66 = (unsigned long )tm;
2713#line 92
2714 __cil_tmp67 = __cil_tmp66 + 8;
2715#line 92
2716 __cil_tmp68 = *((int *)__cil_tmp67);
2717#line 92
2718 __cil_tmp69 = (unsigned int )__cil_tmp68;
2719#line 92
2720 tmp___4 = bin2bcd(__cil_tmp69);
2721#line 92
2722 __cil_tmp70 = ioaddr + 8187;
2723#line 92
2724 __cil_tmp71 = (void volatile *)__cil_tmp70;
2725#line 92
2726 writeb(tmp___4, __cil_tmp71);
2727#line 93
2728 __cil_tmp72 = (unsigned long )tm;
2729#line 93
2730 __cil_tmp73 = __cil_tmp72 + 4;
2731#line 93
2732 __cil_tmp74 = *((int *)__cil_tmp73);
2733#line 93
2734 __cil_tmp75 = (unsigned int )__cil_tmp74;
2735#line 93
2736 tmp___5 = bin2bcd(__cil_tmp75);
2737#line 93
2738 __cil_tmp76 = ioaddr + 8186;
2739#line 93
2740 __cil_tmp77 = (void volatile *)__cil_tmp76;
2741#line 93
2742 writeb(tmp___5, __cil_tmp77);
2743#line 94
2744 __cil_tmp78 = *((int *)tm);
2745#line 94
2746 __cil_tmp79 = (unsigned int )__cil_tmp78;
2747#line 94
2748 tmp___6 = bin2bcd(__cil_tmp79);
2749#line 94
2750 __cil_tmp80 = (int )tmp___6;
2751#line 94
2752 __cil_tmp81 = __cil_tmp80 & 127;
2753#line 94
2754 __cil_tmp82 = (unsigned char )__cil_tmp81;
2755#line 94
2756 __cil_tmp83 = ioaddr + 8185;
2757#line 94
2758 __cil_tmp84 = (void volatile *)__cil_tmp83;
2759#line 94
2760 writeb(__cil_tmp82, __cil_tmp84);
2761#line 97
2762 __cil_tmp85 = (int )century;
2763#line 97
2764 __cil_tmp86 = __cil_tmp85 & 63;
2765#line 97
2766 __cil_tmp87 = 128 | __cil_tmp86;
2767#line 97
2768 __cil_tmp88 = (unsigned char )__cil_tmp87;
2769#line 97
2770 __cil_tmp89 = ioaddr + 8184;
2771#line 97
2772 __cil_tmp90 = (void volatile *)__cil_tmp89;
2773#line 97
2774 writeb(__cil_tmp88, __cil_tmp90);
2775#line 98
2776 __cil_tmp91 = (int )century;
2777#line 98
2778 __cil_tmp92 = __cil_tmp91 & 63;
2779#line 98
2780 __cil_tmp93 = (unsigned char )__cil_tmp92;
2781#line 98
2782 __cil_tmp94 = ioaddr + 8184;
2783#line 98
2784 __cil_tmp95 = (void volatile *)__cil_tmp94;
2785#line 98
2786 writeb(__cil_tmp93, __cil_tmp95);
2787 }
2788#line 99
2789 return (0);
2790}
2791}
2792#line 102 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
2793static int ds1553_rtc_read_time(struct device *dev , struct rtc_time *tm )
2794{ struct platform_device *pdev ;
2795 struct device const *__mptr ;
2796 struct rtc_plat_data *pdata ;
2797 void *tmp ;
2798 void *ioaddr ;
2799 unsigned int year ;
2800 unsigned int month ;
2801 unsigned int day ;
2802 unsigned int hour ;
2803 unsigned int minute ;
2804 unsigned int second ;
2805 unsigned int week ;
2806 unsigned int century ;
2807 unsigned char tmp___0 ;
2808 unsigned char tmp___1 ;
2809 unsigned char tmp___2 ;
2810 unsigned char tmp___3 ;
2811 unsigned char tmp___4 ;
2812 unsigned char tmp___5 ;
2813 unsigned char tmp___6 ;
2814 unsigned char tmp___7 ;
2815 unsigned int tmp___8 ;
2816 unsigned int tmp___9 ;
2817 unsigned int tmp___10 ;
2818 unsigned int tmp___11 ;
2819 unsigned int tmp___12 ;
2820 unsigned int tmp___13 ;
2821 unsigned int tmp___14 ;
2822 unsigned int tmp___15 ;
2823 int tmp___16 ;
2824 struct platform_device *__cil_tmp33 ;
2825 unsigned long __cil_tmp34 ;
2826 unsigned long __cil_tmp35 ;
2827 struct device *__cil_tmp36 ;
2828 unsigned int __cil_tmp37 ;
2829 char *__cil_tmp38 ;
2830 char *__cil_tmp39 ;
2831 struct platform_device const *__cil_tmp40 ;
2832 unsigned long __cil_tmp41 ;
2833 unsigned long __cil_tmp42 ;
2834 unsigned long __cil_tmp43 ;
2835 unsigned long __cil_tmp44 ;
2836 unsigned long __cil_tmp45 ;
2837 unsigned long __cil_tmp46 ;
2838 unsigned long __cil_tmp47 ;
2839 unsigned long __cil_tmp48 ;
2840 void *__cil_tmp49 ;
2841 void volatile *__cil_tmp50 ;
2842 void *__cil_tmp51 ;
2843 void const volatile *__cil_tmp52 ;
2844 int __cil_tmp53 ;
2845 int __cil_tmp54 ;
2846 void *__cil_tmp55 ;
2847 void const volatile *__cil_tmp56 ;
2848 void *__cil_tmp57 ;
2849 void const volatile *__cil_tmp58 ;
2850 void *__cil_tmp59 ;
2851 void const volatile *__cil_tmp60 ;
2852 void *__cil_tmp61 ;
2853 void const volatile *__cil_tmp62 ;
2854 int __cil_tmp63 ;
2855 int __cil_tmp64 ;
2856 void *__cil_tmp65 ;
2857 void const volatile *__cil_tmp66 ;
2858 void *__cil_tmp67 ;
2859 void const volatile *__cil_tmp68 ;
2860 void *__cil_tmp69 ;
2861 void const volatile *__cil_tmp70 ;
2862 int __cil_tmp71 ;
2863 int __cil_tmp72 ;
2864 void *__cil_tmp73 ;
2865 void volatile *__cil_tmp74 ;
2866 unsigned char __cil_tmp75 ;
2867 unsigned char __cil_tmp76 ;
2868 unsigned long __cil_tmp77 ;
2869 unsigned long __cil_tmp78 ;
2870 unsigned char __cil_tmp79 ;
2871 unsigned long __cil_tmp80 ;
2872 unsigned long __cil_tmp81 ;
2873 unsigned char __cil_tmp82 ;
2874 unsigned long __cil_tmp83 ;
2875 unsigned long __cil_tmp84 ;
2876 unsigned char __cil_tmp85 ;
2877 unsigned long __cil_tmp86 ;
2878 unsigned long __cil_tmp87 ;
2879 unsigned char __cil_tmp88 ;
2880 unsigned long __cil_tmp89 ;
2881 unsigned long __cil_tmp90 ;
2882 unsigned int __cil_tmp91 ;
2883 unsigned char __cil_tmp92 ;
2884 unsigned char __cil_tmp93 ;
2885 unsigned long __cil_tmp94 ;
2886 unsigned long __cil_tmp95 ;
2887 unsigned int __cil_tmp96 ;
2888 unsigned int __cil_tmp97 ;
2889 unsigned int __cil_tmp98 ;
2890 struct device const *__cil_tmp99 ;
2891
2892 {
2893 {
2894#line 104
2895 __mptr = (struct device const *)dev;
2896#line 104
2897 __cil_tmp33 = (struct platform_device *)0;
2898#line 104
2899 __cil_tmp34 = (unsigned long )__cil_tmp33;
2900#line 104
2901 __cil_tmp35 = __cil_tmp34 + 16;
2902#line 104
2903 __cil_tmp36 = (struct device *)__cil_tmp35;
2904#line 104
2905 __cil_tmp37 = (unsigned int )__cil_tmp36;
2906#line 104
2907 __cil_tmp38 = (char *)__mptr;
2908#line 104
2909 __cil_tmp39 = __cil_tmp38 - __cil_tmp37;
2910#line 104
2911 pdev = (struct platform_device *)__cil_tmp39;
2912#line 105
2913 __cil_tmp40 = (struct platform_device const *)pdev;
2914#line 105
2915 tmp = platform_get_drvdata(__cil_tmp40);
2916#line 105
2917 pdata = (struct rtc_plat_data *)tmp;
2918#line 106
2919 __cil_tmp41 = (unsigned long )pdata;
2920#line 106
2921 __cil_tmp42 = __cil_tmp41 + 8;
2922#line 106
2923 ioaddr = *((void **)__cil_tmp42);
2924 }
2925 {
2926#line 111
2927 __cil_tmp43 = (unsigned long )jiffies;
2928#line 111
2929 __cil_tmp44 = (unsigned long )pdata;
2930#line 111
2931 __cil_tmp45 = __cil_tmp44 + 16;
2932#line 111
2933 __cil_tmp46 = *((unsigned long *)__cil_tmp45);
2934#line 111
2935 if (__cil_tmp46 == __cil_tmp43) {
2936 {
2937#line 112
2938 msleep(1U);
2939 }
2940 } else {
2941
2942 }
2943 }
2944 {
2945#line 113
2946 __cil_tmp47 = (unsigned long )pdata;
2947#line 113
2948 __cil_tmp48 = __cil_tmp47 + 16;
2949#line 113
2950 *((unsigned long *)__cil_tmp48) = (unsigned long )jiffies;
2951#line 114
2952 __cil_tmp49 = ioaddr + 8184;
2953#line 114
2954 __cil_tmp50 = (void volatile *)__cil_tmp49;
2955#line 114
2956 writeb((unsigned char)64, __cil_tmp50);
2957#line 115
2958 __cil_tmp51 = ioaddr + 8185;
2959#line 115
2960 __cil_tmp52 = (void const volatile *)__cil_tmp51;
2961#line 115
2962 tmp___0 = readb(__cil_tmp52);
2963#line 115
2964 __cil_tmp53 = (int )tmp___0;
2965#line 115
2966 __cil_tmp54 = __cil_tmp53 & 127;
2967#line 115
2968 second = (unsigned int )__cil_tmp54;
2969#line 116
2970 __cil_tmp55 = ioaddr + 8186;
2971#line 116
2972 __cil_tmp56 = (void const volatile *)__cil_tmp55;
2973#line 116
2974 tmp___1 = readb(__cil_tmp56);
2975#line 116
2976 minute = (unsigned int )tmp___1;
2977#line 117
2978 __cil_tmp57 = ioaddr + 8187;
2979#line 117
2980 __cil_tmp58 = (void const volatile *)__cil_tmp57;
2981#line 117
2982 tmp___2 = readb(__cil_tmp58);
2983#line 117
2984 hour = (unsigned int )tmp___2;
2985#line 118
2986 __cil_tmp59 = ioaddr + 8189;
2987#line 118
2988 __cil_tmp60 = (void const volatile *)__cil_tmp59;
2989#line 118
2990 tmp___3 = readb(__cil_tmp60);
2991#line 118
2992 day = (unsigned int )tmp___3;
2993#line 119
2994 __cil_tmp61 = ioaddr + 8188;
2995#line 119
2996 __cil_tmp62 = (void const volatile *)__cil_tmp61;
2997#line 119
2998 tmp___4 = readb(__cil_tmp62);
2999#line 119
3000 __cil_tmp63 = (int )tmp___4;
3001#line 119
3002 __cil_tmp64 = __cil_tmp63 & 7;
3003#line 119
3004 week = (unsigned int )__cil_tmp64;
3005#line 120
3006 __cil_tmp65 = ioaddr + 8190;
3007#line 120
3008 __cil_tmp66 = (void const volatile *)__cil_tmp65;
3009#line 120
3010 tmp___5 = readb(__cil_tmp66);
3011#line 120
3012 month = (unsigned int )tmp___5;
3013#line 121
3014 __cil_tmp67 = ioaddr + 8191;
3015#line 121
3016 __cil_tmp68 = (void const volatile *)__cil_tmp67;
3017#line 121
3018 tmp___6 = readb(__cil_tmp68);
3019#line 121
3020 year = (unsigned int )tmp___6;
3021#line 122
3022 __cil_tmp69 = ioaddr + 8184;
3023#line 122
3024 __cil_tmp70 = (void const volatile *)__cil_tmp69;
3025#line 122
3026 tmp___7 = readb(__cil_tmp70);
3027#line 122
3028 __cil_tmp71 = (int )tmp___7;
3029#line 122
3030 __cil_tmp72 = __cil_tmp71 & 63;
3031#line 122
3032 century = (unsigned int )__cil_tmp72;
3033#line 123
3034 __cil_tmp73 = ioaddr + 8184;
3035#line 123
3036 __cil_tmp74 = (void volatile *)__cil_tmp73;
3037#line 123
3038 writeb((unsigned char)0, __cil_tmp74);
3039#line 124
3040 __cil_tmp75 = (unsigned char )second;
3041#line 124
3042 tmp___8 = bcd2bin(__cil_tmp75);
3043#line 124
3044 *((int *)tm) = (int )tmp___8;
3045#line 125
3046 __cil_tmp76 = (unsigned char )minute;
3047#line 125
3048 tmp___9 = bcd2bin(__cil_tmp76);
3049#line 125
3050 __cil_tmp77 = (unsigned long )tm;
3051#line 125
3052 __cil_tmp78 = __cil_tmp77 + 4;
3053#line 125
3054 *((int *)__cil_tmp78) = (int )tmp___9;
3055#line 126
3056 __cil_tmp79 = (unsigned char )hour;
3057#line 126
3058 tmp___10 = bcd2bin(__cil_tmp79);
3059#line 126
3060 __cil_tmp80 = (unsigned long )tm;
3061#line 126
3062 __cil_tmp81 = __cil_tmp80 + 8;
3063#line 126
3064 *((int *)__cil_tmp81) = (int )tmp___10;
3065#line 127
3066 __cil_tmp82 = (unsigned char )day;
3067#line 127
3068 tmp___11 = bcd2bin(__cil_tmp82);
3069#line 127
3070 __cil_tmp83 = (unsigned long )tm;
3071#line 127
3072 __cil_tmp84 = __cil_tmp83 + 12;
3073#line 127
3074 *((int *)__cil_tmp84) = (int )tmp___11;
3075#line 128
3076 __cil_tmp85 = (unsigned char )week;
3077#line 128
3078 tmp___12 = bcd2bin(__cil_tmp85);
3079#line 128
3080 __cil_tmp86 = (unsigned long )tm;
3081#line 128
3082 __cil_tmp87 = __cil_tmp86 + 24;
3083#line 128
3084 *((int *)__cil_tmp87) = (int )tmp___12;
3085#line 129
3086 __cil_tmp88 = (unsigned char )month;
3087#line 129
3088 tmp___13 = bcd2bin(__cil_tmp88);
3089#line 129
3090 __cil_tmp89 = (unsigned long )tm;
3091#line 129
3092 __cil_tmp90 = __cil_tmp89 + 16;
3093#line 129
3094 __cil_tmp91 = tmp___13 - 1U;
3095#line 129
3096 *((int *)__cil_tmp90) = (int )__cil_tmp91;
3097#line 131
3098 __cil_tmp92 = (unsigned char )year;
3099#line 131
3100 tmp___14 = bcd2bin(__cil_tmp92);
3101#line 131
3102 __cil_tmp93 = (unsigned char )century;
3103#line 131
3104 tmp___15 = bcd2bin(__cil_tmp93);
3105#line 131
3106 __cil_tmp94 = (unsigned long )tm;
3107#line 131
3108 __cil_tmp95 = __cil_tmp94 + 20;
3109#line 131
3110 __cil_tmp96 = tmp___15 * 100U;
3111#line 131
3112 __cil_tmp97 = tmp___14 + __cil_tmp96;
3113#line 131
3114 __cil_tmp98 = __cil_tmp97 - 1900U;
3115#line 131
3116 *((int *)__cil_tmp95) = (int )__cil_tmp98;
3117#line 133
3118 tmp___16 = rtc_valid_tm(tm);
3119 }
3120#line 133
3121 if (tmp___16 < 0) {
3122 {
3123#line 134
3124 __cil_tmp99 = (struct device const *)dev;
3125#line 134
3126 dev_err(__cil_tmp99, "retrieved date/time is not valid.\n");
3127#line 135
3128 rtc_time_to_tm(0UL, tm);
3129 }
3130 } else {
3131
3132 }
3133#line 137
3134 return (0);
3135}
3136}
3137#line 140 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
3138static void ds1553_rtc_update_alarm(struct rtc_plat_data *pdata )
3139{ void *ioaddr ;
3140 unsigned long flags ;
3141 raw_spinlock_t *tmp ;
3142 unsigned char tmp___0 ;
3143 int tmp___1 ;
3144 unsigned char tmp___2 ;
3145 int tmp___3 ;
3146 unsigned char tmp___4 ;
3147 int tmp___5 ;
3148 unsigned char tmp___6 ;
3149 int tmp___7 ;
3150 int tmp___8 ;
3151 unsigned long __cil_tmp16 ;
3152 unsigned long __cil_tmp17 ;
3153 unsigned long __cil_tmp18 ;
3154 unsigned long __cil_tmp19 ;
3155 spinlock_t *__cil_tmp20 ;
3156 unsigned long __cil_tmp21 ;
3157 unsigned long __cil_tmp22 ;
3158 int __cil_tmp23 ;
3159 unsigned long __cil_tmp24 ;
3160 unsigned long __cil_tmp25 ;
3161 unsigned int __cil_tmp26 ;
3162 unsigned long __cil_tmp27 ;
3163 unsigned long __cil_tmp28 ;
3164 int __cil_tmp29 ;
3165 unsigned int __cil_tmp30 ;
3166 unsigned char __cil_tmp31 ;
3167 void *__cil_tmp32 ;
3168 void volatile *__cil_tmp33 ;
3169 unsigned long __cil_tmp34 ;
3170 unsigned long __cil_tmp35 ;
3171 int __cil_tmp36 ;
3172 unsigned long __cil_tmp37 ;
3173 unsigned long __cil_tmp38 ;
3174 unsigned int __cil_tmp39 ;
3175 unsigned long __cil_tmp40 ;
3176 unsigned long __cil_tmp41 ;
3177 int __cil_tmp42 ;
3178 unsigned int __cil_tmp43 ;
3179 unsigned char __cil_tmp44 ;
3180 void *__cil_tmp45 ;
3181 void volatile *__cil_tmp46 ;
3182 unsigned long __cil_tmp47 ;
3183 unsigned long __cil_tmp48 ;
3184 int __cil_tmp49 ;
3185 unsigned long __cil_tmp50 ;
3186 unsigned long __cil_tmp51 ;
3187 unsigned int __cil_tmp52 ;
3188 unsigned long __cil_tmp53 ;
3189 unsigned long __cil_tmp54 ;
3190 int __cil_tmp55 ;
3191 unsigned int __cil_tmp56 ;
3192 unsigned char __cil_tmp57 ;
3193 void *__cil_tmp58 ;
3194 void volatile *__cil_tmp59 ;
3195 unsigned long __cil_tmp60 ;
3196 unsigned long __cil_tmp61 ;
3197 int __cil_tmp62 ;
3198 unsigned long __cil_tmp63 ;
3199 unsigned long __cil_tmp64 ;
3200 unsigned int __cil_tmp65 ;
3201 unsigned long __cil_tmp66 ;
3202 unsigned long __cil_tmp67 ;
3203 int __cil_tmp68 ;
3204 unsigned int __cil_tmp69 ;
3205 unsigned char __cil_tmp70 ;
3206 void *__cil_tmp71 ;
3207 void volatile *__cil_tmp72 ;
3208 unsigned long __cil_tmp73 ;
3209 unsigned long __cil_tmp74 ;
3210 unsigned char __cil_tmp75 ;
3211 void *__cil_tmp76 ;
3212 void volatile *__cil_tmp77 ;
3213 void *__cil_tmp78 ;
3214 void const volatile *__cil_tmp79 ;
3215 unsigned long __cil_tmp80 ;
3216 unsigned long __cil_tmp81 ;
3217 spinlock_t *__cil_tmp82 ;
3218
3219 {
3220#line 142
3221 __cil_tmp16 = (unsigned long )pdata;
3222#line 142
3223 __cil_tmp17 = __cil_tmp16 + 8;
3224#line 142
3225 ioaddr = *((void **)__cil_tmp17);
3226 {
3227#line 145
3228 while (1) {
3229 while_continue: ;
3230 {
3231#line 145
3232 while (1) {
3233 while_continue___0: ;
3234 {
3235#line 145
3236 __cil_tmp18 = (unsigned long )pdata;
3237#line 145
3238 __cil_tmp19 = __cil_tmp18 + 48;
3239#line 145
3240 __cil_tmp20 = (spinlock_t *)__cil_tmp19;
3241#line 145
3242 tmp = spinlock_check(__cil_tmp20);
3243#line 145
3244 flags = _raw_spin_lock_irqsave(tmp);
3245 }
3246#line 145
3247 goto while_break___0;
3248 }
3249 while_break___0: ;
3250 }
3251#line 145
3252 goto while_break;
3253 }
3254 while_break: ;
3255 }
3256 {
3257#line 146
3258 __cil_tmp21 = (unsigned long )pdata;
3259#line 146
3260 __cil_tmp22 = __cil_tmp21 + 44;
3261#line 146
3262 __cil_tmp23 = *((int *)__cil_tmp22);
3263#line 146
3264 if (__cil_tmp23 < 0) {
3265#line 146
3266 tmp___1 = 128;
3267 } else {
3268 {
3269#line 146
3270 __cil_tmp24 = (unsigned long )pdata;
3271#line 146
3272 __cil_tmp25 = __cil_tmp24 + 28;
3273#line 146
3274 __cil_tmp26 = *((unsigned int *)__cil_tmp25);
3275#line 146
3276 if (__cil_tmp26 & 16U) {
3277#line 146
3278 tmp___1 = 128;
3279 } else {
3280 {
3281#line 146
3282 __cil_tmp27 = (unsigned long )pdata;
3283#line 146
3284 __cil_tmp28 = __cil_tmp27 + 44;
3285#line 146
3286 __cil_tmp29 = *((int *)__cil_tmp28);
3287#line 146
3288 __cil_tmp30 = (unsigned int )__cil_tmp29;
3289#line 146
3290 tmp___0 = bin2bcd(__cil_tmp30);
3291#line 146
3292 tmp___1 = (int )tmp___0;
3293 }
3294 }
3295 }
3296 }
3297 }
3298 {
3299#line 146
3300 __cil_tmp31 = (unsigned char )tmp___1;
3301#line 146
3302 __cil_tmp32 = ioaddr + 8181;
3303#line 146
3304 __cil_tmp33 = (void volatile *)__cil_tmp32;
3305#line 146
3306 writeb(__cil_tmp31, __cil_tmp33);
3307 }
3308 {
3309#line 149
3310 __cil_tmp34 = (unsigned long )pdata;
3311#line 149
3312 __cil_tmp35 = __cil_tmp34 + 40;
3313#line 149
3314 __cil_tmp36 = *((int *)__cil_tmp35);
3315#line 149
3316 if (__cil_tmp36 < 0) {
3317#line 149
3318 tmp___3 = 128;
3319 } else {
3320 {
3321#line 149
3322 __cil_tmp37 = (unsigned long )pdata;
3323#line 149
3324 __cil_tmp38 = __cil_tmp37 + 28;
3325#line 149
3326 __cil_tmp39 = *((unsigned int *)__cil_tmp38);
3327#line 149
3328 if (__cil_tmp39 & 16U) {
3329#line 149
3330 tmp___3 = 128;
3331 } else {
3332 {
3333#line 149
3334 __cil_tmp40 = (unsigned long )pdata;
3335#line 149
3336 __cil_tmp41 = __cil_tmp40 + 40;
3337#line 149
3338 __cil_tmp42 = *((int *)__cil_tmp41);
3339#line 149
3340 __cil_tmp43 = (unsigned int )__cil_tmp42;
3341#line 149
3342 tmp___2 = bin2bcd(__cil_tmp43);
3343#line 149
3344 tmp___3 = (int )tmp___2;
3345 }
3346 }
3347 }
3348 }
3349 }
3350 {
3351#line 149
3352 __cil_tmp44 = (unsigned char )tmp___3;
3353#line 149
3354 __cil_tmp45 = ioaddr + 8180;
3355#line 149
3356 __cil_tmp46 = (void volatile *)__cil_tmp45;
3357#line 149
3358 writeb(__cil_tmp44, __cil_tmp46);
3359 }
3360 {
3361#line 152
3362 __cil_tmp47 = (unsigned long )pdata;
3363#line 152
3364 __cil_tmp48 = __cil_tmp47 + 36;
3365#line 152
3366 __cil_tmp49 = *((int *)__cil_tmp48);
3367#line 152
3368 if (__cil_tmp49 < 0) {
3369#line 152
3370 tmp___5 = 128;
3371 } else {
3372 {
3373#line 152
3374 __cil_tmp50 = (unsigned long )pdata;
3375#line 152
3376 __cil_tmp51 = __cil_tmp50 + 28;
3377#line 152
3378 __cil_tmp52 = *((unsigned int *)__cil_tmp51);
3379#line 152
3380 if (__cil_tmp52 & 16U) {
3381#line 152
3382 tmp___5 = 128;
3383 } else {
3384 {
3385#line 152
3386 __cil_tmp53 = (unsigned long )pdata;
3387#line 152
3388 __cil_tmp54 = __cil_tmp53 + 36;
3389#line 152
3390 __cil_tmp55 = *((int *)__cil_tmp54);
3391#line 152
3392 __cil_tmp56 = (unsigned int )__cil_tmp55;
3393#line 152
3394 tmp___4 = bin2bcd(__cil_tmp56);
3395#line 152
3396 tmp___5 = (int )tmp___4;
3397 }
3398 }
3399 }
3400 }
3401 }
3402 {
3403#line 152
3404 __cil_tmp57 = (unsigned char )tmp___5;
3405#line 152
3406 __cil_tmp58 = ioaddr + 8179;
3407#line 152
3408 __cil_tmp59 = (void volatile *)__cil_tmp58;
3409#line 152
3410 writeb(__cil_tmp57, __cil_tmp59);
3411 }
3412 {
3413#line 155
3414 __cil_tmp60 = (unsigned long )pdata;
3415#line 155
3416 __cil_tmp61 = __cil_tmp60 + 32;
3417#line 155
3418 __cil_tmp62 = *((int *)__cil_tmp61);
3419#line 155
3420 if (__cil_tmp62 < 0) {
3421#line 155
3422 tmp___7 = 128;
3423 } else {
3424 {
3425#line 155
3426 __cil_tmp63 = (unsigned long )pdata;
3427#line 155
3428 __cil_tmp64 = __cil_tmp63 + 28;
3429#line 155
3430 __cil_tmp65 = *((unsigned int *)__cil_tmp64);
3431#line 155
3432 if (__cil_tmp65 & 16U) {
3433#line 155
3434 tmp___7 = 128;
3435 } else {
3436 {
3437#line 155
3438 __cil_tmp66 = (unsigned long )pdata;
3439#line 155
3440 __cil_tmp67 = __cil_tmp66 + 32;
3441#line 155
3442 __cil_tmp68 = *((int *)__cil_tmp67);
3443#line 155
3444 __cil_tmp69 = (unsigned int )__cil_tmp68;
3445#line 155
3446 tmp___6 = bin2bcd(__cil_tmp69);
3447#line 155
3448 tmp___7 = (int )tmp___6;
3449 }
3450 }
3451 }
3452 }
3453 }
3454 {
3455#line 155
3456 __cil_tmp70 = (unsigned char )tmp___7;
3457#line 155
3458 __cil_tmp71 = ioaddr + 8178;
3459#line 155
3460 __cil_tmp72 = (void volatile *)__cil_tmp71;
3461#line 155
3462 writeb(__cil_tmp70, __cil_tmp72);
3463 }
3464 {
3465#line 158
3466 __cil_tmp73 = (unsigned long )pdata;
3467#line 158
3468 __cil_tmp74 = __cil_tmp73 + 28;
3469#line 158
3470 if (*((unsigned int *)__cil_tmp74)) {
3471#line 158
3472 tmp___8 = 128;
3473 } else {
3474#line 158
3475 tmp___8 = 0;
3476 }
3477 }
3478 {
3479#line 158
3480 __cil_tmp75 = (unsigned char )tmp___8;
3481#line 158
3482 __cil_tmp76 = ioaddr + 8182;
3483#line 158
3484 __cil_tmp77 = (void volatile *)__cil_tmp76;
3485#line 158
3486 writeb(__cil_tmp75, __cil_tmp77);
3487#line 159
3488 __cil_tmp78 = ioaddr + 8176;
3489#line 159
3490 __cil_tmp79 = (void const volatile *)__cil_tmp78;
3491#line 159
3492 readb(__cil_tmp79);
3493#line 160
3494 __cil_tmp80 = (unsigned long )pdata;
3495#line 160
3496 __cil_tmp81 = __cil_tmp80 + 48;
3497#line 160
3498 __cil_tmp82 = (spinlock_t *)__cil_tmp81;
3499#line 160
3500 spin_unlock_irqrestore(__cil_tmp82, flags);
3501 }
3502#line 161
3503 return;
3504}
3505}
3506#line 163 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
3507static int ds1553_rtc_set_alarm(struct device *dev , struct rtc_wkalrm *alrm )
3508{ struct platform_device *pdev ;
3509 struct device const *__mptr ;
3510 struct rtc_plat_data *pdata ;
3511 void *tmp ;
3512 struct platform_device *__cil_tmp7 ;
3513 unsigned long __cil_tmp8 ;
3514 unsigned long __cil_tmp9 ;
3515 struct device *__cil_tmp10 ;
3516 unsigned int __cil_tmp11 ;
3517 char *__cil_tmp12 ;
3518 char *__cil_tmp13 ;
3519 struct platform_device const *__cil_tmp14 ;
3520 unsigned long __cil_tmp15 ;
3521 unsigned long __cil_tmp16 ;
3522 int __cil_tmp17 ;
3523 unsigned long __cil_tmp18 ;
3524 unsigned long __cil_tmp19 ;
3525 unsigned long __cil_tmp20 ;
3526 unsigned long __cil_tmp21 ;
3527 unsigned long __cil_tmp22 ;
3528 unsigned long __cil_tmp23 ;
3529 unsigned long __cil_tmp24 ;
3530 unsigned long __cil_tmp25 ;
3531 unsigned long __cil_tmp26 ;
3532 unsigned long __cil_tmp27 ;
3533 unsigned long __cil_tmp28 ;
3534 unsigned long __cil_tmp29 ;
3535 unsigned long __cil_tmp30 ;
3536 unsigned long __cil_tmp31 ;
3537 unsigned long __cil_tmp32 ;
3538 unsigned long __cil_tmp33 ;
3539 unsigned long __cil_tmp34 ;
3540 unsigned long __cil_tmp35 ;
3541 unsigned long __cil_tmp36 ;
3542 unsigned long __cil_tmp37 ;
3543 unsigned long __cil_tmp38 ;
3544 unsigned long __cil_tmp39 ;
3545 unsigned long __cil_tmp40 ;
3546 unsigned int __cil_tmp41 ;
3547
3548 {
3549 {
3550#line 165
3551 __mptr = (struct device const *)dev;
3552#line 165
3553 __cil_tmp7 = (struct platform_device *)0;
3554#line 165
3555 __cil_tmp8 = (unsigned long )__cil_tmp7;
3556#line 165
3557 __cil_tmp9 = __cil_tmp8 + 16;
3558#line 165
3559 __cil_tmp10 = (struct device *)__cil_tmp9;
3560#line 165
3561 __cil_tmp11 = (unsigned int )__cil_tmp10;
3562#line 165
3563 __cil_tmp12 = (char *)__mptr;
3564#line 165
3565 __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
3566#line 165
3567 pdev = (struct platform_device *)__cil_tmp13;
3568#line 166
3569 __cil_tmp14 = (struct platform_device const *)pdev;
3570#line 166
3571 tmp = platform_get_drvdata(__cil_tmp14);
3572#line 166
3573 pdata = (struct rtc_plat_data *)tmp;
3574 }
3575 {
3576#line 168
3577 __cil_tmp15 = (unsigned long )pdata;
3578#line 168
3579 __cil_tmp16 = __cil_tmp15 + 24;
3580#line 168
3581 __cil_tmp17 = *((int *)__cil_tmp16);
3582#line 168
3583 if (__cil_tmp17 <= 0) {
3584#line 169
3585 return (-22);
3586 } else {
3587
3588 }
3589 }
3590#line 170
3591 __cil_tmp18 = (unsigned long )pdata;
3592#line 170
3593 __cil_tmp19 = __cil_tmp18 + 44;
3594#line 170
3595 __cil_tmp20 = 4 + 12;
3596#line 170
3597 __cil_tmp21 = (unsigned long )alrm;
3598#line 170
3599 __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
3600#line 170
3601 *((int *)__cil_tmp19) = *((int *)__cil_tmp22);
3602#line 171
3603 __cil_tmp23 = (unsigned long )pdata;
3604#line 171
3605 __cil_tmp24 = __cil_tmp23 + 40;
3606#line 171
3607 __cil_tmp25 = 4 + 8;
3608#line 171
3609 __cil_tmp26 = (unsigned long )alrm;
3610#line 171
3611 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
3612#line 171
3613 *((int *)__cil_tmp24) = *((int *)__cil_tmp27);
3614#line 172
3615 __cil_tmp28 = (unsigned long )pdata;
3616#line 172
3617 __cil_tmp29 = __cil_tmp28 + 36;
3618#line 172
3619 __cil_tmp30 = 4 + 4;
3620#line 172
3621 __cil_tmp31 = (unsigned long )alrm;
3622#line 172
3623 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
3624#line 172
3625 *((int *)__cil_tmp29) = *((int *)__cil_tmp32);
3626#line 173
3627 __cil_tmp33 = (unsigned long )pdata;
3628#line 173
3629 __cil_tmp34 = __cil_tmp33 + 32;
3630#line 173
3631 __cil_tmp35 = (unsigned long )alrm;
3632#line 173
3633 __cil_tmp36 = __cil_tmp35 + 4;
3634#line 173
3635 *((int *)__cil_tmp34) = *((int *)__cil_tmp36);
3636#line 174
3637 if (*((unsigned char *)alrm)) {
3638#line 175
3639 __cil_tmp37 = (unsigned long )pdata;
3640#line 175
3641 __cil_tmp38 = __cil_tmp37 + 28;
3642#line 175
3643 __cil_tmp39 = (unsigned long )pdata;
3644#line 175
3645 __cil_tmp40 = __cil_tmp39 + 28;
3646#line 175
3647 __cil_tmp41 = *((unsigned int *)__cil_tmp40);
3648#line 175
3649 *((unsigned int *)__cil_tmp38) = __cil_tmp41 | 32U;
3650 } else {
3651
3652 }
3653 {
3654#line 176
3655 ds1553_rtc_update_alarm(pdata);
3656 }
3657#line 177
3658 return (0);
3659}
3660}
3661#line 180 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
3662static int ds1553_rtc_read_alarm(struct device *dev , struct rtc_wkalrm *alrm )
3663{ struct platform_device *pdev ;
3664 struct device const *__mptr ;
3665 struct rtc_plat_data *pdata ;
3666 void *tmp ;
3667 struct platform_device *__cil_tmp7 ;
3668 unsigned long __cil_tmp8 ;
3669 unsigned long __cil_tmp9 ;
3670 struct device *__cil_tmp10 ;
3671 unsigned int __cil_tmp11 ;
3672 char *__cil_tmp12 ;
3673 char *__cil_tmp13 ;
3674 struct platform_device const *__cil_tmp14 ;
3675 unsigned long __cil_tmp15 ;
3676 unsigned long __cil_tmp16 ;
3677 int __cil_tmp17 ;
3678 unsigned long __cil_tmp18 ;
3679 unsigned long __cil_tmp19 ;
3680 int __cil_tmp20 ;
3681 unsigned long __cil_tmp21 ;
3682 unsigned long __cil_tmp22 ;
3683 unsigned long __cil_tmp23 ;
3684 unsigned long __cil_tmp24 ;
3685 unsigned long __cil_tmp25 ;
3686 unsigned long __cil_tmp26 ;
3687 unsigned long __cil_tmp27 ;
3688 unsigned long __cil_tmp28 ;
3689 unsigned long __cil_tmp29 ;
3690 unsigned long __cil_tmp30 ;
3691 int __cil_tmp31 ;
3692 unsigned long __cil_tmp32 ;
3693 unsigned long __cil_tmp33 ;
3694 unsigned long __cil_tmp34 ;
3695 unsigned long __cil_tmp35 ;
3696 unsigned long __cil_tmp36 ;
3697 unsigned long __cil_tmp37 ;
3698 unsigned long __cil_tmp38 ;
3699 unsigned long __cil_tmp39 ;
3700 unsigned long __cil_tmp40 ;
3701 unsigned long __cil_tmp41 ;
3702 int __cil_tmp42 ;
3703 unsigned long __cil_tmp43 ;
3704 unsigned long __cil_tmp44 ;
3705 unsigned long __cil_tmp45 ;
3706 unsigned long __cil_tmp46 ;
3707 unsigned long __cil_tmp47 ;
3708 unsigned long __cil_tmp48 ;
3709 unsigned long __cil_tmp49 ;
3710 unsigned long __cil_tmp50 ;
3711 unsigned long __cil_tmp51 ;
3712 unsigned long __cil_tmp52 ;
3713 int __cil_tmp53 ;
3714 unsigned long __cil_tmp54 ;
3715 unsigned long __cil_tmp55 ;
3716 unsigned long __cil_tmp56 ;
3717 unsigned long __cil_tmp57 ;
3718 unsigned long __cil_tmp58 ;
3719 unsigned long __cil_tmp59 ;
3720 unsigned long __cil_tmp60 ;
3721 unsigned long __cil_tmp61 ;
3722 unsigned int __cil_tmp62 ;
3723
3724 {
3725 {
3726#line 182
3727 __mptr = (struct device const *)dev;
3728#line 182
3729 __cil_tmp7 = (struct platform_device *)0;
3730#line 182
3731 __cil_tmp8 = (unsigned long )__cil_tmp7;
3732#line 182
3733 __cil_tmp9 = __cil_tmp8 + 16;
3734#line 182
3735 __cil_tmp10 = (struct device *)__cil_tmp9;
3736#line 182
3737 __cil_tmp11 = (unsigned int )__cil_tmp10;
3738#line 182
3739 __cil_tmp12 = (char *)__mptr;
3740#line 182
3741 __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
3742#line 182
3743 pdev = (struct platform_device *)__cil_tmp13;
3744#line 183
3745 __cil_tmp14 = (struct platform_device const *)pdev;
3746#line 183
3747 tmp = platform_get_drvdata(__cil_tmp14);
3748#line 183
3749 pdata = (struct rtc_plat_data *)tmp;
3750 }
3751 {
3752#line 185
3753 __cil_tmp15 = (unsigned long )pdata;
3754#line 185
3755 __cil_tmp16 = __cil_tmp15 + 24;
3756#line 185
3757 __cil_tmp17 = *((int *)__cil_tmp16);
3758#line 185
3759 if (__cil_tmp17 <= 0) {
3760#line 186
3761 return (-22);
3762 } else {
3763
3764 }
3765 }
3766 {
3767#line 187
3768 __cil_tmp18 = (unsigned long )pdata;
3769#line 187
3770 __cil_tmp19 = __cil_tmp18 + 44;
3771#line 187
3772 __cil_tmp20 = *((int *)__cil_tmp19);
3773#line 187
3774 if (__cil_tmp20 < 0) {
3775#line 187
3776 __cil_tmp21 = 4 + 12;
3777#line 187
3778 __cil_tmp22 = (unsigned long )alrm;
3779#line 187
3780 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
3781#line 187
3782 *((int *)__cil_tmp23) = 0;
3783 } else {
3784#line 187
3785 __cil_tmp24 = 4 + 12;
3786#line 187
3787 __cil_tmp25 = (unsigned long )alrm;
3788#line 187
3789 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
3790#line 187
3791 __cil_tmp27 = (unsigned long )pdata;
3792#line 187
3793 __cil_tmp28 = __cil_tmp27 + 44;
3794#line 187
3795 *((int *)__cil_tmp26) = *((int *)__cil_tmp28);
3796 }
3797 }
3798 {
3799#line 188
3800 __cil_tmp29 = (unsigned long )pdata;
3801#line 188
3802 __cil_tmp30 = __cil_tmp29 + 40;
3803#line 188
3804 __cil_tmp31 = *((int *)__cil_tmp30);
3805#line 188
3806 if (__cil_tmp31 < 0) {
3807#line 188
3808 __cil_tmp32 = 4 + 8;
3809#line 188
3810 __cil_tmp33 = (unsigned long )alrm;
3811#line 188
3812 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
3813#line 188
3814 *((int *)__cil_tmp34) = 0;
3815 } else {
3816#line 188
3817 __cil_tmp35 = 4 + 8;
3818#line 188
3819 __cil_tmp36 = (unsigned long )alrm;
3820#line 188
3821 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
3822#line 188
3823 __cil_tmp38 = (unsigned long )pdata;
3824#line 188
3825 __cil_tmp39 = __cil_tmp38 + 40;
3826#line 188
3827 *((int *)__cil_tmp37) = *((int *)__cil_tmp39);
3828 }
3829 }
3830 {
3831#line 189
3832 __cil_tmp40 = (unsigned long )pdata;
3833#line 189
3834 __cil_tmp41 = __cil_tmp40 + 36;
3835#line 189
3836 __cil_tmp42 = *((int *)__cil_tmp41);
3837#line 189
3838 if (__cil_tmp42 < 0) {
3839#line 189
3840 __cil_tmp43 = 4 + 4;
3841#line 189
3842 __cil_tmp44 = (unsigned long )alrm;
3843#line 189
3844 __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
3845#line 189
3846 *((int *)__cil_tmp45) = 0;
3847 } else {
3848#line 189
3849 __cil_tmp46 = 4 + 4;
3850#line 189
3851 __cil_tmp47 = (unsigned long )alrm;
3852#line 189
3853 __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
3854#line 189
3855 __cil_tmp49 = (unsigned long )pdata;
3856#line 189
3857 __cil_tmp50 = __cil_tmp49 + 36;
3858#line 189
3859 *((int *)__cil_tmp48) = *((int *)__cil_tmp50);
3860 }
3861 }
3862 {
3863#line 190
3864 __cil_tmp51 = (unsigned long )pdata;
3865#line 190
3866 __cil_tmp52 = __cil_tmp51 + 32;
3867#line 190
3868 __cil_tmp53 = *((int *)__cil_tmp52);
3869#line 190
3870 if (__cil_tmp53 < 0) {
3871#line 190
3872 __cil_tmp54 = (unsigned long )alrm;
3873#line 190
3874 __cil_tmp55 = __cil_tmp54 + 4;
3875#line 190
3876 *((int *)__cil_tmp55) = 0;
3877 } else {
3878#line 190
3879 __cil_tmp56 = (unsigned long )alrm;
3880#line 190
3881 __cil_tmp57 = __cil_tmp56 + 4;
3882#line 190
3883 __cil_tmp58 = (unsigned long )pdata;
3884#line 190
3885 __cil_tmp59 = __cil_tmp58 + 32;
3886#line 190
3887 *((int *)__cil_tmp57) = *((int *)__cil_tmp59);
3888 }
3889 }
3890 {
3891#line 191
3892 __cil_tmp60 = (unsigned long )pdata;
3893#line 191
3894 __cil_tmp61 = __cil_tmp60 + 28;
3895#line 191
3896 __cil_tmp62 = *((unsigned int *)__cil_tmp61);
3897#line 191
3898 if (__cil_tmp62 & 32U) {
3899#line 191
3900 *((unsigned char *)alrm) = (unsigned char)1;
3901 } else {
3902#line 191
3903 *((unsigned char *)alrm) = (unsigned char)0;
3904 }
3905 }
3906#line 192
3907 return (0);
3908}
3909}
3910#line 195 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
3911static irqreturn_t ds1553_rtc_interrupt(int irq , void *dev_id )
3912{ struct platform_device *pdev ;
3913 struct rtc_plat_data *pdata ;
3914 void *tmp ;
3915 void *ioaddr ;
3916 unsigned long events ;
3917 unsigned char tmp___0 ;
3918 long tmp___1 ;
3919 unsigned char tmp___2 ;
3920 int tmp___3 ;
3921 struct platform_device const *__cil_tmp12 ;
3922 unsigned long __cil_tmp13 ;
3923 unsigned long __cil_tmp14 ;
3924 unsigned long __cil_tmp15 ;
3925 unsigned long __cil_tmp16 ;
3926 spinlock_t *__cil_tmp17 ;
3927 void *__cil_tmp18 ;
3928 void const volatile *__cil_tmp19 ;
3929 int __cil_tmp20 ;
3930 void *__cil_tmp21 ;
3931 void const volatile *__cil_tmp22 ;
3932 int __cil_tmp23 ;
3933 struct rtc_device *__cil_tmp24 ;
3934 int __cil_tmp25 ;
3935 int __cil_tmp26 ;
3936 long __cil_tmp27 ;
3937 struct rtc_device *__cil_tmp28 ;
3938 unsigned long __cil_tmp29 ;
3939 unsigned long __cil_tmp30 ;
3940 spinlock_t *__cil_tmp31 ;
3941
3942 {
3943 {
3944#line 197
3945 pdev = (struct platform_device *)dev_id;
3946#line 198
3947 __cil_tmp12 = (struct platform_device const *)pdev;
3948#line 198
3949 tmp = platform_get_drvdata(__cil_tmp12);
3950#line 198
3951 pdata = (struct rtc_plat_data *)tmp;
3952#line 199
3953 __cil_tmp13 = (unsigned long )pdata;
3954#line 199
3955 __cil_tmp14 = __cil_tmp13 + 8;
3956#line 199
3957 ioaddr = *((void **)__cil_tmp14);
3958#line 200
3959 events = 0UL;
3960#line 202
3961 __cil_tmp15 = (unsigned long )pdata;
3962#line 202
3963 __cil_tmp16 = __cil_tmp15 + 48;
3964#line 202
3965 __cil_tmp17 = (spinlock_t *)__cil_tmp16;
3966#line 202
3967 spin_lock(__cil_tmp17);
3968#line 204
3969 __cil_tmp18 = ioaddr + 8176;
3970#line 204
3971 __cil_tmp19 = (void const volatile *)__cil_tmp18;
3972#line 204
3973 tmp___2 = readb(__cil_tmp19);
3974 }
3975 {
3976#line 204
3977 __cil_tmp20 = (int )tmp___2;
3978#line 204
3979 if (__cil_tmp20 & 64) {
3980 {
3981#line 205
3982 events = 128UL;
3983#line 206
3984 __cil_tmp21 = ioaddr + 8178;
3985#line 206
3986 __cil_tmp22 = (void const volatile *)__cil_tmp21;
3987#line 206
3988 tmp___0 = readb(__cil_tmp22);
3989 }
3990 {
3991#line 206
3992 __cil_tmp23 = (int )tmp___0;
3993#line 206
3994 if (__cil_tmp23 & 128) {
3995#line 207
3996 events = events | 16UL;
3997 } else {
3998#line 209
3999 events = events | 32UL;
4000 }
4001 }
4002 {
4003#line 210
4004 __cil_tmp24 = *((struct rtc_device **)pdata);
4005#line 210
4006 __cil_tmp25 = ! __cil_tmp24;
4007#line 210
4008 __cil_tmp26 = ! __cil_tmp25;
4009#line 210
4010 __cil_tmp27 = (long )__cil_tmp26;
4011#line 210
4012 tmp___1 = __builtin_expect(__cil_tmp27, 1L);
4013 }
4014#line 210
4015 if (tmp___1) {
4016 {
4017#line 211
4018 __cil_tmp28 = *((struct rtc_device **)pdata);
4019#line 211
4020 rtc_update_irq(__cil_tmp28, 1UL, events);
4021 }
4022 } else {
4023
4024 }
4025 } else {
4026
4027 }
4028 }
4029 {
4030#line 213
4031 __cil_tmp29 = (unsigned long )pdata;
4032#line 213
4033 __cil_tmp30 = __cil_tmp29 + 48;
4034#line 213
4035 __cil_tmp31 = (spinlock_t *)__cil_tmp30;
4036#line 213
4037 spin_unlock(__cil_tmp31);
4038 }
4039#line 214
4040 if (events) {
4041#line 214
4042 tmp___3 = 1;
4043 } else {
4044#line 214
4045 tmp___3 = 0;
4046 }
4047#line 214
4048 return ((irqreturn_t )tmp___3);
4049}
4050}
4051#line 217 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4052static int ds1553_rtc_alarm_irq_enable(struct device *dev , unsigned int enabled )
4053{ struct platform_device *pdev ;
4054 struct device const *__mptr ;
4055 struct rtc_plat_data *pdata ;
4056 void *tmp ;
4057 struct platform_device *__cil_tmp7 ;
4058 unsigned long __cil_tmp8 ;
4059 unsigned long __cil_tmp9 ;
4060 struct device *__cil_tmp10 ;
4061 unsigned int __cil_tmp11 ;
4062 char *__cil_tmp12 ;
4063 char *__cil_tmp13 ;
4064 struct platform_device const *__cil_tmp14 ;
4065 unsigned long __cil_tmp15 ;
4066 unsigned long __cil_tmp16 ;
4067 int __cil_tmp17 ;
4068 unsigned long __cil_tmp18 ;
4069 unsigned long __cil_tmp19 ;
4070 unsigned long __cil_tmp20 ;
4071 unsigned long __cil_tmp21 ;
4072 unsigned int __cil_tmp22 ;
4073 unsigned long __cil_tmp23 ;
4074 unsigned long __cil_tmp24 ;
4075 unsigned long __cil_tmp25 ;
4076 unsigned long __cil_tmp26 ;
4077 unsigned int __cil_tmp27 ;
4078
4079 {
4080 {
4081#line 219
4082 __mptr = (struct device const *)dev;
4083#line 219
4084 __cil_tmp7 = (struct platform_device *)0;
4085#line 219
4086 __cil_tmp8 = (unsigned long )__cil_tmp7;
4087#line 219
4088 __cil_tmp9 = __cil_tmp8 + 16;
4089#line 219
4090 __cil_tmp10 = (struct device *)__cil_tmp9;
4091#line 219
4092 __cil_tmp11 = (unsigned int )__cil_tmp10;
4093#line 219
4094 __cil_tmp12 = (char *)__mptr;
4095#line 219
4096 __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
4097#line 219
4098 pdev = (struct platform_device *)__cil_tmp13;
4099#line 220
4100 __cil_tmp14 = (struct platform_device const *)pdev;
4101#line 220
4102 tmp = platform_get_drvdata(__cil_tmp14);
4103#line 220
4104 pdata = (struct rtc_plat_data *)tmp;
4105 }
4106 {
4107#line 222
4108 __cil_tmp15 = (unsigned long )pdata;
4109#line 222
4110 __cil_tmp16 = __cil_tmp15 + 24;
4111#line 222
4112 __cil_tmp17 = *((int *)__cil_tmp16);
4113#line 222
4114 if (__cil_tmp17 <= 0) {
4115#line 223
4116 return (-22);
4117 } else {
4118
4119 }
4120 }
4121#line 224
4122 if (enabled) {
4123#line 225
4124 __cil_tmp18 = (unsigned long )pdata;
4125#line 225
4126 __cil_tmp19 = __cil_tmp18 + 28;
4127#line 225
4128 __cil_tmp20 = (unsigned long )pdata;
4129#line 225
4130 __cil_tmp21 = __cil_tmp20 + 28;
4131#line 225
4132 __cil_tmp22 = *((unsigned int *)__cil_tmp21);
4133#line 225
4134 *((unsigned int *)__cil_tmp19) = __cil_tmp22 | 32U;
4135 } else {
4136#line 227
4137 __cil_tmp23 = (unsigned long )pdata;
4138#line 227
4139 __cil_tmp24 = __cil_tmp23 + 28;
4140#line 227
4141 __cil_tmp25 = (unsigned long )pdata;
4142#line 227
4143 __cil_tmp26 = __cil_tmp25 + 28;
4144#line 227
4145 __cil_tmp27 = *((unsigned int *)__cil_tmp26);
4146#line 227
4147 *((unsigned int *)__cil_tmp24) = __cil_tmp27 & 4294967263U;
4148 }
4149 {
4150#line 228
4151 ds1553_rtc_update_alarm(pdata);
4152 }
4153#line 229
4154 return (0);
4155}
4156}
4157#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4158static struct rtc_class_ops const ds1553_rtc_ops =
4159#line 232
4160 {(int (*)(struct device * ))0, (void (*)(struct device * ))0, (int (*)(struct device * ,
4161 unsigned int ,
4162 unsigned long ))0,
4163 & ds1553_rtc_read_time, & ds1553_rtc_set_time, & ds1553_rtc_read_alarm, & ds1553_rtc_set_alarm,
4164 (int (*)(struct device * , struct seq_file * ))0, (int (*)(struct device * , unsigned long secs ))0,
4165 (int (*)(struct device * , int data ))0, & ds1553_rtc_alarm_irq_enable};
4166#line 240 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4167static ssize_t ds1553_nvram_read(struct file *filp , struct kobject *kobj , struct bin_attribute *bin_attr ,
4168 char *buf , loff_t pos , size_t size )
4169{ struct device *dev ;
4170 struct kobject const *__mptr ;
4171 struct platform_device *pdev ;
4172 struct device const *__mptr___0 ;
4173 struct rtc_plat_data *pdata ;
4174 void *tmp ;
4175 void *ioaddr ;
4176 ssize_t count ;
4177 char *tmp___0 ;
4178 loff_t tmp___1 ;
4179 unsigned char tmp___2 ;
4180 struct device *__cil_tmp18 ;
4181 unsigned long __cil_tmp19 ;
4182 unsigned long __cil_tmp20 ;
4183 struct kobject *__cil_tmp21 ;
4184 unsigned int __cil_tmp22 ;
4185 char *__cil_tmp23 ;
4186 char *__cil_tmp24 ;
4187 struct platform_device *__cil_tmp25 ;
4188 unsigned long __cil_tmp26 ;
4189 unsigned long __cil_tmp27 ;
4190 struct device *__cil_tmp28 ;
4191 unsigned int __cil_tmp29 ;
4192 char *__cil_tmp30 ;
4193 char *__cil_tmp31 ;
4194 struct platform_device const *__cil_tmp32 ;
4195 unsigned long __cil_tmp33 ;
4196 unsigned long __cil_tmp34 ;
4197 void *__cil_tmp35 ;
4198 void const volatile *__cil_tmp36 ;
4199
4200 {
4201 {
4202#line 244
4203 __mptr = (struct kobject const *)kobj;
4204#line 244
4205 __cil_tmp18 = (struct device *)0;
4206#line 244
4207 __cil_tmp19 = (unsigned long )__cil_tmp18;
4208#line 244
4209 __cil_tmp20 = __cil_tmp19 + 16;
4210#line 244
4211 __cil_tmp21 = (struct kobject *)__cil_tmp20;
4212#line 244
4213 __cil_tmp22 = (unsigned int )__cil_tmp21;
4214#line 244
4215 __cil_tmp23 = (char *)__mptr;
4216#line 244
4217 __cil_tmp24 = __cil_tmp23 - __cil_tmp22;
4218#line 244
4219 dev = (struct device *)__cil_tmp24;
4220#line 245
4221 __mptr___0 = (struct device const *)dev;
4222#line 245
4223 __cil_tmp25 = (struct platform_device *)0;
4224#line 245
4225 __cil_tmp26 = (unsigned long )__cil_tmp25;
4226#line 245
4227 __cil_tmp27 = __cil_tmp26 + 16;
4228#line 245
4229 __cil_tmp28 = (struct device *)__cil_tmp27;
4230#line 245
4231 __cil_tmp29 = (unsigned int )__cil_tmp28;
4232#line 245
4233 __cil_tmp30 = (char *)__mptr___0;
4234#line 245
4235 __cil_tmp31 = __cil_tmp30 - __cil_tmp29;
4236#line 245
4237 pdev = (struct platform_device *)__cil_tmp31;
4238#line 246
4239 __cil_tmp32 = (struct platform_device const *)pdev;
4240#line 246
4241 tmp = platform_get_drvdata(__cil_tmp32);
4242#line 246
4243 pdata = (struct rtc_plat_data *)tmp;
4244#line 247
4245 __cil_tmp33 = (unsigned long )pdata;
4246#line 247
4247 __cil_tmp34 = __cil_tmp33 + 8;
4248#line 247
4249 ioaddr = *((void **)__cil_tmp34);
4250#line 250
4251 count = (ssize_t )0;
4252 }
4253 {
4254#line 250
4255 while (1) {
4256 while_continue: ;
4257#line 250
4258 if (size > 0UL) {
4259#line 250
4260 if (pos < 8176LL) {
4261
4262 } else {
4263#line 250
4264 goto while_break;
4265 }
4266 } else {
4267#line 250
4268 goto while_break;
4269 }
4270 {
4271#line 251
4272 tmp___0 = buf;
4273#line 251
4274 buf = buf + 1;
4275#line 251
4276 tmp___1 = pos;
4277#line 251
4278 pos = pos + 1LL;
4279#line 251
4280 __cil_tmp35 = ioaddr + tmp___1;
4281#line 251
4282 __cil_tmp36 = (void const volatile *)__cil_tmp35;
4283#line 251
4284 tmp___2 = readb(__cil_tmp36);
4285#line 251
4286 *tmp___0 = (char )tmp___2;
4287#line 250
4288 count = count + 1L;
4289#line 250
4290 size = size - 1UL;
4291 }
4292 }
4293 while_break: ;
4294 }
4295#line 252
4296 return (count);
4297}
4298}
4299#line 255 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4300static ssize_t ds1553_nvram_write(struct file *filp , struct kobject *kobj , struct bin_attribute *bin_attr ,
4301 char *buf , loff_t pos , size_t size )
4302{ struct device *dev ;
4303 struct kobject const *__mptr ;
4304 struct platform_device *pdev ;
4305 struct device const *__mptr___0 ;
4306 struct rtc_plat_data *pdata ;
4307 void *tmp ;
4308 void *ioaddr ;
4309 ssize_t count ;
4310 loff_t tmp___0 ;
4311 char *tmp___1 ;
4312 struct device *__cil_tmp17 ;
4313 unsigned long __cil_tmp18 ;
4314 unsigned long __cil_tmp19 ;
4315 struct kobject *__cil_tmp20 ;
4316 unsigned int __cil_tmp21 ;
4317 char *__cil_tmp22 ;
4318 char *__cil_tmp23 ;
4319 struct platform_device *__cil_tmp24 ;
4320 unsigned long __cil_tmp25 ;
4321 unsigned long __cil_tmp26 ;
4322 struct device *__cil_tmp27 ;
4323 unsigned int __cil_tmp28 ;
4324 char *__cil_tmp29 ;
4325 char *__cil_tmp30 ;
4326 struct platform_device const *__cil_tmp31 ;
4327 unsigned long __cil_tmp32 ;
4328 unsigned long __cil_tmp33 ;
4329 char __cil_tmp34 ;
4330 unsigned char __cil_tmp35 ;
4331 void *__cil_tmp36 ;
4332 void volatile *__cil_tmp37 ;
4333
4334 {
4335 {
4336#line 259
4337 __mptr = (struct kobject const *)kobj;
4338#line 259
4339 __cil_tmp17 = (struct device *)0;
4340#line 259
4341 __cil_tmp18 = (unsigned long )__cil_tmp17;
4342#line 259
4343 __cil_tmp19 = __cil_tmp18 + 16;
4344#line 259
4345 __cil_tmp20 = (struct kobject *)__cil_tmp19;
4346#line 259
4347 __cil_tmp21 = (unsigned int )__cil_tmp20;
4348#line 259
4349 __cil_tmp22 = (char *)__mptr;
4350#line 259
4351 __cil_tmp23 = __cil_tmp22 - __cil_tmp21;
4352#line 259
4353 dev = (struct device *)__cil_tmp23;
4354#line 260
4355 __mptr___0 = (struct device const *)dev;
4356#line 260
4357 __cil_tmp24 = (struct platform_device *)0;
4358#line 260
4359 __cil_tmp25 = (unsigned long )__cil_tmp24;
4360#line 260
4361 __cil_tmp26 = __cil_tmp25 + 16;
4362#line 260
4363 __cil_tmp27 = (struct device *)__cil_tmp26;
4364#line 260
4365 __cil_tmp28 = (unsigned int )__cil_tmp27;
4366#line 260
4367 __cil_tmp29 = (char *)__mptr___0;
4368#line 260
4369 __cil_tmp30 = __cil_tmp29 - __cil_tmp28;
4370#line 260
4371 pdev = (struct platform_device *)__cil_tmp30;
4372#line 261
4373 __cil_tmp31 = (struct platform_device const *)pdev;
4374#line 261
4375 tmp = platform_get_drvdata(__cil_tmp31);
4376#line 261
4377 pdata = (struct rtc_plat_data *)tmp;
4378#line 262
4379 __cil_tmp32 = (unsigned long )pdata;
4380#line 262
4381 __cil_tmp33 = __cil_tmp32 + 8;
4382#line 262
4383 ioaddr = *((void **)__cil_tmp33);
4384#line 265
4385 count = (ssize_t )0;
4386 }
4387 {
4388#line 265
4389 while (1) {
4390 while_continue: ;
4391#line 265
4392 if (size > 0UL) {
4393#line 265
4394 if (pos < 8176LL) {
4395
4396 } else {
4397#line 265
4398 goto while_break;
4399 }
4400 } else {
4401#line 265
4402 goto while_break;
4403 }
4404 {
4405#line 266
4406 tmp___0 = pos;
4407#line 266
4408 pos = pos + 1LL;
4409#line 266
4410 tmp___1 = buf;
4411#line 266
4412 buf = buf + 1;
4413#line 266
4414 __cil_tmp34 = *tmp___1;
4415#line 266
4416 __cil_tmp35 = (unsigned char )__cil_tmp34;
4417#line 266
4418 __cil_tmp36 = ioaddr + tmp___0;
4419#line 266
4420 __cil_tmp37 = (void volatile *)__cil_tmp36;
4421#line 266
4422 writeb(__cil_tmp35, __cil_tmp37);
4423#line 265
4424 count = count + 1L;
4425#line 265
4426 size = size - 1UL;
4427 }
4428 }
4429 while_break: ;
4430 }
4431#line 267
4432 return (count);
4433}
4434}
4435#line 270 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4436static struct bin_attribute ds1553_nvram_attr = {{"nvram", (umode_t )420}, (size_t )8176, (void *)0, & ds1553_nvram_read, & ds1553_nvram_write,
4437 (int (*)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ))0};
4438#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4439static struct lock_class_key __key___3 ;
4440#line 280
4441static int ds1553_rtc_probe(struct platform_device *pdev ) __attribute__((__section__(".devinit.text"),
4442__no_instrument_function__)) ;
4443#line 280 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4444static int ds1553_rtc_probe(struct platform_device *pdev )
4445{ struct rtc_device *rtc ;
4446 struct resource *res ;
4447 unsigned int cen ;
4448 unsigned int sec ;
4449 struct rtc_plat_data *pdata ;
4450 void *ioaddr ;
4451 int ret ;
4452 void *tmp ;
4453 struct resource *tmp___0 ;
4454 unsigned char tmp___1 ;
4455 unsigned char tmp___2 ;
4456 unsigned char tmp___3 ;
4457 int tmp___4 ;
4458 long tmp___5 ;
4459 long tmp___6 ;
4460 unsigned long __cil_tmp17 ;
4461 unsigned long __cil_tmp18 ;
4462 struct device *__cil_tmp19 ;
4463 unsigned long __cil_tmp20 ;
4464 unsigned long __cil_tmp21 ;
4465 struct device *__cil_tmp22 ;
4466 resource_size_t __cil_tmp23 ;
4467 resource_size_t __cil_tmp24 ;
4468 char const *__cil_tmp25 ;
4469 unsigned long __cil_tmp26 ;
4470 unsigned long __cil_tmp27 ;
4471 struct device *__cil_tmp28 ;
4472 resource_size_t __cil_tmp29 ;
4473 unsigned long __cil_tmp30 ;
4474 unsigned long __cil_tmp31 ;
4475 unsigned long __cil_tmp32 ;
4476 unsigned long __cil_tmp33 ;
4477 void *__cil_tmp34 ;
4478 void const volatile *__cil_tmp35 ;
4479 void *__cil_tmp36 ;
4480 void const volatile *__cil_tmp37 ;
4481 int __cil_tmp38 ;
4482 int __cil_tmp39 ;
4483 void *__cil_tmp40 ;
4484 void volatile *__cil_tmp41 ;
4485 unsigned char __cil_tmp42 ;
4486 void *__cil_tmp43 ;
4487 void volatile *__cil_tmp44 ;
4488 unsigned int __cil_tmp45 ;
4489 unsigned char __cil_tmp46 ;
4490 void *__cil_tmp47 ;
4491 void volatile *__cil_tmp48 ;
4492 void *__cil_tmp49 ;
4493 void const volatile *__cil_tmp50 ;
4494 int __cil_tmp51 ;
4495 unsigned long __cil_tmp52 ;
4496 unsigned long __cil_tmp53 ;
4497 struct device *__cil_tmp54 ;
4498 struct device const *__cil_tmp55 ;
4499 unsigned long __cil_tmp56 ;
4500 unsigned long __cil_tmp57 ;
4501 spinlock_t *__cil_tmp58 ;
4502 unsigned long __cil_tmp59 ;
4503 unsigned long __cil_tmp60 ;
4504 struct raw_spinlock *__cil_tmp61 ;
4505 unsigned long __cil_tmp62 ;
4506 unsigned long __cil_tmp63 ;
4507 void *__cil_tmp64 ;
4508 unsigned long __cil_tmp65 ;
4509 unsigned long __cil_tmp66 ;
4510 int __cil_tmp67 ;
4511 void *__cil_tmp68 ;
4512 void volatile *__cil_tmp69 ;
4513 unsigned long __cil_tmp70 ;
4514 unsigned long __cil_tmp71 ;
4515 struct device *__cil_tmp72 ;
4516 unsigned long __cil_tmp73 ;
4517 unsigned long __cil_tmp74 ;
4518 int __cil_tmp75 ;
4519 unsigned int __cil_tmp76 ;
4520 char const *__cil_tmp77 ;
4521 void *__cil_tmp78 ;
4522 unsigned long __cil_tmp79 ;
4523 unsigned long __cil_tmp80 ;
4524 struct device *__cil_tmp81 ;
4525 struct device const *__cil_tmp82 ;
4526 unsigned long __cil_tmp83 ;
4527 unsigned long __cil_tmp84 ;
4528 char const *__cil_tmp85 ;
4529 unsigned long __cil_tmp86 ;
4530 unsigned long __cil_tmp87 ;
4531 struct device *__cil_tmp88 ;
4532 void const *__cil_tmp89 ;
4533 void const *__cil_tmp90 ;
4534 unsigned long __cil_tmp91 ;
4535 unsigned long __cil_tmp92 ;
4536 unsigned long __cil_tmp93 ;
4537 struct kobject *__cil_tmp94 ;
4538 struct bin_attribute const *__cil_tmp95 ;
4539
4540 {
4541 {
4542#line 287
4543 ret = 0;
4544#line 289
4545 res = platform_get_resource(pdev, 512U, 0U);
4546 }
4547#line 290
4548 if (! res) {
4549#line 291
4550 return (-19);
4551 } else {
4552
4553 }
4554 {
4555#line 292
4556 __cil_tmp17 = (unsigned long )pdev;
4557#line 292
4558 __cil_tmp18 = __cil_tmp17 + 16;
4559#line 292
4560 __cil_tmp19 = (struct device *)__cil_tmp18;
4561#line 292
4562 tmp = devm_kzalloc(__cil_tmp19, 72UL, 208U);
4563#line 292
4564 pdata = (struct rtc_plat_data *)tmp;
4565 }
4566#line 293
4567 if (! pdata) {
4568#line 294
4569 return (-12);
4570 } else {
4571
4572 }
4573 {
4574#line 295
4575 __cil_tmp20 = (unsigned long )pdev;
4576#line 295
4577 __cil_tmp21 = __cil_tmp20 + 16;
4578#line 295
4579 __cil_tmp22 = (struct device *)__cil_tmp21;
4580#line 295
4581 __cil_tmp23 = *((resource_size_t *)res);
4582#line 295
4583 __cil_tmp24 = (resource_size_t )8192;
4584#line 295
4585 __cil_tmp25 = *((char const **)pdev);
4586#line 295
4587 tmp___0 = __devm_request_region(__cil_tmp22, & iomem_resource, __cil_tmp23, __cil_tmp24,
4588 __cil_tmp25);
4589 }
4590#line 295
4591 if (tmp___0) {
4592
4593 } else {
4594#line 297
4595 return (-16);
4596 }
4597 {
4598#line 299
4599 __cil_tmp26 = (unsigned long )pdev;
4600#line 299
4601 __cil_tmp27 = __cil_tmp26 + 16;
4602#line 299
4603 __cil_tmp28 = (struct device *)__cil_tmp27;
4604#line 299
4605 __cil_tmp29 = *((resource_size_t *)res);
4606#line 299
4607 ioaddr = devm_ioremap(__cil_tmp28, __cil_tmp29, 8192UL);
4608 }
4609#line 300
4610 if (! ioaddr) {
4611#line 301
4612 return (-12);
4613 } else {
4614
4615 }
4616 {
4617#line 302
4618 __cil_tmp30 = (unsigned long )pdata;
4619#line 302
4620 __cil_tmp31 = __cil_tmp30 + 8;
4621#line 302
4622 *((void **)__cil_tmp31) = ioaddr;
4623#line 303
4624 __cil_tmp32 = (unsigned long )pdata;
4625#line 303
4626 __cil_tmp33 = __cil_tmp32 + 24;
4627#line 303
4628 *((int *)__cil_tmp33) = platform_get_irq(pdev, 0U);
4629#line 306
4630 __cil_tmp34 = ioaddr + 8185;
4631#line 306
4632 __cil_tmp35 = (void const volatile *)__cil_tmp34;
4633#line 306
4634 tmp___1 = readb(__cil_tmp35);
4635#line 306
4636 sec = (unsigned int )tmp___1;
4637 }
4638#line 307
4639 if (sec & 128U) {
4640 {
4641#line 308
4642 sec = sec & 127U;
4643#line 309
4644 __cil_tmp36 = ioaddr + 8184;
4645#line 309
4646 __cil_tmp37 = (void const volatile *)__cil_tmp36;
4647#line 309
4648 tmp___2 = readb(__cil_tmp37);
4649#line 309
4650 __cil_tmp38 = (int )tmp___2;
4651#line 309
4652 __cil_tmp39 = __cil_tmp38 & 63;
4653#line 309
4654 cen = (unsigned int )__cil_tmp39;
4655#line 310
4656 __cil_tmp40 = ioaddr + 8184;
4657#line 310
4658 __cil_tmp41 = (void volatile *)__cil_tmp40;
4659#line 310
4660 writeb((unsigned char)128, __cil_tmp41);
4661#line 311
4662 __cil_tmp42 = (unsigned char )sec;
4663#line 311
4664 __cil_tmp43 = ioaddr + 8185;
4665#line 311
4666 __cil_tmp44 = (void volatile *)__cil_tmp43;
4667#line 311
4668 writeb(__cil_tmp42, __cil_tmp44);
4669#line 312
4670 __cil_tmp45 = cen & 63U;
4671#line 312
4672 __cil_tmp46 = (unsigned char )__cil_tmp45;
4673#line 312
4674 __cil_tmp47 = ioaddr + 8184;
4675#line 312
4676 __cil_tmp48 = (void volatile *)__cil_tmp47;
4677#line 312
4678 writeb(__cil_tmp46, __cil_tmp48);
4679 }
4680 } else {
4681
4682 }
4683 {
4684#line 314
4685 __cil_tmp49 = ioaddr + 8176;
4686#line 314
4687 __cil_tmp50 = (void const volatile *)__cil_tmp49;
4688#line 314
4689 tmp___3 = readb(__cil_tmp50);
4690 }
4691 {
4692#line 314
4693 __cil_tmp51 = (int )tmp___3;
4694#line 314
4695 if (__cil_tmp51 & 16) {
4696 {
4697#line 315
4698 __cil_tmp52 = (unsigned long )pdev;
4699#line 315
4700 __cil_tmp53 = __cil_tmp52 + 16;
4701#line 315
4702 __cil_tmp54 = (struct device *)__cil_tmp53;
4703#line 315
4704 __cil_tmp55 = (struct device const *)__cil_tmp54;
4705#line 315
4706 dev_warn(__cil_tmp55, "voltage-low detected.\n");
4707 }
4708 } else {
4709
4710 }
4711 }
4712 {
4713#line 317
4714 while (1) {
4715 while_continue: ;
4716 {
4717#line 317
4718 __cil_tmp56 = (unsigned long )pdata;
4719#line 317
4720 __cil_tmp57 = __cil_tmp56 + 48;
4721#line 317
4722 __cil_tmp58 = (spinlock_t *)__cil_tmp57;
4723#line 317
4724 spinlock_check(__cil_tmp58);
4725 }
4726 {
4727#line 317
4728 while (1) {
4729 while_continue___0: ;
4730 {
4731#line 317
4732 __cil_tmp59 = (unsigned long )pdata;
4733#line 317
4734 __cil_tmp60 = __cil_tmp59 + 48;
4735#line 317
4736 __cil_tmp61 = (struct raw_spinlock *)__cil_tmp60;
4737#line 317
4738 __raw_spin_lock_init(__cil_tmp61, "&(&pdata->lock)->rlock", & __key___3);
4739 }
4740#line 317
4741 goto while_break___0;
4742 }
4743 while_break___0: ;
4744 }
4745#line 317
4746 goto while_break;
4747 }
4748 while_break: ;
4749 }
4750 {
4751#line 318
4752 __cil_tmp62 = (unsigned long )pdata;
4753#line 318
4754 __cil_tmp63 = __cil_tmp62 + 16;
4755#line 318
4756 *((unsigned long *)__cil_tmp63) = (unsigned long )jiffies;
4757#line 319
4758 __cil_tmp64 = (void *)pdata;
4759#line 319
4760 platform_set_drvdata(pdev, __cil_tmp64);
4761 }
4762 {
4763#line 320
4764 __cil_tmp65 = (unsigned long )pdata;
4765#line 320
4766 __cil_tmp66 = __cil_tmp65 + 24;
4767#line 320
4768 __cil_tmp67 = *((int *)__cil_tmp66);
4769#line 320
4770 if (__cil_tmp67 > 0) {
4771 {
4772#line 321
4773 __cil_tmp68 = ioaddr + 8182;
4774#line 321
4775 __cil_tmp69 = (void volatile *)__cil_tmp68;
4776#line 321
4777 writeb((unsigned char)0, __cil_tmp69);
4778#line 322
4779 __cil_tmp70 = (unsigned long )pdev;
4780#line 322
4781 __cil_tmp71 = __cil_tmp70 + 16;
4782#line 322
4783 __cil_tmp72 = (struct device *)__cil_tmp71;
4784#line 322
4785 __cil_tmp73 = (unsigned long )pdata;
4786#line 322
4787 __cil_tmp74 = __cil_tmp73 + 24;
4788#line 322
4789 __cil_tmp75 = *((int *)__cil_tmp74);
4790#line 322
4791 __cil_tmp76 = (unsigned int )__cil_tmp75;
4792#line 322
4793 __cil_tmp77 = *((char const **)pdev);
4794#line 322
4795 __cil_tmp78 = (void *)pdev;
4796#line 322
4797 tmp___4 = (int )devm_request_irq(__cil_tmp72, __cil_tmp76, & ds1553_rtc_interrupt,
4798 0UL, __cil_tmp77, __cil_tmp78);
4799 }
4800#line 322
4801 if (tmp___4 < 0) {
4802 {
4803#line 325
4804 __cil_tmp79 = (unsigned long )pdev;
4805#line 325
4806 __cil_tmp80 = __cil_tmp79 + 16;
4807#line 325
4808 __cil_tmp81 = (struct device *)__cil_tmp80;
4809#line 325
4810 __cil_tmp82 = (struct device const *)__cil_tmp81;
4811#line 325
4812 dev_warn(__cil_tmp82, "interrupt not available.\n");
4813#line 326
4814 __cil_tmp83 = (unsigned long )pdata;
4815#line 326
4816 __cil_tmp84 = __cil_tmp83 + 24;
4817#line 326
4818 *((int *)__cil_tmp84) = 0;
4819 }
4820 } else {
4821
4822 }
4823 } else {
4824
4825 }
4826 }
4827 {
4828#line 330
4829 __cil_tmp85 = *((char const **)pdev);
4830#line 330
4831 __cil_tmp86 = (unsigned long )pdev;
4832#line 330
4833 __cil_tmp87 = __cil_tmp86 + 16;
4834#line 330
4835 __cil_tmp88 = (struct device *)__cil_tmp87;
4836#line 330
4837 rtc = rtc_device_register(__cil_tmp85, __cil_tmp88, & ds1553_rtc_ops, & __this_module);
4838#line 332
4839 __cil_tmp89 = (void const *)rtc;
4840#line 332
4841 tmp___6 = (long )IS_ERR(__cil_tmp89);
4842 }
4843#line 332
4844 if (tmp___6) {
4845 {
4846#line 333
4847 __cil_tmp90 = (void const *)rtc;
4848#line 333
4849 tmp___5 = (long )PTR_ERR(__cil_tmp90);
4850 }
4851#line 333
4852 return ((int )tmp___5);
4853 } else {
4854
4855 }
4856 {
4857#line 334
4858 *((struct rtc_device **)pdata) = rtc;
4859#line 336
4860 __cil_tmp91 = 16 + 16;
4861#line 336
4862 __cil_tmp92 = (unsigned long )pdev;
4863#line 336
4864 __cil_tmp93 = __cil_tmp92 + __cil_tmp91;
4865#line 336
4866 __cil_tmp94 = (struct kobject *)__cil_tmp93;
4867#line 336
4868 __cil_tmp95 = (struct bin_attribute const *)(& ds1553_nvram_attr);
4869#line 336
4870 ret = (int )sysfs_create_bin_file(__cil_tmp94, __cil_tmp95);
4871 }
4872#line 337
4873 if (ret) {
4874 {
4875#line 338
4876 rtc_device_unregister(rtc);
4877 }
4878 } else {
4879
4880 }
4881#line 339
4882 return (ret);
4883}
4884}
4885#line 342
4886static int ds1553_rtc_remove(struct platform_device *pdev ) __attribute__((__section__(".devexit.text"),
4887__no_instrument_function__)) ;
4888#line 342 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4889static int ds1553_rtc_remove(struct platform_device *pdev )
4890{ struct rtc_plat_data *pdata ;
4891 void *tmp ;
4892 struct platform_device const *__cil_tmp4 ;
4893 unsigned long __cil_tmp5 ;
4894 unsigned long __cil_tmp6 ;
4895 unsigned long __cil_tmp7 ;
4896 struct kobject *__cil_tmp8 ;
4897 struct bin_attribute const *__cil_tmp9 ;
4898 struct rtc_device *__cil_tmp10 ;
4899 unsigned long __cil_tmp11 ;
4900 unsigned long __cil_tmp12 ;
4901 int __cil_tmp13 ;
4902 unsigned long __cil_tmp14 ;
4903 unsigned long __cil_tmp15 ;
4904 void *__cil_tmp16 ;
4905 void *__cil_tmp17 ;
4906 void volatile *__cil_tmp18 ;
4907
4908 {
4909 {
4910#line 344
4911 __cil_tmp4 = (struct platform_device const *)pdev;
4912#line 344
4913 tmp = platform_get_drvdata(__cil_tmp4);
4914#line 344
4915 pdata = (struct rtc_plat_data *)tmp;
4916#line 346
4917 __cil_tmp5 = 16 + 16;
4918#line 346
4919 __cil_tmp6 = (unsigned long )pdev;
4920#line 346
4921 __cil_tmp7 = __cil_tmp6 + __cil_tmp5;
4922#line 346
4923 __cil_tmp8 = (struct kobject *)__cil_tmp7;
4924#line 346
4925 __cil_tmp9 = (struct bin_attribute const *)(& ds1553_nvram_attr);
4926#line 346
4927 sysfs_remove_bin_file(__cil_tmp8, __cil_tmp9);
4928#line 347
4929 __cil_tmp10 = *((struct rtc_device **)pdata);
4930#line 347
4931 rtc_device_unregister(__cil_tmp10);
4932 }
4933 {
4934#line 348
4935 __cil_tmp11 = (unsigned long )pdata;
4936#line 348
4937 __cil_tmp12 = __cil_tmp11 + 24;
4938#line 348
4939 __cil_tmp13 = *((int *)__cil_tmp12);
4940#line 348
4941 if (__cil_tmp13 > 0) {
4942 {
4943#line 349
4944 __cil_tmp14 = (unsigned long )pdata;
4945#line 349
4946 __cil_tmp15 = __cil_tmp14 + 8;
4947#line 349
4948 __cil_tmp16 = *((void **)__cil_tmp15);
4949#line 349
4950 __cil_tmp17 = __cil_tmp16 + 8182;
4951#line 349
4952 __cil_tmp18 = (void volatile *)__cil_tmp17;
4953#line 349
4954 writeb((unsigned char)0, __cil_tmp18);
4955 }
4956 } else {
4957
4958 }
4959 }
4960#line 350
4961 return (0);
4962}
4963}
4964#line 354 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4965static char const __mod_alias354[26] __attribute__((__used__, __unused__, __section__(".modinfo"),
4966__aligned__(1))) =
4967#line 354
4968 { (char const )'a', (char const )'l', (char const )'i', (char const )'a',
4969 (char const )'s', (char const )'=', (char const )'p', (char const )'l',
4970 (char const )'a', (char const )'t', (char const )'f', (char const )'o',
4971 (char const )'r', (char const )'m', (char const )':', (char const )'r',
4972 (char const )'t', (char const )'c', (char const )'-', (char const )'d',
4973 (char const )'s', (char const )'1', (char const )'5', (char const )'5',
4974 (char const )'3', (char const )'\000'};
4975#line 356 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4976static struct platform_driver ds1553_rtc_driver = {& ds1553_rtc_probe, & ds1553_rtc_remove, (void (*)(struct platform_device * ))0,
4977 (int (*)(struct platform_device * , pm_message_t state ))0, (int (*)(struct platform_device * ))0,
4978 {"rtc-ds1553", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
4979 (struct of_device_id const *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
4980 (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
4981 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
4982 (struct driver_private *)0}, (struct platform_device_id const *)0};
4983#line 365
4984static int ds1553_rtc_driver_init(void) __attribute__((__section__(".init.text"),
4985__no_instrument_function__)) ;
4986#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
4987static int ds1553_rtc_driver_init(void)
4988{ int tmp ;
4989
4990 {
4991 {
4992#line 365
4993 tmp = platform_driver_register(& ds1553_rtc_driver);
4994 }
4995#line 365
4996 return (tmp);
4997}
4998}
4999#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5000int init_module(void)
5001{ int tmp ;
5002
5003 {
5004 {
5005#line 365
5006 tmp = ds1553_rtc_driver_init();
5007 }
5008#line 365
5009 return (tmp);
5010}
5011}
5012#line 365
5013static void ds1553_rtc_driver_exit(void) __attribute__((__section__(".exit.text"),
5014__no_instrument_function__)) ;
5015#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5016static void ds1553_rtc_driver_exit(void)
5017{
5018
5019 {
5020 {
5021#line 365
5022 platform_driver_unregister(& ds1553_rtc_driver);
5023 }
5024#line 365
5025 return;
5026}
5027}
5028#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5029void cleanup_module(void)
5030{
5031
5032 {
5033 {
5034#line 365
5035 ds1553_rtc_driver_exit();
5036 }
5037#line 365
5038 return;
5039}
5040}
5041#line 367 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5042static char const __mod_author367[44] __attribute__((__used__, __unused__, __section__(".modinfo"),
5043__aligned__(1))) =
5044#line 367
5045 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
5046 (char const )'o', (char const )'r', (char const )'=', (char const )'A',
5047 (char const )'t', (char const )'s', (char const )'u', (char const )'s',
5048 (char const )'h', (char const )'i', (char const )' ', (char const )'N',
5049 (char const )'e', (char const )'m', (char const )'o', (char const )'t',
5050 (char const )'o', (char const )' ', (char const )'<', (char const )'a',
5051 (char const )'n', (char const )'e', (char const )'m', (char const )'o',
5052 (char const )'@', (char const )'m', (char const )'b', (char const )'a',
5053 (char const )'.', (char const )'o', (char const )'c', (char const )'n',
5054 (char const )'.', (char const )'n', (char const )'e', (char const )'.',
5055 (char const )'j', (char const )'p', (char const )'>', (char const )'\000'};
5056#line 368 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5057static char const __mod_description368[37] __attribute__((__used__, __unused__,
5058__section__(".modinfo"), __aligned__(1))) =
5059#line 368
5060 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
5061 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
5062 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
5063 (char const )'D', (char const )'a', (char const )'l', (char const )'l',
5064 (char const )'a', (char const )'s', (char const )' ', (char const )'D',
5065 (char const )'S', (char const )'1', (char const )'5', (char const )'5',
5066 (char const )'3', (char const )' ', (char const )'R', (char const )'T',
5067 (char const )'C', (char const )' ', (char const )'d', (char const )'r',
5068 (char const )'i', (char const )'v', (char const )'e', (char const )'r',
5069 (char const )'\000'};
5070#line 369 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5071static char const __mod_license369[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
5072__aligned__(1))) =
5073#line 369
5074 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
5075 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
5076 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
5077#line 370 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5078static char const __mod_version370[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
5079__aligned__(1))) =
5080#line 370
5081 { (char const )'v', (char const )'e', (char const )'r', (char const )'s',
5082 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
5083 (char const )'0', (char const )'.', (char const )'3', (char const )'\000'};
5084#line 388
5085void ldv_check_final_state(void) ;
5086#line 391
5087extern void ldv_check_return_value(int res ) ;
5088#line 394
5089extern void ldv_initialize(void) ;
5090#line 397
5091extern int __VERIFIER_nondet_int(void) ;
5092#line 400 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5093int LDV_IN_INTERRUPT ;
5094#line 693 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5095static int res_ds1553_rtc_probe_9 ;
5096#line 403 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5097void main(void)
5098{ struct device *var_group1 ;
5099 struct rtc_time *var_group2 ;
5100 struct rtc_wkalrm *var_group3 ;
5101 unsigned int var_ds1553_rtc_alarm_irq_enable_6_p1 ;
5102 struct file *var_group4 ;
5103 struct kobject *var_group5 ;
5104 struct bin_attribute *var_ds1553_nvram_read_7_p2 ;
5105 char *var_ds1553_nvram_read_7_p3 ;
5106 loff_t var_ds1553_nvram_read_7_p4 ;
5107 size_t var_ds1553_nvram_read_7_p5 ;
5108 struct bin_attribute *var_ds1553_nvram_write_8_p2 ;
5109 char *var_ds1553_nvram_write_8_p3 ;
5110 loff_t var_ds1553_nvram_write_8_p4 ;
5111 size_t var_ds1553_nvram_write_8_p5 ;
5112 struct platform_device *var_group6 ;
5113 int var_ds1553_rtc_interrupt_5_p0 ;
5114 void *var_ds1553_rtc_interrupt_5_p1 ;
5115 int ldv_s_ds1553_rtc_driver_platform_driver ;
5116 int tmp ;
5117 int tmp___0 ;
5118 int __cil_tmp21 ;
5119
5120 {
5121 {
5122#line 738
5123 LDV_IN_INTERRUPT = 1;
5124#line 747
5125 ldv_initialize();
5126#line 752
5127 ldv_s_ds1553_rtc_driver_platform_driver = 0;
5128 }
5129 {
5130#line 757
5131 while (1) {
5132 while_continue: ;
5133 {
5134#line 757
5135 tmp___0 = __VERIFIER_nondet_int();
5136 }
5137#line 757
5138 if (tmp___0) {
5139
5140 } else {
5141 {
5142#line 757
5143 __cil_tmp21 = ldv_s_ds1553_rtc_driver_platform_driver == 0;
5144#line 757
5145 if (! __cil_tmp21) {
5146
5147 } else {
5148#line 757
5149 goto while_break;
5150 }
5151 }
5152 }
5153 {
5154#line 761
5155 tmp = __VERIFIER_nondet_int();
5156 }
5157#line 763
5158 if (tmp == 0) {
5159#line 763
5160 goto case_0;
5161 } else
5162#line 808
5163 if (tmp == 1) {
5164#line 808
5165 goto case_1;
5166 } else
5167#line 853
5168 if (tmp == 2) {
5169#line 853
5170 goto case_2;
5171 } else
5172#line 898
5173 if (tmp == 3) {
5174#line 898
5175 goto case_3;
5176 } else
5177#line 943
5178 if (tmp == 4) {
5179#line 943
5180 goto case_4;
5181 } else
5182#line 988
5183 if (tmp == 5) {
5184#line 988
5185 goto case_5;
5186 } else
5187#line 1033
5188 if (tmp == 6) {
5189#line 1033
5190 goto case_6;
5191 } else
5192#line 1078
5193 if (tmp == 7) {
5194#line 1078
5195 goto case_7;
5196 } else
5197#line 1126
5198 if (tmp == 8) {
5199#line 1126
5200 goto case_8;
5201 } else {
5202 {
5203#line 1171
5204 goto switch_default;
5205#line 761
5206 if (0) {
5207 case_0:
5208 {
5209#line 800
5210 ds1553_rtc_read_time(var_group1, var_group2);
5211 }
5212#line 807
5213 goto switch_break;
5214 case_1:
5215 {
5216#line 845
5217 ds1553_rtc_set_time(var_group1, var_group2);
5218 }
5219#line 852
5220 goto switch_break;
5221 case_2:
5222 {
5223#line 890
5224 ds1553_rtc_read_alarm(var_group1, var_group3);
5225 }
5226#line 897
5227 goto switch_break;
5228 case_3:
5229 {
5230#line 935
5231 ds1553_rtc_set_alarm(var_group1, var_group3);
5232 }
5233#line 942
5234 goto switch_break;
5235 case_4:
5236 {
5237#line 980
5238 ds1553_rtc_alarm_irq_enable(var_group1, var_ds1553_rtc_alarm_irq_enable_6_p1);
5239 }
5240#line 987
5241 goto switch_break;
5242 case_5:
5243 {
5244#line 1025
5245 ds1553_nvram_read(var_group4, var_group5, var_ds1553_nvram_read_7_p2, var_ds1553_nvram_read_7_p3,
5246 var_ds1553_nvram_read_7_p4, var_ds1553_nvram_read_7_p5);
5247 }
5248#line 1032
5249 goto switch_break;
5250 case_6:
5251 {
5252#line 1070
5253 ds1553_nvram_write(var_group4, var_group5, var_ds1553_nvram_write_8_p2, var_ds1553_nvram_write_8_p3,
5254 var_ds1553_nvram_write_8_p4, var_ds1553_nvram_write_8_p5);
5255 }
5256#line 1077
5257 goto switch_break;
5258 case_7:
5259#line 1081
5260 if (ldv_s_ds1553_rtc_driver_platform_driver == 0) {
5261 {
5262#line 1115
5263 res_ds1553_rtc_probe_9 = ds1553_rtc_probe(var_group6);
5264#line 1116
5265 ldv_check_return_value(res_ds1553_rtc_probe_9);
5266 }
5267#line 1117
5268 if (res_ds1553_rtc_probe_9) {
5269#line 1118
5270 goto ldv_module_exit;
5271 } else {
5272
5273 }
5274#line 1119
5275 ldv_s_ds1553_rtc_driver_platform_driver = 0;
5276 } else {
5277
5278 }
5279#line 1125
5280 goto switch_break;
5281 case_8:
5282 {
5283#line 1129
5284 LDV_IN_INTERRUPT = 2;
5285#line 1163
5286 ds1553_rtc_interrupt(var_ds1553_rtc_interrupt_5_p0, var_ds1553_rtc_interrupt_5_p1);
5287#line 1164
5288 LDV_IN_INTERRUPT = 1;
5289 }
5290#line 1170
5291 goto switch_break;
5292 switch_default:
5293#line 1171
5294 goto switch_break;
5295 } else {
5296 switch_break: ;
5297 }
5298 }
5299 }
5300 }
5301 while_break: ;
5302 }
5303 ldv_module_exit:
5304 {
5305#line 1180
5306 ldv_check_final_state();
5307 }
5308#line 1183
5309 return;
5310}
5311}
5312#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
5313void ldv_blast_assert(void)
5314{
5315
5316 {
5317 ERROR:
5318#line 6
5319 goto ERROR;
5320}
5321}
5322#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
5323extern int __VERIFIER_nondet_int(void) ;
5324#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5325int ldv_mutex = 1;
5326#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5327int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
5328{ int nondetermined ;
5329
5330 {
5331#line 29
5332 if (ldv_mutex == 1) {
5333
5334 } else {
5335 {
5336#line 29
5337 ldv_blast_assert();
5338 }
5339 }
5340 {
5341#line 32
5342 nondetermined = __VERIFIER_nondet_int();
5343 }
5344#line 35
5345 if (nondetermined) {
5346#line 38
5347 ldv_mutex = 2;
5348#line 40
5349 return (0);
5350 } else {
5351#line 45
5352 return (-4);
5353 }
5354}
5355}
5356#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5357int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
5358{ int nondetermined ;
5359
5360 {
5361#line 57
5362 if (ldv_mutex == 1) {
5363
5364 } else {
5365 {
5366#line 57
5367 ldv_blast_assert();
5368 }
5369 }
5370 {
5371#line 60
5372 nondetermined = __VERIFIER_nondet_int();
5373 }
5374#line 63
5375 if (nondetermined) {
5376#line 66
5377 ldv_mutex = 2;
5378#line 68
5379 return (0);
5380 } else {
5381#line 73
5382 return (-4);
5383 }
5384}
5385}
5386#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5387int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
5388{ int atomic_value_after_dec ;
5389
5390 {
5391#line 83
5392 if (ldv_mutex == 1) {
5393
5394 } else {
5395 {
5396#line 83
5397 ldv_blast_assert();
5398 }
5399 }
5400 {
5401#line 86
5402 atomic_value_after_dec = __VERIFIER_nondet_int();
5403 }
5404#line 89
5405 if (atomic_value_after_dec == 0) {
5406#line 92
5407 ldv_mutex = 2;
5408#line 94
5409 return (1);
5410 } else {
5411
5412 }
5413#line 98
5414 return (0);
5415}
5416}
5417#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5418void mutex_lock(struct mutex *lock )
5419{
5420
5421 {
5422#line 108
5423 if (ldv_mutex == 1) {
5424
5425 } else {
5426 {
5427#line 108
5428 ldv_blast_assert();
5429 }
5430 }
5431#line 110
5432 ldv_mutex = 2;
5433#line 111
5434 return;
5435}
5436}
5437#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5438int mutex_trylock(struct mutex *lock )
5439{ int nondetermined ;
5440
5441 {
5442#line 121
5443 if (ldv_mutex == 1) {
5444
5445 } else {
5446 {
5447#line 121
5448 ldv_blast_assert();
5449 }
5450 }
5451 {
5452#line 124
5453 nondetermined = __VERIFIER_nondet_int();
5454 }
5455#line 127
5456 if (nondetermined) {
5457#line 130
5458 ldv_mutex = 2;
5459#line 132
5460 return (1);
5461 } else {
5462#line 137
5463 return (0);
5464 }
5465}
5466}
5467#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5468void mutex_unlock(struct mutex *lock )
5469{
5470
5471 {
5472#line 147
5473 if (ldv_mutex == 2) {
5474
5475 } else {
5476 {
5477#line 147
5478 ldv_blast_assert();
5479 }
5480 }
5481#line 149
5482 ldv_mutex = 1;
5483#line 150
5484 return;
5485}
5486}
5487#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5488void ldv_check_final_state(void)
5489{
5490
5491 {
5492#line 156
5493 if (ldv_mutex == 1) {
5494
5495 } else {
5496 {
5497#line 156
5498 ldv_blast_assert();
5499 }
5500 }
5501#line 157
5502 return;
5503}
5504}
5505#line 1192 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6229/dscv_tempdir/dscv/ri/32_1/drivers/rtc/rtc-ds1553.c.common.c"
5506long s__builtin_expect(long val , long res )
5507{
5508
5509 {
5510#line 1193
5511 return (val);
5512}
5513}