Showing error 595

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