Showing error 597

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--rtc--rtc-ds1553.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 5317
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   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: /* CIL Label */ ;
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: /* CIL Label */ ;
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 ( /* format attribute */  dev_err)(struct device  const  *dev , char const   *fmt 
2407                                              , ...) ;
2408#line 893
2409extern int ( /* format attribute */  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: /* CIL Label */ ;
3230    {
3231#line 145
3232    while (1) {
3233      while_continue___0: /* CIL Label */ ;
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: /* CIL Label */ ;
3250    }
3251#line 145
3252    goto while_break;
3253  }
3254  while_break: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
4744    }
4745#line 317
4746    goto while_break;
4747  }
4748  while_break: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
5208        {
5209#line 800
5210        ds1553_rtc_read_time(var_group1, var_group2);
5211        }
5212#line 807
5213        goto switch_break;
5214        case_1: /* CIL Label */ 
5215        {
5216#line 845
5217        ds1553_rtc_set_time(var_group1, var_group2);
5218        }
5219#line 852
5220        goto switch_break;
5221        case_2: /* CIL Label */ 
5222        {
5223#line 890
5224        ds1553_rtc_read_alarm(var_group1, var_group3);
5225        }
5226#line 897
5227        goto switch_break;
5228        case_3: /* CIL Label */ 
5229        {
5230#line 935
5231        ds1553_rtc_set_alarm(var_group1, var_group3);
5232        }
5233#line 942
5234        goto switch_break;
5235        case_4: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
5293#line 1171
5294        goto switch_break;
5295      } else {
5296        switch_break: /* CIL Label */ ;
5297      }
5298      }
5299    }
5300  }
5301  while_break: /* CIL Label */ ;
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}