Showing error 1186

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